:root {
  --bg: #F4F6F8;
  --surface: #FFFFFF;
  --ink: #142033;
  --muted: #5B6B7C;
  --line: #E3E8EE;
  --accent: #1E4A6E;
  --accent-hover: #163A56;
  --accent-soft: #E8F1F6;
  --accent-gold: #C4A35A;
  --warn: #C27803;
  --danger: #C53030;
  --ok: #0F766E;
  --info: #0369A1;
  --sidebar: #0F172A;
  --sidebar-text: #F8FAFC;
  --sidebar-muted: #94A3B8;
  --sidebar-w: 268px;
  --radius: 14px;
  --radius-sm: 10px;
  --radius-control: 12px;
  --radius-full: 9999px;
  --font: "Plus Jakarta Sans", "Segoe UI", -apple-system, BlinkMacSystemFont, sans-serif;
  --display: "Plus Jakarta Sans", "Segoe UI", -apple-system, BlinkMacSystemFont, sans-serif;
  --shadow: 0 1px 2px rgba(20, 32, 51, 0.04), 0 6px 20px rgba(20, 32, 51, 0.04);
  --shadow-md: 0 4px 16px rgba(20, 32, 51, 0.07);
  --shadow-lg: 0 12px 36px rgba(20, 32, 51, 0.1);
  --content-max: none;
  --page-pad-x: clamp(16px, 2.5vw, 32px);
  --bottom-nav-h: 68px;
}

/* 1 ─ Global overflow guard (mobil yatay patlama önleme) */
html { overflow-x: hidden; }
body { overflow-x: hidden; }

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
html, body { margin: 0; padding: 0; }
body {
  font-family: var(--font);
  font-size: 15px;
  line-height: 1.55;
  color: var(--ink);
  background: var(--bg);
  min-height: 100vh;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}

a { color: var(--accent); text-decoration: none; }
a:hover { text-decoration: underline; text-underline-offset: 2px; }
button, input, select, textarea { font: inherit; color: inherit; }
img { max-width: 100%; display: block; }

/* —— Sidebar —— */
.sidebar {
  position: fixed;
  inset: 0 auto 0 0;
  width: var(--sidebar-w);
  background: linear-gradient(180deg, #0B1220 0%, #0F172A 48%, #111827 100%);
  color: var(--sidebar-text);
  display: flex;
  flex-direction: column;
  padding: 14px 12px 12px;
  z-index: 40;
  contain: layout paint;
  border-right: 1px solid rgba(148, 163, 184, 0.12);
  transition: width 0.2s ease;
}
.brand {
  display: grid;
  gap: 4px;
  align-items: center;
  padding: 2px 4px 10px;
  position: relative;
}
.brand-mark {
  width: 40px;
  height: 40px;
  border-radius: 12px;
  display: grid;
  place-items: center;
  background: linear-gradient(145deg, #2A5F87, #1E4A6E);
  color: #fff;
  font-family: var(--display);
  font-weight: 700;
  font-size: 1.15rem;
  letter-spacing: -0.03em;
  box-shadow: 0 6px 16px rgba(30, 74, 110, 0.28);
  border: 1px solid rgba(196, 163, 90, 0.35);
}
.brand strong {
  display: block;
  font-family: var(--display);
  font-size: 1.1rem;
  letter-spacing: -0.03em;
  font-weight: 700;
}
.brand small {
  color: var(--sidebar-muted);
  font-size: 0.72rem;
  letter-spacing: 0.02em;
}
.brand-text-link {
  display: flex;
  gap: 10px;
  align-items: center;
  text-decoration: none !important;
  color: inherit;
  padding: 4px;
}
.sidebar-collapse-btn {
  position: absolute;
  top: 0;
  right: 0;
  width: 28px;
  height: 28px;
  border: 0;
  border-radius: 8px;
  background: rgba(148, 163, 184, 0.12);
  color: #94A3B8;
  display: grid;
  place-items: center;
  cursor: pointer;
  padding: 0;
}
.sidebar-collapse-btn:hover {
  background: rgba(99, 102, 241, 0.25);
  color: #C7D2FE;
}
.nav {
  display: flex;
  flex-direction: column;
  gap: 2px;
  flex: 1;
  overflow-y: auto;
  overscroll-behavior: contain;
  padding-right: 2px;
  scrollbar-width: thin;
  scrollbar-color: #334155 transparent;
}
.nav::-webkit-scrollbar { width: 6px; }
.nav::-webkit-scrollbar-track { background: transparent; }
.nav::-webkit-scrollbar-thumb {
  background: #334155;
  border-radius: 999px;
}
.nav a,
.nav .nav-link {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 9px 12px;
  border-radius: 10px;
  color: #94A3B8;
  text-decoration: none !important;
  font-weight: 600;
  font-size: 0.88rem;
  border-left: 3px solid transparent;
  transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease;
  min-height: 40px;
}
.nav a:hover,
.nav .nav-link:hover {
  background: rgba(30, 41, 59, 0.72);
  color: #F8FAFC;
  text-decoration: none !important;
}
.nav a.active,
.nav .nav-link.active {
  background: rgba(79, 70, 229, 0.18);
  color: #C7D2FE;
  border-left-color: #6366F1;
  box-shadow: none;
}
.nav-link-ico {
  width: 20px;
  height: 20px;
  display: grid;
  place-items: center;
  flex-shrink: 0;
  color: inherit;
  opacity: 0.92;
}
.nav-link-ico .nav-ico { display: block; }
.nav-link-txt {
  flex: 1 1 auto;
  min-width: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.sidebar-foot {
  border-top: 1px solid rgba(148, 163, 184, 0.14);
  padding-top: 8px;
  margin-top: 6px;
  display: grid;
  gap: 6px;
  flex-shrink: 0;
}
.sidebar-user-card {
  border-radius: 10px;
  background: rgba(15, 23, 42, 0.55);
  border: 1px solid rgba(148, 163, 184, 0.12);
  overflow: hidden;
}
.user-chip {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 6px 8px;
  border-radius: 0;
  background: transparent;
  border: 0;
}
.user-avatar {
  width: 32px;
  height: 32px;
  border-radius: 999px;
  display: grid;
  place-items: center;
  background: linear-gradient(145deg, #4F46E5, #1E4A6E);
  color: #fff;
  font-weight: 750;
  font-size: 0.86rem;
  flex-shrink: 0;
}
.user-chip-meta { min-width: 0; }
.user-chip strong {
  display: block;
  font-size: 0.82rem;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.user-chip small {
  color: var(--sidebar-muted);
  font-size: 0.68rem;
  display: block;
}
.sidebar-foot-actions {
  display: flex;
  justify-content: space-around;
  align-items: center;
  padding: 0.5rem;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  gap: 4px;
}
.sidebar-credit {
  margin: 0;
  padding: 3px 4px 1px;
  text-align: center;
  font-size: 10px;
  line-height: 1.25;
  color: rgba(148, 163, 184, 0.72);
  border-top: 1px solid rgba(148, 163, 184, 0.1);
}
.sidebar-credit strong {
  font-weight: 650;
  color: rgba(203, 213, 225, 0.88);
}
body.sidebar-collapsed .sidebar-credit { display: none !important; }
.credit-muted {
  margin: 0;
  font-size: 11.5px;
  line-height: 1.45;
  font-weight: 500;
  letter-spacing: 0.01em;
  color: var(--muted, #94a3b8);
}
.credit-muted strong {
  font-weight: 650;
  color: inherit;
}
.auth-credit {
  width: min(420px, 100%);
  max-width: 100%;
  text-align: center;
  margin: 2px auto 0;
  padding: 0 8px;
  color: rgba(148, 163, 184, 0.82);
  font-size: 11.5px;
  box-sizing: border-box;
}
.auth-credit strong {
  color: rgba(226, 232, 240, 0.92);
  font-weight: 650;
}
.app-footer-credit {
  margin-top: 28px;
  padding: 14px 4px 6px;
  text-align: center;
  border-top: 1px solid var(--line, rgba(148, 163, 184, 0.18));
}
.app-footer-credit .credit-muted {
  font-size: 11.5px;
  color: var(--muted, #94a3b8);
}
.app-footer-credit strong {
  font-weight: 650;
  color: var(--text, #334155);
}
.sidebar-foot-icon-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  padding: 0;
  border-radius: 8px;
  border: 0;
  background: transparent;
  color: #94A3B8;
  cursor: pointer;
  font-family: inherit;
  box-sizing: border-box;
  flex-shrink: 0;
}
.sidebar-foot-icon-btn:hover {
  background: rgba(30, 41, 59, 0.72);
  color: #E2E8F0;
}
.sidebar-foot-icon-btn.is-active {
  background: rgba(99, 102, 241, 0.22);
  color: #C7D2FE;
}
.sidebar-foot-icon-btn .nav-ico {
  width: 18px;
  height: 18px;
}
.sidebar-foot-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  width: 100%;
  min-height: 36px;
  padding: 8px 10px;
  border-radius: 10px;
  border: 0;
  background: transparent;
  color: #94A3B8;
  font-size: 0.8rem;
  font-weight: 650;
  text-decoration: none !important;
  cursor: pointer;
  font-family: inherit;
  justify-content: flex-start;
  box-sizing: border-box;
}
.sidebar-foot-btn:hover {
  background: rgba(30, 41, 59, 0.72);
  color: #E2E8F0;
}
.sidebar-foot-logout { color: #FB7185 !important; }
.sidebar-logout-form { display: contents; }
.sidebar-logout-form .sidebar-foot-logout,
.sidebar-logout-form .sidebar-foot-icon-btn.sidebar-foot-logout {
  width: 36px;
  border: 0;
  background: transparent;
  cursor: pointer;
  font: inherit;
}
.sidebar-foot-logout:hover {
  background: rgba(244, 63, 94, 0.12) !important;
  color: #FDA4AF !important;
}
body.sidebar-collapsed { --sidebar-w: 78px; }
body.sidebar-collapsed .nav-link-txt,
body.sidebar-collapsed .nav-group-label,
body.sidebar-collapsed .user-chip-meta { display: none !important; }
body.sidebar-collapsed .brand-logo {  display: block !important;
  max-height: 40px;
  min-height: 0;
}
body.sidebar-collapsed .brand-logo-link {
  min-height: 48px;
  padding: 4px;
  background: transparent;
  border: 0;
  box-shadow: none;
}
body.sidebar-collapsed .brand-logo-link::after { content: none; }
body.sidebar-collapsed .nav-link {
  position: relative;
  justify-content: center;
  padding: 10px 8px;
}
body.sidebar-collapsed .nav-badge {
  position: absolute;
  top: 4px;
  right: 6px;
  margin: 0;
}
body.sidebar-collapsed .user-chip { justify-content: center; padding: 6px; }
body.sidebar-collapsed .sidebar-foot-actions { padding: 0.4rem 0.25rem; }
body.sidebar-collapsed .sidebar-foot-icon-btn { width: 32px; height: 32px; }
body.sidebar-collapsed .sidebar-collapse-btn {
  position: static;
  width: 100%;
  margin-top: 4px;
}

/* —— Main —— */
.main {
  margin-left: var(--sidebar-w);
  padding: 18px var(--page-pad-x, clamp(16px, 2.5vw, 32px)) 48px;
  min-height: 100vh;
  width: auto;
  max-width: none;
  transition: margin-left 0.2s ease;
}
.topbar {
  display: flex;
  align-items: center;
  gap: 12px 14px;
  margin-bottom: 16px;
  flex-wrap: nowrap;
  max-width: none;
  width: 100%;
  min-height: 48px;
  position: relative;
  z-index: 30;
  overflow: visible;
}
.topbar h1 {
  margin: 0;
  font-family: var(--display);
  font-weight: 700;
  letter-spacing: -0.03em;
  font-size: clamp(1.15rem, 2vw, 1.45rem);
  line-height: 1.2;
  color: var(--ink);
  min-width: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.input,
select,
textarea,
.form-row input,
.form-row select,
.form-row textarea,
.filters input,
.filters select {
  width: auto;
  min-width: 140px;
  max-width: 280px;
  flex: 1 1 160px;
  border: 1px solid var(--line);
  background: var(--surface);
  border-radius: var(--radius-control);
  padding: 11px 14px;
  outline: none;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.03);
}
.input:focus,
select:focus,
textarea:focus,
.form-row input:focus,
.form-row select:focus,
.form-row textarea:focus,
.filters input:focus,
.filters select:focus {
  border-color: color-mix(in srgb, var(--accent) 45%, var(--line));
  box-shadow: 0 0 0 3px var(--accent-soft);
}
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 0;
  border-radius: var(--radius-control);
  padding: 10px 16px;
  cursor: pointer;
  background: var(--accent);
  color: #fff;
  font-weight: 600;
  font-size: 0.9rem;
  white-space: nowrap;
  transition: background 0.15s ease, transform 0.12s ease, box-shadow 0.15s ease;
  box-shadow: 0 1px 2px rgba(30, 74, 110, 0.18), 0 4px 12px rgba(30, 74, 110, 0.14);
  text-decoration: none;
  vertical-align: middle;
  line-height: 1.2;
  box-sizing: border-box;
}
.btn:hover {
  background: var(--accent-hover);
  text-decoration: none;
  color: #fff;
  transform: translateY(-1px);
  box-shadow: 0 4px 14px rgba(30, 74, 110, 0.22);
}
.btn:active { transform: translateY(0); }
.btn:disabled { opacity: 0.5; cursor: not-allowed; transform: none; box-shadow: none; }
.btn-secondary {
  background: #fff;
  color: var(--ink);
  border: 1px solid var(--line);
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
}
.btn-secondary:hover {
  background: #F8FAFC;
  color: var(--ink);
  border-color: #CBD5E1;
  box-shadow: var(--shadow);
}
.btn-ghost {
  background: transparent;
  color: var(--sidebar-text);
  border: 1px solid rgba(255,255,255,0.14);
  box-shadow: none;
}
.btn-ghost:hover { background: rgba(255,255,255,0.08); color: #fff; }
.btn-danger { background: var(--danger); box-shadow: 0 4px 12px rgba(239, 68, 68, 0.25); }
.btn-danger:hover { background: #DC2626; }
.btn-sm { padding: 7px 12px; font-size: 0.82rem; border-radius: 10px; }
.btn-lg { padding: 14px 20px; font-size: 1.05rem; border-radius: 14px; min-height: 52px; }
.btn-accent { background: #F59E0B; box-shadow: 0 4px 12px rgba(245, 158, 11, 0.28); }
.btn-accent:hover { background: #D97706; }

/* Tablo satır aksiyonları — td ASLA display:flex olmamalı (tablo hücresi bozulur) */
td.m-card-actions {
  display: table-cell;
  vertical-align: middle;
  width: 220px;
  min-width: 200px;
  max-width: 260px;
  white-space: nowrap;
  padding-right: 8px !important;
}
.table-actions {
  display: inline-flex;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: flex-end;
  gap: 6px;
  max-width: 100%;
}
.table-actions > .btn,
.table-actions > a.btn,
.table-actions > button.btn {
  display: inline-flex !important;
  position: static !important;
  float: none !important;
  margin: 0 !important;
  width: auto !important;
  min-width: 0;
  flex: 0 0 auto;
  padding: 5px 10px;
  font-size: 0.78rem;
  line-height: 1.2;
  box-shadow: none;
}
.table-actions .btn-wa-send {
  padding-inline: 9px;
}
.m-card-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  table-layout: auto;
}
.m-card-table th,
.m-card-table td {
  vertical-align: middle;
}
.m-card-table th:last-child {
  width: 220px;
  text-align: right;
}

/* Müşteri listesi: form dar, liste geniş — form yoksa tek sütun */
.sales-customers-layout {
  display: grid;
  grid-template-columns: minmax(260px, 320px) minmax(0, 1fr);
  gap: 16px;
  align-items: start;
}
.sales-customers-layout.is-list-only {
  grid-template-columns: minmax(0, 1fr);
}
.sales-customers-layout > .card {
  min-width: 0;
}
.sales-customers-layout .table-wrap {
  overflow-x: auto;
}

/* Satışçı Portföyüm — tam genişlik, düzenli kartlar */
.pf-shell {
  display: flex;
  flex-direction: column;
  gap: 16px;
  width: 100%;
  max-width: 1100px;
}
.pf-hero {
  display: flex;
  flex-direction: column;
  gap: 16px;
  align-items: stretch;
  padding: 18px 20px;
  border-radius: 16px;
  background:
    linear-gradient(135deg, rgba(30, 74, 110, 0.06), transparent 55%),
    var(--surface, #fff);
  border: 1px solid var(--line, #e2e8f0);
  position: relative;
  overflow: visible;
}
.pf-hero .search-live-wrap,
.pf-hero .search-field {
  position: relative;
  overflow: visible;
}
.pf-hero .search-suggest {
  z-index: 130;
}
.pf-eyebrow {
  margin: 0 0 4px;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--muted, #64748b);
}
.pf-title {
  margin: 0;
  font-family: var(--display);
  font-weight: 500;
  font-size: clamp(1.55rem, 2.4vw, 1.9rem);
  letter-spacing: -0.02em;
  color: var(--text, #0f172a);
}
.pf-lead {
  margin: 6px 0 0;
  max-width: 36rem;
  font-size: 0.92rem;
  line-height: 1.45;
  color: var(--muted, #64748b);
}
.pf-search,
.pf-search-card {
  display: flex;
  flex-direction: column;
  gap: 10px;
  width: 100%;
  max-width: none;
  margin: 0;
  background: #fff;
  border: 1px solid #F3F4F6;
  border-radius: 16px;
  padding: 16px;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
  box-sizing: border-box;
}
.pf-search-field {
  position: relative;
  width: 100%;
}
.pf-search-icon,
.orders-search-icon {
  position: absolute;
  left: 14px;
  top: 50%;
  transform: translateY(-50%);
  color: #94A3B8;
  pointer-events: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  z-index: 1;
}
.pf-search-card input[type="search"],
.pf-search input[type="search"] {
  width: 100%;
  min-height: 48px;
  min-width: 0;
  border-radius: 12px;
  border: 1px solid #E5E7EB;
  padding: 0 14px 0 42px;
  font: inherit;
  font-size: 16px;
  background: #F9FAFB;
  color: #111827;
  box-sizing: border-box;
  transition: border-color .15s ease, box-shadow .15s ease, background .15s ease;
}
.pf-search-card input[type="search"]:focus,
.pf-search input[type="search"]:focus {
  outline: none;
  border-color: #3B82F6;
  background: #fff;
  box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.12);
}
.pf-search-clear {
  width: 100%;
  min-height: 44px;
  justify-content: center;
  text-align: center;
}
.pf-title .help-tip-inline {
  vertical-align: middle;
  margin-left: 6px;
}
.pf-kpis {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}
.pf-kpi {
  padding: 14px 16px;
  border-radius: 14px;
  background: var(--surface, #fff);
  border: 1px solid var(--line, #e2e8f0);
  display: grid;
  gap: 2px;
}
.pf-kpi strong {
  font-size: 1.45rem;
  font-weight: 750;
  letter-spacing: -0.02em;
  color: var(--text, #0f172a);
  line-height: 1.1;
}
.pf-kpi span {
  font-size: 0.78rem;
  font-weight: 600;
  color: var(--muted, #64748b);
}
.pf-kpi.is-ok strong { color: #15803d; }
.pf-kpi.is-warn strong { color: #c2410c; }
.pf-kpi.is-muted strong { color: #475569; }
.pf-filter-hint {
  margin: 0;
  font-size: 0.88rem;
  color: var(--muted, #64748b);
}
.pf-list {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  gap: 12px;
}
.pf-card {
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 14px 16px;
  border-radius: 14px;
  background: var(--surface, #fff);
  border: 1px solid var(--line, #e2e8f0);
  min-height: 140px;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
}
.pf-card:hover {
  border-color: color-mix(in srgb, #1e4a6e 28%, #e2e8f0);
  box-shadow: 0 4px 14px rgba(15, 23, 42, 0.06);
}
.pf-card-main { display: grid; gap: 6px; flex: 1; min-width: 0; }
.pf-card-name {
  font-size: 1.05rem;
  font-weight: 750;
  color: var(--text, #0f172a);
  text-decoration: none !important;
  line-height: 1.25;
}
.pf-card-name:hover { color: #1e4a6e; }
.pf-card-status { display: flex; flex-wrap: wrap; gap: 4px; }
.pf-card-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 12px;
  align-items: center;
  font-size: 0.86rem;
}
.pf-meta-phone {
  font-weight: 650;
  color: #15803d;
  text-decoration: none !important;
}
.pf-meta-warn {
  color: #c2410c;
  font-weight: 650;
  font-size: 0.82rem;
}
.pf-meta-place {
  color: var(--muted, #64748b);
  font-size: 0.82rem;
}
.pf-card-address {
  margin: 0;
  font-size: 0.8rem;
  line-height: 1.35;
  color: #475569;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.pf-card-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  padding-top: 4px;
  border-top: 1px solid rgba(148, 163, 184, 0.22);
}
.pf-empty {
  text-align: center;
  padding: 36px 20px;
}
.pf-empty h3 { margin: 0 0 8px; font-family: var(--display); font-weight: 500; }
.pf-pager { margin-top: 4px; }

@media (max-width: 800px) {
  .pf-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pf-hero { padding: 16px; gap: 14px; }
  .pf-shell {
    width: 100%;
    max-width: 100%;
    padding-bottom: calc(16px + env(safe-area-inset-bottom, 0px));
  }
  .pf-list { grid-template-columns: 1fr; }
  .pf-card-actions .btn { min-height: 40px; }
}
.customers-table .customers-actions-col,
.customers-table td.m-card-actions {
  text-align: right;
}
.customers-table .table-actions {
  display: inline-flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  gap: 6px !important;
}
.customers-table .table-actions .btn {
  height: 32px;
  min-height: 32px;
  max-height: 32px;
}

/* Müşteriler — tam genişlik liste + modal form */
.customers-page {
  display: flex;
  flex-direction: column;
  gap: 16px;
  width: 100%;
}
.customers-action-bar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 12px 16px;
  padding: 16px 18px;
  /* Öneri listesi alt kartın altında kalmasın */
  position: relative;
  z-index: 40;
  overflow: visible;
  contain: none;
}
.customers-action-bar .search-live-wrap,
.customers-action-bar .search-field {
  position: relative;
  z-index: 41;
  overflow: visible;
}
.customers-action-bar .search-suggest {
  z-index: 130;
}
.customers-action-left {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  min-width: 0;
}
.customers-title {
  margin: 0;
  font-family: var(--display);
  font-size: 1.35rem;
  font-weight: 700;
  letter-spacing: -0.03em;
}
.customers-count-badge {
  display: inline-flex;
  align-items: center;
  height: 26px;
  padding: 0 10px;
  border-radius: 999px;
  background: #EEF2FF;
  color: #3730A3;
  font-size: 0.76rem;
  font-weight: 700;
  white-space: nowrap;
}
.customers-search-form {
  display: flex;
  align-items: center;
  gap: 8px;
  flex: 1 1 280px;
  max-width: 440px;
  margin: 0 auto;
}
.customers-search-form .search-field {
  flex: 1 1 auto;
  min-width: 0;
}
.customers-search-form input[type="search"] {
  width: 100%;
  min-width: 0;
}
.customers-action-right {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  margin-left: auto;
}
.customers-list-card {
  padding: 0;
  overflow: hidden;
}
.customers-list-card .table-wrap {
  margin: 0;
}
.customers-pager {
  padding: 12px 16px 14px;
  border-top: 1px solid var(--line);
}
.customers-empty-cell {
  padding: 28px 16px !important;
  text-align: center;
}
.customers-mobile-empty {
  padding: 16px;
}
.customers-table-wide th,
.customers-table-wide td {
  padding: 12px 16px;
  vertical-align: middle;
}
.customers-table-wide th {
  font-size: 0.72rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--muted);
}
.customers-table-wide .customers-actions-col,
.customers-table-wide td.m-card-actions {
  width: auto;
  min-width: 240px;
  padding-right: 18px;
}
.customers-table-wide .table-actions {
  gap: 8px !important;
  justify-content: flex-end;
}
.customers-create-panel {
  width: min(560px, 100%);
}
@media (max-width: 900px) {
  .customers-action-bar {
    flex-direction: column;
    align-items: stretch;
  }
  .customers-search-form {
    max-width: none;
    margin: 0;
  }
  .customers-action-right {
    margin-left: 0;
    justify-content: stretch;
  }
  .customers-action-right .btn {
    flex: 1 1 auto;
  }
}

.content { display: grid; gap: 16px; max-width: none; width: 100%; }
.grid { display: grid; gap: 14px; }
.grid-5 { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.grid-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.grid-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.grid-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }

.page-intro {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 16px;
  flex-wrap: wrap;
  margin-bottom: 4px;
}
.page-kicker {
  margin: 0 0 4px;
  font-family: var(--display);
  font-size: 1.35rem;
  font-weight: 700;
  letter-spacing: -0.03em;
}
.page-lead {
  margin: 0;
  color: var(--muted);
  max-width: 52ch;
  font-size: 0.95rem;
}

.card {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  padding: 20px;
  contain: layout style;
  overflow: visible;
}
/* Sipariş sihirbazı: TomSelect/autocomplete card contain yüzünden kesilmesin */
.card.order-wizard,
.order-wizard.card {
  contain: none;
  overflow: visible !important;
}
.order-wizard-form,
.order-wizard-panel,
.form-row.supplier-groups-wrap {
  overflow: visible !important;
  contain: none;
}
.card h2 {
  margin: 0 0 12px;
  font-family: var(--display);
  font-weight: 700;
  letter-spacing: -0.02em;
  font-size: 1.1rem;
}
.stat {
  display: grid;
  gap: 4px;
}
.stat strong {
  display: block;
  font-size: 1.75rem;
  font-family: var(--display);
  font-weight: 700;
  letter-spacing: -0.03em;
  line-height: 1.1;
}
.stat span { color: var(--muted); font-size: 0.85rem; font-weight: 500; }

.table-wrap {
  overflow: auto;
  -webkit-overflow-scrolling: touch;
  max-height: min(70vh, 720px);
}
table {
  width: 100%;
  border-collapse: collapse;
  content-visibility: auto;
}
th, td {
  text-align: left;
  padding: 14px 12px;
  border-bottom: 1px solid var(--line);
  vertical-align: top;
  font-size: 0.92rem;
}
th {
  position: sticky;
  top: 0;
  background: var(--surface);
  z-index: 1;
  font-size: 0.72rem;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--muted);
  font-weight: 700;
}
tr:hover td { background: #F8FAFC; }

.badge {
  display: inline-flex;
  align-items: center;
  border-radius: var(--radius-full);
  padding: 4px 10px;
  font-size: 0.72rem;
  font-weight: 650;
  background: #F1F5F9;
  color: #475569;
  white-space: nowrap;
  letter-spacing: 0.01em;
}
.badge-blue { background: #E0F2FE; color: #0284C7; }
.badge-amber { background: #FEF3C7; color: #D97706; }
.badge-orange { background: #FFEDD5; color: #EA580C; }
.badge-red { background: #FEE2E2; color: #EF4444; }
.badge-green { background: #D1FAE5; color: #059669; }
.badge-purple { background: #EDE9FE; color: #6D28D9; }
.badge-gray { background: #F1F5F9; color: #64748B; }

.inline-status-chip,
.inline-status-chip-wrap {
  display: inline-block;
  vertical-align: middle;
  max-width: 100%;
}
.status-chip-select.badge-select {
  appearance: none;
  -webkit-appearance: none;
  border: none;
  border-radius: 999px;
  padding: 4px 26px 4px 10px;
  font: inherit;
  font-size: 0.78rem;
  font-weight: 600;
  line-height: 1.35;
  cursor: pointer;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath fill='%2364748B' d='M1 1l4 4 4-4'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 8px center;
  max-width: 100%;
}
.status-chip-select.badge-select:disabled {
  opacity: 0.65;
  cursor: wait;
}
.status-chip-select.badge-select:focus-visible {
  outline: 2px solid var(--accent, #2563EB);
  outline-offset: 2px;
}

.alert {
  padding: 11px 13px;
  border-radius: 8px;
  margin-bottom: 4px;
  font-weight: 600;
  font-size: 0.9rem;
}
.alert-success { background: #dcfce7; color: var(--ok); }
.alert-error { background: #fee2e2; color: var(--danger); }
.alert-info { background: #dbeafe; color: var(--info); }
.alert-warning { background: #fef3c7; color: #92400e; }
.alert-danger { background: #fee2e2; color: #991b1b; border: 1px solid #fecaca; padding: 12px 14px; border-radius: 10px; margin: 10px 0; }
.alert-danger a { color: inherit; font-weight: 700; }

.attendance-banner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
  max-width: none;
  width: 100%;
  margin-bottom: 14px;
  padding: 14px 16px 14px 14px;
  border-radius: 0 12px 12px 0;
  border: 1px solid #FDE68A;
  border-left: 4px solid #F59E0B;
  background: #FFFBEB;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
}
.attendance-banner-main {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  min-width: 0;
  flex: 1 1 260px;
}
.attendance-banner-ico {
  flex-shrink: 0;
  width: 40px;
  height: 40px;
  border-radius: 12px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #F59E0B;
  background: #FEF3C7;
}
.attendance-banner-copy { min-width: 0; }
.attendance-banner-actions {
  margin-top: 0;
  flex-shrink: 0;
  align-items: center;
}
.attendance-banner-cta {
  background: #FEF3C7 !important;
  color: #92400E !important;
  border: 1px solid #FDE68A !important;
  font-weight: 700;
  box-shadow: none !important;
}
.attendance-banner-cta:hover {
  background: #FDE68A !important;
  color: #78350F !important;
}
.attendance-banner-dismiss {
  background: #fff !important;
  border-color: #E5E7EB !important;
  color: #4B5563 !important;
}
@media (max-width: 900px) {
  .attendance-banner,
  .impersonate-banner {
    padding-top: max(12px, env(safe-area-inset-top, 0px));
  }
}
.attendance-banner strong { display: block; font-size: 1rem; margin-bottom: 2px; color: #92400E; }
.attendance-banner p { margin: 0; color: #A16207; font-size: 0.9rem; }

.attendance-table {
  table-layout: fixed;
  width: 100%;
}
.attendance-table th,
.attendance-table td {
  vertical-align: middle;
  padding: 12px 14px;
}
.attendance-table th:nth-child(1),
.attendance-table td:nth-child(1) { width: 32%; }
.attendance-table th:nth-child(2),
.attendance-table td:nth-child(2) { width: 24%; }
.attendance-table th:nth-child(3),
.attendance-table td:nth-child(3) { width: 12.5rem; }
.attendance-table th:nth-child(4),
.attendance-table td:nth-child(4) { width: auto; }
.attendance-table tbody tr {
  transition: background-color .15s ease;
}
.attendance-table tbody tr:hover td {
  background: rgba(249, 250, 251, 0.72);
}
.att-person {
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
}
.att-avatar {
  width: 36px;
  height: 36px;
  flex: 0 0 36px;
  border-radius: 999px;
  background: #dbeafe;
  color: #2563eb;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
}
.att-person-copy { min-width: 0; }
.att-person-copy strong {
  display: block;
  font-weight: 700;
  color: #111827;
  line-height: 1.25;
}
.att-person-copy .muted,
.att-person-copy .m-card-date {
  margin-top: 2px;
  font-size: 0.78rem;
}
.attendance-table .att-status,
.att-status,
.att-dd-trigger {
  appearance: none;
  -webkit-appearance: none;
  flex: 0 0 auto !important;
  width: 14.5rem;
  min-width: 14.5rem;
  max-width: 14.5rem;
  height: 40px;
  min-height: 40px;
  max-height: 40px;
  box-sizing: border-box;
  margin: 0;
  padding: 0 12px;
  font-size: 0.875rem;
  line-height: 1.25;
  font-weight: 600;
  color: #374151;
  background-color: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.05);
  transition: border-color .15s ease, box-shadow .15s ease, background-color .15s ease, transform .12s ease;
}
.att-dd-trigger {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  cursor: pointer;
  text-align: left;
  font-family: inherit;
}
.att-dd-trigger:hover { filter: brightness(0.99); }
.att-dd-trigger:focus,
.att-dd.is-open .att-dd-trigger {
  outline: none;
  border-color: #3b82f6;
  box-shadow: 0 0 0 2px rgba(59, 130, 246, 0.28);
}
.att-dd-trigger--wide {
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  height: 44px;
  min-height: 44px;
  max-height: 44px;
}
.att-dd-label {
  flex: 1 1 auto;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.att-dd-chevron {
  width: 14px;
  height: 14px;
  flex: 0 0 14px;
  color: currentColor;
  opacity: .7;
  transition: transform .18s ease;
}
.att-dd.is-open .att-dd-chevron { transform: rotate(180deg); }
.att-dd-dot {
  width: 8px;
  height: 8px;
  flex: 0 0 8px;
  border-radius: 999px;
  background: #9ca3af;
}
.att-dd-dot--geldi { background: #10b981; }
.att-dd-dot--gelmedi { background: #f43f5e; }
.att-dd-dot--raporlu { background: #6366f1; }
.att-dd-dot--haftalik_izin { background: #9ca3af; }
.att-dd-dot--yillik_izin { background: #f59e0b; }
.att-dd-dot--yarim_gun_yillik_izin { background: #fb923c; }
.att-dd-trigger.att-status--geldi,
.att-status.att-status--geldi { background-color: #f0fdf4; color: #166534; border-color: #bbf7d0; }
.att-dd-trigger.att-status--gelmedi,
.att-status.att-status--gelmedi { background-color: #fef2f2; color: #b91c1c; border-color: #fecaca; }
.att-dd-trigger.att-status--raporlu,
.att-status.att-status--raporlu { background-color: #f5f3ff; color: #6d28d9; border-color: #ddd6fe; }
.att-dd-trigger.att-status--haftalik_izin,
.att-status.att-status--haftalik_izin { background-color: #f9fafb; color: #4b5563; border-color: #e5e7eb; }
.att-dd-trigger.att-status--yillik_izin,
.att-status.att-status--yillik_izin { background-color: #fff7ed; color: #c2410c; border-color: #fed7aa; }
.att-dd-trigger.att-status--yarim_gun_yillik_izin,
.att-status.att-status--yarim_gun_yillik_izin { background-color: #ffedd5; color: #ea580c; border-color: #fdba74; }
.att-dd-menu {
  position: fixed;
  z-index: 80;
  display: block;
  margin: 0;
  padding: 8px 0;
  min-width: 15.5rem;
  max-height: 20rem;
  overflow-x: hidden;
  overflow-y: auto;
  list-style: none;
  background: #fff;
  border: 1px solid #f3f4f6;
  border-radius: 12px;
  box-shadow: 0 20px 40px rgba(15, 23, 42, 0.14), 0 4px 12px rgba(15, 23, 42, 0.06);
  transform-origin: top center;
  opacity: 0;
  transform: translateY(-6px) scale(0.98);
  pointer-events: none;
  transition: opacity .16s ease, transform .16s ease;
}
.att-dd-menu[hidden] { display: none !important; }
.att-dd-menu.is-open {
  opacity: 1;
  transform: none;
  pointer-events: auto;
}
.att-dd-option {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 16px;
  font-size: 0.875rem;
  color: #374151;
  cursor: pointer;
  white-space: nowrap;
  transition: background-color .12s ease, color .12s ease;
}
.att-dd-option:hover,
.att-dd-option.is-active {
  background: #f9fafb;
  color: #111827;
}
.att-dd-option.is-selected {
  font-weight: 650;
  background: #f8fafc;
}
.att-dd-option-label { min-width: 0; }
.attendance-table .att-note,
.att-note {
  flex: none !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  height: 40px !important;
  min-height: 40px !important;
  box-sizing: border-box;
  padding: 8px 12px !important;
  font-size: 0.875rem !important;
  line-height: 1.25;
  color: #374151;
  background: #fff;
  border: 1px solid #e5e7eb !important;
  border-radius: 8px !important;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.05);
  transition: border-color .15s ease, box-shadow .15s ease;
}
.attendance-table .att-note::placeholder,
.att-note::placeholder { color: #9ca3af; }
.attendance-table .att-note:focus,
.att-note:focus {
  outline: none;
  border-color: #3b82f6 !important;
  box-shadow: 0 0 0 2px rgba(59, 130, 246, 0.28) !important;
}
.attendance-table select,
.attendance-table input { min-width: 0; }
.att-status-cell { white-space: nowrap; overflow: visible; position: relative; z-index: 2; }
.att-note-cell { min-width: 0; }
.att-row.att-gelmedi td:first-child { box-shadow: inset 3px 0 0 var(--danger); }
.att-row.att-izinli td:first-child,
.att-row.att-haftalik_izin td:first-child { box-shadow: inset 3px 0 0 #3B82F6; }
.att-row.att-yillik_izin td:first-child { box-shadow: inset 3px 0 0 #F97316; }
.att-row.att-yarim_gun_yillik_izin td:first-child { box-shadow: inset 3px 0 0 #fb923c; }
.att-row.att-raporlu td:first-child { box-shadow: inset 3px 0 0 var(--info); }
.att-row.att-gorevde td:first-child { box-shadow: inset 3px 0 0 var(--accent); }
.att-m-card.att-gelmedi { border-left: 4px solid var(--danger); }
.att-m-card.att-izinli,
.att-m-card.att-haftalik_izin { border-left: 4px solid #3B82F6; }
.att-m-card.att-yillik_izin { border-left: 4px solid #F97316; }
.att-m-card.att-yarim_gun_yillik_izin { border-left: 4px solid #fb923c; }
.att-m-card.att-raporlu { border-left: 4px solid var(--info); }
.att-m-card.att-gorevde { border-left: 4px solid var(--accent); }
.att-status-wrap {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  gap: 6px;
  height: auto;
  min-height: 0;
  width: max-content;
  max-width: 100%;
}
.att-leave-warn {
  display: inline-block;
  font-size: 11px;
  color: #ea580c;
  background: #fff7ed;
  padding: 4px 8px;
  border-radius: 6px;
  font-weight: 500;
  line-height: 1.3;
}
.att-leave-warn[hidden] { display: none !important; }
.att-m-label {
  display: block;
  margin-top: 6px;
  font-size: 0.78rem;
  font-weight: 650;
  color: var(--muted);
}
.att-m-control {
  width: 100%;
  min-height: 44px;
  box-sizing: border-box;
  font-size: 16px;
}
.att-m-card .att-status-wrap { width: 100%; }
.att-m-card .att-dd { width: 100%; }

.quick-links {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
  gap: 10px;
}
.quick-link {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 14px 16px;
  border-radius: var(--radius);
  border: 1px solid var(--line);
  background: var(--surface);
  text-decoration: none !important;
  color: inherit;
  box-shadow: var(--shadow);
  transition: border-color 0.12s ease, transform 0.12s ease;
}
.quick-link:hover {
  border-color: var(--accent);
  transform: translateY(-1px);
}
.quick-link strong { font-size: 0.95rem; }
.quick-link span { color: var(--muted); font-size: 0.8rem; }

.form-grid { display: grid; gap: 12px; }
.form-row { display: grid; gap: 5px; overflow: visible; }
.form-row label {
  font-size: 0.8rem;
  color: var(--muted);
  font-weight: 700;
  letter-spacing: 0.01em;
}
.actions { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 8px; }
.split {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  align-items: center;
  flex-wrap: wrap;
}
.muted { color: var(--muted); }
.stack { display: grid; gap: 8px; }
.item-line {
  padding: 11px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fafbfc;
}
.item-line-compact .split {
  align-items: flex-start;
}
.item-line-compact.is-editing {
  border-color: var(--accent);
  background: var(--accent-soft, #f5f3ff);
  box-shadow: 0 0 0 1px rgba(99, 102, 241, 0.15);
}
.item-line-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 10px;
  align-items: center;
}
.item-line-note {
  margin-top: 4px;
  font-size: 0.92rem;
}
.btn-danger-soft {
  background: #fef2f2 !important;
  color: #b91c1c !important;
  border: 1px solid rgba(185, 28, 28, 0.35) !important;
}
.btn-danger-soft:hover {
  background: #fee2e2 !important;
}
.btn-wh-return {
  background: #ecfdf5 !important;
  color: #047857 !important;
  border: 1px solid rgba(4, 120, 87, 0.35) !important;
}
.btn-wh-return:hover {
  background: #d1fae5 !important;
}
.order-return-wh {
  border: 1px solid rgba(4, 120, 87, 0.28);
  background: linear-gradient(180deg, #f0fdf4 0%, #fff 48px);
  margin-bottom: 18px;
}
.order-return-wh-head {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: flex-start;
  margin-bottom: 12px;
}
.order-return-wh-kicker {
  margin: 0 0 4px;
  font-size: 0.75rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #047857;
  font-weight: 700;
}
.order-return-wh h3 {
  margin: 0 0 6px;
  font-size: 1.15rem;
}
.order-return-wh-lead {
  margin: 0;
  max-width: 52rem;
}
.order-return-wh-count {
  flex-shrink: 0;
  background: #047857;
  color: #fff;
  font-weight: 700;
  font-size: 0.85rem;
  border-radius: 999px;
  padding: 6px 12px;
}
.order-return-wh-list {
  display: grid;
  gap: 6px;
  margin: 0 0 14px;
}
.order-return-wh-row {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  padding: 10px 12px;
  border: 1px solid rgba(15, 23, 42, 0.08);
  border-radius: 10px;
  background: #fff;
  cursor: pointer;
}
.order-return-wh-row--all {
  background: #f8fafc;
  font-weight: 600;
}
.order-return-wh-row input {
  margin-top: 3px;
  width: 18px;
  height: 18px;
}
.order-return-wh-body {
  display: grid;
  gap: 4px;
  min-width: 0;
}
.order-return-wh-fields {
  margin-bottom: 8px;
}
.order-return-wh-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: center;
  margin-top: 8px;
}
@media (max-width: 720px) {
  .order-return-wh-head {
    flex-direction: column;
  }
}
.order-panel-nested.is-item-edit-mode,
#orderAddItemPanel.is-item-edit-mode {
  border-color: var(--accent);
  box-shadow: 0 0 0 1px rgba(99, 102, 241, 0.12);
}
.order-item-form-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
  padding-top: 4px;
}
.order-add-form {
  gap: 12px;
}
.order-add-form .form-row label {
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #6B7280;
  margin-bottom: 6px;
}
.order-add-form .form-row input,
.order-add-form .form-row select {
  min-width: 0;
  max-width: none;
  width: 100%;
  height: 40px;
  padding: 0 12px;
  font-size: 0.875rem;
  line-height: 1.25;
  background: #F9FAFB;
  border: 1px solid #E5E7EB;
  border-radius: 12px;
  box-shadow: none;
  flex: none;
  box-sizing: border-box;
}
.order-add-form .form-row input:focus,
.order-add-form .form-row select:focus {
  background: #fff;
  border-color: transparent;
  outline: none;
  box-shadow: 0 0 0 2px #3B82F6;
}
.order-add-form .ts-wrapper.single .ts-control,
.order-add-form .ts-wrapper.multi .ts-control {
  min-height: 40px !important;
  height: 40px !important;
  padding: 0 12px !important;
  background: #F9FAFB !important;
  border: 1px solid #E5E7EB !important;
  border-radius: 12px !important;
  box-shadow: none !important;
}
.order-add-form .ts-wrapper.single.focus .ts-control,
.order-add-form .ts-wrapper.single .ts-control:focus-within {
  background: #fff !important;
  border-color: transparent !important;
  box-shadow: 0 0 0 2px #3B82F6 !important;
}
/* Native sipariş tedarikçi select (TomSelect yok) */
.nss {
  position: relative;
  width: 100%;
}
.nss-control {
  position: relative;
  display: flex;
  align-items: center;
}
.nss-search {
  width: 100%;
  min-height: 40px;
  height: 40px;
  padding: 0 36px 0 12px !important;
  background: #F9FAFB !important;
  border: 1px solid #E5E7EB !important;
  border-radius: 12px !important;
  box-shadow: none !important;
  font: inherit;
  color: #0f172a;
  box-sizing: border-box;
}
.nss.is-open .nss-search,
.nss-search:focus {
  background: #fff !important;
  border-color: transparent !important;
  outline: none;
  box-shadow: 0 0 0 2px #3B82F6 !important;
}
.nss-clear {
  position: absolute;
  right: 8px;
  top: 50%;
  transform: translateY(-50%);
  width: 26px;
  height: 26px;
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: #64748b;
  font-size: 1.1rem;
  line-height: 1;
  cursor: pointer;
  padding: 0;
}
.nss-clear:hover { background: #e2e8f0; color: #0f172a; }
.nss-list {
  position: absolute;
  z-index: 80;
  left: 0;
  right: 0;
  top: calc(100% + 4px);
  margin: 0;
  padding: 6px 0;
  list-style: none;
  max-height: 260px;
  overflow: auto;
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  box-shadow: 0 10px 30px rgba(15, 23, 42, 0.12);
}
.nss-option {
  padding: 9px 12px;
  cursor: pointer;
  font-size: 0.9rem;
}
.nss-option strong { font-weight: 600; color: #0f172a; }
.nss-option:hover,
.nss-option.is-active { background: #eff6ff; }
.nss-empty {
  padding: 10px 12px;
  color: #64748b;
  font-size: 0.85rem;
}
.nss.is-nss-busy {
  opacity: 0.72;
  pointer-events: none;
  cursor: wait;
}
.order-form-section {
  display: grid;
  gap: 0;
}
.order-form-card {
  background: #fff;
  border: 1px solid #F3F4F6;
  border-radius: 16px;
  padding: 14px 16px;
  box-shadow: 0 1px 3px rgba(15, 23, 42, 0.06);
}
.order-form-card--primary {
  border-color: #E5E7EB;
  box-shadow: 0 2px 8px rgba(15, 23, 42, 0.05);
}
.order-form-section-head {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 6px 10px;
  margin-bottom: 12px;
}
.order-form-section-head strong {
  font-size: 0.88rem;
  font-weight: 700;
  color: #111827;
  letter-spacing: -0.01em;
}
.order-form-section-head .muted {
  font-size: 0.74rem;
  color: #9CA3AF;
}
.order-form-meta-top {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr);
  gap: 10px 14px;
  align-items: start;
  margin-bottom: 10px;
}
.order-form-meta-aside {
  display: flex;
  align-items: center;
  min-height: 40px;
  padding: 8px 12px;
  border-radius: 12px;
  background: #F9FAFB;
  border: 1px solid #F3F4F6;
}
.order-form-meta-fields {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px 12px;
}
.order-form-meta-fields:not(:has(.order-form-meta-status:not([hidden]))) {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.order-form-meta-foot {
  margin: 8px 0 0;
  font-size: 0.72rem;
  line-height: 1.4;
  color: #9CA3AF;
}
.order-add-form .order-add-factory-hint {
  margin: 0;
  font-size: 0.74rem;
  line-height: 1.45;
  color: #6B7280;
}
.order-form-extras-card .order-form-section-head {
  margin-bottom: 10px;
}
.order-form-photo-row .order-upload-zone {
  width: 100%;
  max-width: none;
}
.order-form-lines .order-item-repeater-head {
  margin-bottom: 4px;
}
.order-item-repeater {
  display: grid;
  gap: 10px;
}
.order-item-repeater-head {
  display: flex;
  flex-wrap: wrap;
  gap: 5px 10px;
  align-items: baseline;
}
.order-item-repeater-head strong {
  font-size: 0.88rem;
  font-weight: 700;
  color: #111827;
}
.order-item-repeater-head .muted {
  font-size: 0.74rem;
  color: #9CA3AF;
}
.order-item-cards {
  display: grid;
  gap: 8px;
}
.order-item-card {
  position: relative;
  padding: 12px 12px 10px;
  border: 1px solid #E5E7EB;
  border-radius: 14px;
  background: #F9FAFB;
}
.order-item-card-grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 8px 10px;
  align-items: end;
}
.order-item-qty-row {
  grid-column: span 2;
}
.order-item-product-row {
  grid-column: span 7;
}
.order-item-category-row {
  grid-column: span 3;
}
.order-item-notes-row {
  grid-column: 1 / -1;
}
.order-item-card .form-row input,
.order-item-card .form-row select {
  height: 40px;
}
.order-item-card .suggest-wrap {
  position: relative;
}
.order-item-card-remove {
  position: absolute;
  top: 8px;
  right: 8px;
  width: 26px;
  height: 26px;
  border: 0;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.94);
  color: #64748B;
  font-size: 0.95rem;
  line-height: 1;
  cursor: pointer;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.06);
  z-index: 2;
}
.order-item-card-remove:hover {
  background: #FEE2E2;
  color: #B91C1C;
}
.order-item-add-row {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  width: 100%;
  margin: 0;
  padding: 10px 14px;
  border: 1.5px dashed #BFDBFE !important;
  border-radius: 12px;
  background: #EFF6FF;
  color: #2563EB;
  font-size: 0.84rem;
  font-weight: 650;
  cursor: pointer;
  transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}
.order-item-add-row:hover:not(:disabled) {
  background: #DBEAFE;
  border-color: #93C5FD !important;
  color: #1D4ED8;
}
.order-item-add-row:disabled {
  opacity: 0.55;
  cursor: not-allowed;
}
.order-item-submit-btn {
  background: #2563EB !important;
  color: #fff !important;
  border: 0 !important;
  border-radius: 12px !important;
  padding: 10px 28px !important;
  font-weight: 650 !important;
  font-size: 0.9rem !important;
  box-shadow: 0 4px 14px rgba(37, 99, 235, 0.28) !important;
}
.order-item-submit-btn:hover:not(:disabled) {
  background: #1D4ED8 !important;
  box-shadow: 0 6px 18px rgba(37, 99, 235, 0.34) !important;
}
.order-item-submit-btn.btn-success-soft {
  background: #059669 !important;
  box-shadow: 0 4px 14px rgba(5, 150, 105, 0.24) !important;
}
.order-item-cancel-btn {
  border-radius: 12px !important;
  padding: 10px 18px !important;
  height: 40px;
}
#orderAddItemPanel.is-item-edit-mode .order-item-add-row,
#orderAddItemPanel.is-item-edit-mode .order-item-repeater-head .muted {
  display: none;
}
#orderAddItemPanel.is-item-edit-mode .order-item-card {
  background: #fff;
}
@media (max-width: 960px) {
  .order-form-meta-top {
    grid-template-columns: 1fr;
  }
  .order-form-meta-fields {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 720px) {
  .order-form-meta-fields {
    grid-template-columns: 1fr;
  }
  .order-item-card-grid {
    grid-template-columns: 1fr;
  }
  .order-item-qty-row,
  .order-item-product-row,
  .order-item-category-row,
  .order-item-notes-row {
    grid-column: auto;
  }
}
.photo-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(110px, 1fr));
  gap: 8px;
}
.photo-grid img {
  width: 100%;
  height: 100px;
  object-fit: cover;
  border-radius: 8px;
  border: 1px solid var(--line);
}

.auth-wrap {
  min-height: 100vh;
  min-height: 100dvh;
  width: 100%;
  max-width: 100vw;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 24px 16px;
  box-sizing: border-box;
  overflow-x: hidden;
  background:
    radial-gradient(900px 480px at 12% -8%, rgba(30, 74, 110, 0.35), transparent 55%),
    radial-gradient(720px 420px at 100% 0%, rgba(15, 23, 42, 0.45), transparent 50%),
    linear-gradient(145deg, #0B1220 0%, #132337 45%, #0F172A 100%);
}
body.body-auth {
  margin: 0;
  overflow-x: hidden;
  background: #0B1220;
}
body.body-auth .sidebar,
body.body-auth .bottom-nav,
body.body-auth .nav-backdrop,
body.body-auth .help-fab {
  display: none !important;
}
.auth-wrap > .alert {
  width: min(420px, 100%);
  max-width: 100%;
  margin: 0;
  box-sizing: border-box;
  text-align: center;
}
.auth-card {
  width: min(420px, 100%);
  max-width: 100%;
  margin: 0 auto;
  background: var(--surface);
  border-radius: 20px;
  border: 1px solid var(--line);
  box-shadow: var(--shadow-lg);
  padding: 28px 24px;
  box-sizing: border-box;
}
.auth-card h1 {
  font-family: var(--display);
  font-weight: 700;
  letter-spacing: -0.03em;
  margin: 0 0 4px;
  font-size: 1.75rem;
}
.auth-card p { color: var(--muted); margin: 0 0 18px; }
.auth-brand {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 16px;
}
.auth-brand .brand-mark { width: 44px; height: 44px; }

.filters { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; }
.filters > input,
.filters > select { min-width: 140px; }
.filters > .btn { min-width: auto; }
.pager {
  display: flex;
  gap: 8px;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
  margin-top: 12px;
  font-size: 0.9rem;
  color: var(--muted);
}
.pager a {
  display: inline-flex;
  padding: 7px 12px;
  border-radius: 8px;
  border: 1px solid var(--line);
  background: var(--surface);
  color: var(--ink);
  font-weight: 600;
  text-decoration: none;
}
.pager a:hover { border-color: var(--accent); color: var(--accent); }
.pager .current { font-weight: 700; color: var(--ink); }

.nav-group-label {
  margin: 12px 10px 6px;
  font-size: 0.68rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #64748B;
  font-weight: 700;
  display: flex;
  align-items: center;
  gap: 6px;
}

.sidebar-nav-edit-bar {
  margin: 0 8px 8px;
  padding: 8px 10px;
  border-radius: 10px;
  border: 1px dashed rgba(148, 163, 184, 0.45);
  background: rgba(15, 23, 42, 0.35);
}
.sidebar-nav-edit-hint {
  display: block;
  font-size: 0.72rem;
  color: #94A3B8;
  margin-bottom: 8px;
}
.sidebar-nav-edit-actions {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
}
.sidebar-nav-edit-save,
.sidebar-nav-edit-reset {
  border: 0;
  border-radius: 8px;
  padding: 5px 10px;
  font-size: 0.72rem;
  font-weight: 700;
  cursor: pointer;
}
.sidebar-nav-edit-save {
  background: var(--accent, #6366F1);
  color: #fff;
}
.sidebar-nav-edit-reset {
  background: rgba(148, 163, 184, 0.18);
  color: #E2E8F0;
}
.sidebar-nav-edit-msg {
  margin: 6px 0 0;
  font-size: 0.72rem;
}
.sidebar-nav-edit-msg.is-err { color: #FB7185; }

.sidebar-nav-item {
  display: flex;
  align-items: stretch;
  gap: 0;
}
.sidebar-nav-item .nav-link {
  flex: 1;
  min-width: 0;
}
.nav-drag-handle,
.nav-group-drag-handle {
  display: none;
  align-items: center;
  justify-content: center;
  color: #64748B;
  cursor: grab;
  user-select: none;
  flex-shrink: 0;
}
.nav-drag-handle {
  width: 22px;
  font-size: 0.85rem;
  line-height: 1;
  margin-left: 4px;
}
.nav-group-drag-handle {
  width: 16px;
  font-size: 0.75rem;
}

body.sidebar-nav-editing .nav-drag-handle,
body.sidebar-nav-editing .nav-group-drag-handle {
  display: inline-flex;
}
body.sidebar-nav-editing .sidebar-nav-item .nav-link {
  pointer-events: none;
}
body.sidebar-nav-editing .nav-group-label {
  cursor: grab;
}

.sidebar-nav-ghost {
  opacity: 0.45;
}
.sidebar-nav-ghost .nav-link {
  background: rgba(99, 102, 241, 0.15);
}

body.sidebar-collapsed .sidebar-nav-edit-bar,
body.sidebar-collapsed .nav-drag-handle,
body.sidebar-collapsed .nav-group-drag-handle {
  display: none !important;
}

@media (max-width: 1100px) {
  .grid-5 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .grid-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 900px) {
  .sidebar {
    position: sticky;
    top: 0;
    width: 100%;
    height: auto;
    max-height: none;
    flex-direction: column;
  }
  .nav {
    flex-direction: row;
    flex-wrap: nowrap;
    overflow-x: auto;
    gap: 4px;
    padding-bottom: 4px;
  }
  .nav a { white-space: nowrap; flex: 0 0 auto; }
  .nav-group-label { display: none; }
  .sidebar-foot {
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
  .main { margin-left: 0; padding: 14px; }
  .grid-3, .grid-2 { grid-template-columns: 1fr; }
  .table-wrap { max-height: 60vh; }
}
@media (max-width: 640px) {
  .grid-5, .grid-4 { grid-template-columns: 1fr 1fr; }
  .topbar h1 { font-size: 1.25rem; }
  .schedule-board { grid-template-columns: 1fr; }
  .attendance-banner { align-items: stretch; }
}

.brand-logo {
  width: 80%;
  max-width: 220px;
  height: auto;
  max-height: 160px;
  min-height: 0;
  object-fit: contain;
  object-position: center center;
  border-radius: 0;
  background: transparent;
  padding: 0;
  flex-shrink: 0;
  display: block;
  margin: 0 auto;
  filter: drop-shadow(0 4px 16px rgba(0, 0, 0, 0.32));
}
.brand-has-logo,
.sidebar-brand.brand-has-logo {
  display: grid;
  justify-items: stretch;
  padding: 2px 4px 10px;
  max-width: 100%;
  overflow: hidden;
  border-bottom: 1px solid rgba(148, 163, 184, 0.12);
  margin-bottom: 6px;
}
.brand-logo-link,
.sidebar-brand .brand-logo-link {
  display: grid;
  place-items: center;
  width: 100%;
  max-width: 100%;
  min-height: 76px;
  text-decoration: none !important;
  border-radius: 8px;
  overflow: hidden;
  border: 0;
  box-shadow: none;
  background: transparent;
  padding: 2px 0;
  transition: opacity 0.15s ease;
}
.brand-logo-link:hover {
  background: transparent;
  border-color: transparent;
  opacity: 0.92;
  text-decoration: none !important;
}
.brand-logo-lg {
  width: 72px;
  height: 72px;
}
.brand small {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  max-width: 160px;
}

.auth-card-brand {
  width: min(420px, 100%);
  max-width: 100%;
  margin: 0 auto;
  padding: 0;
  overflow: hidden;
  background: rgba(255,255,255,0.98);
  color: var(--ink);
  border: 1px solid rgba(148, 163, 184, 0.25);
  border-radius: 22px;
  box-shadow: 0 24px 60px rgba(2, 8, 23, 0.45);
  box-sizing: border-box;
}
.auth-logo-header {
  background: linear-gradient(180deg, #0f172a 0%, #020617 100%);
  padding: 1.5rem 1.25rem 1.25rem;
  border-radius: 22px 22px 0 0;
  display: grid;
  place-items: center;
  border-bottom: 1px solid rgba(148, 163, 184, 0.12);
}
.auth-logo-header .auth-logo-bare {
  width: min(150px, 42vw);
  max-width: 150px;
  padding: 0;
}
.auth-logo-header .auth-logo-bare img {
  width: 100%;
  max-width: 150px;
  height: auto;
  display: block;
  object-fit: contain;
  filter: drop-shadow(0 2px 8px rgba(0, 0, 0, 0.35));
}
.auth-logo-fallback {
  width: 56px;
  height: 56px;
  font-size: 1.5rem;
}
.auth-body {
  background: rgba(255, 255, 255, 0.98);
}
.auth-card-pro .auth-brand-block {
  padding: 22px 28px 6px;
  text-align: center;
  display: grid;
  justify-items: center;
  gap: 8px;
}
.auth-logo-bare {
  width: min(220px, 72%);
  display: grid;
  place-items: center;
  background: transparent;
  border: 0;
  box-shadow: none;
  padding: 0;
}
.auth-logo-bare img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: contain;
  background: transparent;
}
.auth-logo-plate {
  /* legacy alias -> bare */
  width: min(220px, 72%);
  height: auto;
  border-radius: 0;
  background: transparent;
  border: 0;
  box-shadow: none;
  display: grid;
  place-items: center;
  overflow: visible;
  padding: 0;
}
.auth-logo-plate img {
  width: 100%;
  height: auto;
  object-fit: contain;
  display: block;
  border-radius: 0;
}
.auth-welcome {
  font-family: var(--display);
  font-size: clamp(1.15rem, 3.6vw, 1.35rem);
  font-weight: 750;
  letter-spacing: -0.03em;
  margin: 6px 0 0;
  color: #0F172A;
  line-height: 1.25;
}
.auth-tagline {
  margin: 0 !important;
  font-size: 0.88rem;
  color: #64748B !important;
  font-weight: 500;
}
.auth-logo-hero {
  background: transparent;
  padding: 28px 28px 18px;
  display: grid;
  place-items: center;
  border-bottom: 0;
}
.auth-logo-hero img {
  width: min(280px, 100%);
  height: auto;
  display: block;
}
.auth-logo-hero h1 {
  font-family: var(--display);
  margin: 12px 0 4px;
  color: var(--ink);
  font-weight: 800;
}
.auth-form {
  padding: 18px 24px 26px;
  background: transparent;
}
.auth-form label { color: var(--muted); font-weight: 600; font-size: .85rem; }
.auth-form .input,
.auth-form input {
  background: #fff;
  border-color: var(--line);
  color: var(--ink);
  font-size: 16px !important; /* iOS zoom fix */
  min-height: 48px;
}
.auth-form .input:focus,
.auth-form input:focus {
  border-color: #1E4A6E;
  box-shadow: 0 0 0 3px rgba(30, 74, 110, 0.15);
}
.auth-input-wrap {
  position: relative;
  display: flex;
  align-items: center;
}
.auth-input-wrap .input {
  width: 100%;
  padding-left: 42px;
  padding-right: 44px;
  box-sizing: border-box;
}
.auth-input-ico {
  position: absolute;
  left: 12px;
  color: #64748B;
  display: grid;
  place-items: center;
  pointer-events: none;
}
.auth-eye-btn {
  position: absolute;
  right: 8px;
  width: 36px;
  height: 36px;
  border: 0;
  background: transparent;
  color: #64748B;
  border-radius: 10px;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  z-index: 1;
}
.auth-eye-btn svg[hidden] { display: none !important; }
.auth-eye-btn:hover { color: #1E4A6E; background: #E8F1F6; }
.auth-remember {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 2px 0 4px;
  font-size: 0.9rem;
  font-weight: 600;
  color: #334155;
  cursor: pointer;
  user-select: none;
}
.auth-remember input {
  width: 18px;
  height: 18px;
  min-height: 18px !important;
  accent-color: #1E4A6E;
}
.auth-submit-btn {
  width: 100%;
  min-height: 50px;
  height: 50px;
  border-radius: 12px;
  font-size: 1rem;
  font-weight: 700;
  background: linear-gradient(180deg, #245A82 0%, #1E4A6E 100%);
  border: 0;
  box-shadow: 0 10px 20px rgba(30, 74, 110, 0.28);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
}
.auth-submit-btn:hover { background: #163A56; }
.auth-submit-btn.is-loading {
  opacity: 0.9;
  cursor: wait;
}
.auth-submit-spin {
  width: 18px;
  height: 18px;
  border-radius: 50%;
  border: 2px solid rgba(255,255,255,0.35);
  border-top-color: #fff;
  animation: auth-spin .7s linear infinite;
}
@keyframes auth-spin { to { transform: rotate(360deg); } }
.auth-hint {
  margin: 10px 0 0;
  padding-top: 10px;
  border-top: 1px solid #E2E8F0;
  font-size: 0.78rem;
  line-height: 1.45;
  text-align: center;
  color: #94A3B8 !important;
  font-weight: 500;
}
.auth-hint-reset { margin-top: 6px !important; }

@media (max-width: 768px) {
  .auth-wrap {
    padding: 16px 16px calc(16px + env(safe-area-inset-bottom, 0px));
    gap: 10px;
    justify-content: center;
  }
  .auth-wrap > .alert {
    width: 100%;
    max-width: 28rem;
    font-size: 0.84rem;
    padding: 10px 12px;
  }
  .auth-card,
  .auth-card-brand {
    width: 100%;
    max-width: 28rem;
  }
  .auth-card-pro .auth-brand-block {
    padding: 16px 18px 4px;
    gap: 6px;
  }
  .auth-logo-header {
    padding: 1.125rem 1rem 1rem;
  }
  .auth-logo-header .auth-logo-bare {
    width: min(132px, 46vw);
    max-width: 132px;
  }
  .auth-welcome {
    font-size: 1.08rem;
    margin: 2px 0 0;
  }
  .auth-tagline {
    font-size: 0.78rem;
    line-height: 1.35;
  }
  .auth-form {
    padding: 10px 18px 16px;
  }
  .auth-form .form-row {
    margin-bottom: 0;
  }
  .auth-form .input,
  .auth-form input {
    min-height: 46px;
  }
  .auth-submit-btn {
    min-height: 48px;
    height: 48px;
  }
  .auth-hint {
    margin-top: 8px;
    padding-top: 8px;
    font-size: 0.72rem;
    color: #94A3B8 !important;
  }
}
.logo-preview {
  background: linear-gradient(160deg, #0F172A 0%, #1E3A5F 100%) !important;
  border-color: rgba(196, 163, 90, 0.35) !important;
}
.logo-preview img {
  max-height: 120px;
  max-width: 260px;
}
.nav-badge {
  display: inline-flex;
  min-width: 20px;
  height: 20px;
  padding: 0 6px;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: linear-gradient(180deg, #FB923C 0%, #EF4444 100%);
  color: #fff;
  font-size: 0.68rem;
  font-weight: 800;
  line-height: 1;
  box-shadow: 0 0 0 2px rgba(239, 68, 68, 0.25), 0 0 12px rgba(249, 115, 22, 0.45);
  margin-left: auto;
  flex-shrink: 0;
}
.logo-preview {
  margin-bottom: 10px;
  padding: 12px;
  background: var(--bg);
  border: 1px dashed var(--line);
  border-radius: 12px;
  display: inline-flex;
}
.logo-preview img {
  max-height: 72px;
  max-width: 220px;
  object-fit: contain;
}
.schedule-board {
  display: grid;
  grid-template-columns: repeat(6, minmax(140px, 1fr));
  gap: 10px;
  overflow-x: auto;
  margin-top: 14px;
}
.schedule-col {
  min-width: 140px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: #FBFCFD;
  display: flex;
  flex-direction: column;
  min-height: 200px;
  transition: border-color .15s ease, box-shadow .15s ease;
}
.schedule-col:hover {
  border-color: color-mix(in srgb, var(--accent) 28%, var(--line));
  box-shadow: var(--shadow);
}
.schedule-col.is-today {
  border-color: color-mix(in srgb, var(--accent) 45%, var(--line));
  background: #fff;
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--accent) 12%, transparent);
}
.schedule-col.is-tomorrow {
  border-color: color-mix(in srgb, var(--accent-gold) 55%, var(--line));
}
.schedule-col header {
  padding: 10px 12px;
  border-bottom: 1px solid var(--line);
  display: flex;
  flex-direction: column;
  gap: 2px;
  background: #F1F5F9;
  border-radius: 12px 12px 0 0;
}
.schedule-col header em {
  font-style: normal;
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  color: var(--accent);
}
.schedule-col.is-tomorrow header em { color: #92400E; }
.schedule-col-body {
  padding: 8px;
  display: flex;
  flex-direction: column;
  gap: 6px;
  flex: 1;
}
.schedule-chip {
  display: block;
  text-decoration: none;
  color: inherit;
  padding: 8px 9px;
  border-radius: 9px;
  background: var(--surface);
  border-left: 3px solid #1f6b4a;
  font-size: 0.82rem;
  line-height: 1.25;
}
.schedule-chip.team-hali { border-left-color: #2a6f97; }
.schedule-chip.team-avize { border-left-color: #8a5a2b; }
.schedule-chip.priority { background: #fff4ef; }
.schedule-chip strong { display: block; }
.schedule-chip span { display: block; color: var(--muted); font-size: 0.75rem; }
.schedule-chip .chip-meta { margin-top: 2px; }
.schedule-card {
  padding: 10px 12px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: var(--bg);
}
.schedule-card.is-priority { border-color: #c45c26; }
.schedule-focus.has-items { border-color: rgba(31, 107, 74, 0.35); }
.notif-unread {
  background: rgba(31, 107, 74, 0.06);
  border-radius: 10px;
  padding: 10px;
}
.role-flow {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  gap: 10px;
  margin-top: 8px;
}
.role-flow > div {
  padding: 12px;
  border-radius: 10px;
  background: var(--bg);
  border: 1px solid var(--line);
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.role-flow strong { font-size: 0.92rem; }
.role-flow span { color: var(--muted); font-size: 0.8rem; line-height: 1.35; }

.topbar-right {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: nowrap;
  justify-content: flex-end;
  margin-left: auto;
  flex: 1 1 auto;
  min-width: 0;
  position: relative;
  z-index: 110;
  overflow: visible;
}
.topbar-title-wrap {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: 8px 10px;
  flex: 0 1 auto;
  min-width: 0;
  max-width: min(360px, 34vw);
  position: relative;
  z-index: 1;
}
.topbar-title-wrap h1 {
  margin: 0;
  flex: 0 1 auto;
  max-width: 100%;
}
.topbar-title-wrap .ops-chip {
  flex: 0 1 auto;
  max-width: min(180px, 100%);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* Tek satır, tek yükseklik arama çubuğu */
.top-search {
  --topbar-h: 40px;
  display: flex;
  align-items: stretch;
  gap: 0;
  flex: 1 1 280px;
  min-width: 180px;
  max-width: 420px;
  height: var(--topbar-h);
  position: relative;
  z-index: 40;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: var(--surface);
  overflow: visible;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.03);
}
.top-search:focus-within {
  border-color: color-mix(in srgb, var(--accent) 50%, var(--line));
  box-shadow: 0 0 0 3px var(--accent-soft);
}
.top-search-box {
  position: relative;
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  align-items: center;
  height: 100%;
}
.top-search-box input[type="search"],
.top-search input[type="search"] {
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  flex: 1 1 auto !important;
  height: 100%;
  margin: 0;
  border: 0 !important;
  border-radius: 12px 0 0 12px;
  background: transparent;
  box-shadow: none !important;
  padding: 0 40px 0 12px;
  font-size: 0.9rem;
  outline: none;
}
.top-search .scan-trigger {
  position: absolute;
  right: 4px;
  top: 50%;
  transform: translateY(-50%);
  width: 32px;
  height: 32px;
  border: 0;
  border-radius: 8px;
  cursor: pointer;
  background: transparent;
  color: var(--muted);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  z-index: 2;
  padding: 0;
}
.top-search .scan-trigger:hover {
  background: var(--accent-soft);
  color: var(--accent);
}
.top-search-submit {
  flex: 0 0 auto;
  height: 100%;
  margin: 0;
  padding: 0 14px;
  border: 0;
  border-left: 1px solid var(--line);
  border-radius: 0 11px 11px 0;
  background: var(--accent);
  color: #fff;
  font-weight: 650;
  font-size: 0.88rem;
  cursor: pointer;
  white-space: nowrap;
  box-shadow: none;
}
.top-search-submit:hover {
  background: var(--accent-hover);
  color: #fff;
}

.topbar-icon-btn {
  position: relative;
  display: inline-grid;
  place-items: center;
  width: 40px;
  height: 40px;
  border-radius: 12px;
  border: 1px solid var(--line);
  background: var(--surface);
  color: var(--ink);
  text-decoration: none !important;
  font-size: 1rem;
  flex-shrink: 0;
  box-sizing: border-box;
  padding: 0;
  cursor: pointer;
}
.topbar-icon-btn:hover { border-color: color-mix(in srgb, var(--accent) 35%, var(--line)); background: var(--accent-soft); }
.topbar-icon-btn em {
  position: absolute;
  top: -5px;
  right: -5px;
  min-width: 18px;
  height: 18px;
  padding: 0 5px;
  border-radius: 999px;
  background: var(--danger);
  color: #fff;
  font-size: .65rem;
  font-style: normal;
  font-weight: 700;
  display: grid;
  place-items: center;
  line-height: 1;
  pointer-events: none;
}
.topbar-user-chip {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 1px;
  height: 40px;
  padding: 0 12px;
  border-radius: 12px;
  border: 1px solid var(--line);
  background: var(--surface);
  text-decoration: none !important;
  color: var(--ink);
  line-height: 1.15;
  max-width: 150px;
  flex-shrink: 0;
  box-sizing: border-box;
}
.topbar-user-chip:hover { border-color: color-mix(in srgb, var(--accent) 35%, var(--line)); background: var(--accent-soft); }
.topbar-user-chip strong {
  font-size: .8rem;
  font-weight: 700;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.topbar-user-chip small {
  font-size: .68rem;
  color: var(--muted);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.theme-picker { position: relative; }
.theme-picker > summary {
  list-style: none;
  cursor: pointer;
  padding: 8px 12px;
  border-radius: 8px;
  border: 1px solid var(--line);
  background: var(--surface);
  font-weight: 600;
  font-size: 0.85rem;
}
.theme-picker > summary::-webkit-details-marker { display: none; }
.theme-picker-panel {
  position: absolute;
  right: 0;
  top: calc(100% + 6px);
  width: min(320px, 90vw);
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 12px;
  box-shadow: 0 12px 40px rgba(0,0,0,.12);
  z-index: 60;
}
.theme-group-label {
  font-size: 0.68rem;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--muted);
  font-weight: 700;
  margin: 8px 0 6px;
}
.theme-swatches { display: flex; flex-direction: column; gap: 4px; }
.theme-swatch {
  display: block;
  padding: 8px 10px;
  border-radius: 8px;
  border: 1px solid var(--line);
  text-decoration: none !important;
  color: var(--ink);
  font-size: 0.85rem;
  font-weight: 600;
}
.theme-swatch.active { border-color: var(--accent); background: var(--accent-soft); }
.theme-swatch:hover { border-color: var(--accent); }

.help-tip {
  display: inline-block;
  position: relative;
  vertical-align: middle;
  z-index: 5;
}
.help-tip > summary {
  list-style: none;
  width: 22px;
  height: 22px;
  border-radius: 999px;
  display: inline-grid;
  place-items: center;
  background: var(--accent-soft);
  color: var(--accent);
  font-weight: 800;
  font-size: 0.8rem;
  cursor: pointer;
  border: 1px solid color-mix(in srgb, var(--accent) 35%, var(--line));
  line-height: 1;
  user-select: none;
}
.help-tip > summary:hover,
.help-tip[open] > summary {
  background: var(--accent);
  color: #fff;
  border-color: var(--accent);
}
.help-tip > summary::-webkit-details-marker { display: none; }
.help-tip-body {
  position: absolute;
  left: 0;
  top: calc(100% + 6px);
  width: min(340px, 88vw);
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 12px 14px;
  font-size: 0.86rem;
  color: var(--ink);
  line-height: 1.45;
  box-shadow: 0 12px 36px rgba(0,0,0,.14);
  z-index: 80;
  white-space: normal;
}
.help-tip.is-flip-x .help-tip-body { left: auto; right: 0; }
.help-tip.is-flip-y .help-tip-body { top: auto; bottom: calc(100% + 6px); }
.help-tip-more {
  display: inline-block;
  margin-top: 8px;
  font-size: 0.8rem;
  font-weight: 700;
  color: var(--accent);
  text-decoration: none;
}
.help-tip-more:hover { text-decoration: underline; }
.help-tip-inline { margin-left: 6px; }
.help-heading { display: inline-flex; align-items: center; gap: 4px; flex-wrap: wrap; }
.page-help { margin-bottom: 10px; }
.page-intro { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; flex-wrap: wrap; }
.page-intro > div:first-child { flex: 1 1 220px; min-width: 0; }
.page-intro .help-tip { flex-shrink: 0; margin-top: 4px; }
.page-intro .filters,
.page-intro .actions { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.ssh-page-intro-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
  flex-shrink: 0;
}
.ssh-page-intro .ssh-new-btn {
  white-space: nowrap;
}

.topbar-guide {
  width: 36px;
  height: 36px;
  border-radius: 999px;
  display: inline-grid;
  place-items: center;
  font-weight: 800;
  padding: 0 !important;
}
.help-fab {
  position: fixed;
  right: 18px;
  bottom: 18px;
  z-index: 90;
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 14px;
  border-radius: 999px;
  background: var(--accent);
  color: #fff !important;
  text-decoration: none !important;
  box-shadow: 0 10px 28px color-mix(in srgb, var(--accent) 45%, transparent);
  font-weight: 700;
  font-size: 0.85rem;
}
.help-fab span {
  width: 22px;
  height: 22px;
  border-radius: 999px;
  background: rgba(255,255,255,.2);
  display: inline-grid;
  place-items: center;
  font-weight: 800;
}
.help-fab:hover { filter: brightness(1.05); transform: translateY(-1px); }
@media (max-width: 720px) {
  .help-fab small { display: none; }
  .help-fab { padding: 12px; }
}

.role-coach {
  background: color-mix(in srgb, var(--accent-soft) 70%, var(--surface));
  border: 1px solid color-mix(in srgb, var(--accent) 25%, var(--line));
  border-radius: 14px;
  padding: 14px 16px;
  margin-bottom: 16px;
}
html.coach-dismissed #roleCoach { display: none !important; }
.role-coach-head {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: flex-start;
  flex-wrap: wrap;
  margin-bottom: 12px;
}
.role-coach-head p { margin: 4px 0 0; font-size: 0.88rem; }
.role-coach-head em {
  font-style: normal;
  font-weight: 800;
  color: var(--accent);
  border: 1px solid color-mix(in srgb, var(--accent) 40%, var(--line));
  border-radius: 999px;
  padding: 0 6px;
  font-size: 0.8rem;
}
.coach-steps {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 8px;
}
.coach-steps-lg { margin-top: 8px; }
.coach-step {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  padding: 10px 12px;
  border-radius: 12px;
  background: var(--surface);
  border: 1px solid var(--line);
  text-decoration: none !important;
  color: var(--ink);
  transition: border-color .15s, transform .15s;
}
.coach-step:hover {
  border-color: var(--accent);
  transform: translateY(-1px);
}
.coach-step strong { display: block; font-size: 0.92rem; }
.coach-step small { display: block; color: var(--muted); margin-top: 2px; line-height: 1.35; }
.coach-n {
  flex-shrink: 0;
  width: 26px;
  height: 26px;
  border-radius: 999px;
  display: inline-grid;
  place-items: center;
  background: var(--accent);
  color: #fff;
  font-size: 0.8rem;
  font-weight: 800;
}

.guide-flow .flow-chips {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding: 0;
  margin: 12px 0 0;
}
.guide-flow .flow-chips li {
  background: var(--accent-soft);
  border: 1px solid var(--line);
  border-radius: 999px;
  padding: 6px 12px;
  font-size: 0.82rem;
  font-weight: 700;
}
.guide-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 12px;
  margin-top: 8px;
}
.guide-card {
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 12px 14px;
  background: color-mix(in srgb, var(--surface) 92%, var(--accent-soft));
}
.guide-card h3 {
  margin: 0 0 8px;
  font-size: 1rem;
  display: flex;
  align-items: center;
  gap: 6px;
}
.guide-card p { margin: 0; font-size: 0.86rem; line-height: 1.45; color: var(--ink); }
.guide-rules { margin: 8px 0 0; padding-left: 18px; line-height: 1.55; }
.guide-rules li { margin-bottom: 8px; }

.row-teshir td:first-child a { color: var(--accent); font-weight: 700; }
.manager-quick { min-width: 140px; }
.manager-quick .input-sm,
.manager-quick select {
  width: 100%;
  font-size: 0.8rem;
  padding: 4px 6px;
  border-radius: 8px;
  border: 1px solid var(--line);
  background: var(--surface);
  color: var(--ink);
}
.btn-ghost {
  background: transparent;
  border: 1px solid var(--line);
  color: var(--muted);
}

.check-row { display: flex; align-items: center; gap: 8px; font-weight: 600; }
.actions-cell { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }

/* —— Elemanlar (users) tam genişlik tablo —— */
.emp-list-card {
  width: 100%;
  max-width: none;
  overflow: visible;
  contain: none;
}
.emp-form-card {
  width: 100%;
  overflow: visible;
  contain: none;
  margin-top: 8px;
  padding: 24px !important;
  background: #fff !important;
  border: 1px solid #F3F4F6 !important;
  border-radius: 14px !important;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.05), 0 6px 16px rgba(15, 23, 42, 0.04) !important;
}
.emp-form-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 20px;
}
.emp-form-title {
  margin: 0;
  font-size: 1.15rem;
  font-weight: 700;
  color: #111827;
  letter-spacing: -0.02em;
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.emp-form-back {
  display: inline-flex;
  align-items: center;
  padding: 6px 12px;
  border-radius: 8px;
  font-size: 0.875rem;
  font-weight: 600;
  color: #6B7280;
  text-decoration: none !important;
  background: transparent;
  border: 0;
  transition: color .15s ease, background .15s ease;
}
.emp-form-back:hover {
  color: #374151;
  background: #F9FAFB;
}
.emp-form-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 22px 20px !important;
  margin-top: 0 !important;
}
.emp-form-grid .emp-span-2,
.emp-edit-grid .emp-span-2 { grid-column: 1 / -1; }

/* Global max-width:280px kırılıyor — input ikonlarıyla aynı kutuda */
.emp-form-grid .form-row {
  gap: 6px;
  min-width: 0;
}
.emp-form-grid .form-row > label,
.emp-form-grid .emp-pass-label-row label {
  display: block;
  margin: 0;
  font-size: 0.875rem;
  font-weight: 600;
  color: #374151;
  letter-spacing: -0.01em;
}
.emp-form-grid .form-row > input:not([type="hidden"]),
.emp-form-grid .form-row > select,
.emp-form-grid .form-row > textarea,
.emp-form-grid .emp-cred-field > input {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  flex: none !important;
  height: 44px;
  min-height: 44px;
  box-sizing: border-box;
  padding: 10px 14px;
  font-size: 0.875rem !important;
  line-height: 1.25;
  color: #1F2937;
  background: #fff !important;
  border: 1px solid #E5E7EB !important;
  border-radius: 10px !important;
  box-shadow: none !important;
  transition: border-color .15s ease, box-shadow .15s ease;
}
.emp-form-grid .form-row > textarea {
  height: auto;
  min-height: 72px;
  resize: vertical;
  padding-top: 10px;
  padding-bottom: 10px;
}
.emp-form-grid .form-row > input:focus,
.emp-form-grid .form-row > select:focus,
.emp-form-grid .form-row > textarea:focus,
.emp-form-grid .emp-cred-field > input:focus {
  border-color: #3B82F6 !important;
  box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.2) !important;
  outline: none;
}
.emp-form-grid .ts-wrapper {
  width: 100% !important;
  max-width: none !important;
}
.emp-form-grid .ts-wrapper .ts-control {
  width: 100% !important;
  max-width: none !important;
  min-height: 44px !important;
  border: 1px solid #E5E7EB !important;
  border-radius: 10px !important;
  box-shadow: none !important;
  background: #fff !important;
}

/* Akıllı kimlik bilgileri — ikonlar input içinde */
.emp-cred-field {
  position: relative;
  display: block;
  width: 100%;
  max-width: none;
}
.emp-cred-field > input {
  padding-right: 44px !important;
}
.emp-cred-field--pass > input {
  padding-right: 112px !important;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  font-size: 0.9rem !important;
  letter-spacing: 0.04em;
}
.emp-cred-ico {
  position: absolute;
  top: 50%;
  right: 8px;
  transform: translateY(-50%);
  width: 32px;
  height: 32px;
  border: 0;
  border-radius: 8px;
  background: transparent;
  color: #9CA3AF;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  z-index: 2;
  transition: color .15s ease, background .15s ease, transform .15s ease;
}
.emp-cred-ico:hover {
  color: #2563EB;
  background: #EFF6FF;
}
.emp-cred-ico:active { transform: translateY(-50%) scale(0.94); }
.emp-cred-ico.is-ok {
  color: #047857;
  background: #D1FAE5;
}
.emp-cred-actions {
  position: absolute;
  top: 50%;
  right: 6px;
  transform: translateY(-50%);
  display: inline-flex;
  align-items: center;
  gap: 0;
  z-index: 2;
}
.emp-cred-actions .emp-cred-ico {
  position: static;
  transform: none;
}
.emp-cred-actions .emp-cred-ico:active { transform: scale(0.94); }
.emp-pass-label-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 0;
}
.emp-pass-label-row label { margin: 0; }
.emp-cred-toast {
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.01em;
  color: #047857;
  background: #ECFDF5;
  border: 1px solid #A7F3D0;
  border-radius: 999px;
  padding: 3px 10px;
  opacity: 0;
  transform: translateY(4px);
  transition: opacity .18s ease, transform .18s ease;
  pointer-events: none;
  white-space: nowrap;
}
.emp-cred-toast.is-show {
  opacity: 1;
  transform: translateY(0);
}
.emp-pass-row .emp-field-hint { margin-top: 8px; }
.emp-form-footer {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  padding-top: 4px;
  margin-top: 4px;
  border-top: 1px solid #F3F4F6;
  padding-top: 18px;
}
.emp-form-submit {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: auto !important;
  min-width: 128px;
  min-height: 42px !important;
  padding: 10px 32px !important;
  border-radius: 10px !important;
  font-size: 0.925rem !important;
  font-weight: 600 !important;
  background: #2563EB !important;
  border: 1px solid #2563EB !important;
  color: #fff !important;
  box-shadow: 0 1px 2px rgba(37, 99, 235, 0.22);
  transition: background .15s ease, box-shadow .15s ease, transform .12s ease;
}
.emp-form-submit:hover {
  background: #1D4ED8 !important;
  border-color: #1D4ED8 !important;
}
.emp-form-submit:active {
  transform: translateY(1px);
}
.emp-table-wrap {
  width: 100%;
  overflow: visible;
  max-height: none;
  -webkit-overflow-scrolling: auto;
}
.emp-table {
  width: 100%;
  table-layout: fixed;
  border-collapse: collapse;
}
.emp-table th,
.emp-table td {
  word-break: break-word;
  overflow-wrap: anywhere;
  vertical-align: middle;
}
.emp-table th.emp-col-name,
.emp-table td.emp-col-name { width: 18%; }
.emp-table th.emp-col-login,
.emp-table td.emp-col-login { width: 16%; }
.emp-table th.emp-col-unit,
.emp-table td.emp-col-unit { width: 14%; }
.emp-table th.emp-col-vehicle,
.emp-table td.emp-col-vehicle { width: 14%; }
.emp-table th.emp-col-role,
.emp-table td.emp-col-role { width: 12%; }
.emp-table th.emp-col-status,
.emp-table td.emp-col-status { width: 9%; }
.emp-table th.emp-col-actions,
.emp-table td.emp-col-actions {
  width: 140px;
  text-align: right;
  white-space: nowrap;
  overflow: visible;
}
.emp-sub { font-size: .8rem; margin-top: 2px; }
.emp-phone { font-size: .88rem; margin-top: 2px; font-variant-numeric: tabular-nums; }
.emp-table tr.is-passive { opacity: .72; }
.emp-actions {
  position: relative;
  display: inline-block;
  text-align: left;
}
.emp-actions-btn {
  white-space: nowrap;
  cursor: pointer;
}
/* Body portal menü — kart/overflow kesmez */
.emp-actions-menu {
  position: fixed;
  z-index: 2100;
  min-width: 200px;
  padding: 6px;
  border-radius: 12px;
  border: 1px solid var(--line);
  background: var(--surface);
  box-shadow: 0 12px 28px rgba(15, 23, 42, .18);
  display: grid;
  gap: 2px;
}
.emp-actions-menu[hidden] { display: none !important; }
.emp-action,
.emp-action-form .emp-action {
  display: block;
  width: 100%;
  text-align: left;
  padding: 9px 12px;
  border: 0;
  border-radius: 8px;
  background: transparent;
  color: var(--ink);
  font: inherit;
  font-weight: 600;
  font-size: .88rem;
  text-decoration: none !important;
  cursor: pointer;
}
.emp-action:hover,
.emp-action-form .emp-action:hover {
  background: var(--accent-soft, #EEF2FF);
}
.emp-action-danger { color: #B91C1C !important; }
.emp-action-danger:hover { background: #FEE2E2 !important; }
.emp-action:disabled {
  opacity: .55;
  cursor: not-allowed;
}
.emp-action-hint {
  margin: 0;
  padding: 4px 12px 8px;
  font-size: .72rem;
  color: #B45309;
  line-height: 1.35;
  white-space: normal;
}
.emp-action-form { margin: 0; }

.emp-edit-panel {
  position: relative;
  width: 100% !important;
  max-width: 42rem !important;
  max-height: 90vh !important;
  padding: 0 !important;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  background: #fff !important;
  border-radius: 12px !important;
  box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25) !important;
}
.emp-edit-header {
  flex-shrink: 0;
  padding: 22px 52px 14px 22px;
}
.emp-edit-title {
  margin: 0;
  font-family: var(--display);
  font-weight: 700;
  font-size: 1.2rem;
  letter-spacing: -0.02em;
  color: #111827;
  line-height: 1.25;
}
.emp-edit-badges {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin-top: 10px;
  min-height: 0;
}
.emp-edit-badge {
  display: inline-flex;
  align-items: center;
  padding: 3px 10px;
  border-radius: 999px;
  font-size: 0.72rem;
  font-weight: 600;
  line-height: 1.4;
  white-space: nowrap;
}
.emp-edit-badge--user {
  background: #F3F4F6;
  color: #374151;
}
.emp-edit-badge--warn {
  background: #FEF3C7;
  color: #B45309;
}
.emp-edit-badge--muted {
  background: #F9FAFB;
  color: #6B7280;
  border: 1px solid #F3F4F6;
}
.emp-edit-lead {
  margin: 8px 0 0;
  font-size: 0.88rem;
}
.emp-edit-form {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  min-height: 0;
}
.emp-edit-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
  padding: 4px 22px 18px;
  overflow: auto;
  flex: 1 1 auto;
  min-height: 0;
  align-content: start;
}
.emp-edit-grid .emp-span-2 { grid-column: 1 / -1; }
.emp-edit-grid .form-row {
  gap: 6px;
  min-width: 0;
}
.emp-edit-grid .form-row > label {
  display: block;
  margin: 0;
  font-size: 0.875rem;
  font-weight: 600;
  color: #374151;
}
.emp-edit-grid .form-row > input:not([type="hidden"]),
.emp-edit-grid .form-row > select,
.emp-edit-grid .form-row > textarea {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  flex: none !important;
  height: 44px;
  min-height: 44px;
  box-sizing: border-box;
  padding: 10px 14px;
  font-size: 0.875rem !important;
  color: #1F2937;
  background: #fff !important;
  border: 1px solid #E5E7EB !important;
  border-radius: 10px !important;
  box-shadow: none !important;
  transition: border-color .15s ease, box-shadow .15s ease;
}
.emp-edit-grid .form-row > textarea {
  height: auto;
  min-height: 72px;
  resize: vertical;
}
.emp-edit-grid .form-row > input:focus,
.emp-edit-grid .form-row > select:focus,
.emp-edit-grid .form-row > textarea:focus {
  border-color: #3B82F6 !important;
  box-shadow: 0 0 0 2px rgba(59, 130, 246, 0.35) !important;
  outline: none;
}
.emp-edit-grid .ts-wrapper,
.emp-edit-grid .ts-wrapper .ts-control {
  width: 100% !important;
  max-width: none !important;
}
.emp-edit-grid .ts-wrapper .ts-control {
  min-height: 44px !important;
  border: 1px solid #E5E7EB !important;
  border-radius: 10px !important;
  box-shadow: none !important;
  background: #fff !important;
}
.emp-edit-reset-wrap {
  display: grid;
  gap: 8px;
}
.emp-edit-reset-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 100%;
  min-height: 44px;
  padding: 10px 16px;
  border: 2px dashed #D1D5DB;
  border-radius: 10px;
  background: transparent;
  color: #4B5563;
  font: inherit;
  font-size: 0.9rem;
  font-weight: 600;
  cursor: pointer;
  transition: color .15s ease, background .15s ease, border-color .15s ease;
}
.emp-edit-reset-btn:hover {
  background: #F9FAFB;
  border-color: #9CA3AF;
  color: #111827;
}
.emp-edit-footer {
  flex-shrink: 0;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin: 0;
  padding: 14px 18px;
  background: #F9FAFB;
  border-top: 1px solid #F3F4F6;
  border-radius: 0 0 16px 16px;
}
.emp-edit-footer-left,
.emp-edit-footer-right {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
}
.emp-edit-footer-right {
  margin-left: auto;
}
.emp-edit-delete {
  display: inline-flex;
  align-items: center;
  border: 0;
  background: transparent;
  color: #DC2626;
  font: inherit;
  font-size: 0.9rem;
  font-weight: 600;
  padding: 8px 12px;
  border-radius: 8px;
  cursor: pointer;
  transition: background .15s ease, color .15s ease;
}
.emp-edit-delete:hover {
  background: #FEF2F2;
  color: #B91C1C;
}
.emp-edit-delete:disabled {
  opacity: .45;
  cursor: not-allowed;
}
.emp-edit-cancel {
  display: inline-flex;
  align-items: center;
  border: 0;
  background: transparent;
  color: #6B7280;
  font: inherit;
  font-size: 0.9rem;
  font-weight: 600;
  padding: 10px 12px;
  border-radius: 8px;
  cursor: pointer;
  transition: color .15s ease, background .15s ease;
}
.emp-edit-cancel:hover {
  color: #374151;
  background: #F3F4F6;
}
.emp-edit-modules {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 10px 16px;
  border-radius: 10px;
  border: 1px solid #E5E7EB;
  background: #fff;
  color: #374151;
  font-size: 0.9rem;
  font-weight: 600;
  text-decoration: none !important;
  transition: background .15s ease, border-color .15s ease;
}
.emp-edit-modules:hover {
  background: #F9FAFB;
  border-color: #D1D5DB;
}
.emp-edit-save {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: auto !important;
  min-height: 42px;
  padding: 10px 24px !important;
  border-radius: 10px !important;
  border: 1px solid #2563EB !important;
  background: #2563EB !important;
  color: #fff !important;
  font: inherit;
  font-size: 0.9rem !important;
  font-weight: 600 !important;
  box-shadow: 0 1px 2px rgba(37, 99, 235, 0.22);
  cursor: pointer;
  transition: background .15s ease;
}
.emp-edit-save:hover {
  background: #1D4ED8 !important;
  border-color: #1D4ED8 !important;
}

@media (max-width: 720px) {
  .emp-edit-grid { grid-template-columns: 1fr; gap: 16px; }
}

.emp-ops-card {
  margin-bottom: 14px;
  padding: 4px 16px 14px;
  background: #fff;
  border: 1px solid #F3F4F6;
  border-radius: 14px;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.05), 0 4px 12px rgba(15, 23, 42, 0.04);
}
.emp-ops-title {
  margin: 0 0 8px;
  font-size: 1rem;
  font-family: var(--display);
  font-weight: 500;
}
.emp-ops-steps {
  margin: 0 0 8px;
  padding-left: 1.2rem;
  line-height: 1.55;
  font-size: .9rem;
}
.emp-ops-steps li { margin-bottom: 4px; }

/* Personel üst aksiyon — yan yana, btn-fat tam genişlik yok */
.emp-page-intro {
  align-items: center;
  margin-bottom: 12px;
}
.emp-page-actions {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  justify-content: flex-end;
}
.emp-page-actions-btns {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}
.emp-btn-primary {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: auto !important;
  min-height: 40px;
  padding: 8px 16px !important;
  border-radius: 10px !important;
  font-size: 0.92rem !important;
  font-weight: 700;
  background: #2563EB !important;
  border-color: #2563EB !important;
  color: #fff !important;
  box-shadow: 0 1px 2px rgba(37, 99, 235, 0.25);
  white-space: nowrap;
}
.emp-btn-primary:hover {
  background: #1D4ED8 !important;
  border-color: #1D4ED8 !important;
}
.emp-btn-ghost {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: auto !important;
  min-height: 40px;
  padding: 8px 16px !important;
  border-radius: 10px !important;
  font-size: 0.88rem !important;
  font-weight: 600;
  background: #fff !important;
  border: 1px solid #E5E7EB !important;
  color: #374151 !important;
  box-shadow: none !important;
  white-space: nowrap;
}
.emp-btn-ghost:hover {
  background: #F9FAFB !important;
  border-color: #D1D5DB !important;
}
.emp-ops-summary {
  cursor: pointer;
  list-style: none;
  font-weight: 600;
  font-size: 0.98rem;
  min-height: 52px;
  display: flex;
  align-items: center;
  gap: 12px;
  user-select: none;
  color: #111827;
}
.emp-ops-summary::-webkit-details-marker { display: none; }
.emp-ops-ico {
  flex-shrink: 0;
  width: 36px;
  height: 36px;
  border-radius: 10px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #4F46E5;
  background: #EEF2FF;
}
.emp-ops-summary-text { flex: 1 1 auto; min-width: 0; }
.emp-ops-chevron {
  flex-shrink: 0;
  color: #9CA3AF;
  display: inline-flex;
  transition: transform .18s ease;
}
.emp-ops-card[open] .emp-ops-chevron { transform: rotate(180deg); }
.emp-ops-card .emp-ops-steps { margin-top: 4px; padding-bottom: 4px; }

@media (max-width: 640px) {
  .emp-page-actions,
  .emp-page-actions-btns {
    width: 100%;
  }
  .emp-page-actions-btns .btn {
    flex: 1 1 auto;
  }
}
.emp-list-toolbar { margin-bottom: 10px; }
.emp-search { max-width: 360px; width: 100%; }
.emp-login-user {
  display: inline-block;
  font-size: .92rem;
  font-weight: 600;
  letter-spacing: .01em;
  padding: 2px 6px;
  border-radius: 4px;
  background: rgba(0, 0, 0, 0.05);
}
.emp-must-chg { margin-top: 4px; font-size: .72rem; }
.emp-last-login { font-size: .78rem; margin-top: 2px; }
.emp-field-hint { margin: 4px 0 0; font-size: .78rem; line-height: 1.4; }
.emp-login-line { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
.emp-action-reset { font-weight: 600; }
.emp-reset-panel { width: min(480px, 100%); }
.emp-reset-who { margin: 0 0 12px; font-size: .95rem; }
.emp-cred-box {
  display: grid;
  gap: 10px;
  padding: 12px;
  border-radius: 8px;
  background: rgba(0, 0, 0, 0.04);
  border: 1px dashed rgba(0, 0, 0, 0.15);
}
.emp-cred-row {
  display: grid;
  grid-template-columns: 110px 1fr auto;
  gap: 8px;
  align-items: center;
}
.emp-cred-pass {
  font-size: 1.05rem;
  font-weight: 700;
  letter-spacing: .04em;
  word-break: break-all;
}

@media (max-width: 640px) {
  .emp-cred-row {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 900px) {
  .emp-form-grid,
  .emp-edit-grid { grid-template-columns: 1fr; }
  .emp-table { table-layout: auto; }
  .emp-table-wrap {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  .emp-table th.emp-col-actions,
  .emp-table td.emp-col-actions { width: auto; }
}
.row-editing { background: var(--accent-soft); }

.excel-board {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  overflow: hidden;
  box-shadow: var(--shadow);
}
.excel-board-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
  padding: 16px 18px;
  background: linear-gradient(135deg, #1E4A6E 0%, #163A56 100%);
  color: #fff;
  font-family: var(--display);
}
.excel-board-head-main {
  display: flex;
  flex-direction: column;
  gap: 2px;
  align-items: flex-start;
}
.excel-board-head-main > span:not(.excel-board-sub) {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}
.excel-board-sub {
  font-size: .76rem;
  font-weight: 600;
  opacity: .88;
}
.excel-board-head strong {
  font-size: 1.1rem;
  font-weight: 700;
  letter-spacing: -0.02em;
}
.excel-board-count {
  font-size: 0.82rem;
  font-weight: 600;
  opacity: 0.88;
  background: rgba(255,255,255,0.12);
  padding: 6px 10px;
  border-radius: 999px;
}
.excel-today-tag, .excel-tomorrow-tag, .excel-gone-tag, .excel-pick-tag {
  font-size: 0.7rem;
  font-weight: 750;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  padding: 4px 9px;
  border-radius: 999px;
  background: rgba(255,255,255,.16);
  color: #fff;
}
.excel-tomorrow-tag { background: rgba(196, 163, 90, 0.95); color: #1a1408; }
.excel-gone-tag { background: rgba(15, 118, 110, 0.9); }
.excel-crew {
  padding: 16px 16px 8px;
  border-bottom: 1px solid var(--line);
}
.excel-crew:last-child { border-bottom: 0; }
.excel-crew-head {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 14px;
  padding-bottom: 8px;
  border-bottom: 1px solid color-mix(in srgb, var(--line) 80%, transparent);
}
.excel-crew-head h3 {
  margin: 0;
  color: var(--ink);
  font-size: 0.9rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}
.excel-crew-count {
  display: inline-grid;
  place-items: center;
  min-width: 26px;
  height: 26px;
  padding: 0 7px;
  border-radius: 999px;
  background: var(--accent-soft);
  color: var(--accent);
  font-size: 0.78rem;
  font-weight: 750;
}
.excel-crew-list { display: grid; gap: 10px; }
.sched-page .excel-stop-card .excel-stop-identity .excel-move-line {
  margin: 0 0 6px;
}
.excel-move-line {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  margin: 0 0 6px;
  padding: 0;
  line-height: 1.3;
}
.excel-move-line:empty {
  display: none !important;
}
.excel-stop-link {
  color: inherit;
  text-decoration: none;
  cursor: pointer;
}
.excel-stop-link:hover {
  color: var(--accent);
  text-decoration: underline;
}
.excel-stop-card .excel-move-tags,
.excel-stop-card .excel-move-history,
.excel-stop-card .excel-move-tag.is-older {
  display: none !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  pointer-events: none !important;
}
.excel-row {
  display: block;
  color: inherit;
  text-decoration: none !important;
  cursor: default;
}
.excel-row:hover {
  background: transparent;
}
.excel-row.is-kesin { box-shadow: none; }
.excel-row.is-gone {
  opacity: 0.72;
}
.excel-row.is-complete,
.excel-stop-card.is-complete .excel-row,
.excel-row.is-ssh,
.excel-stop-card.is-ssh .excel-row {
  background: transparent;
  border-color: transparent;
  box-shadow: none;
  opacity: 1;
}
.excel-stop-card.is-gone {
  opacity: 0.78;
}
.excel-finish-mark {
  display: inline-grid;
  place-items: center;
  width: 1.35rem;
  height: 1.35rem;
  border-radius: 999px;
  background: #16A34A;
  color: #fff;
  font-size: 0.78rem;
  font-weight: 800;
  line-height: 1;
  flex: 0 0 auto;
}
.excel-finish-mark.is-ssh {
  background: #EA580C;
  font-size: 0.85rem;
}
.excel-chip.is-complete {
  background: #DCFCE7;
  color: #166534;
  font-weight: 750;
}
.excel-chip.is-ssh {
  background: #FFEDD5;
  color: #C2410C;
  font-weight: 750;
}
.excel-stop-body {
  min-width: 0;
  flex: 1 1 auto;
  display: grid;
  gap: 10px;
}
.sched-page .excel-stop-card {
  --card-inset-x: 20px;
  --card-inset-y: 16px;
}
.sched-page .excel-stop-card .excel-row {
  padding: var(--card-inset-y) var(--card-inset-x);
}
.sched-page .excel-stop-card .excel-stop-body {
  gap: 10px;
}
.sched-page .excel-stop-card .excel-stop-identity .excel-move-tags {
  margin: 0 0 6px;
}
.sched-page .excel-stop-card .excel-stop-identity {
  margin: 0;
  padding-bottom: 8px;
}
.sched-page .excel-stop-card .excel-stop-actions {
  padding: 0 var(--card-inset-x) 12px;
  margin-top: 0;
}
.excel-stop-identity {
  padding-bottom: 8px;
  margin-bottom: 0;
  border-bottom: 1px solid #F1F5F9;
}
.excel-stop-card[class*="vehicle-tint-"]:not(.vehicle-tint-none) .excel-stop-identity-top {
  margin: 0;
  padding: 0 0 4px;
  background: color-mix(in srgb, var(--vt-bg, #F8FAFC) 22%, #fff);
  border-bottom: 0;
  border-radius: 6px;
}
.excel-stop-card.is-complete.vehicle-tint-none .excel-stop-identity-top {
  background: color-mix(in srgb, #DCFCE7 35%, #fff);
}
.excel-stop-card.is-ssh.vehicle-tint-none .excel-stop-identity-top,
.excel-stop-card.is-ssh-job.vehicle-tint-none .excel-stop-identity-top {
  background: color-mix(in srgb, #FFEDD5 28%, #fff);
}
.excel-stop-identity-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 12px;
}
.excel-stop-identity-main {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px 14px;
  min-width: 0;
  flex: 1 1 auto;
}
.excel-stop-identity-meta {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 10px;
  min-width: 0;
}
.excel-stop-identity-badges {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  min-width: 0;
}
.excel-stop-identity-lead {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px 8px;
  min-width: 0;
  flex: 1 1 auto;
}
.excel-stop-identity-addr {
  display: flex;
  align-items: flex-start;
  gap: 6px;
  margin-top: 4px;
  font-size: 0.82rem;
  line-height: 1.45;
  color: #64748B;
}
.excel-stop-addr-icon {
  flex: 0 0 auto;
  line-height: 1.35;
  opacity: .88;
}
.excel-stop-addr-text {
  min-width: 0;
  overflow-wrap: anywhere;
}
.excel-stop-identity-phones {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  margin: 0;
  padding: 0;
}
.excel-stop-identity-phones.sched-phone-missing {
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  border-radius: 0;
}
.excel-stop-identity-phones.sched-phone-missing .sched-no-phone-btn {
  height: 24px;
  padding: 0 8px;
  border-radius: 999px;
  background: #FFFBEB;
  border: 1px solid #FDE68A;
  font-size: .7rem;
}
.excel-stop-title {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px 8px;
}
.excel-customer {
  font-size: 1.12rem;
  font-weight: 700;
  letter-spacing: -0.015em;
  color: #0F172A;
  background: none;
  border: none;
  padding: 0;
  margin: 0;
  line-height: 1.25;
  box-shadow: none;
}
.excel-stop-phone {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 0.82rem;
  font-weight: 600;
  color: #334155;
  text-decoration: none;
  white-space: nowrap;
  background: none;
  border: none;
  padding: 0;
}
.excel-stop-phone:hover {
  color: var(--accent);
  text-decoration: underline;
}
.excel-stop-phone-alt {
  color: #64748B;
}
.excel-finish-mark:empty,
.excel-move-tag:empty,
.excel-chip:empty,
.excel-move-tag.is-blank,
.excel-stop-identity-meta:empty,
.excel-stop-identity-badges:empty,
.excel-move-tags:not(:has(.excel-move-tag, .excel-move-more)) {
  display: none !important;
}
.excel-move-more:empty {
  display: none !important;
}
.excel-kesin-badge,
.excel-chip {
  display: inline-flex;
  align-items: center;
  padding: 2px 8px;
  border-radius: 999px;
  font-size: 0.68rem;
  font-weight: 750;
  letter-spacing: 0.02em;
}
.excel-kesin-badge {
  background: #FEF3C7;
  color: #92400E;
}
.excel-ssh-badge,
.m-dispatch-ssh-badge {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  padding: 2px 8px;
  border-radius: 999px;
  font-size: 0.68rem;
  font-weight: 750;
  letter-spacing: 0.02em;
  background: #FFEDD5;
  color: #C2410C;
  border: 1px solid #FDBA74;
}
.m-dispatch-ssh-badge { margin-left: 6px; }
.excel-chip.is-ok { background: #D1FAE5; color: #065F46; }
.excel-chip.is-warn { background: #FEF3C7; color: #92400E; }
.excel-chip.is-fabric {
  background: #FFEDD5;
  color: #C2410C;
  border: 1px solid #FDBA74;
  font-weight: 800;
}
.excel-chip.is-info { background: var(--accent-soft); color: var(--accent); }
.excel-chip.is-done { background: #E2E8F0; color: #475569; }
.excel-label {
  display: inline-block;
  min-width: 3.6rem;
  margin-right: 8px;
  font-size: 0.68rem;
  font-weight: 750;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--muted);
  vertical-align: top;
}
.excel-stop-place,
.excel-stop-note {
  display: flex;
  gap: 4px;
  font-size: 0.9rem;
  line-height: 1.4;
  color: #334155;
}
.excel-stop-crew {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  font-size: 0.9rem;
  line-height: 1.4;
  color: #0F172A;
  margin: 6px 0 2px;
  font-weight: 650;
}
.excel-stop-crew.is-unassigned {
  color: #C2410C;
}
.excel-stop-crew-people {
  font-weight: 550;
  color: #64748B;
}
.excel-stop-sales {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  flex-wrap: wrap;
  font-size: 0.9rem;
  line-height: 1.4;
  color: #334155;
  margin-top: 2px;
}
.excel-stop-sales-main {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  min-width: 0;
}
.excel-stop-sales-meta {
  margin-left: auto;
  font-size: 0.72rem;
  font-style: italic;
  color: #94A3B8;
  white-space: nowrap;
}
.excel-stop-ssh-only-hint,
.m-dispatch-ssh-only-hint {
  margin: 2px 0 6px;
  padding: 6px 10px;
  border-radius: 8px;
  background: #F8FAFC;
  border: 1px dashed #CBD5E1;
  color: #64748B;
  font-size: 0.82rem;
  line-height: 1.45;
  font-weight: 550;
}
.excel-stop-ssh-list,
.m-dispatch-ssh-list {
  list-style: none;
  margin: 4px 0 0;
  padding: 0;
  border-top: 1px solid #F1F5F9;
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
}
/* Depo onayı / her finish durumunda SSH listesi gizlenmesin */
.excel-stop-card .excel-stop-ssh-list,
.excel-stop-card[class*="finish-"] .excel-stop-ssh-list,
.excel-stop-card.is-ssh-job .excel-stop-ssh-list {
  display: block !important;
}
.excel-stop-ssh-item,
.m-dispatch-ssh-item {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  padding: 10px 0;
  border-bottom: 1px solid #F1F5F9;
  background: #fff;
}
.excel-stop-ssh-item.is-grouped,
.m-dispatch-ssh-item.is-grouped {
  align-items: flex-start;
}
.excel-stop-ssh-group-count {
  font-size: 0.78rem;
  font-weight: 600;
  color: #94A3B8;
  white-space: nowrap;
}
.excel-stop-ssh-sublist,
.m-dispatch-ssh-sublist {
  list-style: none;
  margin: 8px 0 0;
  padding: 0 0 0 2px;
}
.excel-stop-ssh-subitem,
.m-dispatch-ssh-subitem {
  margin: 0 0 8px;
  padding: 0;
}
.excel-stop-ssh-subitem:last-child,
.m-dispatch-ssh-subitem:last-child {
  margin-bottom: 0;
}
.excel-stop-ssh-subcode,
.m-dispatch-ssh-subcode {
  display: block;
  font-size: 0.84rem;
  font-weight: 700;
  color: #9A3412;
  line-height: 1.35;
}
.excel-stop-ssh-fault-sub,
.m-dispatch-ssh-fault-sub {
  margin-top: 4px;
  margin-left: 0;
}
.excel-stop-ssh-item:last-child,
.m-dispatch-ssh-item:last-child {
  border-bottom: 0;
}
.excel-stop-ssh-icon,
.m-dispatch-ssh-icon {
  flex: 0 0 auto;
  line-height: 1.35;
  font-size: 0.92rem;
}
.excel-stop-ssh-item-body,
.m-dispatch-ssh-item-body {
  min-width: 0;
  flex: 1 1 auto;
}
.excel-stop-ssh-task,
.m-dispatch-ssh-task {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  margin: 0;
  padding: 10px 0;
  border: 0;
  border-bottom: 1px solid #F1F5F9;
  border-radius: 0;
  background: #fff;
  color: #9A3412;
  font-size: 0.88rem;
  font-weight: 600;
  line-height: 1.4;
  box-shadow: none;
}
.excel-stop-ssh-task-title {
  font-weight: 600;
  line-height: 1.35;
  color: #C2410C;
  overflow-wrap: anywhere;
  word-break: break-word;
}
.excel-stop-ssh-fault {
  margin-top: 6px;
  margin-left: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: #B91C1C;
  font-size: 0.82rem;
  font-weight: 600;
  font-style: italic;
  line-height: 1.45;
  word-break: break-word;
}
.excel-stop-ssh-fault-label {
  font-style: normal;
  font-weight: 800;
  color: #DC2626;
}
.excel-stop-ssh-task + .excel-stop-ssh-task,
.m-dispatch-ssh-task + .m-dispatch-ssh-task { margin-top: 6px; }
.m-dispatch-ssh-task { margin-top: 6px; font-size: 0.86rem; }
.sched-cbar-merge {
  background: #EEF2FF !important;
  border-color: #C7D2FE !important;
  color: #3730A3 !important;
}
.sched-cbar-merge:hover { background: #E0E7FF !important; }
.excel-stop-products {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 4px 10px;
  align-items: start;
}
.excel-stop-products .excel-label { padding-top: 2px; }
.excel-prod-table {
  grid-column: 2;
  min-width: 0;
  border: 1px solid #E5E7EB;
  border-radius: 10px;
  overflow: hidden;
  background: #fff;
  box-shadow: none;
}
.excel-prod-head {
  display: grid;
  grid-template-columns: 112px 76px minmax(0, 1fr);
  gap: 8px;
  padding: 6px 10px;
  font-size: 0.64rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: #94A3B8;
  background: #F9FAFB;
  border-bottom: 1px solid #E5E7EB;
}
.excel-prod-rows {
  display: grid;
  gap: 0;
  margin: 0;
  padding: 0;
  list-style: none;
}
.excel-prod-row {
  display: grid;
  grid-template-columns: 112px 76px minmax(0, 1fr);
  gap: 8px;
  align-items: center;
  padding: 7px 10px;
  border-bottom: 1px solid #F1F5F9;
}
.excel-prod-row:last-child { border-bottom: 0; }
.excel-prod-row:nth-child(even) {
  background: #FAFAFA;
}
.excel-prod-row.is-no-supplier {
  grid-template-columns: 76px minmax(0, 1fr);
}
.qty-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 2px 8px;
  border-radius: 6px;
  background: #F1F5F9;
  color: #1E293B;
  font-weight: 800;
  font-size: 0.72rem;
  letter-spacing: 0.01em;
  line-height: 1.35;
  white-space: nowrap;
  width: max-content;
  max-width: 100%;
}
.excel-prod-row .qty-badge {
  justify-self: start;
}
.item-line-compact .qty-badge {
  margin-right: 8px;
  vertical-align: middle;
}
@media (max-width: 640px) {
  .excel-prod-head,
  .excel-prod-row {
    grid-template-columns: 88px 68px minmax(0, 1fr);
  }
  .excel-prod-row.is-no-supplier {
    grid-template-columns: 68px minmax(0, 1fr);
  }
}
.excel-prod-supplier {
  display: inline-block;
  max-width: 100%;
  padding: 2px 8px;
  border-radius: 999px;
  background: #F1F5F9;
  font-size: 0.72rem;
  font-weight: 700;
  line-height: 1.35;
  color: #334155;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.excel-prod-supplier.is-empty {
  background: transparent;
  padding: 0;
  min-height: 1.2em;
  color: transparent;
  font-weight: 400;
  font-size: 0.82rem;
}
.excel-prod-name {
  font-size: 0.88rem;
  line-height: 1.35;
  color: var(--ink);
  font-weight: 600;
  overflow-wrap: anywhere;
}
.excel-prod-stock-badge {
  display: inline-flex;
  align-items: center;
  margin-left: 6px;
  padding: 1px 7px;
  border-radius: 6px;
  vertical-align: middle;
  font-size: 0.65rem;
  font-weight: 700;
  letter-spacing: 0.01em;
  line-height: 1.4;
  white-space: nowrap;
  color: #065f46;
  background: #d1fae5;
  border: 1px solid #a7f3d0;
}
.excel-prod-table-compact {
  margin-top: 8px;
  border-radius: 10px;
}
.excel-prod-count {
  display: inline-block;
  margin-left: 4px;
  padding: 0 6px;
  border-radius: 999px;
  background: #F1F5F9;
  color: #64748B;
  font-style: normal;
  font-size: 0.68rem;
  font-weight: 700;
}
.excel-prod-hint { display: none; }
.excel-line {
  font-size: 0.92rem;
  line-height: 1.35;
  min-width: 0;
  flex: 1 1 auto;
  overflow-wrap: anywhere;
  word-break: break-word;
  white-space: normal;
}
.excel-meta {
  font-size: 0.78rem;
  color: var(--muted);
  white-space: nowrap;
  text-align: right;
  flex: 0 0 auto;
  display: grid;
  gap: 4px;
  justify-items: end;
}
.excel-order-no {
  font-weight: 700;
  color: var(--accent);
  letter-spacing: -0.01em;
  flex: 0 0 auto;
  font-size: 0.78rem;
  white-space: nowrap;
  margin-top: 2px;
}
.excel-stop-identity-top .excel-order-no {
  align-self: flex-start;
}
.excel-stop-identity-end {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  flex: 0 0 auto;
  margin-left: auto;
}
/* Gizli yönetici notu — boş: kalem; dolu: kalıcı post-it (tıkla-düzenle) */
.mpn-trigger {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 2px;
  width: 30px;
  height: 30px;
  padding: 0;
  border: 0;
  border-radius: 8px;
  background: transparent;
  color: #94A3B8;
  cursor: pointer;
  position: relative;
  z-index: 6;
  pointer-events: auto;
  -webkit-user-drag: none;
  user-select: none;
  transition: color .15s ease, background .15s ease, box-shadow .15s ease;
  max-width: min(220px, 42vw);
  font: inherit;
  text-align: left;
}
.mpn-trigger:hover,
.mpn-trigger:focus-visible {
  color: #7C3AED;
  background: #F5F3FF;
  outline: none;
}
.mpn-trigger.mpn-chip,
.mpn-trigger.has-note.mpn-chip {
  width: auto;
  height: auto;
  min-height: 26px;
  padding: 4px 8px;
  border-radius: 6px;
  background: #FEF3C7;
  color: #92400E;
  box-shadow: 0 1px 2px rgba(146, 64, 14, 0.12);
  border: 1px solid #FCD34D;
}
.mpn-trigger.mpn-chip:hover,
.mpn-trigger.mpn-chip:focus-visible {
  background: #FDE68A;
  color: #78350F;
  box-shadow: 0 2px 6px rgba(146, 64, 14, 0.16);
}
.mpn-chip-text {
  display: block;
  font-size: .72rem;
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: .01em;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: min(200px, 38vw);
  pointer-events: none;
}
.mpn-icon { display: block; pointer-events: none; flex: 0 0 auto; }
.mpn-saved {
  font-size: .72rem;
  font-weight: 800;
  color: #15803D;
  animation: mpn-fade 1.4s ease forwards;
  pointer-events: none;
  margin-left: 2px;
}
@keyframes mpn-fade {
  0% { opacity: 0; transform: translateY(2px); }
  20% { opacity: 1; transform: none; }
  80% { opacity: 1; }
  100% { opacity: 0; }
}
.mpn-popover {
  position: fixed;
  z-index: 14000;
  background: #fff;
  border: 1px solid #E2E8F0;
  border-radius: 12px;
  box-shadow: 0 18px 40px rgba(15, 23, 42, 0.18);
  padding: 12px;
  display: grid;
  gap: 8px;
}
.mpn-popover[hidden] { display: none !important; }
.mpn-popover-head {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: space-between;
  gap: 4px 10px;
}
.mpn-popover-head strong {
  font-size: .88rem;
  color: #0F172A;
}
.mpn-popover-hint {
  font-size: .72rem;
  color: #94A3B8;
}
.mpn-textarea {
  width: 100%;
  min-height: 96px;
  resize: vertical;
  border: 1px solid #CBD5E1;
  border-radius: 8px;
  padding: 10px;
  font: inherit;
  font-size: .9rem;
  line-height: 1.4;
  box-sizing: border-box;
  color: #0F172A;
  background: #F8FAFC;
}
.mpn-textarea:focus {
  outline: none;
  border-color: #A78BFA;
  box-shadow: 0 0 0 3px rgba(124, 58, 237, 0.15);
  background: #fff;
}
.mpn-popover-foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  font-size: .72rem;
}
.mpn-status { color: #64748B; font-weight: 650; min-height: 1em; }
.mpn-status.is-ok { color: #15803D; }
.mpn-status.is-err { color: #B91C1C; }
.mpn-keys { color: #94A3B8; }
.excel-meta em { display: block; color: var(--ok); font-style: normal; font-weight: 800; }
.excel-empty {
  padding: 40px 20px;
  text-align: center;
  display: grid;
  gap: 8px;
  justify-items: center;
}
.excel-empty strong { font-size: 1.05rem; }
.excel-empty p { margin: 0; color: var(--muted); font-size: 0.92rem; }
.excel-leave-block {
  padding: 14px 16px 16px;
  background: #FBFCFD;
  border-top: 1px solid var(--line);
}
.excel-leave-block h4 {
  margin: 0 0 8px;
  font-size: 0.72rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--muted);
}
.excel-customer.is-broken-customer {
  color: #991B1B !important;
}
.excel-stop-card.is-broken-stop {
  border: 1px solid #FECACA;
  background: #FEF2F2;
}
.excel-stop-card.is-deduped,
.excel-crew[data-ghost-lane="1"] {
  display: none !important;
}
.excel-leave-list .excel-leave {
  margin: 0;
  padding: 6px 12px;
  border-radius: 999px;
  background: #FCE7F3;
  color: #9D174D;
  font-size: 0.8rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  text-align: left;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
  max-width: 100%;
}
.att-leave-badge .att-leave-name { font-weight: 800; }
.att-leave-badge .att-leave-status { font-weight: 600; opacity: 0.9; }
.att-leave-badge .att-leave-sep { opacity: 0.55; font-weight: 500; }
.att-leave-badge .att-leave-plate {
  font-weight: 600;
  font-variant-numeric: tabular-nums;
  opacity: 0.85;
}
.excel-crew-tags {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 6px;
  align-items: center;
  vertical-align: middle;
}
.excel-crew-tag {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 2px 8px;
  border-radius: 999px;
  background: #F1F5F9;
  color: #334155;
  font-size: 0.78rem;
  font-weight: 650;
  line-height: 1.35;
}
.excel-crew-tag.is-lead {
  background: #E0E7FF;
  color: #3730A3;
}
.excel-crew-tag.is-plate {
  background: #F8FAFC;
  color: #64748B;
  font-variant-numeric: tabular-nums;
  font-weight: 600;
}
.excel-crew-tag.is-driver small {
  font-weight: 500;
  opacity: 0.75;
}
.excel-crew-tag.is-unassigned {
  background: #FEF3C7;
  color: #92400E;
}
.excel-leave {
  padding: 6px 10px;
  border-radius: 8px;
  background: #FEF3C7;
  color: #92400E;
  font-size: 0.8rem;
  font-weight: 650;
}
@media (max-width: 640px) {
  .excel-row { flex-direction: column; }
  .excel-meta { max-width: none; width: 100%; justify-items: start; flex-direction: row; display: flex; flex-wrap: wrap; gap: 6px; }
  .excel-label { min-width: 3.6rem; }
}
.excel-stop-card {
  margin-bottom: 16px;
  min-width: 0;
  max-width: 100%;
  background: #fff;
  border: 1px solid #e2e8f0;
  border-left-width: 6px;
  border-left-style: solid;
  border-left-color: #94a3b8;
  border-radius: 12px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
  overflow: visible;
  position: relative;
  transition: border-color .15s ease, box-shadow .15s ease;
  /* Sol kenar = ekip rengi; durum badge'lerde kalır (accent-* kenarı boyamaz) */
  background-image: linear-gradient(90deg, color-mix(in srgb, var(--vt-bg, #f1f5f9) 55%, transparent) 0%, transparent 42%);
}
.excel-stop-card:hover {
  box-shadow: 0 2px 8px rgba(15, 23, 42, 0.07);
}
.excel-stop-card:has(.excel-move-log:hover),
.excel-stop-card:has(.excel-move-log:focus-within),
.excel-stop-card:has(.excel-move-log[open]) {
  z-index: 40;
}

/* Araç / ekip renkleri — her araç id'sine sabit ton; kart kenarı + hafif sol gradient */
.vehicle-tint-dot {
  display: inline-block;
  width: 0.72rem;
  height: 0.72rem;
  border-radius: 999px;
  margin-right: 0.45rem;
  vertical-align: middle;
  background: currentColor;
  box-shadow: inset 0 0 0 1px rgba(0,0,0,.08);
}
.excel-crew.vehicle-tint-0 .vehicle-tint-dot,
.excel-stop-card.vehicle-tint-0 { --vt: #0284C7; --vt-bg: #E0F2FE; --vt-bd: #7DD3FC; }
.excel-crew.vehicle-tint-1 .vehicle-tint-dot,
.excel-stop-card.vehicle-tint-1 { --vt: #0F766E; --vt-bg: #CCFBF1; --vt-bd: #5EEAD4; }
.excel-crew.vehicle-tint-2 .vehicle-tint-dot,
.excel-stop-card.vehicle-tint-2 { --vt: #B45309; --vt-bg: #FEF3C7; --vt-bd: #FCD34D; }
.excel-crew.vehicle-tint-3 .vehicle-tint-dot,
.excel-stop-card.vehicle-tint-3 { --vt: #BE123C; --vt-bg: #FFE4E6; --vt-bd: #FDA4AF; }
.excel-crew.vehicle-tint-4 .vehicle-tint-dot,
.excel-stop-card.vehicle-tint-4 { --vt: #6D28D9; --vt-bg: #EDE9FE; --vt-bd: #C4B5FD; }
.excel-crew.vehicle-tint-5 .vehicle-tint-dot,
.excel-stop-card.vehicle-tint-5 { --vt: #3F6212; --vt-bg: #ECFCCB; --vt-bd: #BEF264; }
.excel-crew.vehicle-tint-6 .vehicle-tint-dot,
.excel-stop-card.vehicle-tint-6 { --vt: #0E7490; --vt-bg: #CFFAFE; --vt-bd: #67E8F9; }
.excel-crew.vehicle-tint-7 .vehicle-tint-dot,
.excel-stop-card.vehicle-tint-7 { --vt: #C026D3; --vt-bg: #FAE8FF; --vt-bd: #F0ABFC; }
.excel-crew.vehicle-tint-8 .vehicle-tint-dot,
.excel-stop-card.vehicle-tint-8 { --vt: #1D4ED8; --vt-bg: #DBEAFE; --vt-bd: #93C5FD; }
.excel-crew.vehicle-tint-9 .vehicle-tint-dot,
.excel-stop-card.vehicle-tint-9 { --vt: #9A3412; --vt-bg: #FFEDD5; --vt-bd: #FDBA74; }
.excel-crew.vehicle-tint-10 .vehicle-tint-dot,
.excel-stop-card.vehicle-tint-10 { --vt: #A21CAF; --vt-bg: #FCE7F3; --vt-bd: #F9A8D4; }
.excel-crew.vehicle-tint-11 .vehicle-tint-dot,
.excel-stop-card.vehicle-tint-11 { --vt: #334155; --vt-bg: #E2E8F0; --vt-bd: #94A3B8; }
.excel-stop-card.vehicle-tint-none,
.excel-crew.vehicle-tint-none {
  --vt: #64748b;
  --vt-bg: #f1f5f9;
  --vt-bd: #cbd5e1;
}

.excel-crew[class*="vehicle-tint-"]:not(.vehicle-tint-none) .excel-crew-head {
  border-left: 4px solid var(--vt, transparent);
  padding-left: 10px;
  border-radius: 8px;
  background: color-mix(in srgb, var(--vt-bg, transparent) 70%, #fff);
}
.excel-crew[class*="vehicle-tint-"]:not(.vehicle-tint-none) .vehicle-tint-dot {
  background: var(--vt);
  color: var(--vt);
}
.excel-stop-card[class*="vehicle-tint-"]:not(.vehicle-tint-none) {
  border-left-color: var(--vt);
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
}
.excel-stop-card.vehicle-tint-none {
  border-left-color: #94a3b8;
}
.excel-stop-card[class*="vehicle-tint-"]:not(.vehicle-tint-none) .excel-row {
  background: transparent;
  border-color: transparent;
}
.excel-stop-card[class*="vehicle-tint-"]:not(.vehicle-tint-none) .excel-row:hover {
  background: transparent;
}
.excel-stop-card.is-complete[class*="vehicle-tint-"] .excel-row,
.excel-stop-card.is-ssh[class*="vehicle-tint-"] .excel-row {
  background: transparent;
  border-color: transparent;
  box-shadow: none;
}
.excel-move-tags {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  margin: 0;
  padding: 0;
}
.excel-move-tag {
  display: inline-flex;
  align-items: center;
  max-width: 100%;
  padding: 2px 8px;
  border-radius: 6px;
  font-size: .68rem;
  font-weight: 650;
  line-height: 1.3;
  background: #F8FAFC;
  color: #475569;
  border: 1px solid #E2E8F0;
  overflow-wrap: anywhere;
  word-break: break-word;
}
.excel-move-tag.is-latest {
  font-weight: 750;
}
.excel-move-tag.is-older {
  opacity: 0.85;
  background: #F8FAFC;
  color: #475569;
  border-color: #E2E8F0;
}
.excel-move-more {
  display: inline-flex;
  align-items: center;
  padding: 2px 8px;
  border-radius: 999px;
  font-size: 0.68rem;
  font-weight: 700;
  color: #64748B;
  background: #F8FAFC;
  border: 1px dashed #CBD5E1;
  cursor: help;
  user-select: none;
}
.excel-move-line {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
}
.excel-move-log {
  position: relative;
  display: inline-flex;
  flex: 0 0 auto;
}
.excel-move-log-btn {
  list-style: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  padding: 0;
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: #94a3b8;
  cursor: pointer;
  line-height: 1;
}
.excel-move-log-btn::-webkit-details-marker { display: none; }
.excel-move-log-btn:hover,
.excel-move-log[open] > .excel-move-log-btn {
  color: #3b82f6;
  background: #eff6ff;
}
.excel-move-log-icon {
  width: 15px;
  height: 15px;
  display: block;
}
.excel-move-log-panel {
  display: none;
  position: absolute;
  z-index: 50;
  top: calc(100% + 6px);
  left: 0;
  min-width: 220px;
  max-width: min(420px, 86vw);
  margin: 0;
  padding: 8px 12px;
  list-style: none;
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 10px;
  box-shadow: 0 10px 28px rgba(15, 23, 42, 0.12);
}
.excel-move-log:hover .excel-move-log-panel,
.excel-move-log:focus-within .excel-move-log-panel,
.excel-move-log[open] .excel-move-log-panel {
  display: block;
}
.excel-move-log-panel li {
  font-size: 0.75rem;
  font-weight: 600;
  color: #475569;
  line-height: 1.4;
  padding: 4px 0;
  border-bottom: 1px solid #f1f5f9;
}
.excel-move-log-panel li:last-child {
  border-bottom: 0;
  padding-bottom: 0;
}
.excel-move-log-panel li:first-child {
  padding-top: 0;
}
.sched-page .excel-stop-card .excel-move-log,
.excel-stop-card .excel-move-log {
  display: inline-flex !important;
  height: auto !important;
  overflow: visible !important;
  pointer-events: auto !important;
}
.excel-move-history {
  display: inline-flex;
  flex-direction: column;
  gap: 4px;
  max-width: 100%;
}
.excel-move-history:not([open]) > :not(summary) {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  overflow: hidden !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
}
.excel-move-history:not([open]) .excel-move-history-list,
.excel-move-history:not([open]) .excel-move-tag {
  display: none !important;
}
.excel-move-history > summary {
  cursor: pointer;
  list-style: none;
  display: inline-flex;
  align-items: center;
  padding: 4px 9px;
  border-radius: 8px;
  font-size: .72rem;
  font-weight: 700;
  color: #64748B;
  background: #F1F5F9;
  border: 1px dashed #CBD5E1;
  user-select: none;
}
.excel-move-history > summary::-webkit-details-marker { display: none; }
.excel-move-history[open] > summary {
  color: var(--accent);
  border-style: solid;
  border-color: color-mix(in srgb, var(--accent) 22%, var(--line));
  background: var(--accent-soft);
}
.excel-move-history-list {
  display: none !important;
  flex-direction: column;
  align-items: flex-start;
  gap: 4px;
  margin-top: 2px;
}
.excel-move-history[open] .excel-move-history-list {
  display: flex !important;
}
.excel-move-history-list:empty,
.excel-move-tags:empty {
  display: none !important;
}
.excel-stop-card .excel-move-history {
  display: none !important;
}
.excel-stop-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  align-items: flex-start;
  margin: 0;
  padding: 0;
}

/* Çizelge sayfa kabuğu */
.sched-search {
  position: relative;
  padding: 12px 14px;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  margin-bottom: 12px;
}
.sched-search-label {
  display: block;
  font-size: 0.7rem;
  font-weight: 750;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--muted);
  margin-bottom: 6px;
}
.sched-search-row {
  display: flex;
  align-items: center;
  gap: 10px;
}
.sched-search-row input[type="search"] {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  max-width: none !important;
  width: auto !important;
  padding: 10px 12px;
  border-radius: 10px;
  border: 1px solid var(--line);
  background: #F8FAFC;
  font-size: 0.95rem;
}
.sched-search-row input[type="search"]:focus {
  outline: none;
  border-color: color-mix(in srgb, var(--accent) 40%, var(--line));
  background: #fff;
  box-shadow: 0 0 0 3px var(--accent-soft);
}
.sched-search-count { white-space: nowrap; font-size: 0.85rem; font-weight: 650; }
.sched-search-global {
  position: absolute;
  left: 14px;
  right: 14px;
  top: calc(100% - 4px);
  z-index: 40;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 12px;
  box-shadow: 0 12px 28px rgba(15, 23, 42, 0.14);
  max-height: min(420px, 55vh);
  overflow: auto;
  padding: 6px;
}
.sched-search-global[hidden] { display: none !important; }
.sched-sg-item {
  display: block;
  width: 100%;
  text-align: left;
  padding: 10px 12px;
  border: 0;
  background: transparent;
  border-radius: 8px;
  cursor: pointer;
  color: inherit;
  text-decoration: none;
  font: inherit;
}
.sched-sg-item:hover,
.sched-sg-item:focus {
  background: #F1F5F9;
  outline: none;
}
.sched-sg-name {
  display: block;
  font-weight: 700;
  font-size: 0.95rem;
}
.sched-sg-meta {
  display: block;
  margin-top: 2px;
  font-size: 0.8rem;
  color: var(--muted);
}
.sched-sg-empty,
.sched-sg-loading {
  padding: 12px;
  color: var(--muted);
  font-size: 0.9rem;
}
.excel-stop-card.is-highlight {
  outline: 3px solid color-mix(in srgb, var(--accent) 70%, #0ea5e9);
  box-shadow: 0 0 0 4px color-mix(in srgb, var(--accent) 25%, transparent);
  animation: schedHighlightPulse 1.4s ease-out 2;
}
@keyframes schedHighlightPulse {
  0% { box-shadow: 0 0 0 0 color-mix(in srgb, var(--accent) 45%, transparent); }
  100% { box-shadow: 0 0 0 10px transparent; }
}
.sched-footer-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

/* ── Haftalık özet (kurumsal) ─────────────────────────── */
.sched-week-card {
  padding: 18px 20px 16px;
  border: 1px solid #E2E8F0;
  background: linear-gradient(180deg, #FFFFFF 0%, #FAFBFC 100%);
  box-shadow: 0 1px 3px rgba(15, 23, 42, .04), 0 8px 24px rgba(15, 23, 42, .04);
}
.sched-week-card--top {
  margin-bottom: 16px;
}
.sched-page .sched-week-card--top {
  order: -1;
}
.sched-lane {
  border-radius: 14px;
  margin-bottom: 12px;
  background: linear-gradient(180deg, #fff 0%, #fafbfc 100%);
}
.sched-lane-head {
  align-items: flex-start;
  gap: 12px;
}
.sched-lane-head-main {
  flex: 1;
  min-width: 0;
}
.sched-lane-head h3 {
  text-transform: none;
  letter-spacing: -.01em;
  font-size: 0.98rem;
  line-height: 1.25;
}
.sched-lane-crew-detail {
  font-size: .78rem;
  margin-top: 4px;
}
.sched-lane-stats {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 8px;
}
.sched-lane-stat {
  display: inline-flex;
  align-items: baseline;
  gap: 4px;
  padding: 4px 9px;
  border-radius: 999px;
  font-size: .72rem;
  font-weight: 600;
  color: #475569;
  background: rgba(255, 255, 255, .72);
  border: 1px solid color-mix(in srgb, var(--vt-bd, #E2E8F0) 65%, transparent);
}
.sched-lane-stat strong {
  font-size: .82rem;
  color: #0f172a;
}
.sched-lane-stat.is-collect {
  color: #92400e;
  background: #fffbeb;
  border-color: #fde68a;
}
.sched-lane-list {
  min-height: 48px;
  transition: background .15s ease, outline .15s ease;
}
.sched-lane-list.is-drop-target {
  background: color-mix(in srgb, var(--vt-bg, #eef2ff) 55%, #fff);
  outline: 2px dashed var(--vt, #6366f1);
  outline-offset: 4px;
  border-radius: 12px;
}
.excel-stop-card[draggable="true"] {
  cursor: grab;
}
.excel-stop-card.is-dragging {
  opacity: .55;
  cursor: grabbing;
}
.excel-stop-card .sched-lane-transfer-hint {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  margin-left: auto;
  font-size: .68rem;
  font-weight: 700;
  color: #64748b;
  opacity: .85;
}
.sched-week-head {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px 20px;
  margin-bottom: 16px;
  padding-bottom: 14px;
  border-bottom: 1px solid #E8EDF3;
}
.sched-week-head-meta {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 4px;
  text-align: right;
}
.sched-week-range {
  display: inline-flex;
  align-items: center;
  padding: 6px 12px;
  border-radius: 999px;
  background: #F1F5F9;
  border: 1px solid #E2E8F0;
  font-size: .82rem;
  font-weight: 700;
  color: #334155;
  letter-spacing: -.01em;
}
.sched-week-total {
  font-size: .78rem;
  color: #64748B;
  font-weight: 600;
}
.sched-week-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 10px;
}
.sched-week-day {
  display: flex;
  flex-direction: column;
  min-height: 260px;
  padding: 0;
  border: 1px solid #E2E8F0;
  border-radius: 14px;
  background: #FFFFFF;
  color: inherit;
  text-decoration: none !important;
  overflow: hidden;
  transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
  box-shadow: 0 1px 2px rgba(15, 23, 42, .04);
  width: 100%;
  text-align: left;
  position: relative;
}
.sched-week-day:hover {
  border-color: #CBD5E1;
  box-shadow: 0 10px 28px rgba(15, 23, 42, .10);
  transform: translateY(-2px);
}
.sched-week-day.is-selected {
  border-color: #6366F1;
  box-shadow: 0 0 0 2px rgba(99, 102, 241, .18), 0 8px 22px rgba(99, 102, 241, .12);
}
.sched-week-day.is-today {
  border-color: #818CF8;
  background: linear-gradient(180deg, #FFFFFF 0%, #F8FAFF 100%);
}
.sched-week-day.is-tomorrow:not(.is-selected) {
  border-color: #FCD34D;
}
.sched-week-day.is-empty {
  background: #FAFBFC;
}
.sched-week-day-top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 8px;
  padding: 12px 12px 10px;
  background: #F8FAFC;
  border-bottom: 1px solid #EEF2F6;
}
.sched-week-day-actions {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  flex-shrink: 0;
}
.sched-week-expand {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: 8px;
  background: rgba(255, 255, 255, .85);
  border: 1px solid #E2E8F0;
  font-size: .82rem;
  line-height: 1;
  opacity: .85;
  cursor: pointer;
  position: relative;
  z-index: 10;
  pointer-events: auto;
  padding: 0;
  transition: opacity .15s, background .15s, border-color .15s, box-shadow .15s;
}
.sched-week-expand:hover,
.sched-week-expand:focus-visible {
  opacity: 1;
  background: #fff;
  border-color: #6366F1;
  box-shadow: 0 0 0 2px rgba(99, 102, 241, .15);
  outline: none;
}
.sched-week-day:hover .sched-week-expand {
  opacity: 1;
  background: #fff;
  border-color: #CBD5E1;
}
.sched-week-day.is-today .sched-week-day-top {
  background: linear-gradient(135deg, #EEF2FF 0%, #F8FAFC 100%);
}
.sched-week-day-labels {
  display: flex;
  flex-direction: column;
  gap: 1px;
  min-width: 0;
}
.sched-week-dow {
  font-family: var(--display);
  font-size: .92rem;
  font-weight: 800;
  letter-spacing: -.02em;
  color: #0F172A;
  line-height: 1.2;
}
.sched-week-date {
  font-size: .76rem;
  font-weight: 600;
  color: #64748B;
}
.sched-week-flag {
  flex-shrink: 0;
  padding: 3px 8px;
  border-radius: 999px;
  font-size: .62rem;
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
  line-height: 1.2;
}
.sched-week-flag.is-today {
  background: #E0E7FF;
  color: #4338CA;
  border: 1px solid #C7D2FE;
}
.sched-week-flag.is-tomorrow {
  background: #FEF3C7;
  color: #92400E;
  border: 1px solid #FDE68A;
}
.sched-week-metrics {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  padding: 10px 12px 0;
}
.sched-week-metric {
  display: inline-flex;
  align-items: baseline;
  gap: 4px;
  padding: 4px 8px;
  border-radius: 8px;
  font-size: .72rem;
  line-height: 1;
}
.sched-week-metric strong {
  font-size: 1rem;
  font-weight: 800;
  letter-spacing: -.02em;
}
.sched-week-metric span {
  color: #64748B;
  font-weight: 600;
}
.sched-week-metric.is-primary {
  background: #F1F5F9;
  border: 1px solid #E2E8F0;
}
.sched-week-metric.is-primary strong { color: #0F172A; }
.sched-week-metric.is-done {
  background: #ECFDF5;
  border: 1px solid #BBF7D0;
}
.sched-week-metric.is-done strong { color: #047857; }
.sched-week-metric.is-pending {
  background: #FFF7ED;
  border: 1px solid #FED7AA;
}
.sched-week-metric.is-pending strong { color: #C2410C; }
.sched-week-progress {
  height: 4px;
  margin: 10px 12px 0;
  border-radius: 999px;
  background: #EEF2F6;
  overflow: hidden;
}
.sched-week-progress-bar {
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #10B981 0%, #34D399 100%);
  transition: width .25s ease;
}
.sched-week-list {
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 10px 10px 0;
  flex: 1;
}
.sched-week-empty {
  display: grid;
  place-items: center;
  min-height: 88px;
  border: 1px dashed #E2E8F0;
  border-radius: 10px;
  color: #94A3B8;
  font-size: .78rem;
  font-weight: 600;
  background: #FAFBFC;
}
.sched-week-item {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 9px;
  border: 1px solid #EEF2F6;
  border-radius: 10px;
  background: #FFFFFF;
  min-width: 0;
}
.sched-week-item.is-done {
  background: #F8FAFC;
  opacity: .88;
}
.sched-week-item-dot {
  flex-shrink: 0;
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: #1F6B4A;
}
.sched-week-item.team-hali .sched-week-item-dot { background: #2A6F97; }
.sched-week-item.team-avize .sched-week-item-dot { background: #B45309; }
.sched-week-item.team-genel .sched-week-item-dot { background: #6366F1; }
.sched-week-item.team-perde .sched-week-item-dot { background: #7C3AED; }
.sched-week-item.is-done .sched-week-item-dot { background: #94A3B8; }
.sched-week-item-body {
  min-width: 0;
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 1px;
}
.sched-week-item-name {
  display: block;
  font-size: .78rem;
  font-weight: 700;
  color: #0F172A;
  line-height: 1.25;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.sched-week-item-crew {
  display: block;
  font-size: .68rem;
  font-weight: 600;
  color: #64748B;
  line-height: 1.2;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.sched-week-item.is-done .sched-week-item-name {
  color: #64748B;
  text-decoration: line-through;
  text-decoration-color: #CBD5E1;
}
.sched-week-item-badge {
  flex-shrink: 0;
  width: 18px;
  height: 18px;
  border-radius: 999px;
  display: grid;
  place-items: center;
  font-size: .62rem;
  font-weight: 800;
  line-height: 1;
}
.sched-week-item-badge.is-done {
  background: #DCFCE7;
  color: #166534;
  border: 1px solid #BBF7D0;
}
.sched-week-item-badge.is-kesin {
  background: #FEF3C7;
  color: #92400E;
  border: 1px solid #FDE68A;
}
.sched-week-more {
  padding: 6px 12px 0;
  font-size: .72rem;
  font-weight: 700;
  color: #6366F1;
}
.sched-week-open {
  margin-top: auto;
  padding: 10px 12px 12px;
  font-size: .72rem;
  font-weight: 700;
  color: #94A3B8;
  transition: color .15s ease;
  text-decoration: none;
  position: relative;
  z-index: 5;
}
.sched-week-open:hover {
  color: #6366F1;
}
.sched-week-day.is-selected .sched-week-open {
  color: #4338CA;
}
.sched-week-day.is-selected .sched-week-open { color: #4338CA; }
.sched-week-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 16px;
  margin-top: 14px;
  padding-top: 12px;
  border-top: 1px solid #EEF2F6;
}
.sched-week-legend-item {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: .74rem;
  font-weight: 600;
  color: #64748B;
}
.sched-week-legend-dot {
  width: 10px;
  height: 10px;
  border-radius: 999px;
  display: inline-block;
  flex-shrink: 0;
}
.sched-week-legend-dot.team-mobilya { background: #1F6B4A; }
.sched-week-legend-dot.team-hali { background: #2A6F97; }
.sched-week-legend-dot.team-avize { background: #B45309; }
.sched-week-legend-dot.team-perde { background: #7C3AED; }
.sched-week-legend-dot.is-done { background: #94A3B8; }

@media (max-width: 1200px) {
  .sched-week-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
  .sched-week-head { flex-direction: column; }
  .sched-week-head-meta { align-items: flex-start; text-align: left; }
  .sched-week-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .sched-week-day { min-height: 220px; }
}
@media (max-width: 480px) {
  .sched-week-grid { grid-template-columns: 1fr; }
  .sched-week-card { padding: 14px; }
}

.sched-week-card .schedule-board { margin-top: 4px; }

/* ── Günlük özet modal (haftalık kart) ─────────────── */
.sched-day-panel {
  max-width: min(920px, 96vw);
  max-height: min(88vh, 900px);
  display: flex;
  flex-direction: column;
}
.sched-day-head {
  margin-bottom: 12px;
  padding-right: 2rem;
}
.sched-day-head-main h2 {
  margin: 0 0 10px;
  font-size: 1.15rem;
  line-height: 1.35;
}
.sched-day-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.sched-day-badge {
  display: inline-flex;
  align-items: center;
  height: 28px;
  padding: 0 10px;
  border-radius: 999px;
  font-size: .76rem;
  font-weight: 700;
  border: 1px solid transparent;
}
.sched-day-badge.is-total {
  background: #EEF2FF;
  color: #3730A3;
  border-color: #C7D2FE;
}
.sched-day-badge.is-done {
  background: #ECFDF5;
  color: #047857;
  border-color: #A7F3D0;
}
.sched-day-badge.is-pending {
  background: #FFF7ED;
  color: #C2410C;
  border-color: #FED7AA;
}
.sched-day-body {
  flex: 1 1 auto;
  overflow: auto;
  min-height: 120px;
  max-height: calc(88vh - 200px);
  padding-right: 4px;
}
.sched-day-empty {
  padding: 28px 12px;
  text-align: center;
}
.sched-day-group {
  margin-bottom: 16px;
}
.sched-day-group-head h3 {
  margin: 0 0 8px;
  font-size: .92rem;
  font-weight: 800;
  color: #0F172A;
}
.sched-day-group-count {
  font-weight: 600;
  color: #64748B;
}
.sched-day-list {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.sched-day-row {
  display: grid;
  grid-template-columns: 14px 1fr auto;
  gap: 10px;
  align-items: center;
  padding: 10px 12px;
  border: 1px solid #E2E8F0;
  border-radius: 10px;
  background: #fff;
  transition: border-color .15s, box-shadow .15s;
}
.sched-day-row:hover {
  border-color: #CBD5E1;
  box-shadow: 0 2px 8px rgba(15, 23, 42, .05);
}
.sched-day-row.is-done {
  background: #FAFBFC;
  opacity: .88;
}
.sched-day-status {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  flex-shrink: 0;
}
.sched-day-row.is-pending .sched-day-status {
  background: #F59E0B;
  box-shadow: 0 0 0 3px rgba(245, 158, 11, .18);
}
.sched-day-row.is-done .sched-day-status {
  background: #10B981;
  box-shadow: 0 0 0 3px rgba(16, 185, 129, .16);
}
.sched-day-row-main {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}
.sched-day-customer {
  font-size: .88rem;
  font-weight: 800;
  color: #0F172A;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.sched-day-location {
  font-size: .78rem;
  color: #64748B;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.sched-day-summary {
  font-size: .76rem;
  color: #475569;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.sched-day-summary.is-ssh {
  color: #DC2626;
  font-weight: 700;
}
.sched-day-summaries {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}
.sched-day-summaries .sched-day-summary {
  display: block;
}
.sched-day-go {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 30px;
  padding: 0 10px;
  border-radius: 8px;
  border: 1px solid #E2E8F0;
  background: #F8FAFC;
  color: #334155;
  font-size: .74rem;
  font-weight: 700;
  text-decoration: none;
  white-space: nowrap;
  transition: background .15s, border-color .15s;
}
.sched-day-go:hover {
  background: #EEF2FF;
  border-color: #C7D2FE;
  color: #3730A3;
}
.sched-day-footer {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 14px;
  padding-top: 12px;
  border-top: 1px solid #EEF2F6;
}
@media (max-width: 640px) {
  .sched-day-row {
    grid-template-columns: 12px 1fr;
    grid-template-rows: auto auto;
  }
  .sched-day-go {
    grid-column: 2;
    justify-self: start;
    margin-top: 4px;
  }
}
.sched-page .btn-confirm-nav {
  background: var(--accent-soft);
  color: var(--accent);
  border: 1px solid color-mix(in srgb, var(--accent) 22%, var(--line));
  box-shadow: none;
}
.sched-page .btn-confirm-nav:hover {
  background: var(--accent);
  color: #fff;
}
.sched-date-bar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px 12px;
  width: 100%;
}
.sched-day-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0;
}
.sched-day-chips .day-chip {
  min-height: 44px;
  min-width: 104px;
  justify-content: center;
  padding: 8px 14px;
}
.sched-day-chips .day-chip.is-active {
  border-color: var(--accent);
  background: var(--accent-soft);
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--accent) 28%, transparent);
}
.sched-nav-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 44px;
  min-height: 44px;
  padding: 0;
  border-radius: 12px;
  border: 1px solid var(--line);
  background: var(--surface);
  color: var(--ink);
  font-size: 1.35rem;
  font-weight: 700;
  line-height: 1;
  text-decoration: none !important;
}
.sched-nav-btn:hover {
  border-color: var(--accent);
  color: var(--accent);
  background: var(--accent-soft);
}
.sched-date-jump {
  margin: 0;
  display: flex;
  align-items: center;
}
.sched-date-jump input[type="date"] {
  min-height: 44px;
  min-width: 9.5rem;
  padding: 8px 10px;
  border-radius: 12px;
  border: 1px solid var(--line);
  background: var(--surface);
  font-size: 1rem;
  box-sizing: border-box;
}
.sched-nav-btn-sm {
  min-width: 44px;
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 1.25rem;
  font-weight: 700;
  padding: 0 10px;
}
.excel-reassign { position: relative; }
.excel-reassign > summary {
  list-style: none;
  cursor: pointer;
}
.excel-reassign > summary::-webkit-details-marker { display: none; }
.excel-reassign-form {
  position: absolute;
  z-index: 20;
  left: 0;
  top: calc(100% + 4px);
  min-width: min(280px, 86vw);
  padding: 12px;
  border-radius: 12px;
  border: 1px solid var(--line);
  background: var(--surface);
  box-shadow: 0 12px 28px rgba(15, 23, 42, .14);
  display: grid;
  gap: 8px;
}
.excel-reassign-form label { display: grid; gap: 4px; font-size: .8rem; }
body.sched-modal-open { overflow: hidden; }
.sched-modal {
  position: fixed;
  inset: 0;
  z-index: 1400;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  padding: 12px;
}
.sched-modal[hidden] { display: none !important; }
.sched-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(15, 23, 42, .45);
  border: 0;
  cursor: pointer;
}
.sched-panel {
  position: relative;
  z-index: 1;
  width: min(480px, 100%);
  max-height: 90vh;
  overflow: auto;
  background: var(--surface);
  border-radius: 18px 18px 12px 12px;
  padding: 20px 18px 18px;
  box-shadow: 0 24px 60px rgba(0, 0, 0, .22);
}
.sched-close {
  position: absolute;
  top: 10px;
  right: 12px;
  border: 0;
  background: transparent;
  font-size: 1.6rem;
  line-height: 1;
  cursor: pointer;
  color: var(--muted);
}
@media (min-width: 720px) {
  .sched-modal { align-items: center; }
  .sched-panel { border-radius: 16px; }
}
.excel-leave-block .excel-leave,
.excel-leave-list .excel-leave {
  margin: 0;
  padding: 6px 12px;
  background: #FCE7F3;
  color: #9D174D;
  font-weight: 700;
  letter-spacing: 0.02em;
  border-radius: 999px;
  text-align: left;
  overflow-wrap: anywhere;
  word-break: break-word;
}
.excel-empty { padding: 24px; color: var(--muted); }
.schedule-col { text-decoration: none !important; color: inherit; }
.schedule-col.is-selected { outline: 2px solid var(--accent); }

html[data-theme="midnight"] .excel-row,
html[data-theme="graphite"] .excel-row,
html[data-theme="emerald"] .excel-row {
  background: var(--accent-soft);
  border-color: var(--line);
}
html[data-theme="midnight"] .excel-crew h3,
html[data-theme="graphite"] .excel-crew h3,
html[data-theme="emerald"] .excel-crew h3 {
  color: #fca5a5;
}

.btn-lg {
  min-height: 48px;
  font-size: 1.05rem;
  padding: 12px 16px;
  width: 100%;
}
.mobile-actions {
  display: grid;
  gap: 10px;
  margin-top: 12px;
}
.missing-form {
  display: grid;
  gap: 8px;
  padding: 10px;
  border: 1px dashed var(--line);
  border-radius: 10px;
  background: var(--bg);
}
.service-stop-card.is-done { opacity: 0.65; }
.bulk-list {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  gap: 8px;
  max-height: 360px;
  overflow: auto;
  margin-top: 10px;
  padding: 4px;
}
.bulk-item {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: var(--bg);
  cursor: pointer;
  min-width: 0;
}
.bulk-item span {
  min-width: 0;
  overflow-wrap: anywhere;
  word-break: break-word;
}
.bulk-item small { display: block; color: var(--muted); margin-top: 2px; }

/* Servis planı formları */
.plan-form {
  gap: 16px !important;
}
.plan-form .form-row {
  gap: 6px;
  overflow: visible;
}
.plan-form .form-row > input:not([type=checkbox]):not([type=radio]),
.plan-form .form-row > select,
.plan-form .form-row > textarea {
  min-height: 44px;
  height: 44px;
  box-sizing: border-box;
  padding: 10px 14px;
}
.plan-form .form-row > textarea {
  height: auto;
  min-height: 72px;
}
.plan-form .ts-wrapper {
  width: 100%;
  min-width: 0;
}
.plan-form .ts-wrapper .ts-control {
  min-height: 44px;
  padding: 6px 10px;
  border-radius: 12px;
  gap: 6px;
  overflow: visible;
  flex-wrap: wrap;
}
.plan-form .ts-wrapper.multi .ts-control > div {
  margin: 2px 0;
}
.plan-form .ts-wrapper .item {
  background: #EEF2FF !important;
  color: #3730A3 !important;
  border: 1px solid #C7D2FE;
  border-radius: 999px;
  padding: 4px 10px;
  font-weight: 650;
  font-size: .82rem;
}
.plan-form .ts-wrapper .item .remove {
  border-left-color: #C7D2FE !important;
  color: #4338CA !important;
}
.plan-field-hint {
  display: block;
  margin-top: 2px;
  font-size: .78rem;
  line-height: 1.35;
}
.plan-check,
.plan-item-check {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  margin: 4px 0;
  min-width: 0;
}
.plan-item-check span {
  overflow-wrap: anywhere;
  word-break: break-word;
  min-width: 0;
}
#itemsBox {
  overflow: visible;
  max-height: none;
}
.plan-layout .card {
  overflow: visible;
}
.haber-row.status-arandi { border-left: 3px solid var(--warn); padding-left: 8px; }
.haber-row.status-planlandi { border-left: 3px solid var(--ok); padding-left: 8px; }

@media (max-width: 640px) {
  .mobile-service .card { margin-bottom: 12px; }
  .mobile-actions .btn { font-size: 1.1rem; }
}

.search-live { position: relative; display: flex; gap: 8px; align-items: stretch; flex: 1; min-width: min(420px, 100%); }
.search-live input[type="search"] { flex: 1; min-width: 0; }
.search-live-wrap { margin: 0; position: relative; z-index: 20; overflow: visible; }
.search-field { position: relative; overflow: visible; }
.pf-live-field,
.orders-live-field,
.wh-live-field {
  position: relative;
  flex: 1 1 220px;
  min-width: 0;
}
.pf-live-field input[type="search"],
.orders-live-field input[type="search"],
.wh-live-field input[type="search"] {
  width: 100%;
  min-height: 44px;
  box-sizing: border-box;
}
.search-suggest {
  position: absolute;
  left: 0;
  right: 0;
  top: calc(100% + 6px);
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 12px;
  box-shadow: 0 18px 48px rgba(0,0,0,.16);
  max-height: min(420px, 55vh);
  overflow: auto;
  z-index: 120;
}
.search-suggest-top { min-width: 280px; }
.search-field {
  position: relative;
  flex: 1;
  min-width: 0;
}
.search-field .search-suggest {
  left: 0;
  right: 0;
}
.search-hero-card {
  position: relative;
  z-index: 30;
  padding: 22px;
  background:
    linear-gradient(180deg, color-mix(in srgb, var(--accent-soft) 55%, var(--surface)) 0%, var(--surface) 72%);
}
.search-hero {
  display: flex;
  gap: 10px;
  align-items: stretch;
}
.search-hero .search-field input[type="search"] {
  width: 100%;
  font-size: 1.05rem;
  padding: 14px 14px 14px 42px;
  border-radius: 12px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' fill='none' stroke='%23888' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='8' cy='8' r='6'/%3E%3Cpath d='M13 13l3.5 3.5'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: 14px 50%;
}
.search-hero .btn {
  padding-left: 22px;
  padding-right: 22px;
  white-space: nowrap;
}
.search-hero-hint {
  margin: 12px 0 0;
  font-size: .85rem;
  color: var(--muted);
}
.suggest-item {
  display: block;
  padding: 12px 14px;
  text-decoration: none !important;
  color: inherit;
  border-bottom: 1px solid var(--line);
}
.suggest-item:last-child { border-bottom: 0; }
.suggest-item:hover, .suggest-item.active { background: var(--accent-soft); }
.suggest-item strong { display: block; font-size: .98rem; }
.suggest-item span, .suggest-item small { display: block; color: var(--muted); font-size: 0.8rem; margin-top: 2px; }
.suggest-empty { padding: 14px; color: var(--muted); font-size: 0.9rem; }
.suggest-hit { text-decoration: none !important; color: inherit; display: block; }
/* SSH arama: müşteri grubu + altında kayıtlar */
.suggest-group {
  border-bottom: 1px solid var(--line, #E2E8F0);
}
.suggest-group:last-child {
  border-bottom: 0;
}
.suggest-group-head {
  padding: 10px 12px 6px;
  background: #F8FAFC;
  border-bottom: 1px solid #EEF2F7;
  pointer-events: none;
  user-select: none;
}
.suggest-group-head-main {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}
.suggest-group-name {
  font-size: .82rem;
  font-weight: 700;
  color: #334155;
  letter-spacing: .01em;
}
.suggest-group-count {
  flex: 0 0 auto;
  font-size: .68rem;
  font-weight: 700;
  color: #64748B;
  background: #E2E8F0;
  border-radius: 999px;
  padding: 2px 8px;
}
.suggest-group-sub {
  display: block;
  margin-top: 2px;
  font-size: .72rem;
  color: #94A3B8;
}
.suggest-group .suggest-item-ssh {
  padding-left: 16px;
  border-bottom: 1px solid #F1F5F9;
}
.suggest-group .suggest-item-ssh:last-child {
  border-bottom: 0;
}
.suggest-group.has-multi .suggest-item-ssh {
  padding-left: 18px;
  border-left: 3px solid #CBD5E1;
  margin-left: 10px;
  width: calc(100% - 10px);
  box-sizing: border-box;
}
.suggest-ssh-primary {
  font-size: .95rem !important;
  font-weight: 750 !important;
  color: #0F172A;
  line-height: 1.3;
}
.suggest-wrap { position: relative; z-index: 15; overflow: visible; }
.suggest-wrap .search-suggest {
  left: 0;
  right: 0;
  top: calc(100% + 2px);
}
.suggest-wrap .suggest-item {
  width: 100%;
  text-align: left;
  background: transparent;
  border: 0;
  border-bottom: 1px solid var(--line);
  cursor: pointer;
  font: inherit;
}
.top-search.search-live { position: relative; z-index: 40; }
.top-search .search-suggest-top {
  left: 0;
  right: 0;
  width: auto;
  min-width: 100%;
}
@media (max-width: 640px) {
  .search-hero { flex-direction: column; }
  .search-hero .btn { width: 100%; }
}
.dash-products {
  margin-top: 6px;
  padding: 8px 10px;
  background: var(--accent-soft);
  border-radius: 8px;
  font-size: 0.86rem;
  line-height: 1.35;
  color: var(--ink);
}
.dash-assign select { flex: 1; min-width: 0; }
.dash-stop-title {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px 8px;
  min-width: 0;
  flex: 1 1 auto;
}
.dash-stop-head {
  flex-wrap: nowrap;
  align-items: flex-start;
}
.dash-crew-badge {
  flex: 0 0 auto;
  max-width: 42%;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  text-align: right;
}
.dash-crew-badge.is-unassigned {
  background: #F1F5F9;
  color: #64748B;
  font-weight: 600;
}
.dash-crew-badge.is-crew {
  background: #E0F2FE;
  color: #0C4A6E;
  font-weight: 700;
}
.dash-check {
  display: inline-flex;
  align-items: center;
  margin: 0;
  cursor: pointer;
}
.dash-check input { width: 18px; height: 18px; accent-color: #1E4A6E; }
.ready-pill {
  display: inline-flex;
  align-items: center;
  padding: 3px 9px;
  border-radius: 999px;
  font-size: 0.72rem;
  font-weight: 750;
  letter-spacing: 0.02em;
  line-height: 1.2;
}
.ready-pill-ok { background: #D1FAE5; color: #065F46; }
.ready-pill-danger { background: #FEE2E2; color: #991B1B; }
.ready-pill-warn { background: #FEF3C7; color: #92400E; }
.dash-stop.is-assigned {
  border-color: color-mix(in srgb, #10B981 35%, var(--line));
  box-shadow: inset 3px 0 0 #10B981;
}
.dispatch-bulk-bar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 10px;
  padding: 10px 12px;
  border-radius: 12px;
  background: #F0FDF4;
  border: 1px solid #BBF7D0;
  margin-bottom: 12px;
}
.dispatch-filter-bar {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}
.dispatch-filter-bar input[type="search"] {
  min-height: 40px;
  font-size: 16px;
}
.schedule-focus .stack { max-height: 70vh; overflow: auto; }
.risk-board .risk-card {
  text-decoration: none !important;
  color: inherit;
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 14px;
  border-radius: 12px;
  border: 1px solid var(--line);
  background: var(--surface);
}
.risk-board .risk-card strong { font-size: 1.6rem; font-family: var(--display); }
.risk-board .risk-card span { color: var(--muted); font-size: .85rem; }
.risk-board .risk-card.is-hot {
  border-color: color-mix(in srgb, var(--accent) 55%, #c45c26);
  background: var(--accent-soft);
}

/* Kurumsal sevkiyat PDF / yazdır */
.delivery-print-page {
  max-width: 820px;
  margin: 0 auto;
  background: #fff;
  color: #111;
  padding: 28px 32px;
  font-family: "Manrope", system-ui, sans-serif;
}
.delivery-print-head {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  align-items: flex-start;
  border-bottom: 2px solid #1a1a1a;
  padding-bottom: 16px;
  margin-bottom: 18px;
}
.delivery-print-logo { max-height: 64px; max-width: 180px; object-fit: contain; }
.delivery-print-brand strong { font-family: "Fraunces", Georgia, serif; font-size: 1.45rem; display: block; }
.delivery-print-brand small { color: #555; font-size: .85rem; }
.delivery-print-meta { text-align: right; font-size: .9rem; }
.delivery-print-meta .form-no { font-size: 1.15rem; font-weight: 700; letter-spacing: .02em; }
.delivery-print-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px 24px;
  margin: 14px 0 18px;
  font-size: .92rem;
}
.delivery-print-grid .lbl { display: block; font-size: .72rem; letter-spacing: .06em; text-transform: uppercase; color: #666; margin-bottom: 2px; }
.delivery-print-table { width: 100%; border-collapse: collapse; font-size: .9rem; }
.delivery-print-table th, .delivery-print-table td { border: 1px solid #ccc; padding: 8px 10px; text-align: left; }
.delivery-print-table th { background: #f4f4f4; font-size: .78rem; text-transform: uppercase; letter-spacing: .04em; }
.delivery-print-sign {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
  margin-top: 28px;
  min-height: 140px;
}
.delivery-print-sign .box {
  border: 1px solid #bbb;
  border-radius: 4px;
  padding: 12px;
  min-height: 130px;
}
.delivery-print-sign img { max-width: 100%; max-height: 90px; }
.delivery-print-foot {
  margin-top: 22px;
  padding-top: 12px;
  border-top: 1px solid #ddd;
  font-size: .78rem;
  color: #555;
  display: flex;
  justify-content: space-between;
  gap: 12px;
}

/* Ürün teslimat ve kurulum formu (A4 tek sayfa) */
.delivery-receipt-page {
  max-width: 210mm;
  margin: 0 auto;
  background: #fff;
  color: #111;
  padding: 22px 24px;
  font-family: "Manrope", system-ui, sans-serif;
}
.delivery-receipt-page.print-wrapper {
  display: flex;
  flex-direction: column;
  min-height: calc(100vh - 80px);
}
.delivery-receipt-head {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr);
  gap: 16px;
  align-items: flex-start;
  border-bottom: 2px solid #111;
  padding-bottom: 10px;
  margin-bottom: 12px;
}
.delivery-receipt-brand {
  display: flex;
  flex-direction: column;
  gap: 8px;
  min-width: 0;
}
.delivery-receipt-brand-strip {
  align-items: flex-start;
  padding-left: 14px;
}
.delivery-receipt-logo {
  width: 200px;
  max-width: 50%;
  max-height: 72px;
  object-fit: contain;
  filter: contrast(150%);
}
.delivery-receipt-company {
  width: 100%;
  max-width: 100%;
}
.delivery-receipt-company-name {
  display: block;
  font-size: 15px;
  font-weight: 800;
  color: #111827;
  margin-bottom: 4px;
  line-height: 1.25;
}
.delivery-receipt-company-meta {
  font-size: 10.5px;
  color: #374151;
  line-height: 1.4;
}
.delivery-receipt-company strong {
  display: block;
  font-size: 15px;
  font-weight: 800;
  color: #111827;
  margin-bottom: 4px;
}
.delivery-receipt-wordmark {
  font-size: 1.2rem;
  font-weight: 800;
}
.delivery-receipt-meta {
  text-align: right;
  min-width: 0;
}
.delivery-receipt-meta h1 {
  margin: 0 0 6px;
  font-size: 0.88rem;
  font-weight: 800;
  letter-spacing: 0.045em;
  line-height: 1.25;
}
.delivery-receipt-meta-row {
  display: flex;
  justify-content: flex-end;
  align-items: flex-start;
  gap: 12px;
}
.delivery-receipt-meta-info {
  text-align: right;
}
.delivery-receipt-docno {
  font-size: 1.05rem;
  font-weight: 800;
  letter-spacing: 0.03em;
}
.delivery-receipt-date {
  font-size: 0.82rem;
  color: #444;
  margin-top: 2px;
}
.delivery-receipt-qr {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2px;
  flex-shrink: 0;
}
.delivery-receipt-qr img {
  width: 72px;
  height: 72px;
  border: 1px solid #d1d5db;
  border-radius: 4px;
  background: #fff;
  padding: 2px;
}
.delivery-receipt-qr span {
  font-size: 7px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #6b7280;
  font-weight: 700;
}
.delivery-receipt-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px 16px;
  margin-bottom: 12px;
  font-size: 0.84rem;
}
.delivery-receipt-panel {
  border: 1.5px solid #4b5563;
  border-radius: 6px;
  overflow: hidden;
  background: #fff;
}
.delivery-receipt-panel-head {
  background: #f8fafc;
  border-bottom: 1px solid #d1d5db;
  padding: 5px 10px;
}
.delivery-receipt-panel .lbl {
  display: block;
  font-size: 0.62rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #4b5563;
  font-weight: 700;
  margin: 0;
}
.delivery-receipt-panel-body {
  padding: 8px 10px;
  font-size: 0.82rem;
}
.delivery-receipt-customer-box {
  padding: 12px 14px;
}
.delivery-receipt-customer-name {
  font-size: 15px;
  font-weight: 700;
  color: #111827;
  margin-bottom: 4px;
  line-height: 1.25;
}
.delivery-receipt-customer-phone {
  display: flex;
  align-items: center;
  gap: 5px;
  font-size: 12px;
  font-weight: 600;
  color: #374151;
  margin-bottom: 6px;
}
.delivery-receipt-phone-icon {
  flex-shrink: 0;
  color: #374151;
}
.delivery-receipt-customer-address {
  font-size: 11px;
  color: #4b5563;
  line-height: 1.4;
}
.delivery-receipt-panel-body > strong {
  display: block;
  font-size: 0.92rem;
  margin-bottom: 2px;
}
.delivery-receipt-panel-body .muted-line {
  font-size: 0.78rem;
  color: #555;
  margin: 2px 0;
}
.delivery-receipt-address {
  line-height: 1.5;
  margin-top: 2px;
}
.delivery-receipt-facts {
  margin: 0;
  display: grid;
  gap: 6px;
}
.delivery-receipt-fact {
  display: grid;
  grid-template-columns: 7.2rem 1fr;
  gap: 8px;
  align-items: baseline;
}
.delivery-receipt-fact dt {
  margin: 0;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  color: #64748b;
}
.delivery-receipt-fact dd {
  margin: 0;
  font-size: 0.84rem;
  color: #111;
  font-weight: 600;
}
.delivery-receipt-ops-note {
  margin: 0 0 12px;
  padding: 8px 12px;
  border: 1.5px solid #f59e0b;
  border-radius: 6px;
  background: #fffbeb;
}
.delivery-receipt-ops-note-head {
  display: block;
  color: #b45309;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.03em;
  text-transform: uppercase;
}
.delivery-receipt-ops-note-body {
  font-size: 12px;
  font-weight: 600;
  color: #1f2937;
  margin: 2px 0 0;
  line-height: 1.45;
}
.delivery-receipt-ops-note-body .ops-note-kw {
  color: #92400e;
  font-weight: 800;
}
.delivery-receipt-ssh-note {
  margin: 10px 0 12px;
  padding: 0;
  border: 1px solid #cbd5e1;
  border-radius: 8px;
  background: #fff;
  overflow: hidden;
}
.delivery-receipt-ssh-note-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 7px 12px;
  background: #f1f5f9;
  border-bottom: 1px solid #e2e8f0;
}
.delivery-receipt-ssh-note-title {
  color: #0f172a;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}
.delivery-receipt-ssh-note-count {
  flex-shrink: 0;
  font-size: 10px;
  font-weight: 700;
  color: #475569;
  background: #e2e8f0;
  border-radius: 999px;
  padding: 2px 8px;
}
.delivery-receipt-ssh-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 0;
}
.delivery-receipt-ssh-item {
  padding: 9px 12px 9px 14px;
  border-bottom: 1px solid #eef2f7;
  border-left: 3px solid #334155;
  background: #fff;
}
.delivery-receipt-ssh-item:last-child {
  border-bottom: 0;
}
.delivery-receipt-ssh-item-top {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px 10px;
  margin-bottom: 3px;
}
.delivery-receipt-ssh-code {
  display: inline-flex;
  align-items: center;
  font-size: 10.5px;
  font-weight: 800;
  letter-spacing: 0.02em;
  color: #0f172a;
  background: #e2e8f0;
  border-radius: 4px;
  padding: 2px 7px;
  font-variant-numeric: tabular-nums;
}
.delivery-receipt-ssh-code.is-muted {
  color: #64748b;
  background: #f1f5f9;
}
.delivery-receipt-ssh-supplier {
  font-size: 10.5px;
  font-weight: 700;
  color: #475569;
}
.delivery-receipt-ssh-supplier::before {
  content: "Tedarikçi · ";
  font-weight: 600;
  color: #94a3b8;
}
.delivery-receipt-ssh-product {
  font-size: 12px;
  font-weight: 750;
  color: #0f172a;
  line-height: 1.35;
  margin: 1px 0 0;
}
.delivery-receipt-ssh-body {
  margin: 4px 0 0;
  font-size: 11.5px;
  font-weight: 600;
  color: #1e293b;
  line-height: 1.4;
  white-space: pre-wrap;
}
.delivery-receipt-ssh-note-body {
  font-size: 12px;
  font-weight: 600;
  color: #1e293b;
  margin: 2px 0 0;
  line-height: 1.45;
  white-space: pre-wrap;
}
.delivery-receipt-fabric {
  margin: 0 0 12px;
  padding: 8px 12px;
  border: 2px solid #f59e0b;
  border-radius: 6px;
  background: #fff7ed;
}
.delivery-receipt-fabric-head {
  display: block;
  color: #c2410c;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  margin-bottom: 4px;
}
.delivery-receipt-fabric-list {
  margin: 0;
  padding-left: 1.15rem;
  font-size: 12px;
  font-weight: 650;
  color: #7c2d12;
  line-height: 1.45;
}
.delivery-receipt-fabric-list li + li { margin-top: 3px; }
.delivery-receipt-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.82rem;
  margin: 2px 0 10px;
}
.delivery-receipt-table th,
.delivery-receipt-table td {
  border: 1.5px solid #374151;
  padding: 6px 8px;
  text-align: left;
  vertical-align: middle;
}
.delivery-receipt-table th {
  background: #f3f4f6;
  font-size: 0.68rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
.delivery-receipt-table td.is-qty,
.delivery-receipt-table th:nth-child(3) {
  text-align: center;
}
.delivery-receipt-table td.is-check,
.delivery-receipt-table th:nth-child(4) {
  text-align: center;
}
.delivery-receipt-product {
  text-transform: none;
}
.delivery-receipt-supplier {
  font-weight: 700;
  color: #000;
}
.delivery-receipt-product-name {
  font-weight: 400;
  color: #111;
}
.delivery-receipt-stock-tag {
  font-weight: 800;
  color: #9A3412;
  white-space: nowrap;
}
.delivery-receipt-check {
  display: inline-block;
  width: 18px;
  height: 18px;
  border: 1.5px solid #111;
  vertical-align: middle;
}
.delivery-receipt-damage-note {
  margin: 0 0 10px;
  padding: 8px 10px;
  border: 1.5px solid #4b5563;
  border-radius: 4px;
  background: #fff;
}
.delivery-receipt-damage-note-title {
  display: block;
  font-size: 0.68rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #334155;
  margin-bottom: 4px;
}
.delivery-receipt-damage-filled {
  margin: 0 0 6px;
  padding: 6px 8px;
  border: 1px solid #cbd5e1;
  border-radius: 4px;
  background: #fffbeb;
  color: #1f2937;
  font-size: 0.88rem;
  line-height: 1.45;
  white-space: pre-wrap;
  min-height: 2.4rem;
}
.delivery-receipt-damage-note.has-note {
  border-color: #d97706;
  background: #fffbeb;
}
.delivery-receipt-damage-lines {
  display: flex;
  flex-direction: column;
}
.delivery-receipt-damage-line {
  display: block;
  height: 24px;
  border-bottom: 1.5px dashed #4b5563;
}
.delivery-receipt-damage-hint {
  margin: 5px 0 0;
  font-size: 0.66rem;
  line-height: 1.35;
  color: #64748b;
  font-style: italic;
}
.delivery-receipt-legal {
  margin: 0 0 10px;
  padding: 8px 10px;
  background: #f8fafc;
  border: 1px solid #e5e7eb;
  border-radius: 4px;
  color: #1f2937;
  font-size: 0.8rem;
  line-height: 1.45;
}
.delivery-receipt-legal p {
  margin: 0;
  font-weight: 600;
}
.delivery-receipt-photos {
  margin: 0 0 10px;
}
.delivery-receipt-photos-head {
  display: block;
  font-size: 0.68rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #334155;
  margin-bottom: 6px;
}
.delivery-receipt-photos-grid {
  display: grid;
  gap: 8px;
  align-items: stretch;
}
.delivery-receipt-photos-grid[data-count="1"] {
  grid-template-columns: minmax(160px, 240px);
}
.delivery-receipt-photos-grid[data-count="2"] {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  max-width: 72%;
}
.delivery-receipt-photos-grid[data-count="3"] {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.delivery-receipt-photos-grid[data-count="4"] {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.delivery-receipt-photos-grid[data-count="5"],
.delivery-receipt-photos-grid[data-count="6"] {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.delivery-receipt-photos-grid[data-count="7"],
.delivery-receipt-photos-grid[data-count="8"],
.delivery-receipt-photos-grid[data-count="9"],
.delivery-receipt-photos-grid[data-count="10"],
.delivery-receipt-photos-grid[data-count="11"],
.delivery-receipt-photos-grid[data-count="12"] {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.delivery-receipt-photo {
  margin: 0;
  border: 1px solid #d1d5db;
  border-radius: 4px;
  overflow: hidden;
  background: #f8fafc;
  aspect-ratio: 4 / 3;
  max-height: 132px;
}
.delivery-receipt-photos-grid[data-count="1"] .delivery-receipt-photo {
  max-height: 148px;
}
.delivery-receipt-page--photos-dense .delivery-receipt-photo {
  max-height: 96px;
}
.delivery-receipt-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.delivery-receipt-sign {
  display: flex;
  align-items: stretch;
  gap: 14px;
  margin-top: auto;
}
.delivery-receipt-sign-box {
  flex: 1;
  display: flex;
  flex-direction: column;
  border: 1.5px solid #4b5563;
  border-radius: 4px;
  padding: 7px 10px;
  min-height: 80px;
  background: #fafafa;
}
.delivery-receipt-sign-box .lbl {
  font-size: 0.68rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #666;
}
.delivery-receipt-sign-name {
  margin-top: 4px;
  font-size: 0.86rem;
  font-weight: 700;
  min-height: 1.1em;
  margin-bottom: 14px;
}
.delivery-receipt-sign-line {
  margin-top: auto;
  padding-top: 8px;
  border-top: 1px solid #888;
  font-size: 0.72rem;
  color: #555;
}
.delivery-receipt-foot {
  margin-top: 10px;
  padding-top: 8px;
  border-top: 1px solid #bbb;
  font-size: 0.68rem;
  color: #555;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 10px;
}
.delivery-receipt-foot-left {
  text-align: left;
  font-weight: 600;
  color: #374151;
}
.delivery-receipt-foot-mid {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  white-space: nowrap;
  color: #4b5563;
}
.delivery-receipt-foot-right {
  text-align: right;
  font-weight: 700;
  letter-spacing: 0.02em;
}
.delivery-receipt-ig {
  flex-shrink: 0;
  color: #6b7280;
}
.delivery-receipt-page--dense .delivery-receipt-table th,
.delivery-receipt-page--dense .delivery-receipt-table td {
  padding: 3px 6px;
  font-size: 0.74rem;
}
.delivery-receipt-page--dense .delivery-receipt-damage-note {
  padding: 6px 8px;
  margin-bottom: 8px;
}
.delivery-receipt-page--dense .delivery-receipt-damage-line {
  height: 20px;
}
.delivery-receipt-page--dense .delivery-receipt-damage-hint {
  font-size: 0.62rem;
  margin-top: 4px;
}
.delivery-receipt-page--dense .delivery-receipt-legal {
  padding: 6px 8px;
  margin-bottom: 8px;
}
.delivery-receipt-page--dense .delivery-receipt-sign-box {
  min-height: 68px;
  padding: 6px 8px;
}
.delivery-receipt-page--dense .delivery-receipt-sign-name {
  margin-bottom: 10px;
}
.sched-cbar-receipt-short { display: none; }
@media (max-width: 900px) {
  .sched-cbar-receipt-long { display: none; }
  .sched-cbar-receipt-short { display: inline; }
}
@media print {
  .no-print,
  .corp-print-toolbar,
  .sidebar, .topbar, .attendance-banner, .theme-picker { display: none !important; }
  html, body {
    background: #fff !important;
    margin: 0 !important;
    padding: 0 !important;
    width: 100% !important;
    height: auto !important;
  }
  .main { margin: 0 !important; padding: 0 !important; }
  .delivery-print-page, .corp-print-page, .delivery-receipt-page { box-shadow: none; padding: 0; max-width: none; }
  .delivery-receipt-page {
    page-break-inside: avoid;
    break-inside: avoid-page;
    width: 100%;
    font-size: 8.5pt;
    line-height: 1.22;
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }
  .delivery-receipt-page.print-wrapper {
    display: flex;
    flex-direction: column;
    min-height: 28cm;
    justify-content: flex-start;
  }
  .delivery-receipt-page .delivery-receipt-sign {
    margin-top: auto;
  }
  .delivery-receipt-page .delivery-receipt-table th {
    background: #f3f4f6 !important;
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }
  .delivery-receipt-page .delivery-receipt-panel-head,
  .delivery-receipt-page .delivery-receipt-sign-box {
    background: #f8fafc !important;
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }
  .delivery-receipt-page .delivery-receipt-legal {
    background: #f8fafc !important;
    border-color: #e5e7eb !important;
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }
  .delivery-receipt-page .delivery-receipt-photos {
    page-break-inside: avoid;
    break-inside: avoid;
  }
  .delivery-receipt-page .delivery-receipt-photo {
    border: 1px solid #d1d5db !important;
    background: #f8fafc !important;
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }
  .delivery-receipt-page .delivery-receipt-photo img {
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }
  .delivery-receipt-page .delivery-receipt-damage-line {
    border-bottom: 1.5px dashed #4b5563 !important;
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }
  .delivery-receipt-page .delivery-receipt-damage-note {
    border: 1.5px solid #4b5563 !important;
  }
  .delivery-receipt-page .delivery-receipt-panel {
    border: 1.5px solid #4b5563 !important;
    background: #fff !important;
  }
  .delivery-receipt-page .delivery-receipt-ops-note {
    background: #f3f4f6 !important;
    border: 1.5px solid #000 !important;
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }
  .delivery-receipt-page .delivery-receipt-ops-note-head {
    color: #000 !important;
  }
  .delivery-receipt-page .delivery-receipt-ops-note-body {
    color: #111 !important;
  }
  .delivery-receipt-page .delivery-receipt-ops-note-body .ops-note-kw {
    color: #000 !important;
    font-weight: 800 !important;
  }
  .delivery-receipt-page .delivery-receipt-ssh-note {
    background: #fff !important;
    border: 1px solid #64748b !important;
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }
  .delivery-receipt-page .delivery-receipt-ssh-note-head {
    background: #f1f5f9 !important;
    border-bottom: 1px solid #cbd5e1 !important;
  }
  .delivery-receipt-page .delivery-receipt-ssh-note-title,
  .delivery-receipt-page .delivery-receipt-ssh-product,
  .delivery-receipt-page .delivery-receipt-ssh-body {
    color: #111 !important;
  }
  .delivery-receipt-page .delivery-receipt-ssh-code {
    background: #e2e8f0 !important;
    color: #111 !important;
  }
  .delivery-receipt-page .delivery-receipt-ssh-item {
    border-left-color: #334155 !important;
    border-bottom-color: #e2e8f0 !important;
  }
  .delivery-receipt-page .delivery-receipt-ssh-note-body {
    color: #111 !important;
  }
  .delivery-receipt-page .delivery-receipt-fabric {
    background: #f3f4f6 !important;
    border: 2px solid #000 !important;
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }
  .delivery-receipt-page .delivery-receipt-fabric-head,
  .delivery-receipt-page .delivery-receipt-fabric-list {
    color: #000 !important;
  }
  .delivery-receipt-page .delivery-receipt-table th,
  .delivery-receipt-page .delivery-receipt-table td {
    border: 1.5px solid #374151 !important;
  }
  .delivery-receipt-page .delivery-receipt-sign-box {
    border: 1.5px solid #4b5563 !important;
  }
  .delivery-receipt-page .delivery-receipt-check {
    width: 18px !important;
    height: 18px !important;
    border: 1.5px solid #111 !important;
  }
  .delivery-receipt-page .delivery-receipt-logo.corp-print-logo--mono {
    filter: grayscale(100%) contrast(150%) brightness(0.78) !important;
    -webkit-filter: grayscale(100%) contrast(150%) brightness(0.78) !important;
  }
  .delivery-receipt-page--dense .delivery-receipt-table th,
  .delivery-receipt-page--dense .delivery-receipt-table td {
    padding: 2px 5px;
    font-size: 7.5pt;
  }
  .corp-print-body { background: #fff !important; padding: 0 !important; margin: 0 !important; }
  @page {
    size: A4 portrait;
    margin: 0.5cm;
  }
  .sales-contract-page {
    page-break-inside: avoid;
    break-inside: avoid-page;
    max-width: none;
    width: 100%;
    padding: 0;
    border: 0;
    font-size: 8.5pt;
    line-height: 1.22;
    box-sizing: border-box;
  }
  .sales-contract-page.print-wrapper {
    display: flex;
    flex-direction: column;
    min-height: 28cm;
    justify-content: flex-start;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }
  .sales-contract-page .sales-contract-content {
    flex: 0 0 auto;
  }
  .sales-contract-page .signature-section {
    margin-top: auto;
    padding-top: 1.25rem;
    flex-shrink: 0;
  }
  .sales-contract-page .corp-print-head {
    padding-bottom: 4px;
    margin-bottom: 4px;
    gap: 6px;
  }
  .sales-contract-page .corp-print-logo { max-height: 34px; max-width: 110px; }
  .sales-contract-page .corp-print-logo--mono,
  .corp-print-logo--mono {
    filter: grayscale(100%) contrast(200%) brightness(0.72);
    -webkit-filter: grayscale(100%) contrast(200%) brightness(0.72);
  }
  .sales-contract-page .corp-print-wordmark { font-size: 1rem; }
  .sales-contract-page .corp-print-brand small,
  .sales-contract-page .corp-print-muted { font-size: 7pt; margin-top: 1px; line-height: 1.2; }
  .sales-contract-page .corp-print-meta { font-size: 8pt; }
  .sales-contract-page .corp-print-kicker,
  .sales-contract-kicker { font-size: 6.5pt !important; margin-bottom: 1px; }
  .sales-contract-page .corp-print-docno { font-size: 10pt; margin-top: 0; }
  .sales-contract-page .corp-print-status { margin-top: 2px; font-size: 8pt; }
  .sales-contract-page .corp-print-qr img { width: 56px; height: 56px; padding: 2px; }
  .sales-contract-page .corp-print-qr span { font-size: 6pt; }
  .sales-contract-page .corp-print-grid { margin: 3px 0 4px; gap: 4px 8px; font-size: 8pt; }
  .sales-contract-page .corp-print-grid .lbl { font-size: 6.5pt; margin-bottom: 0; }
  .sales-contract-page .sales-contract-idno { margin-top: 2px; font-size: 8pt; }
  .sales-contract-page .corp-print-table { font-size: 7.5pt; }
  .sales-contract-page .corp-print-table th,
  .sales-contract-page .corp-print-table td { padding: 2px 4px; font-size: 7.5pt; line-height: 1.15; }
  .sales-contract-page .corp-print-table th {
    font-size: 6.5pt;
    padding: 2px 3px;
    background: #e8e8e8 !important;
    color: #111 !important;
    border-color: #666 !important;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }
  .sales-contract-page .corp-print-table td {
    border-color: #888 !important;
  }
  .sales-contract-page .sales-contract-finance { margin: 3px 0 2px; }
  .sales-contract-page .sales-contract-finance-table th,
  .sales-contract-page .sales-contract-finance-table td { padding: 2px 6px; font-size: 8pt; }
  .sales-contract-page .sales-contract-finance-table th {
    background: #ececec !important;
    border-color: #666 !important;
    color: #111 !important;
  }
  .sales-contract-page .sales-contract-finance-table td {
    border-color: #888 !important;
  }
  .sales-contract-page .sales-contract-finance-table tr.is-balance td {
    color: #111 !important;
    font-weight: 800;
    text-decoration: none;
  }
  .sales-contract-page .sales-contract-note-box {
    margin: 3px 0 4px !important;
    padding: 8px !important;
    font-size: 7.5pt !important;
    background: #ececec !important;
    border: 1px solid #999 !important;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }
  .sales-contract-page .sales-contract-product-name {
    text-transform: none !important;
  }
  .sales-contract-page .sales-contract-legal {
    margin: 2px 0 3px;
    padding: 4px 6px;
    font-size: 8pt;
    line-height: 1.2;
    border-width: 1px;
    border-color: #777 !important;
    background: #f4f4f4 !important;
    color: #111 !important;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }
  .sales-contract-page .sales-contract-legal h3 {
    font-size: 7.5pt;
    margin: 0 0 2px;
    letter-spacing: 0;
  }
  .sales-contract-page .sales-contract-legal ol { padding-left: 0.95rem; }
  .sales-contract-page .sales-contract-legal li { margin-bottom: 1px; }
  .sales-contract-page .sales-contract-legal li strong { font-weight: 700; }
  .sales-contract-page .sales-contract-packaged { font-size: 6.5pt; color: #333 !important; }
  .sales-contract-page .corp-print-sign { margin-top: 0; gap: 6px; display: flex !important; align-items: stretch !important; }
  .sales-contract-page .corp-print-sign .box,
  .sales-contract-page .sales-contract-sign-box {
    flex: 1;
    display: flex;
    flex-direction: column;
    min-height: 48px;
    padding: 4px 6px;
    border-color: #666 !important;
    background: #fafafa !important;
  }
  .sales-contract-page .sales-contract-handwrite { margin-top: 2px; font-size: 6.5pt; }
  .sales-contract-page .sales-contract-handwrite-rule {
    border-bottom: 1px dashed #000;
    margin-top: 15px;
    margin-bottom: 10px;
    height: 20px;
    width: 100%;
  }
  .sales-contract-page .corp-print-sign-name { margin-top: 2px; font-size: 8pt; min-height: 0; }
  .sales-contract-page .corp-print-sign-line { margin-top: auto; padding-top: 3px; font-size: 7pt; border-top: 1px solid #888; }
  .sales-contract-page .corp-print-foot { margin-top: 6px; padding-top: 4px; font-size: 6.5pt; border-top: 1px solid #999; color: #333 !important; }
  .sales-contract-page--dense .corp-print-table th,
  .sales-contract-page--dense .corp-print-table td { padding: 1px 3px; font-size: 7pt; }
  .sales-contract-page--dense .sales-contract-legal { font-size: 7.5pt; line-height: 1.18; padding: 3px 5px; }
  .sales-contract-page--dense .corp-print-sign .box { min-height: 42px; }
  .sales-contract-page--dense .corp-print-sign-line { margin-top: 8px; }
  .sales-contract-page--ultra {
    font-size: 8pt;
    line-height: 1.18;
  }
  .sales-contract-page--ultra .corp-print-head { margin-bottom: 2px; padding-bottom: 2px; }
  .sales-contract-page--ultra .sales-contract-legal { font-size: 7pt; line-height: 1.15; }
  .sales-contract-page--ultra .corp-print-sign .box { min-height: 36px; }
  .sales-contract-page--ultra .corp-print-sign-line { margin-top: 6px; }
}

/* Kurumsal satış kartı + depo fişi */
.corp-print-body {
  margin: 0;
  padding: 16px;
  background: #e8e8e8;
  color: #111;
  font-family: "Manrope", system-ui, sans-serif;
}
.corp-print-toolbar {
  max-width: 860px;
  margin: 0 auto 12px;
  display: flex;
  gap: 8px;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
}
.corp-print-toolbar-actions {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  align-items: center;
}
.corp-print-page {
  max-width: 860px;
  margin: 0 auto;
  background: #fff;
  color: #111;
  padding: 28px 32px;
  border: 1px solid #d8d8d8;
}
.corp-print-head {
  display: grid;
  grid-template-columns: 1fr auto auto;
  gap: 18px;
  align-items: start;
  border-bottom: 2px solid #1a1a1a;
  padding-bottom: 16px;
  margin-bottom: 16px;
}
.corp-print-logo { max-height: 64px; max-width: 180px; object-fit: contain; }
.corp-print-logo--mono {
  filter: grayscale(100%) contrast(180%) brightness(0.78);
}
.corp-print-wordmark {
  font-family: "Fraunces", Georgia, serif;
  font-size: 1.55rem;
  display: block;
}
.corp-print-brand small { color: #555; font-size: .85rem; }
.corp-print-muted { color: #555; font-size: .8rem; margin-top: 3px; }
.corp-print-meta { text-align: right; font-size: .9rem; min-width: 9rem; }
.corp-print-kicker {
  font-size: .72rem;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: #666;
}
.corp-print-docno {
  font-size: 1.2rem;
  font-weight: 700;
  letter-spacing: .02em;
  margin-top: 2px;
}
.corp-print-status { margin-top: 6px; font-weight: 600; }
.corp-print-qr {
  text-align: center;
  font-size: .68rem;
  color: #666;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.corp-print-qr img {
  display: block;
  width: 112px;
  height: 112px;
  border: 1px solid #ddd;
  padding: 4px;
  background: #fff;
  margin-bottom: 4px;
}
.corp-print-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px 24px;
  margin: 14px 0 18px;
  font-size: .92rem;
}
.corp-print-grid .lbl,
.corp-print-sign .lbl {
  display: block;
  font-size: .72rem;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: #666;
  margin-bottom: 2px;
}
.corp-print-table { width: 100%; border-collapse: collapse; font-size: .9rem; }
.corp-print-table th,
.corp-print-table td { border: 1px solid #ccc; padding: 8px 10px; text-align: left; vertical-align: top; }
.corp-print-table th {
  background: #f4f4f4;
  font-size: .78rem;
  text-transform: uppercase;
  letter-spacing: .04em;
}
.corp-print-notes { margin-top: 14px; font-size: .9rem; }
.corp-print-sign {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
  margin-top: 28px;
}
.corp-print-sign .box {
  border: 1px solid #bbb;
  border-radius: 4px;
  padding: 12px;
  min-height: 120px;
}
.corp-print-sign-name { margin-top: 8px; min-height: 1.2em; }
.corp-print-sign-line {
  margin-top: 40px;
  border-top: 1px solid #aaa;
  padding-top: 6px;
  font-size: .8rem;
  color: #666;
}
.corp-print-foot {
  margin-top: 22px;
  padding-top: 12px;
  border-top: 1px solid #ddd;
  font-size: .78rem;
  color: #555;
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: center;
}
/* Sipariş onay ve sözleşme formu (A4 tek sayfa) */
.sales-contract-page {
  max-width: 210mm;
}
.sales-contract-page.print-wrapper {
  display: flex;
  flex-direction: column;
  min-height: calc(100vh - 80px);
}
.sales-contract-page .sales-contract-content {
  flex: 0 0 auto;
}
.sales-contract-page .signature-section {
  margin-top: auto;
  padding-top: 1.5rem;
}
.sales-contract-kicker {
  font-size: .62rem !important;
  letter-spacing: .04em !important;
  line-height: 1.25;
  max-width: 11rem;
  margin-left: auto;
  text-transform: uppercase;
  font-weight: 700;
  color: #333;
}
.sales-contract-idno {
  margin-top: 6px;
  font-size: .88rem;
}
.sales-contract-dotted {
  letter-spacing: .12em;
  color: #444;
}
.sales-contract-packaged {
  display: inline-block;
  font-size: 8px;
  font-weight: 600;
  letter-spacing: .02em;
  color: #475569;
  white-space: nowrap;
}
.sales-contract-table .sales-contract-money {
  text-align: right;
}
.sales-contract-finance {
  display: flex;
  justify-content: flex-end;
  margin: 10px 0 8px;
}
.sales-contract-finance-table {
  border-collapse: collapse;
  min-width: 16rem;
  font-size: .88rem;
}
.sales-contract-finance-table th,
.sales-contract-finance-table td {
  border: 1px solid #bbb;
  padding: 6px 10px;
  text-align: left;
}
.sales-contract-finance-table td {
  text-align: right;
  font-weight: 600;
  min-width: 6.5rem;
}
.sales-contract-finance-table th {
  background: #f4f4f4;
  font-weight: 600;
  font-size: .8rem;
}
.sales-contract-finance-table tr.is-balance td {
  color: #B91C1C;
  text-decoration: none;
}
.sales-contract-note-box {
  margin: 10px 0 8px;
  padding: 8px;
  background: #f3f4f6;
  border: 1px solid #d1d5db;
  border-radius: 4px;
  font-size: .82rem;
  line-height: 1.4;
}
.sales-contract-product-name {
  text-transform: none;
}
.sales-contract-legal {
  margin: 10px 0 12px;
  padding: 8px 10px;
  border: 1px solid #ccc;
  border-radius: 4px;
  background: #fafafa;
  font-size: 9.5px;
  line-height: 1.38;
  page-break-inside: avoid;
}
.sales-contract-legal h3 {
  margin: 0 0 6px;
  font-size: 10px;
  letter-spacing: .03em;
  text-transform: uppercase;
}
.sales-contract-legal ol {
  margin: 0;
  padding-left: 1.15rem;
}
.sales-contract-legal li {
  margin-bottom: 4px;
}
.sales-contract-legal li:last-child { margin-bottom: 0; }
.sales-contract-notes {
  font-size: .82rem !important;
  margin-top: 6px !important;
}
.sales-contract-handwrite {
  margin-top: 6px;
  font-size: .72rem;
  color: #555;
  font-style: italic;
}
.sales-contract-handwrite-rule {
  border-bottom: 1px dashed #000;
  margin-top: 15px;
  margin-bottom: 10px;
  height: 20px;
  width: 100%;
}
.sales-contract-handwrite-line {
  margin: 4px 0 6px;
  font-size: .85rem;
  letter-spacing: .08em;
  color: #888;
  line-height: 1;
}
.sales-contract-sign.corp-print-sign {
  display: flex;
  align-items: stretch;
  gap: 24px;
}
.sales-contract-sign-box {
  flex: 1;
  display: flex;
  flex-direction: column;
}
.sales-contract-sign .corp-print-sign-line {
  margin-top: auto;
}
.sales-contract-sign .corp-print-sign-line {
  margin-top: auto;
}
.sales-contract-sign .box {
  min-height: 108px;
}

.corp-print-barcode {
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  letter-spacing: .12em;
  font-weight: 700;
}
.corp-print-barcode-band {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2px;
  margin: 4px 0 14px;
  padding: 8px 0;
  border: 1px dashed #ccc;
  background: #fafafa;
}
.corp-barcode-font {
  font-family: "Libre Barcode 39", sans-serif;
  font-size: 2.4rem;
  line-height: 1;
  letter-spacing: 0;
}
.warehouse-slip-page .corp-print-head {
  border-bottom-color: #243447;
}
@media (max-width: 720px) {
  .corp-print-head { grid-template-columns: 1fr; }
  .corp-print-meta { text-align: left; }
  .corp-print-grid, .corp-print-sign { grid-template-columns: 1fr; }
}

/* Kurumsal servis çizelgesi PDF / yazdır */
.sched-print-body {
  margin: 0;
  padding: 0;
  background: #E8EDF3;
  color: #0F172A;
  font-family: "Manrope", system-ui, sans-serif;
}
.sched-print-toolbar {
  position: sticky;
  top: 0;
  z-index: 20;
  background: rgba(255, 255, 255, .92);
  backdrop-filter: blur(8px);
  border-bottom: 1px solid #E2E8F0;
  padding: 10px 16px;
}
.sched-print-toolbar-inner {
  max-width: 920px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
}
.sched-print-toolbar-actions {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}
.sched-print-page {
  max-width: 920px;
  margin: 18px auto 32px;
  background: #FFFFFF;
  color: #0F172A;
  padding: 28px 32px 24px;
  border-radius: 16px;
  box-shadow: 0 12px 40px rgba(15, 23, 42, .08);
  font-family: "Manrope", system-ui, sans-serif;
}
.sched-print-head {
  display: flex;
  justify-content: space-between;
  gap: 24px;
  align-items: flex-start;
  border-bottom: 2px solid #1E293B;
  padding-bottom: 18px;
  margin-bottom: 18px;
}
.sched-print-logo {
  max-height: 58px;
  max-width: 170px;
  object-fit: contain;
  display: block;
  margin-bottom: 6px;
}
.sched-print-brand-name {
  font-family: "Fraunces", Georgia, serif;
  font-size: 1.5rem;
  display: block;
  line-height: 1.1;
  margin-bottom: 4px;
}
.sched-print-brand small {
  display: block;
  color: #64748B;
  font-size: .84rem;
  font-weight: 600;
}
.sched-print-brand-addr {
  margin-top: 6px;
  font-size: .78rem;
  color: #64748B;
  line-height: 1.35;
  max-width: 320px;
}
.sched-print-meta {
  text-align: right;
  min-width: 0;
}
.sched-print-doc-title {
  font-family: "Fraunces", Georgia, serif;
  font-size: 1.28rem;
  font-weight: 700;
  letter-spacing: -.02em;
  line-height: 1.2;
}
.sched-print-doc-date {
  margin-top: 6px;
  font-size: .95rem;
  font-weight: 700;
  color: #334155;
}
.sched-print-day-tag {
  display: inline-block;
  margin-left: 6px;
  padding: 2px 8px;
  border-radius: 999px;
  background: #EEF2FF;
  color: #4338CA;
  border: 1px solid #C7D2FE;
  font-size: .68rem;
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
  vertical-align: middle;
}
.sched-print-doc-phone {
  margin-top: 4px;
  font-size: .82rem;
  color: #64748B;
  font-weight: 600;
}
.sched-print-stats {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(110px, 1fr));
  gap: 10px;
  margin-bottom: 22px;
}
.sched-print-stat {
  padding: 12px 14px;
  border: 1px solid #E2E8F0;
  border-radius: 12px;
  background: #F8FAFC;
  text-align: center;
}
.sched-print-stat strong {
  display: block;
  font-size: 1.35rem;
  font-weight: 800;
  letter-spacing: -.03em;
  line-height: 1.1;
  color: #0F172A;
}
.sched-print-stat span {
  display: block;
  margin-top: 3px;
  font-size: .72rem;
  font-weight: 700;
  color: #64748B;
  text-transform: uppercase;
  letter-spacing: .04em;
}
.sched-print-stat.is-done {
  background: #ECFDF5;
  border-color: #BBF7D0;
}
.sched-print-stat.is-done strong { color: #047857; }
.sched-print-stat.is-pending {
  background: #FFF7ED;
  border-color: #FED7AA;
}
.sched-print-stat.is-pending strong { color: #C2410C; }
.sched-print-stat.is-kesin {
  background: #FFFBEB;
  border-color: #FDE68A;
}
.sched-print-stat.is-kesin strong { color: #92400E; }
.sched-print-empty {
  padding: 28px 20px;
  border: 1px dashed #CBD5E1;
  border-radius: 14px;
  text-align: center;
  background: #FAFBFC;
}
.sched-print-empty strong {
  display: block;
  font-size: 1rem;
  margin-bottom: 4px;
}
.sched-print-empty p {
  margin: 0;
  color: #64748B;
  font-size: .88rem;
}
.sched-print-crew {
  margin-bottom: 22px;
}
.sched-print-crew-sheet-top,
.sched-print-crew-sheet-foot {
  display: none;
}
.sched-print-crew-sheet-foot {
  justify-content: space-between;
  gap: 10px;
  flex-wrap: wrap;
  margin-top: 12px;
  padding-top: 10px;
  border-top: 1px solid #E2E8F0;
  font-size: .74rem;
  font-weight: 700;
  color: #64748B;
}
.sched-print-toolbar-hint {
  font-size: .76rem;
  font-weight: 600;
  color: #64748B;
  align-self: center;
}
.sched-print-crew-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 10px 14px;
  border-radius: 12px 12px 0 0;
  background: linear-gradient(135deg, #1E293B 0%, #334155 100%);
  color: #F8FAFC;
}
.sched-print-crew-title {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
}
.sched-print-crew-icon {
  font-size: 1.1rem;
  line-height: 1;
}
.sched-print-crew-head h2 {
  margin: 0;
  font-size: 1rem;
  font-weight: 800;
  letter-spacing: -.01em;
  line-height: 1.2;
}
.sched-print-crew-vehicle {
  display: block;
  margin-top: 2px;
  font-size: .72rem;
  font-weight: 600;
  color: #CBD5E1;
}
.sched-print-crew-meta {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 2px;
  font-size: .78rem;
  font-weight: 700;
  white-space: nowrap;
}
.sched-print-crew-meta .is-done { color: #86EFAC; }
.sched-print-jobs {
  border: 1px solid #E2E8F0;
  border-top: 0;
  border-radius: 0 0 12px 12px;
  overflow: hidden;
}
.sched-print-job {
  padding: 14px 16px;
  border-bottom: 1px solid #EEF2F6;
  background: #FFFFFF;
  page-break-inside: avoid;
}
.sched-print-job:last-child { border-bottom: 0; }
.sched-print-job.is-done {
  background: #FAFBFC;
}
.sched-print-job.team-mobilya { border-left: 4px solid #1F6B4A; }
.sched-print-job.team-hali { border-left: 4px solid #2A6F97; }
.sched-print-job.team-avize { border-left: 4px solid #B45309; }
.sched-print-job.team-genel { border-left: 4px solid #6366F1; }
.sched-print-job-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 10px;
}
.sched-print-job-title {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 8px;
  min-width: 0;
}
.sched-print-job-title strong {
  font-size: .98rem;
  font-weight: 800;
  letter-spacing: -.01em;
  color: #0F172A;
}
.sched-print-job.is-done .sched-print-job-title strong {
  color: #64748B;
}
.sched-print-order {
  font-size: .76rem;
  font-weight: 700;
  color: #6366F1;
  background: #EEF2FF;
  border: 1px solid #C7D2FE;
  padding: 2px 8px;
  border-radius: 999px;
}
.sched-print-job-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  justify-content: flex-end;
}
.sched-print-badge {
  display: inline-flex;
  align-items: center;
  padding: 2px 8px;
  border-radius: 999px;
  font-size: .64rem;
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
  line-height: 1.3;
  border: 1px solid transparent;
}
.sched-print-badge.is-kesin {
  background: #FEF3C7;
  color: #92400E;
  border-color: #FDE68A;
}
.sched-print-badge.is-done {
  background: #F1F5F9;
  color: #475569;
  border-color: #CBD5E1;
}
.sched-print-badge.is-info {
  background: #DBEAFE;
  color: #1D4ED8;
  border-color: #BFDBFE;
}
.sched-print-badge.is-ok {
  background: #DCFCE7;
  color: #166534;
  border-color: #BBF7D0;
}
.sched-print-badge.is-warn {
  background: #FFEDD5;
  color: #C2410C;
  border-color: #FED7AA;
}
.sched-print-job-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px 18px;
}
.sched-print-field {
  min-width: 0;
  font-size: .84rem;
  line-height: 1.45;
}
.sched-print-field.is-wide {
  grid-column: 1 / -1;
}
.sched-print-lbl {
  display: block;
  font-size: .66rem;
  font-weight: 800;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: #94A3B8;
  margin-bottom: 2px;
}
.sched-print-products {
  margin: 0;
  padding-left: 18px;
}
.sched-print-products li {
  margin: 0 0 3px;
}
.sched-print-products li:last-child { margin-bottom: 0; }
.sched-print-alerts {
  margin-top: 20px;
  padding-top: 16px;
  border-top: 1px solid #E2E8F0;
}
.sched-print-alerts h3 {
  margin: 0 0 10px;
  font-size: .82rem;
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: #64748B;
}
.sched-print-alert {
  padding: 10px 12px;
  border-radius: 10px;
  font-size: .84rem;
  font-weight: 700;
  margin-bottom: 6px;
}
.sched-print-alert.is-leave {
  background: #FEF2F2;
  color: #991B1B;
  border: 1px solid #FECACA;
}
.sched-print-foot {
  margin-top: 24px;
  padding-top: 14px;
  border-top: 1px solid #E2E8F0;
  display: flex;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
  font-size: .74rem;
  color: #64748B;
  font-weight: 600;
}
@media print {
  .sched-print-body { background: #fff !important; }
  .sched-print-toolbar { display: none !important; }
  .sched-print-page {
    margin: 0;
    padding: 12mm 10mm;
    max-width: none;
    border-radius: 0;
    box-shadow: none;
  }
  /* Kapak: firma başlığı + özet → 1. sayfa */
  .sched-print-head,
  .sched-print-stats {
    break-after: page;
    page-break-after: always;
  }
  /* Her şoför / araç → ayrı sayfa (PDF'de sayfa aralığı seçerek tek liste de alınabilir) */
  .sched-print-crew {
    break-before: page;
    page-break-before: always;
    break-after: page;
    page-break-after: always;
    break-inside: auto;
    page-break-inside: auto;
    margin-bottom: 0;
    padding-top: 2mm;
  }
  .sched-print-crew-sheet-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 10px;
    padding-bottom: 8px;
    border-bottom: 1px solid #CBD5E1;
    font-size: .78rem;
    font-weight: 700;
    color: #475569;
  }
  .sched-print-crew-sheet-top strong {
    font-family: "Fraunces", Georgia, serif;
    font-size: .95rem;
    color: #0F172A;
  }
  .sched-print-crew-sheet-foot {
    display: flex;
  }
  .sched-print-job {
    break-inside: avoid;
    page-break-inside: avoid;
  }
  .sched-print-stats { grid-template-columns: repeat(5, 1fr); }
  .sched-print-foot { break-before: avoid-page; page-break-before: avoid; }
  .sched-print-alerts { break-before: page; page-break-before: always; }
}
@media (max-width: 720px) {
  .sched-print-page { margin: 0; padding: 18px 16px 20px; border-radius: 0; }
  .sched-print-head { flex-direction: column; }
  .sched-print-meta { text-align: left; }
  .sched-print-job-grid { grid-template-columns: 1fr; }
  .sched-print-crew-head { flex-direction: column; align-items: flex-start; }
  .sched-print-crew-meta { align-items: flex-start; }
}

/* Modül yetkileri (ayarlar) */
.module-user-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.module-pill {
  display: flex;
  flex-direction: column;
  gap: 2px;
  padding: 8px 12px;
  border-radius: 10px;
  border: 1px solid var(--border, #d5ddd6);
  background: var(--surface, #fff);
  text-decoration: none;
  color: inherit;
  min-width: 120px;
  transition: border-color .15s, box-shadow .15s;
}
.module-pill strong { font-size: .9rem; }
.module-pill span { font-size: .75rem; color: var(--muted); }
.module-pill:hover { border-color: var(--accent, #2f6b4f); }
.module-pill.is-active {
  border-color: var(--accent, #2f6b4f);
  box-shadow: 0 0 0 2px color-mix(in srgb, var(--accent, #2f6b4f) 25%, transparent);
}
.module-pill.is-passive { opacity: .55; }
.access-mode-toggle {
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
  font-size: .9rem;
  font-weight: 600;
}
.module-groups {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 14px;
}
.module-group {
  border: 1px solid var(--border, #d5ddd6);
  border-radius: 12px;
  padding: 12px;
  background: color-mix(in srgb, var(--surface, #fff) 92%, var(--bg, #f4f6f4));
}
.module-group h4 {
  margin: 0 0 10px;
  font-size: .78rem;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: var(--muted);
}
.module-checks {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.module-check {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: .88rem;
  cursor: pointer;
  user-select: none;
}
.module-check input[type=checkbox] { cursor: pointer; width: 1.05rem; height: 1.05rem; accent-color: var(--accent, #4F46E5); }
.module-check em { font-style: normal; font-size: .72rem; margin-left: auto; }
.module-groups.is-role-mode .module-check {
  opacity: .85;
  cursor: pointer;
}
.module-groups.is-role-mode .module-check:hover {
  opacity: 1;
  background: color-mix(in srgb, var(--accent-soft, #EEF2FF) 70%, transparent);
  border-radius: 8px;
}
.module-groups.is-role-mode .module-check input { cursor: pointer; }
.module-perm-hint {
  margin: 10px 0 0;
  padding: 10px 12px;
  border-radius: 10px;
  background: #EEF2FF;
  border: 1px solid #C7D2FE;
  color: #312E81;
  font-weight: 600;
  font-size: .88rem;
}
.module-perm-hint[hidden] { display: none !important; }
.access-mode-toggle label { cursor: pointer; }
@media (max-width: 720px) {
  .module-groups { grid-template-columns: 1fr; }
}

/* —— Filo yönetimi —— */
.fleet-summary {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin: 0 0 14px;
}
.fleet-stat {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 14px;
  padding: 14px 16px;
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.fleet-stat strong { font-size: 1.25rem; letter-spacing: -0.02em; }
.fleet-stat-label { font-size: .78rem; font-weight: 700; color: var(--muted); text-transform: uppercase; letter-spacing: .04em; }
.fleet-stat small { color: var(--muted); font-size: .8rem; }
.fleet-stat.is-warn { border-color: #F59E0B; background: linear-gradient(180deg, #FFFBEB, var(--surface)); }
.fleet-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0 0 16px;
}
.fleet-tab {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 9px 14px;
  border-radius: 999px;
  border: 1px solid var(--line);
  background: var(--surface);
  text-decoration: none !important;
  color: var(--ink);
  font-weight: 650;
  font-size: .88rem;
}
.fleet-tab em {
  font-style: normal;
  font-size: .75rem;
  padding: 2px 8px;
  border-radius: 999px;
  background: #F1F5F9;
  color: #475569;
}
.fleet-tab.is-active { border-color: var(--accent); background: var(--accent-soft); }
.fleet-tab.tab-green.is-active { border-color: #059669; background: #D1FAE5; }
.fleet-tab.tab-amber.is-active { border-color: #D97706; background: #FEF3C7; }
.fleet-tab.tab-blue.is-active { border-color: #0284C7; background: #E0F2FE; }
.fleet-tab.tab-gray.is-active { border-color: #64748B; background: #F1F5F9; }
.fleet-section-title {
  grid-column: 1 / -1;
  margin: 14px 0 0;
  font-size: .82rem;
  text-transform: uppercase;
  letter-spacing: .05em;
  color: var(--muted);
  border-top: 1px solid var(--line);
  padding-top: 12px;
}
.fleet-form .fleet-section-title:first-of-type { border-top: 0; padding-top: 0; margin-top: 0; }
.fleet-badge-row { display: flex; flex-wrap: wrap; gap: 6px; }
.fleet-badge {
  display: inline-flex;
  align-items: center;
  padding: 4px 10px;
  border-radius: 999px;
  font-size: .72rem;
  font-weight: 750;
  letter-spacing: .01em;
  white-space: nowrap;
}
.fleet-badge.is-danger {
  background: #FEE2E2;
  color: #B91C1C;
  border: 1px solid #FECACA;
  box-shadow: 0 0 0 3px rgba(239, 68, 68, .12);
  animation: fleet-pulse 1.6s ease-in-out infinite;
}
.fleet-badge.is-warn {
  background: #FEF3C7;
  color: #B45309;
  border: 1px solid #FDE68A;
}
@keyframes fleet-pulse {
  0%, 100% { box-shadow: 0 0 0 2px rgba(239, 68, 68, .1); }
  50% { box-shadow: 0 0 0 5px rgba(239, 68, 68, .18); }
}

/* Filo roster — kurumsal satır kartları */
.fleet-list-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:16px;
  margin-bottom:16px;
}
.fleet-list-title{
  margin:0;
  font-size:1.15rem;
  font-weight:700;
  letter-spacing:-.01em;
  color:#0F172A;
}
.fleet-list-sub{margin:4px 0 0;font-size:.82rem}
.fleet-empty{
  padding:28px 16px;
  text-align:center;
  border:1px dashed #E2E8F0;
  border-radius:14px;
  background:#F8FAFC;
}
.fleet-roster{
  display:flex;
  flex-direction:column;
  gap:10px;
}
.fleet-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:14px 16px;
  border:1px solid #E8EEF5;
  border-radius:14px;
  background:linear-gradient(180deg, #FFFFFF 0%, #FCFDFE 100%);
  box-shadow:0 1px 2px rgba(15,23,42,.04);
  transition:border-color .15s ease, box-shadow .15s ease;
}
.fleet-row:hover{
  border-color:#CBD5E1;
  box-shadow:0 8px 24px rgba(15,23,42,.06);
}
.fleet-row.is-selected{
  border-color:#94A3B8;
  box-shadow:0 0 0 3px rgba(15,23,42,.06);
  background:linear-gradient(180deg, #F8FAFC 0%, #FFFFFF 100%);
}
.fleet-row-main{
  display:grid;
  grid-template-columns: minmax(0, 1.6fr) auto minmax(100px, .7fr);
  gap:14px 20px;
  align-items:center;
  flex:1 1 auto;
  min-width:0;
}
.fleet-row-identity{min-width:0}
.fleet-row-name{
  margin:0;
  font-size:.98rem;
  font-weight:750;
  color:#0F172A;
  letter-spacing:-.01em;
  line-height:1.25;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.fleet-row-model{
  margin:3px 0 0;
  font-size:.8rem;
  font-weight:600;
  color:#475569;
  line-height:1.35;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.fleet-row-model.is-muted{color:#94A3B8;font-weight:500}
.fleet-row-meta{
  display:flex;
  flex-wrap:wrap;
  gap:5px;
  margin-top:8px;
}
.fleet-meta-chip{
  display:inline-flex;
  align-items:center;
  padding:2px 8px;
  border-radius:6px;
  font-size:.68rem;
  font-weight:700;
  letter-spacing:.02em;
  color:#334155;
  background:#F1F5F9;
  border:1px solid #E2E8F0;
  white-space:nowrap;
}
.fleet-row-plate-wrap{justify-self:start}
.fleet-plate{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:7.6rem;
  padding:7px 12px;
  border-radius:8px;
  border:1.5px solid #0F172A;
  background:linear-gradient(180deg, #FFFFFF 0%, #F8FAFC 100%);
  box-shadow: inset 0 0 0 2px #E2E8F0;
  color:#0F172A;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
  font-size:.88rem;
  font-weight:800;
  letter-spacing:.06em;
  white-space:nowrap;
  line-height:1;
}
.fleet-plate.is-empty{
  border-style:dashed;
  border-color:#94A3B8;
  color:#94A3B8;
  font-weight:650;
  letter-spacing:.02em;
  font-family:inherit;
  font-size:.78rem;
}
.fleet-row-driver{
  display:flex;
  flex-direction:column;
  gap:2px;
  min-width:0;
}
.fleet-row-label{
  font-size:.68rem;
  font-weight:700;
  letter-spacing:.04em;
  text-transform:uppercase;
  color:#94A3B8;
}
.fleet-row-driver strong{
  font-size:.88rem;
  font-weight:700;
  color:#1E293B;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.fleet-row-alerts{
  display:flex;
  flex-wrap:wrap;
  gap:5px;
  align-items:center;
  margin-top:8px;
}
.fleet-row-alerts .fleet-badge{
  max-width:100%;
}
.fleet-ok-dot{
  display:inline-flex;
  align-items:center;
  gap:6px;
  font-size:.75rem;
  font-weight:650;
  color:#15803D;
}
.fleet-ok-dot::before{
  content:'';
  width:7px;height:7px;border-radius:50%;
  background:#22C55E;
  box-shadow:0 0 0 3px rgba(34,197,94,.18);
}
.fleet-row-side{
  display:flex;
  flex-direction:row;
  align-items:center;
  justify-content:flex-end;
  gap:10px;
  flex:0 0 auto;
  min-width:148px;
}
.fleet-row-side-meta{
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:3px;
}
.fleet-status{
  display:inline-flex;
  align-items:center;
  padding:4px 10px;
  border-radius:999px;
  font-size:.72rem;
  font-weight:750;
  letter-spacing:.02em;
  white-space:nowrap;
}
.fleet-status.is-active{background:#DCFCE7;color:#166534;border:1px solid #BBF7D0}
.fleet-status.is-rent{background:#DBEAFE;color:#1D4ED8;border:1px solid #BFDBFE}
.fleet-status.is-service{background:#FEF3C7;color:#B45309;border:1px solid #FDE68A}
.fleet-status.is-sold{background:#F1F5F9;color:#475569;border:1px solid #E2E8F0}
.fleet-status-sub{
  font-size:.72rem;
  color:#64748B;
  font-weight:600;
  text-align:right;
}
.fleet-row-cta{
  min-width:72px;
  justify-content:center;
  font-weight:700;
  flex:0 0 auto;
}
@media (max-width:960px){
  .fleet-row{
    flex-direction:column;
    align-items:stretch;
    gap:14px;
  }
  .fleet-row-main{
    grid-template-columns:1fr 1fr;
    gap:12px 14px;
  }
  .fleet-row-identity{grid-column:1 / -1}
  .fleet-row-side{
    justify-content:space-between;
    min-width:0;
    padding-top:10px;
    border-top:1px solid #F1F5F9;
  }
  .fleet-status-sub{text-align:left}
  .fleet-row-side-meta{align-items:flex-start}
}
@media (max-width:560px){
  .fleet-row-main{grid-template-columns:1fr}
  .fleet-list-head{flex-direction:column;align-items:stretch}
}

.fleet-table tr.is-selected td { background: var(--accent-soft); }
.fleet-form-2col {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: start;
}
.fleet-form-2col .fleet-section-title,
.fleet-form-2col .fleet-span-2 {
  grid-column: 1 / -1;
}
.fleet-spec-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: flex-end;
  margin: 0 0 14px;
  padding: 12px 14px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: var(--surface);
}
.fleet-spec-filters label {
  display: grid;
  gap: 4px;
  font-size: .78rem;
  font-weight: 700;
  color: var(--muted);
}
.fleet-spec-filters select {
  min-width: 160px;
  font-weight: 600;
  color: var(--ink);
}
.fleet-spec-chip {
  display: inline-flex;
  align-items: center;
  padding: 3px 9px;
  border-radius: 999px;
  font-size: .72rem;
  font-weight: 700;
  background: #F1F5F9;
  color: #334155;
  border: 1px solid #E2E8F0;
}
.fleet-spec-dot {
  color: var(--muted);
  font-weight: 700;
  font-size: .75rem;
}
.fleet-service-block { border-top: 1px solid var(--line); padding-top: 4px; margin-top: 18px; }
.fleet-form-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
  margin-top: 4px;
}
.fleet-danger-zone {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin-top: 18px;
  padding: 14px 16px;
  border: 1px solid #FECACA;
  border-radius: 12px;
  background: linear-gradient(180deg, #FEF2F2 0%, #FFF 100%);
}
.fleet-danger-copy { min-width: 0; flex: 1 1 220px; }
.fleet-danger-copy strong {
  display: block;
  font-size: .9rem;
  color: #991B1B;
  margin-bottom: 2px;
}
.fleet-danger-copy p { margin: 0; font-size: .8rem; line-height: 1.4; }
.fleet-delete-form { flex: 0 0 auto; }
.fleet-service-block > summary {
  cursor: pointer;
  list-style: none;
  font-weight: 600;
  min-height: 48px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  user-select: none;
}
.fleet-service-block > summary::-webkit-details-marker { display: none; }
.fleet-layout.list-only { grid-template-columns: 1fr; }
@media (max-width: 900px) {
  .fleet-summary { grid-template-columns: 1fr; }
  .fleet-layout.grid-2 { grid-template-columns: 1fr; }
  .fleet-layout.has-form { display: flex; flex-direction: column; }
  .fleet-layout.has-form .fleet-list-card { order: 1; }
  .fleet-layout.has-form #vehicle-form { order: 2; }
  .fleet-tabs {
    display: flex;
    overflow-x: auto;
    gap: 8px;
    -webkit-overflow-scrolling: touch;
    padding-bottom: 4px;
  }
  .fleet-tab { flex: 0 0 auto; white-space: nowrap; }
}
@media (max-width: 720px) {
  .fleet-form-2col { grid-template-columns: 1fr; }
}

/* Hızlı tarih + erken tamamla — legacy compat */
.quick-date-panel { width: 100%; margin: 6px 0; }
.quick-date-label { display: none; }
.quick-date-row { display: flex; flex-wrap: wrap; gap: 4px; }
.quick-date-row .btn-fat,
.quick-date-btn { flex: none; min-height: 26px; }
.btn-success-soft {
  background: #ecfdf5 !important;
  color: #047857 !important;
  border: 1px solid rgba(4, 120, 87, .35) !important;
}
.btn-success-soft:hover {
  background: #d1fae5 !important;
}
.field-upcoming .quick-date-panel { margin: 0; }
.excel-stop-actions .quick-date-panel { display: contents; margin: 0; padding: 0; background: none; border: none; }
.excel-stop-actions .quick-date-label { display: none; }
.excel-stop-actions .quick-date-row { display: contents; }
.excel-stop-actions .sched-cbar { border-top: none; margin-top: 4px; padding-top: 4px; }


/* —— Premium sayfalama —— */
.pagination,
.pagination-premium {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  justify-content: space-between;
  gap: 12px;
  margin-top: 0;
  padding: 12px 16px;
  border-top: 1px solid #E5E7EB;
  background: #fff;
  box-sizing: border-box;
}
@media (min-width: 640px) {
  .pagination,
  .pagination-premium {
    flex-direction: row;
    align-items: center;
    padding: 14px 24px;
  }
}
.pagination-meta {
  margin: 0;
  font-size: 0.875rem;
  line-height: 1.45;
  color: #6B7280;
}
.pagination-meta-strong {
  font-weight: 600;
  color: #111827;
}
.pagination-controls {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}
.pagination-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  min-height: 36px;
  padding: 7px 12px;
  border: 1px solid #D1D5DB;
  border-radius: 8px;
  background: #fff;
  color: #374151;
  font-size: 0.875rem;
  font-weight: 550;
  line-height: 1;
  text-decoration: none !important;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.05);
  transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
  user-select: none;
}
.pagination-btn:hover {
  background: #F9FAFB;
  border-color: #CBD5E1;
  color: #111827;
}
.pagination-btn:focus-visible {
  outline: 2px solid #2563EB;
  outline-offset: 2px;
}
.pagination-btn.is-disabled,
.pagination-btn[aria-disabled="true"] {
  opacity: 0.5;
  cursor: not-allowed;
  pointer-events: none;
  box-shadow: none;
  background: #fff;
  color: #9CA3AF;
}
.pagination-btn-icon {
  width: 16px;
  height: 16px;
  flex: 0 0 auto;
  display: block;
}
/* Eski .pagination .actions uyumu */
.pagination .actions {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.day-chips{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0 12px}.day-chip{display:inline-flex;flex-direction:column;align-items:flex-start;gap:2px;padding:10px 14px;border-radius:12px;border:1px solid var(--line);background:var(--surface);text-decoration:none!important;color:var(--ink);min-width:110px}.day-chip strong{font-size:.95rem}.day-chip small{color:var(--muted);font-size:.75rem}.day-chip.is-active{border-color:var(--accent);background:var(--accent-soft)}.field-primary-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px}.field-primary-actions .btn-lg{min-height:48px;font-size:1.05rem;padding:12px 18px}.field-more{margin-top:10px}.field-more>summary{cursor:pointer;font-weight:700;color:var(--muted);list-style:none}.field-more>summary::-webkit-details-marker{display:none}.body-role-field .top-search,.body-role-field .theme-picker,.body-role-field .help-fab{display:none!important}


/* —— Mobile hamburger drawer + ledger —— */
.nav-toggle{display:none;flex-direction:column;justify-content:center;gap:5px;width:42px;height:42px;border:1px solid var(--line);border-radius:10px;background:var(--surface);cursor:pointer;padding:10px 11px;flex-shrink:0}
.nav-toggle span{display:block;height:2px;background:var(--ink);border-radius:2px;transition:transform .2s ease,opacity .2s ease}
.nav-backdrop{position:fixed;inset:0;background:rgba(8,12,10,.45);z-index:1100;border:0;padding:0;margin:0;cursor:pointer}
.ledger{display:flex;flex-direction:column;gap:0;margin-top:8px}
.ledger-row{display:grid;grid-template-columns:88px 1fr auto;gap:12px;align-items:start;padding:12px 0;border-bottom:1px solid var(--line)}
.ledger-row:last-child{border-bottom:0}
.ledger-date{font-size:.78rem;color:var(--muted);font-variant-numeric:tabular-nums;padding-top:2px}
.ledger-body strong{display:block;font-size:.95rem}
.ledger-body span{display:block;color:var(--muted);font-size:.82rem;margin-top:2px}
.ledger-kind{font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);white-space:nowrap}
.ledger-kind.is-teslim{color:var(--accent)}
.ledger-kind.is-iptal{color:#b42318}
.ledger-kind.is-depo{color:#1769aa}
.ledger-kind.is-ssh{color:#9a6700}
@media (max-width:900px){
  .nav-toggle{display:inline-flex}
  .sidebar{
    position:fixed!important;left:0;top:0;bottom:0;width:min(86vw,280px)!important;height:100dvh!important;max-height:none!important;
    z-index:1200;transform:translateX(-105%);transition:transform .28s cubic-bezier(.2,.8,.2,1);
    flex-direction:column!important;box-shadow:12px 0 40px rgba(0,0,0,.25);
    overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch;
    padding-top:calc(env(safe-area-inset-top, 0px) + 10px)!important;
    padding-bottom:calc(80px + env(safe-area-inset-bottom, 0px))!important;
  }
  .sidebar .brand,
  .sidebar .sidebar-brand {
    display: grid !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: relative;
    z-index: 50;
    overflow: visible !important;
    padding: 8px 8px 14px !important;
    margin-bottom: 4px;
    flex-shrink: 0;
  }
  .sidebar .brand-logo-link,
  .sidebar .brand-text-link {
    display: grid !important;
    visibility: visible !important;
    min-height: 64px;
    overflow: visible !important;
  }
  .sidebar .brand-logo {
    display: block !important;
    visibility: visible !important;
    max-height: 72px;
    width: auto;
    max-width: 88%;
    margin: 0 auto;
  }
  body.nav-open .sidebar{transform:translateX(0);z-index:1200}
  body.nav-open .nav-backdrop{z-index:1190;display:block}
  body.nav-open .topbar,
  body.nav-open .topbar-right,
  body.nav-open .top-search,
  body.nav-open .topbar-icon-btn,
  body.nav-open .topbar-user-chip { z-index: 10 !important; position: relative; }
  body.nav-open .bottom-nav{z-index:40;pointer-events:none}
  body.nav-open .nav-toggle span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  body.nav-open .nav-toggle span:nth-child(2){opacity:0}
  body.nav-open .nav-toggle span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
  .nav{flex-direction:column!important;flex-wrap:nowrap!important;overflow:visible!important;gap:2px!important;padding:8px 10px 12px}
  .nav a{white-space:normal!important;flex:none!important;width:100%}
  .nav-group-label{display:block!important}
  .sidebar-foot{display:flex!important;flex-direction:column;gap:4px;padding:8px 10px 2px;flex-shrink:0;position:relative;z-index:1}
  .main{margin-left:0!important}
  .main:not(.main-embed){
    padding-top: calc(env(safe-area-inset-top, 0px) + 10px);
  }
  .topbar{gap:10px;align-items:center;flex-wrap:wrap}
  .topbar h1{font-size:1.05rem;flex:1;min-width:0;white-space:normal}
  .topbar-title-wrap{max-width:none;flex:1 1 auto}
  .topbar-right{width:100%;justify-content:flex-end;flex-wrap:nowrap;gap:6px}
  .top-search{flex:1 1 auto;max-width:none;min-width:0;height:42px}
  .topbar-user-chip{max-width:120px}
  .body-role-field .theme-picker,.body-role-field .top-search{display:none!important}
  .body-role-field .topbar-user-chip small{display:none}
}

/* P0 cockpit + audit timeline */
.cockpit-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:8px 0 20px}
.cockpit-card{display:flex;flex-direction:column;gap:8px;padding:24px 22px;min-height:152px;border-radius:20px;border:1px solid var(--line);background:var(--surface);text-decoration:none!important;color:var(--ink);box-shadow:var(--shadow);transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;position:relative;overflow:hidden}
.cockpit-card::before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:var(--accent);opacity:.85;border-radius:20px 0 0 20px}
.cockpit-card:hover{transform:translateY(-3px);border-color:#C7D2FE;box-shadow:var(--shadow-lg);text-decoration:none}
.cockpit-card strong{font-family:var(--display);font-size:1.7rem;font-weight:700;line-height:1.1;letter-spacing:-.03em}
.cockpit-card span{font-weight:700;font-size:1rem;letter-spacing:-.01em}
.cockpit-card small{color:var(--muted);font-size:.82rem;margin-top:auto;font-weight:500}
.cockpit-card.cockpit-accent{background:linear-gradient(165deg,#EEF2FF 0%,#fff 55%);border-color:#C7D2FE}
.cockpit-card.cockpit-accent::before{background:#4F46E5}
.cockpit-card.cockpit-warn{background:linear-gradient(165deg,#FFFBEB 0%,#fff 60%);border-color:#FDE68A}
.cockpit-card.cockpit-warn::before{background:#F59E0B}
.cockpit-card.cockpit-danger{background:linear-gradient(165deg,#FEF2F2 0%,#fff 60%);border-color:#FECACA}
.cockpit-card.cockpit-danger::before{background:#EF4444}
.cockpit-card.cockpit-danger strong{color:var(--danger)}
.ops-chip{display:inline-flex;align-items:center;max-width:100%;padding:4px 12px;border-radius:var(--radius-full);font-weight:650;line-height:1.25;letter-spacing:.01em;border:1px solid transparent;white-space:nowrap}
.ops-chip-lg{font-size:.9rem;padding:6px 12px}
.ops-chip-md{font-size:.8rem;padding:5px 11px}
.ops-chip-sm{font-size:.72rem;padding:3px 9px}
.ops-chip.is-green{background:#D1FAE5;color:#059669;border-color:#A7F3D0}
.ops-chip.is-amber{background:#FEF3C7;color:#D97706;border-color:#FDE68A}
.ops-chip.is-blue{background:#E0F2FE;color:#0284C7;border-color:#BAE6FD}
.ops-chip.is-red{background:#FEE2E2;color:#EF4444;border-color:#FECACA}
.ops-chip.is-gray{background:#F1F5F9;color:#475569;border-color:#E2E8F0}
.ops-chip.is-muted{background:#F8FAFC;color:var(--muted);border-color:var(--line)}

.ops-pill-row{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:6px 8px;
  min-width:0;
  max-width:100%;
}
.ops-pill{
  display:inline-flex;
  align-items:center;
  gap:4px;
  padding:4px 12px;
  border-radius:999px;
  font-size:.78rem;
  font-weight:700;
  line-height:1.3;
  letter-spacing:.01em;
  border:1px solid transparent;
  white-space:nowrap;
  max-width:100%;
}
.ops-pill.is-green{background:#D1FAE5;color:#047857;border-color:#A7F3D0}
.ops-pill.is-amber{background:#FEF3C7;color:#B45309;border-color:#FDE68A}
.ops-pill.is-blue{background:#E0F2FE;color:#0369A1;border-color:#BAE6FD}
.ops-pill.is-red{background:#FEE2E2;color:#B91C1C;border-color:#FECACA}
.ops-pill.is-gray{background:#F1F5F9;color:#475569;border-color:#E2E8F0}
.ops-pill.is-muted{background:#F8FAFC;color:var(--muted);border-color:var(--line)}

/* —— Mobile bottom navigation —— */
.bottom-nav{
  display:none;
  position:fixed;left:0;right:0;bottom:0;z-index:60;
  height:var(--bottom-nav-h);
  padding:6px 8px calc(6px + env(safe-area-inset-bottom,0px));
  background:rgba(255,255,255,.92);
  backdrop-filter:blur(16px) saturate(1.2);
  -webkit-backdrop-filter:blur(16px) saturate(1.2);
  border-top:1px solid var(--line);
  box-shadow:0 -8px 28px rgba(15,23,42,.06);
  grid-template-columns:repeat(5,1fr);
  gap:4px;
}
.bottom-nav a,
.bottom-nav .bn-menu-btn{
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;
  text-decoration:none!important;color:var(--muted);font-size:.68rem;font-weight:650;
  border-radius:12px;padding:6px 4px;min-height:52px;transition:background .12s ease,color .12s ease;
  border:0;background:transparent;font-family:inherit;cursor:pointer;width:100%;
}
.bottom-nav a .bn-ico,
.bottom-nav .bn-menu-btn .bn-ico{font-size:1.15rem;line-height:1;width:1.4rem;height:1.4rem;display:grid;place-items:center;position:relative}
.bottom-nav a.active,.bottom-nav a:hover,
.bottom-nav .bn-menu-btn:hover{color:var(--accent);background:var(--accent-soft)}
.body-has-bottom-nav .main{padding-bottom:calc(var(--bottom-nav-h) + 28px + env(safe-area-inset-bottom,0px))}
.body-has-bottom-nav .help-fab{bottom:calc(var(--bottom-nav-h) + 16px + env(safe-area-inset-bottom,0px))}

@media (max-width:900px){
  .bottom-nav{display:grid}
  .body-has-bottom-nav .sidebar-foot .btn-ghost{display:none}
  .body-has-bottom-nav .sidebar-foot .bn-edit-open,
  .body-has-bottom-nav .sidebar-foot .sidebar-foot-icon-btn,
  .body-has-bottom-nav.nav-open .sidebar-foot .btn-ghost,
  .body-has-bottom-nav.nav-open .sidebar-foot .sidebar-foot-icon-btn{display:inline-flex!important;width:auto;justify-content:center}
  .sidebar-collapse-btn{display:none!important}
  body.sidebar-collapsed{--sidebar-w:268px}
  .field-primary-actions .btn-lg,.mobile-actions .btn-lg,.body-role-field .btn-lg{
    min-height:56px;font-size:1.08rem;border-radius:14px;width:100%
  }
  .body-role-field .item-line,.body-role-depot .item-line{padding:14px;border-radius:14px;border:1px solid var(--line);background:var(--surface);margin-bottom:10px}
  .cockpit-grid{grid-template-columns:1fr;gap:12px}
  .cockpit-card{min-height:120px;padding:18px}
}
/* topbar-title-wrap: canonical rules above (.topbar-title-wrap) */
.customer-hero{overflow:visible}
.customer-hero-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:20px;
  flex-wrap:nowrap;
}
.customer-hero-main{
  flex:1 1 auto;
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:12px;
}
.customer-hero-title{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px 10px;
  margin:0;
}
.customer-hero-title h2,
.customer-hero-title .page-kicker,
.customer-hero-name{
  margin:0;
  font-family:var(--display);
  font-weight:600;
  letter-spacing:-.02em;
  line-height:1.2;
  min-width:0;
  text-transform:none;
  font-variant:normal;
}
.customer-hero-meta{margin-top:0;line-height:1.4}
.customer-hero-address{margin-top:0;line-height:1.45}
.customer-hero-actions.btn-group,
.btn-group{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
  flex:0 1 auto;
}
.btn-group-form{display:inline;margin:0}
.customer-contact-form{
  margin-top:16px;
  padding-top:14px;
  border-top:1px solid var(--line);
}
.customer-contact-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
.customer-contact-grid .form-row{margin:0}
.customer-contact-grid label{
  display:block;
  font-size:.78rem;
  font-weight:700;
  color:var(--muted);
  margin-bottom:4px;
  letter-spacing:.02em;
}
.customer-contact-address{grid-column:1 / -1}
.customer-contact-footer{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-top:12px;
}
.customer-contact-hint{
  margin:0;
  font-size:.8rem;
  flex:1 1 200px;
}
.customer-contact-footer .btn{margin-left:auto}
.smart-district-hint{
  margin:4px 0 0;
  font-size:.74rem;
  font-weight:600;
  color:#059669;
  line-height:1.35;
}
.smart-district-hint.is-ambiguous{color:#b45309}
input.is-auto-district{
  border-color:#34d399!important;
  box-shadow:0 0 0 2px rgba(52,211,153,.18);
}
.suggest-item .ops-chip{margin:0;align-self:center;flex-shrink:0}
@media (max-width:720px){
  .customer-contact-grid{grid-template-columns:1fr}
  .customer-hero-actions.btn-group{width:100%;justify-content:stretch}
  .customer-hero-actions .btn{flex:1 1 auto;justify-content:center;text-align:center}
}
@media (max-width:640px){
  .customer-hero-title{align-items:flex-start;flex-direction:column;gap:8px}
  .ops-chip-lg{font-size:.88rem}
  .customer-contact-footer{flex-direction:column;align-items:stretch}
  .customer-contact-footer .btn{margin-left:0;width:100%}
}
.alarm-strip{display:flex;gap:14px;align-items:center;padding:14px 16px;margin:0 0 16px;border-radius:14px;border:1px solid #FECACA;background:linear-gradient(120deg,#FEF2F2,#fff);box-shadow:0 6px 18px rgba(239,68,68,.06)}
.alarm-strip-count{font-family:var(--display);font-size:1.8rem;color:var(--danger);line-height:1;min-width:2.2rem;text-align:center}
.alarm-strip-body{display:flex;flex-direction:column;gap:6px;flex:1}
.alarm-strip-body>span{font-weight:700;font-size:.92rem}
.alarm-chips{display:flex;flex-wrap:wrap;gap:6px}
.alarm-chip{display:inline-flex;align-items:center;padding:5px 10px;border-radius:999px;background:#fee2e2;color:#991b1b;font-size:.78rem;font-weight:700;text-decoration:none!important}
.alarm-chip:hover{background:#fecaca}
.alarm-banner{margin:10px 0 14px;padding:10px 12px;border-radius:10px;background:#fff1f1;border:1px solid #fecaca;color:#991b1b;font-size:.9rem}
.row-alarm td{background:#fff7f7}
.stat-danger{border-color:#f0a0a0!important;background:#fff5f5}
.quick-chip-row{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0 8px}
.quick-chip{appearance:none;border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:999px;padding:7px 11px;font-size:.78rem;font-weight:600;cursor:pointer}
.quick-chip.is-active,.quick-chip:hover{border-color:var(--accent);background:var(--accent-soft)}
.suggest-item{display:flex;flex-direction:column;gap:2px;width:100%;text-align:left;border:0;background:transparent;padding:10px 12px;cursor:pointer;font:inherit;color:inherit}
.suggest-item:hover,.suggest-item.active{background:var(--accent-soft)}
/* Premium arama kartı — dikey hiyerarşi, taşma yok (button-in-button YASAK) */
.suggest-item.suggest-item-card,
.search-suggest .suggest-item.suggest-item-card,
.search-suggest-portal .suggest-item.suggest-item-card{
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
  gap:4px!important;
  padding:12px 14px!important;
  border-bottom:1px solid #F3F4F6!important;
  background:transparent;
  transition:background-color .15s ease;
  min-width:0;
  max-width:100%;
  width:100%;
  box-sizing:border-box;
  cursor:pointer;
  overflow:hidden;
  text-align:left;
  color:inherit;
  font:inherit;
}
.suggest-item.suggest-item-card:last-child{border-bottom:0!important}
.suggest-item.suggest-item-card:hover,
.suggest-item.suggest-item-card.active{
  background:#F9FAFB!important;
}
.suggest-item-card .suggest-item-name,
.suggest-item-card div.suggest-item-name{
  display:block!important;
  margin:0!important;
  font-size:.875rem!important;
  font-weight:600!important;
  color:#111827!important;
  line-height:1.3;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.suggest-item-card .suggest-item-primary,
.suggest-item-card div.suggest-item-primary{
  display:flex!important;
  flex-direction:row!important;
  flex-wrap:nowrap!important;
  align-items:center!important;
  gap:8px!important;
  min-width:0;
  width:100%;
  margin:0!important;
  margin-top:2px!important;
  color:inherit!important;
  font-size:inherit!important;
}
.suggest-item-card .suggest-item-primary .ops-chip,
.suggest-item-card .suggest-item-primary span.ops-chip{
  flex:0 0 auto!important;
  display:inline-flex!important;
  margin:0!important;
  align-self:center;
  max-width:55%;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  vertical-align:middle;
}
.suggest-item-card .suggest-item-phone,
.suggest-item-card span.suggest-item-phone{
  display:inline-block!important;
  margin:0!important;
  font-size:.75rem!important;
  font-weight:500!important;
  color:#4B5563!important;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  min-width:0;
}
.suggest-item-card .suggest-item-place,
.suggest-item-card div.suggest-item-place{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  margin:0!important;
  padding:0;
  font-size:.75rem!important;
  font-weight:400!important;
  color:#6B7280!important;
  line-height:1.35;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.suggest-item-card .suggest-item-meta,
.suggest-item-card div.suggest-item-meta{
  display:flex!important;
  flex-wrap:nowrap!important;
  align-items:center!important;
  gap:0 6px;
  margin:2px 0 0!important;
  padding:0;
  font-size:11px!important;
  font-weight:500!important;
  color:#9CA3AF!important;
  line-height:1.35;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  width:100%;
  max-width:100%;
}
.suggest-item-card .suggest-item-meta>span,
.suggest-item-card .suggest-item-meta-part,
.suggest-item-card .suggest-item-dot{
  display:inline!important;
  margin:0!important;
  color:inherit!important;
  font-size:inherit!important;
  white-space:nowrap;
}
.suggest-item-card .suggest-item-dot{
  color:#D1D5DB!important;
  font-weight:700;
}
.c360-modal{position:fixed;inset:0;z-index:1200;display:flex;align-items:flex-end;justify-content:center;padding:12px}
.c360-modal[hidden]{display:none!important}
.c360-backdrop{position:absolute;inset:0;background:rgba(20,16,12,.45)}
.c360-panel{position:relative;z-index:1;width:min(560px,100%);max-height:88vh;overflow:auto;background:var(--surface);border-radius:18px 18px 12px 12px;padding:18px 18px 20px;box-shadow:0 24px 60px rgba(0,0,0,.22)}
.c360-close{position:absolute;top:10px;right:12px;border:0;background:transparent;font-size:1.6rem;line-height:1;cursor:pointer;color:var(--muted)}
.c360-body h2{margin:0 28px 6px 0;font-family:var(--display);font-weight:500;font-size:1.45rem}
.c360-meta{margin:0 0 14px;color:var(--muted);font-size:.9rem;line-height:1.45}
.c360-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px}
.c360-grid strong{display:block;font-size:1.05rem;margin-top:2px}
.c360-block ul{margin:6px 0 0;padding-left:18px}
.c360-orders{display:flex;flex-direction:column;gap:6px;margin:12px 0}
.c360-order{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:baseline;padding:10px 12px;border:1px solid var(--line);border-radius:10px;text-decoration:none!important;color:var(--ink)}
.c360-order:hover{border-color:var(--accent)}
.c360-order small{width:100%;color:var(--muted)}
.c360-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
@media (min-width:720px){.c360-modal{align-items:center}.c360-panel{border-radius:16px}}
.chip-row{display:inline-flex;flex-wrap:wrap;gap:6px;align-items:center}
.chip-priority{font-size:.72rem!important;letter-spacing:.02em}
.audit-admin-accordion{
  margin:24px 0 0;
  padding:12px 16px;
  border:1px solid var(--line);
  border-radius:12px;
  background:var(--surface,#fff);
}
.audit-admin-accordion>summary{
  cursor:pointer;
  font-size:.88rem;
  color:var(--muted);
  font-weight:600;
  list-style:none;
  user-select:none;
}
.audit-admin-accordion>summary::-webkit-details-marker{display:none}
.audit-admin-accordion>summary::before{content:'▼ ';font-size:.72rem;color:var(--muted)}
.audit-admin-accordion[open]>summary::before{content:'▲ '}
.audit-admin-body{padding-top:10px;margin-top:8px;border-top:1px solid var(--line)}
.audit-timeline{display:flex;flex-direction:column;gap:0}
.audit-row{display:grid;grid-template-columns:140px 1fr;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}
.audit-row--human{display:block;padding:10px 0}
.audit-summary{margin:0;font-size:.88rem;line-height:1.55;color:var(--ink)}
.audit-summary strong{font-weight:700}
.audit-meta{font-size:.8rem;color:var(--muted)}
.audit-meta strong{display:block;color:var(--ink);font-size:.85rem}
.audit-action{font-weight:700;margin-bottom:6px}
.audit-diff{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.audit-diff pre{margin:4px 0 0;padding:8px;background:var(--bg);border-radius:8px;font-size:.72rem;overflow:auto;max-height:140px}
.audit-before small{color:#b42318}.audit-after small{color:#067647}
@media (max-width:900px){
  .cockpit-grid{grid-template-columns:1fr}
  .audit-row,.audit-diff{grid-template-columns:1fr}
}

/* —— Saha / mağaza UX paketi —— */
.owner-badge{
  display:flex;gap:12px;align-items:flex-start;
  padding:12px 14px;border-radius:12px;
  background:linear-gradient(135deg,#EEF2FF 0%,#F8FAFC 100%);
  border:1px solid #C7D2FE;margin:12px 0;
}
.owner-badge p{margin:4px 0 0;font-size:.9rem;color:var(--muted)}
.owner-badge-sm{align-items:center;font-size:.85rem;padding:8px 10px}
.owner-badge-dot{
  width:10px;height:10px;border-radius:50%;flex-shrink:0;margin-top:5px;
  background:#4F46E5;box-shadow:0 0 0 4px rgba(79,70,229,.18);
}
.owner-badge-sm .owner-badge-dot{margin-top:0}
.portfolio-lock-card .owner-badge{margin-top:0}

.delivery-wa-banner{
  max-width:820px;margin:0 auto 14px;padding:14px 16px;border-radius:14px;
  background:linear-gradient(135deg,#ECFDF5 0%,#F0FDF4 100%);
  border:1px solid #6EE7B7;display:flex;flex-wrap:wrap;gap:12px;
  align-items:center;justify-content:space-between;
}
.delivery-wa-banner strong{display:block;color:#065F46}
.delivery-wa-banner span{color:#047857;font-size:.9rem}

.btn-wa-send{
  background:#16A34A!important;border-color:#15803D!important;color:#fff!important;
  font-weight:700;
}
.btn-wa-send:hover{filter:brightness(1.05)}
.btn-wa-icon-only {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  line-height: 1;
}
.btn-wa-icon-only.is-icon-only {
  padding: 0.42rem 0.5rem;
  min-width: 2.35rem;
  min-height: 2.35rem;
}
.btn-sm.btn-wa-icon-only.is-icon-only {
  min-width: 2rem;
  min-height: 2rem;
  padding: 0.35rem 0.45rem;
}
.btn-fat.btn-wa-icon-only.is-icon-only {
  min-width: 2.5rem;
  min-height: 2.5rem;
  padding: 0.5rem 0.55rem;
}
.cqa-btn.cqa-wa.btn-wa-icon-only.is-icon-only {
  padding: 0.45rem 0.55rem;
}
.sched-cbar-wa.btn-wa-icon-only.is-icon-only {
  min-width: 2.25rem;
  min-height: 2.25rem;
  padding: 0.4rem;
}
.sched-ops-item.btn-wa-icon-only.is-icon-only {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 2.25rem;
  padding: 0.45rem 0.55rem;
}
.wa-icon {
  display: block;
  flex-shrink: 0;
}
.wa-btn-text {
  font-size: inherit;
  font-weight: inherit;
  white-space: nowrap;
}
.supply-ico-btn.is-wa.btn-wa-icon-only {
  color: #25D366;
}
.btn-onway{
  background:#0F766E!important;border-color:#0F766E!important;color:#fff!important;
  font-weight:600;
}

.live-ops-strip{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;
  margin:0 0 18px;
}
.live-ops-pill{
  display:flex;gap:10px;align-items:center;padding:12px 14px;
  border-radius:14px;text-decoration:none!important;color:var(--ink);
  background:var(--surface);border:1px solid var(--line);
  box-shadow:0 1px 2px rgba(15,23,42,.04);min-height:72px;
  transition:border-color .15s ease, transform .12s ease;
}
.live-ops-pill:hover{border-color:var(--accent);transform:translateY(-1px)}
.live-ops-pill strong{display:block;font-size:1.35rem;line-height:1.1;font-family:var(--display);font-weight:600}
.live-ops-pill span:last-child{font-size:.78rem;color:var(--muted);display:block;margin-top:2px}
.live-ops-pill.is-green{border-color:#A7F3D0;background:linear-gradient(180deg,#ECFDF5,#fff)}
.live-ops-pill.is-amber{border-color:#FDE68A;background:linear-gradient(180deg,#FFFBEB,#fff)}
.live-ops-pill.is-red{border-color:#FECACA;background:linear-gradient(180deg,#FEF2F2,#fff)}
.live-ops-pill.is-clock{border-color:#C7D2FE;background:linear-gradient(180deg,#EEF2FF,#fff)}
.live-ops-pill.is-purple{border-color:#DDD6FE;background:linear-gradient(180deg,#F5F3FF,#fff)}
.live-ops-dot{
  width:10px;height:10px;border-radius:50%;flex-shrink:0;
  background:var(--muted);
}
.live-ops-pill.is-green .live-ops-dot{background:var(--ok)}
.live-ops-pill.is-amber .live-ops-dot{background:var(--warn)}
.live-ops-pill.is-red .live-ops-dot{background:var(--danger)}
.live-ops-pill.is-clock .live-ops-dot{background:var(--accent)}
.live-ops-pill.is-purple .live-ops-dot{background:#7C3AED}

.search-field{position:relative}
.search-hero .search-field .scan-trigger,
.search-field:not(.top-search-box) .scan-trigger{
  position:absolute;right:8px;top:50%;transform:translateY(-50%);
  width:36px;height:36px;border:0;border-radius:10px;cursor:pointer;
  background:color-mix(in srgb, var(--accent-soft) 70%, transparent);
  color:var(--ink);display:inline-flex;align-items:center;justify-content:center;
  z-index:2;
}
.search-hero .search-field .scan-trigger:hover,
.search-field:not(.top-search-box) .scan-trigger:hover{background:var(--accent-soft)}
.search-hero .search-field input[type="search"]{padding-right:46px}
@media (max-width:900px){
  .live-ops-strip{grid-template-columns:1fr 1fr}
  .scan-trigger{width:40px;height:40px}
}
@media (max-width:560px){
  .live-ops-strip{grid-template-columns:1fr}
}
@media print{
  .delivery-wa-banner,.scan-trigger{display:none!important}
}

/* Impersonate / hızlı rol test */
.impersonate-backdrop {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.4);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  z-index: 9998;
  pointer-events: auto;
}
body.impersonate-open { overflow: hidden; }
.impersonate-menu{position:relative;flex-shrink:0;z-index:120}
.impersonate-menu[open]{z-index:9999}
.impersonate-summary.topbar-icon-btn{
  list-style:none;
  font-size:1rem;
  font-weight:600;
}
.impersonate-summary::-webkit-details-marker{display:none}
.impersonate-label{display:none}
.impersonate-panel{
  position:absolute;right:0;top:calc(100% + 8px);z-index:9999;
  width:min(300px,86vw);max-height:70vh;overflow:auto;
  background:var(--surface);border:1px solid var(--line);border-radius:14px;
  box-shadow:0 16px 40px rgba(15,23,42,.22);padding:10px;
  filter:none;
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
}
.impersonate-panel.is-portaled {
  position: fixed;
  z-index: 10000;
  display: block;
  visibility: visible;
  pointer-events: auto;
}
.impersonate-panel-title{font-size:.78rem;font-weight:700;color:var(--muted);padding:4px 6px 8px}
.impersonate-item{
  display:flex;flex-direction:column;align-items:flex-start;gap:2px;width:100%;
  border:0;background:transparent;padding:8px 10px;border-radius:10px;
  cursor:pointer;text-align:left;font:inherit;color:inherit;
}
.impersonate-item:hover{background:var(--accent-soft)}
.impersonate-item small{color:var(--muted);font-size:.75rem}
.impersonate-banner{
  display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between;
  margin:0 0 12px;padding:16px;border-radius:16px;
  background:linear-gradient(135deg,#FEF3C7,#FFFBEB);border:1px solid #F59E0B;
  font-size:.9rem;
  filter:none;
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
}
.impersonate-banner-compact {
  gap: 8px 12px;
  padding: 12px 14px;
  border-radius: 14px;
  margin-bottom: 10px;
}
.impersonate-banner-body {
  display: grid;
  gap: 2px;
  flex: 1 1 auto;
  min-width: 0;
}
.impersonate-banner-body strong {
  font-size: 0.72rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #92400E;
}
.impersonate-banner-text {
  font-size: 0.8125rem;
  line-height: 1.35;
  color: #78350F;
}
.impersonate-banner-actions {
  display: flex;
  align-items: center;
  gap: 6px;
  flex: 0 0 auto;
}
.impersonate-banner-back {
  min-height: 36px;
  border-radius: 999px;
  font-weight: 650;
  white-space: nowrap;
}
.impersonate-banner-dismiss {
  flex: 0 0 auto;
  width: 32px;
  height: 32px;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.55);
  color: #92400E;
  font-size: 1.25rem;
  line-height: 1;
  cursor: pointer;
}
.impersonate-banner-dismiss:hover {
  background: rgba(255, 255, 255, 0.85);
}
.impersonate-banner.is-dismissed {
  display: none !important;
}
.impersonate-banner em{font-style:normal;font-weight:700}
@media (max-width:720px){
  .impersonate-label{display:none}
  .impersonate-panel{
    position:fixed;
    left:0;
    right:0;
    bottom:0;
    top:auto;
    width:100%;
    max-width:none;
    max-height:min(78vh, calc(100dvh - env(safe-area-inset-top, 0px) - 48px));
    margin:0;
    padding:24px 16px calc(20px + env(safe-area-inset-bottom, 0px));
    border-radius:24px 24px 0 0;
    border:0;
    border-top:1px solid #E5E7EB;
    box-shadow:0 -8px 32px rgba(15,23,42,.18);
    background:#fff;
    filter:none;
    backdrop-filter:none;
    -webkit-backdrop-filter:none;
    z-index:10000;
  }
  .impersonate-panel.is-portaled {
    z-index: 10000;
  }
  .impersonate-panel-title{
    font-size:.875rem;
    padding:0 4px 12px;
  }
  .impersonate-panel .btn{
    min-height:48px;
    border-radius:12px;
    font-weight:650;
  }
  .impersonate-item{
    padding:12px 14px;
    border-radius:12px;
    min-height:48px;
  }
  .impersonate-banner{
    padding:12px 14px;
    padding-top:max(12px, env(safe-area-inset-top, 0px));
    margin-top:0;
    margin-left: calc(-1 * var(--page-pad-x, 16px));
    margin-right: calc(-1 * var(--page-pad-x, 16px));
    border-radius:0 0 14px 14px;
  }
}

/* Tom Select — opak arka plan + katman (Bootstrap değişkenlerine bağımlı değil) */
.form-row .ts-wrapper,
.customer-pick-row .ts-wrapper{width:100%;position:relative}
.ts-wrapper.dropdown-active,
.form-row:has(.ts-wrapper.dropdown-active),
.customer-pick-row:has(.ts-wrapper.dropdown-active){z-index:40}
.ts-wrapper.single .ts-control,
.ts-wrapper.multi .ts-control{
  border:1px solid var(--line)!important;
  border-radius:12px!important;
  background:#fff!important;
  background:var(--surface,#fff)!important;
  min-height:44px;
  padding:8px 12px!important;
  box-shadow:0 1px 2px rgba(15,23,42,.03);
  color:var(--ink,#0f172a)!important;
}
.ts-wrapper.single.focus .ts-control,
.ts-wrapper.single .ts-control:focus-within,
.ts-wrapper.multi.focus .ts-control,
.ts-wrapper.multi .ts-control:focus-within{
  border-color:#A5B4FC!important;
  box-shadow:var(--focus-ring)!important;
}
.ts-dropdown{
  border:1px solid #E2E8F0!important;
  border:1px solid var(--line,#E2E8F0)!important;
  border-radius:8px!important;
  background:#fff!important;
  background:var(--surface,#fff)!important;
  color:var(--ink,#0f172a)!important;
  box-shadow:0 12px 32px rgba(15,23,42,.18)!important;
  z-index:10000!important;
  margin-top:4px!important;
  overflow:visible;
  min-width:12rem;
}
body > .ts-dropdown,
.ts-dropdown{
  position:absolute!important;
}
.ts-dropdown .ts-dropdown-content{
  background:#fff!important;
  background:var(--surface,#fff)!important;
  max-height:min(320px, 50vh)!important;
  overflow:auto!important;
  -webkit-overflow-scrolling:touch;
}
.ts-dropdown .option{
  padding:10px 12px;
  background:transparent;
  color:var(--ink,#0f172a)!important;
  line-height:1.35;
}
.ts-dropdown .option.active,
.ts-dropdown .active{
  background:var(--accent-soft,#EEF2FF)!important;
  color:var(--ink,#0f172a)!important;
}
.ts-dropdown .no-results{padding:12px;color:var(--muted);font-size:.9rem}
.ts-control input{font:inherit!important;color:var(--ink,#0f172a)!important}
/* Tek seçim — boş: placeholder solda; dolu: seçili metin solda, ok/clear sağda */
.ts-wrapper.single .ts-control {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  flex-wrap: nowrap !important;
  flex-direction: row !important;
  gap: 8px;
  cursor: pointer;
  padding-right: 36px !important;
  text-align: left !important;
  direction: ltr !important;
}
.ts-wrapper.single .ts-control::after {
  content: '';
  position: absolute;
  right: 14px;
  top: 50%;
  width: 10px;
  height: 10px;
  transform: translateY(-50%);
  opacity: 0.45;
  pointer-events: none;
  z-index: 1;
  background: center / contain no-repeat 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='%2364748b' d='M2.5 4.5 6 8l3.5-3.5'/%3E%3C/svg%3E");
}
.ts-wrapper.single:not(.has-items):not(.input-active):not(.dropdown-active) .ts-control::before {
  content: attr(data-placeholder);
  order: -1;
  flex: 1 1 auto;
  min-width: 0;
  color: var(--muted, #64748b);
  font-size: 0.95rem;
  font-weight: 500;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  pointer-events: none;
  text-align: left;
}
/* Arama input'u: yalnızca açılır liste / yazma sırasında görünür */
.ts-wrapper.single:not(.input-active):not(.dropdown-active) .ts-control > input,
.ts-wrapper.single.has-items:not(.dropdown-active) .ts-control > input {
  opacity: 0 !important;
  width: 0 !important;
  min-width: 0 !important;
  max-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  flex: 0 0 0 !important;
  position: absolute !important;
  left: 12px !important;
  right: auto !important;
  top: 50% !important;
  transform: translateY(-50%);
  pointer-events: none;
  caret-color: transparent;
}
.ts-wrapper.single:not(.has-items) .ts-control .item {
  display: none !important;
}
/* Seçili etiket: liste kapalıyken her zaman görünür (focus/blur beklemez) */
.ts-wrapper.single.has-items:not(.dropdown-active) .ts-control .item {
  display: block !important;
  position: relative !important;
  left: auto !important;
  right: auto !important;
  order: -1 !important;
  flex: 1 1 auto !important;
  align-self: center;
  min-width: 0;
  max-width: calc(100% - 8px);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  text-align: left !important;
  font-weight: 650;
  font-size: 0.95rem;
  line-height: 1.35;
  color: var(--ink, #0f172a) !important;
  background: transparent !important;
  border: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  margin-right: auto !important;
  float: none !important;
}
.ts-wrapper.single.input-active .ts-control::before,
.ts-wrapper.single.dropdown-active .ts-control::before {
  display: none;
}
.ts-wrapper.single.dropdown-active .ts-control > input,
.ts-wrapper.single.input-active:not(.has-items) .ts-control > input {
  opacity: 1 !important;
  position: static !important;
  transform: none !important;
  order: 0 !important;
  flex: 1 1 auto !important;
  width: auto !important;
  min-width: 4rem !important;
  max-width: 100% !important;
  pointer-events: auto;
  caret-color: auto;
  text-align: left !important;
}
.ts-wrapper.single.dropdown-active .ts-control,
.ts-wrapper.single.input-active:not(.has-items) .ts-control {
  cursor: text;
  padding-right: 12px !important;
}
.ts-wrapper.single.dropdown-active .ts-control::after,
.ts-wrapper.single.input-active:not(.has-items) .ts-control::after {
  display: none;
}
/* Yalnızca arama açıkken seçili chip gizlenir */
.ts-wrapper.single.dropdown-active .ts-control .item {
  display: none !important;
}
.ts-wrapper.plugin-clear_button.single.has-items:not(.dropdown-active) .ts-control {
  padding-right: 56px !important;
}
.ts-wrapper.plugin-clear_button.single .clear-button {
  position: absolute !important;
  right: 30px !important;
  left: auto !important;
  top: 50% !important;
  bottom: auto !important;
  transform: translateY(-50%);
  margin: 0 !important;
  opacity: 0.55;
  font-size: 1.15rem;
  line-height: 1;
  z-index: 2;
  float: none !important;
}
.ts-wrapper.plugin-clear_button.single.has-items:hover .clear-button,
.ts-wrapper.plugin-clear_button.single.has-items.focus .clear-button {
  opacity: 1;
}
/* Filo formu — marka / yıl seçimleri her zaman soldan hizalı */
.fleet-form .ts-wrapper.single .ts-control,
.fleet-form .ts-wrapper.single .ts-control .item,
.fleet-form .ts-wrapper.single .ts-control > input {
  text-align: left !important;
  direction: ltr !important;
}
.ts-wrapper.multi .ts-control{min-height:44px}
.ts-wrapper.multi .ts-control > div{
  background:var(--accent-soft,#EEF2FF)!important;
  border:0!important;
  border-radius:8px!important;
  color:var(--ink,#0f172a)!important;
  padding:4px 8px!important;
}

/* Hızlı müşteri / müşteri oluştur — ferah form */
.customer-pick-row{
  display:flex;gap:8px;align-items:stretch;width:100%;
  position:relative;
}
.customer-pick-row .ts-wrapper{flex:1;min-width:0}
.customer-pick-row select{flex:1;min-width:0}
.btn-quick-customer{
  flex:0 0 auto;white-space:nowrap;align-self:stretch;
  background:#4F46E5!important;border-color:#4338CA!important;color:#fff!important;
  font-weight:700;padding-left:14px;padding-right:14px;
}
.btn-quick-customer:hover{filter:brightness(1.06)}

.qc-form{
  display:flex;
  flex-direction:column;
  gap:12px;
}
.qc-form.form-grid{gap:12px}
.qc-grid-2{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:10px 12px;
  width:100%;
}
.qc-field{
  display:flex;
  flex-direction:column;
  gap:5px;
  min-width:0;
  overflow:hidden;
}
.qc-label{
  display:block;
  margin:0;
  font-size:.72rem;
  font-weight:750;
  letter-spacing:.04em;
  text-transform:uppercase;
  color:var(--muted,#64748b);
  line-height:1.25;
}
.qc-phone-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  min-width:0;
  width:100%;
}
.qc-phone-head .qc-label{
  flex:1 1 auto;
  min-width:0;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.qc-intl{
  display:inline-flex;
  align-items:center;
  gap:4px;
  flex:0 0 auto;
  max-width:48%;
  margin:0;
  padding:3px 9px;
  border-radius:999px;
  border:1px solid #e2e8f0;
  background:#fff;
  color:#64748b;
  font:inherit;
  font-size:.68rem;
  font-weight:600;
  line-height:1.2;
  cursor:pointer;
  user-select:none;
  white-space:nowrap;
  overflow:hidden;
  transition:background .15s ease, border-color .15s ease, color .15s ease;
  -webkit-appearance:none;
  appearance:none;
}
.qc-intl span{
  overflow:hidden;
  text-overflow:ellipsis;
}
.qc-intl:hover{
  color:#4338ca;
  border-color:#c7d2fe;
  background:#f8fafc;
}
.qc-intl.is-on,
.qc-intl[aria-pressed="true"],
.qc-intl:has(input:checked){
  color:#312e81;
  background:#eef2ff;
  border-color:#a5b4fc;
}
.qc-intl input{
  margin:0;
  width:12px;
  height:12px;
  accent-color:#4F46E5;
  flex-shrink:0;
}
/* Eski sınıf uyumu */
.phone-label-row{
  display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0;
}
.qc-input,
.qc-form input.qc-input,
.qc-form textarea.qc-input{
  width:100%;
  box-sizing:border-box;
  min-height:38px;
  height:38px;
  padding:8px 12px;
  border-radius:8px;
  border:1px solid var(--line,#e2e8f0);
  background:var(--surface,#fff);
  font-size:.9rem;
  line-height:1.35;
  resize:none;
}
.qc-textarea,
.qc-form textarea.qc-textarea{
  min-height:38px !important;
  height:38px !important;
  max-height:38px;
  resize:none !important;
  overflow:hidden;
  padding-top:8px;
  padding-bottom:8px;
}
.qc-form .qc-input:focus{
  outline:none;
  border-color:#818cf8;
  box-shadow:0 0 0 3px rgba(79,70,229,.15);
}
.qc-actions{
  display:flex;
  flex-direction:column;
  gap:8px;
  margin-top:4px;
  padding-top:12px;
  border-top:1px solid var(--line,#e2e8f0);
}
.qc-actions .btn,
.qc-btn-primary,
.qc-btn-secondary{
  width:100%;
  font-weight:600;
  justify-content:center;
}
body.qc-open{overflow:hidden}
.qc-modal{position:fixed;inset:0;z-index:1300;display:flex;align-items:flex-end;justify-content:center;padding:12px}
.qc-modal[hidden]{display:none!important}
.qc-backdrop{position:absolute;inset:0;background:rgba(15,23,42,.45)}
.qc-panel{
  position:relative;z-index:1;width:min(520px,100%);max-height:90vh;overflow:auto;
  background:var(--surface);border-radius:18px 18px 12px 12px;padding:22px 20px 20px;
  box-shadow:0 24px 60px rgba(0,0,0,.22);
}
.qc-close{
  position:absolute;top:10px;right:12px;border:0;background:transparent;
  font-size:1.6rem;line-height:1;cursor:pointer;color:var(--muted);
}
.ts-dropdown .create{
  color:#4F46E5;font-weight:700;padding:10px 12px;
  border-top:1px solid var(--line);
}
@media (min-width:720px){
  .qc-modal{align-items:center}
  .qc-panel{border-radius:16px}
}
@media (max-width:640px){
  .customer-pick-row{flex-direction:column}
  .btn-quick-customer{width:100%}
  .qc-grid-2{grid-template-columns:1fr;gap:16px}
  .qc-intl{max-width:none}
}

/* Kalem bazlı tedarikçi satırları (eski) */
.order-lines{display:flex;flex-direction:column;gap:10px}
.order-line{
  display:grid;grid-template-columns:minmax(0,1.4fr) minmax(180px,1fr) auto;
  gap:8px;align-items:start;padding:10px;border:1px solid var(--line);
  border-radius:12px;background:color-mix(in srgb, var(--surface) 92%, var(--accent-soft));
}
.order-line-product input,.order-line-supplier select{width:100%}
.order-line-remove{font-size:1.25rem;line-height:1;min-width:40px}
.order-line{position:relative}
.order-line:has(.ts-wrapper.dropdown-active){z-index:35}
@media (max-width:720px){
  .order-line{grid-template-columns:1fr; }
}

/* Tedarikçi grup repeater */
.supplier-groups{display:flex;flex-direction:column;gap:14px;overflow:visible}
.supplier-block{
  border:1px solid var(--line);
  border-radius:14px;
  padding:14px;
  background:linear-gradient(180deg, color-mix(in srgb, var(--surface) 92%, #EEF2FF), var(--surface));
  box-shadow:0 1px 2px rgba(15,23,42,.04);
  position:relative;
  overflow:visible !important;
  contain:none;
  z-index:1;
}
.supplier-block:has(.ts-wrapper.dropdown-active),
.supplier-block:has(.smart-rug-suggest:not([hidden])){
  z-index:100;
}
.supplier-block-head{
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  margin-bottom:12px;
  overflow:visible;
}
.supplier-block-fields{
  display:flex;
  flex-wrap:wrap;
  align-items:flex-end;
  gap:12px 14px;
  width:100%;
  margin-bottom:6px;
  box-sizing:border-box;
  position:relative;
  overflow:visible !important;
  z-index:2;
}
.supplier-block-fields:has(.ts-wrapper.dropdown-active){
  z-index:100;
}
.supplier-block-fields .form-row{
  margin:0;
  display:flex;
  flex-direction:column;
  gap:4px;
  min-width:0;
  position:relative;
  overflow:visible !important;
}
.supplier-block-fields .form-row > label{
  display:block;
  margin:0;
  font-size:.72rem;
  font-weight:650;
  color:#64748B;
  letter-spacing:.01em;
  line-height:1.2;
}
.supplier-block-cat{
  flex:0 0 168px;
  width:168px;
  max-width:100%;
}
.supplier-block-sup{
  flex:1 1 220px;
  min-width:0;
  position:relative;
  overflow:visible;
}
.supplier-block-sup .nss,
.supplier-block-sup .nss--group{
  width:100%;
  position:relative;
}
.supplier-block-sup .nss-search{
  min-height:40px;
  height:40px;
  padding:0 32px 0 10px !important;
  font-size:.84rem !important;
  font-weight:650 !important;
  border:1px solid #CBD5E1 !important;
  border-radius:8px !important;
  background:#fff !important;
  box-shadow:none !important;
}
.supplier-block-sup .nss.is-open .nss-search,
.supplier-block-sup .nss-search:focus{
  border-color:#818CF8 !important;
  box-shadow:0 0 0 3px rgba(99,102,241,.15) !important;
}
.supplier-block-sup .nss-list{
  z-index:10050;
}
/* Body portal dropdown (TomSelect dropdownParent=body) */
body > .ts-dropdown {
  z-index: 10050;
}
/* SSH drawer z-index 12000 — ekip listesi drawer'ın ÜSTÜNDE açılmalı */
body.ssh-drawer-open > .ts-dropdown,
body.ssh-drawer-open .ts-dropdown {
  z-index: 13050 !important;
}
/* Native select = Tom Select yüksekliği (40px) */
.supplier-block-fields .supplier-block-cat select,
.supplier-block-fields select[data-group-category]{
  width:100% !important;
  max-width:none !important;
  min-width:0 !important;
  flex:none !important;
  height:40px !important;
  min-height:40px !important;
  max-height:40px !important;
  padding:0 32px 0 10px !important;
  font-size:.84rem !important;
  font-weight:650 !important;
  line-height:1.25 !important;
  border:1px solid #CBD5E1 !important;
  border-radius:8px !important;
  background-color:#fff !important;
  box-shadow:none !important;
  box-sizing:border-box !important;
  -webkit-appearance:none;
  appearance:none;
  background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2364748B' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:right 10px center;
  background-size:12px;
  cursor:pointer;
  color:#0F172A;
}
.supplier-block-fields .supplier-block-cat select:focus,
.supplier-block-fields select[data-group-category]:focus{
  outline:none;
  border-color:#818CF8 !important;
  box-shadow:0 0 0 3px rgba(99,102,241,.15) !important;
}
/* Tom Select — aynı 40px kutu; dropdown parent overflow kesmesin */
.supplier-block-fields .ts-wrapper,
.supplier-block-sup .ts-wrapper{
  width:100%;
  max-width:none;
  position:relative;
  overflow:visible;
}
.supplier-block-fields .ts-wrapper.single .ts-control,
.supplier-block-sup .ts-wrapper.single .ts-control{
  min-height:40px;
  height:40px;
  max-height:40px;
  padding:0 36px 0 10px;
  border-radius:8px;
  border-color:#CBD5E1;
  font-size:.84rem;
  line-height:1.25;
  box-shadow:none;
  box-sizing:border-box;
  cursor:text;
}
.supplier-block-fields .ts-wrapper.single .ts-control::after{
  right:12px;
}
.supplier-block-fields .ts-wrapper.single.has-items:not(.dropdown-active) .ts-control .item{
  font-size:.84rem;
  line-height:1.25;
  padding:0;
  margin:0;
}
.supplier-block-fields .ts-wrapper.single.focus .ts-control,
.supplier-block-fields .ts-wrapper.single .ts-control:focus-within{
  border-color:#818CF8;
  box-shadow:0 0 0 3px rgba(99,102,241,.15);
}
@media (max-width:720px){
  .supplier-block-fields{flex-direction:column;align-items:stretch}
  .supplier-block-cat{flex:1 1 auto;width:100%}
  .supplier-block-sup{flex:1 1 auto;width:100%}
}
.supplier-block-title{display:flex;align-items:center;gap:10px}
.supplier-block-num{
  display:inline-flex;align-items:center;justify-content:center;
  width:28px;height:28px;border-radius:9px;
  background:#4F46E5;color:#fff;font-weight:800;font-size:.85rem;
}
.supplier-block-label{font-weight:700;font-size:.95rem}
.supplier-block-items-label{
  display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;
  font-size:.78rem;font-weight:700;color:var(--muted);
  margin:12px 0 8px;letter-spacing:.01em;
}
.supplier-block-items{
  display:flex;flex-direction:column;gap:0;margin-bottom:10px;
  border:1px solid #E5E7EB;border-radius:10px;background:#fff;
  overflow:visible; /* autocomplete taşsın */
  min-height:0;
}
.supplier-block-items.is-empty{
  border-style:dashed;border-color:#E2E8F0;background:#FAFAFA;
  min-height:44px;
  overflow:hidden; /* boş durumda rounded köşe */
}
.supplier-block-items.is-empty::before{
  content:'Henüz ürün satırı yok — toplu giriş yapın veya alttan ekleyin';
  display:block;padding:12px 14px;font-size:.78rem;color:#94A3B8;font-style:italic;
}
.supplier-block-items > .group-item:first-child{
  border-radius:10px 10px 0 0;
}
.supplier-block-items > .group-item:last-child{
  border-radius:0 0 10px 10px;
}
.group-item{
  display:flex;align-items:center;gap:10px;
  padding:5px 10px;
  border-bottom:1px solid #F1F5F9;
  background:#fff;
  animation:groupItemIn .2s ease;
  min-height:0;
  width:100%;
  box-sizing:border-box;
  overflow:visible;
  position:relative;
}
.group-item:has(.smart-rug-suggest:not([hidden])){
  z-index:40;
}
.group-item:last-child{border-bottom:0}
.group-item input{width:100%;min-width:0}
.group-item-main{
  display:flex;flex-direction:column;gap:2px;
  flex:1 1 auto;
  width:100%;
  min-width:0;
  justify-content:center;
}
.group-item-product,
.group-item input.group-item-product{
  display:block;
  width:100% !important;
  max-width:none !important;
  flex:1 1 auto;
  min-width:0 !important;
  margin:0;
  height:36px !important;min-height:36px !important;max-height:36px !important;
  padding:6px 10px !important;line-height:1.25;
  border:1px solid #E2E8F0;border-radius:8px;background:#fff;
  font-size:.84rem !important;font-family:inherit;font-weight:500;
  box-sizing:border-box;color:#0F172A;
  transition:border-color .15s,box-shadow .15s;
}
.group-item-product:focus,
.group-item input.group-item-product:focus{
  outline:none;border-color:#3B82F6 !important;
  box-shadow:0 0 0 2px rgba(59,130,246,.18) !important;
}
/* .form-row input { max-width:280px } override — ürün adı tam satır */
.form-row .group-item input.group-item-product,
.form-row.supplier-groups-wrap .group-item-product,
.order-wizard-form .group-item-product,
.supplier-block-items .group-item-product,
.order-wizard-form input.group-item-product,
.supplier-block-items input.group-item-product{
  width:100% !important;
  max-width:none !important;
  flex:1 1 auto !important;
  min-width:0 !important;
  height:36px !important;min-height:36px !important;max-height:36px !important;
  font-size:.84rem !important;padding:6px 10px !important;
}
.order-wizard-form textarea.group-item-product{
  min-height:36px !important;height:36px !important;max-height:36px !important;
  width:100% !important;max-width:none !important;
}
.group-item-qty{
  flex:0 0 auto;
  text-align:center;font-weight:700;
  align-self:center;
}
.group-item-measures{
  flex:0 0 auto;
  display:flex;
  align-items:center;
  gap:6px;
  align-self:center;
  flex-shrink:0;
}
.group-item-measure{
  display:flex;
  flex-direction:column;
  gap:2px;
  margin:0;
  width:56px;
  flex:0 0 56px;
  min-width:56px;
  max-width:56px;
  box-sizing:border-box;
  justify-content:center;
}
.group-item-measure.group-item-m2-wrap{
  width:64px;
  flex:0 0 64px;
  min-width:64px;
  max-width:64px;
}
.group-item-measure > span{
  font-size:10px;
  font-weight:650;
  color:#94A3B8;
  letter-spacing:.06em;
  text-transform:uppercase;
  text-align:center;
  line-height:1;
  margin:0;
}
.group-item input.group-item-qty,
.group-item input.group-item-m2{
  flex:none !important;
  width:100% !important;
  min-width:0 !important;
  max-width:100% !important;
  height:36px !important;
  min-height:36px !important;
  max-height:36px !important;
  margin:0;
  padding:0 4px !important;
  box-sizing:border-box;
  border:1px solid #E2E8F0;
  border-radius:8px;
  background:#F8FAFC;
  text-align:center;
  font-size:.82rem !important;
  font-weight:750;
  color:#0F172A;
  line-height:1.2;
  -moz-appearance:textfield;
  appearance:textfield;
  box-shadow:none;
}
.group-item input.group-item-qty:focus,
.group-item input.group-item-m2:focus{
  outline:none;
  border-color:#3B82F6;
  background:#fff;
  box-shadow:0 0 0 2px rgba(59,130,246,.18);
}
.group-item input.group-item-qty::-webkit-outer-spin-button,
.group-item input.group-item-qty::-webkit-inner-spin-button,
.group-item input.group-item-m2::-webkit-outer-spin-button,
.group-item input.group-item-m2::-webkit-inner-spin-button{
  -webkit-appearance:none;
  margin:0;
}
.group-item-m2{
  /* class kept for JS hooks; sizing via input.group-item-m2 above */
}
.group-item-m2-wrap{display:none}
.supplier-block.is-carpet-group .group-item-m2-wrap,
.supplier-groups.is-hali-category .group-item-m2-wrap{
  display:flex;
}
.group-item:has(.group-item-main--rug){
  align-items:flex-start;
  gap:8px;
  padding:8px 10px;
}
.group-item:has(.group-item-main--rug) .group-item-remove{
  align-self:flex-start;
  margin-top:28px;
}
.group-item-remove{
  flex:0 0 32px;width:32px;height:32px;align-self:center;
  display:inline-flex;align-items:center;justify-content:center;
  border:0;border-radius:8px;background:transparent;
  color:#94A3B8;font-size:.9rem;line-height:1;cursor:pointer;
  transition:background .15s,color .15s;
}
.group-item-remove:hover{background:#FEE2E2;color:#DC2626}
.group-item-remove span{pointer-events:none}
.btn-add-supplier{
  margin-top:14px;width:100%;
  background:#F8FAFC!important;
  border:1.5px dashed #CBD5E1!important;
  color:#2563EB!important;
  font-weight:700;font-size:.9rem;
  padding:10px 14px;border-radius:10px;
  box-shadow:none!important;
}
.btn-add-supplier:hover{
  background:#EFF6FF!important;
  border-color:#93C5FD!important;
  color:#1D4ED8!important;
  filter:none;
}
.supplier-item-actions{
  display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px;
}
.supplier-item-count{
  margin-left:auto;font-size:.78rem;font-weight:700;color:#4F46E5;
  background:#EEF2FF;border:1px solid #C7D2FE;border-radius:999px;padding:3px 10px;
}
.supplier-bulk-entry{
  margin:8px 0 10px;padding:0;border-radius:10px;
  background:transparent;border:0;
}
.supplier-bulk-entry.is-open{
  padding:10px 12px;background:#F8FAFC;border:1px dashed #CBD5E1;
}
.supplier-bulk-toggle{
  display:inline-flex;align-items:center;gap:6px;
  width:100%;margin:0;padding:6px 2px;
  border:0;background:transparent;cursor:pointer;
  font-size:.8rem;font-weight:650;color:#4F46E5;
  text-align:left;line-height:1.3;
}
.supplier-bulk-toggle:hover{color:#3730A3}
.supplier-bulk-toggle-ico{
  display:inline-flex;align-items:center;justify-content:center;
  width:18px;height:18px;border-radius:5px;
  background:#EEF2FF;color:#4F46E5;font-size:.75rem;font-weight:800;
  flex:0 0 auto;
}
.supplier-bulk-toggle-hint{font-size:.72rem;font-weight:500}
.supplier-bulk-entry.is-open .supplier-bulk-toggle{margin-bottom:8px}
.supplier-bulk-panel{margin-top:2px}
.supplier-bulk-label{
  display:block;font-size:.78rem;font-weight:700;margin-bottom:6px;
}
.supplier-bulk-text{
  width:100%;min-height:72px;resize:vertical;
  font-size:.84rem;line-height:1.45;padding:8px 10px;border-radius:8px;
  border:1px solid #E2E8F0;background:#fff;
  transition:border-color .15s,box-shadow .15s;
}
.supplier-bulk-text:focus{
  outline:none;border-color:#818CF8;box-shadow:0 0 0 3px rgba(99,102,241,.15);
}
.supplier-bulk-actions{
  display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px;
}
.supplier-bulk-hint{font-size:.72rem}
.apply-bulk-items{
  font-weight:700!important;
  box-shadow:0 1px 3px rgba(79,70,229,.25)!important;
}
.apply-bulk-items.is-applied{
  animation:bulkApplyPulse .55s ease;
}
@keyframes bulkApplyPulse{
  0%,100%{opacity:1;transform:none}
  40%{opacity:.72;transform:scale(.97)}
}
@keyframes groupItemIn{
  from{opacity:0;transform:translateY(-4px)}
  to{opacity:1;transform:none}
}

/* Akıllı tedarikçi öneri rozeti */
.smart-supplier-hint{
  display:flex;flex-wrap:wrap;align-items:center;gap:8px;
  padding:8px 10px;border-radius:10px;
  background:linear-gradient(135deg,#EEF2FF,#E0E7FF);
  border:1px solid #C7D2FE;
  box-shadow:0 0 0 1px rgba(79,70,229,.08), 0 6px 16px rgba(79,70,229,.12);
  animation:smartHintIn .22s ease;
}
.smart-supplier-hint[hidden]{display:none!important}
.smart-hint-icon{color:#4F46E5;font-weight:800}
.smart-hint-text{font-size:.82rem;color:#312E81;flex:1;min-width:140px}
.smart-hint-text em{font-style:normal;color:#6366F1;font-weight:700}
.smart-hint-apply{
  background:#4F46E5!important;border-color:#4338CA!important;color:#fff!important;
  font-weight:700;padding:4px 10px!important;font-size:.78rem!important;
}
.supplier-block-suggested{
  outline:2px solid #34D399;
  outline-offset:2px;
  transition:outline-color .35s ease, box-shadow .35s ease;
  box-shadow:0 0 0 4px rgba(16,185,129,.12);
}
.supplier-block-sup.is-autofilled .nss-search,
.supplier-block-sup.is-autofilled select{
  background:#ECFDF5 !important;
  border-color:#6EE7B7 !important;
  box-shadow:0 0 0 3px rgba(16,185,129,.2) !important;
  transition:background .45s ease, border-color .45s ease, box-shadow .45s ease;
}
.order-ajax-toast{
  position:fixed;
  bottom:24px;
  left:50%;
  transform:translateX(-50%);
  z-index:13000;
  max-width:min(520px,92vw);
  padding:12px 16px;
  border-radius:12px;
  font-weight:700;
  font-size:.88rem;
  line-height:1.35;
  box-shadow:0 10px 28px rgba(15,23,42,.18);
  text-align:center;
}
.order-ajax-toast.is-ok{
  background:#ECFDF5;
  color:#065F46;
  border:1px solid #A7F3D0;
}
.order-ajax-toast.is-err{
  background:#FEF2F2;
  color:#991B1B;
  border:1px solid #FECACA;
}
@keyframes smartHintIn{
  from{opacity:0;transform:translateY(-4px)}
  to{opacity:1;transform:translateY(0)}
}

/* Sipariş detay: tedarikçi grup kartları */
.supplier-item-groups{display:flex;flex-direction:column;gap:16px}
.supplier-item-card{
  border:1px solid var(--line);border-radius:14px;overflow:hidden;
  background:var(--surface);
}
.supplier-orphan-hint{
  margin:0 12px 10px;
  padding:8px 10px;
  border-radius:8px;
  background:#FFF7ED;
  border:1px solid #FED7AA;
  color:#9A3412;
  font-size:.82rem;
}
.item-line.is-editing{
  outline:2px solid #A78BFA;
  outline-offset:2px;
  border-radius:8px;
}
.item-line.is-saved-flash{
  animation: itemSavedFlash .9s ease;
}
@keyframes itemSavedFlash{
  0%{ background:#ECFDF5; }
  100%{ background:transparent; }
}
.supplier-item-card-head{
  display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;
  padding:12px 14px;
  background:linear-gradient(90deg, #EEF2FF, color-mix(in srgb, var(--surface) 85%, #EEF2FF));
  border-bottom:1px solid var(--line);
}
.supplier-item-card-head h3{
  margin:0;font-size:1rem;font-weight:800;font-family:var(--display);
}
.supplier-item-card-head .muted{font-size:.8rem}
.supplier-item-card-tools{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.supplier-card-link{
  color:inherit;text-decoration:none;border-bottom:2px solid color-mix(in srgb, var(--accent, #2563eb) 45%, transparent);
}
.supplier-card-link:hover{border-bottom-color:var(--accent, #2563eb);color:var(--accent, #2563eb)}

/* Tedarikçi dizin (liste) */
.sup-dir{display:flex;flex-direction:column;gap:16px;margin-bottom:40px}
.sup-dir-hero{
  display:flex;justify-content:space-between;align-items:flex-start;gap:18px;flex-wrap:wrap;
  padding:18px 20px;border:1px solid var(--line);border-radius:16px;
  background:linear-gradient(135deg, color-mix(in srgb, var(--surface) 86%, #e0f2fe), var(--surface));
}
.sup-dir-kicker{margin:0 0 4px;font-size:.7rem;font-weight:750;letter-spacing:.07em;text-transform:uppercase;color:var(--muted)}
.sup-dir-title{margin:0;font-size:1.55rem;font-family:var(--display);line-height:1.15;letter-spacing:-.02em;color:#0F172A}
.sup-dir-sub{margin:6px 0 0;font-size:.9rem;max-width:42ch}
.sup-dir-kpis{display:flex;flex-wrap:wrap;gap:8px}
.sup-dir-kpi{
  min-width:76px;padding:10px 12px;border-radius:12px;border:1px solid var(--line);
  background:var(--surface);display:flex;flex-direction:column;gap:2px;
}
.sup-dir-kpi strong{font-size:1.35rem;font-weight:800;line-height:1;font-family:var(--display);color:#0F172A}
.sup-dir-kpi span{font-size:.7rem;font-weight:650;color:var(--muted)}
.sup-dir-kpi.is-ok{border-color:#86efac;background:color-mix(in srgb,#dcfce7 55%,var(--surface))}
.sup-dir-kpi.is-warn{border-color:#fcd34d;background:color-mix(in srgb,#fef3c7 55%,var(--surface))}

.sup-dir-toolbar{
  display:flex;flex-wrap:wrap;align-items:center;gap:10px 12px;
  padding:12px 14px;border:1px solid var(--line);border-radius:14px;background:var(--surface);
}
.sup-dir-tabs{display:flex;flex-wrap:wrap;gap:6px}
.sup-dir-tab{
  display:inline-flex;align-items:center;padding:7px 12px;border-radius:999px;
  border:1px solid var(--line);background:#F8FAFC;color:#334155;text-decoration:none;
  font-weight:700;font-size:.8rem;
}
.sup-dir-tab.is-active{background:#0F172A;border-color:#0F172A;color:#fff}
.sup-dir-search{display:flex;flex-wrap:wrap;gap:8px;align-items:center;flex:1 1 260px}
.sup-dir-search input[type="search"],
.sup-dir-search select{
  min-width:0;flex:1 1 140px;max-width:240px;height:36px;padding:0 10px;
  border:1px solid var(--line);border-radius:10px;background:#fff;font-size:.88rem;
}

.sup-dir-layout{display:grid;gap:16px}
.sup-dir-layout.has-form{grid-template-columns:minmax(280px,360px) minmax(0,1fr)}
.sup-dir-layout.list-only{grid-template-columns:1fr}
@media (max-width:960px){
  .sup-dir-layout.has-form{grid-template-columns:1fr}
}

.sup-dir-form-card{align-self:start}
.sup-dir-form-head{
  display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px;
}
.sup-dir-form-head h2{margin:0;font-size:1.15rem}
.sup-dir-form{margin-top:4px}
.sup-dir-form-actions{display:flex;flex-wrap:wrap;gap:8px}
.sup-category-select,
.sup-dir-form .form-row select.sup-category-select{
  height:44px;padding:0 14px;border-radius:12px;border:1px solid #e2e8f0;
  background:#f8fafc;font-size:.92rem;color:#0f172a;
}
.sup-category-select:focus{
  outline:none;border-color:#3b82f6;background:#fff;
  box-shadow:0 0 0 3px rgba(59,130,246,.18);
}
.sup-cat-badge{
  display:inline-flex;align-items:center;padding:1px 7px;border-radius:6px;
  font-size:.68rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;
  margin-right:6px;
}
.sup-cat-mobilya{background:#f1f5f9;color:#475569}
.sup-cat-hali{background:#fef3c7;color:#92400e}
.sup-cat-avize{background:#ede9fe;color:#5b21b6}
.sup-dir-danger{
  display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;
  margin-top:16px;padding:12px 14px;border:1px solid #FECACA;border-radius:12px;
  background:linear-gradient(180deg,#FEF2F2 0%,#FFF 100%);
}
.sup-dir-danger strong{display:block;color:#991B1B;font-size:.88rem;margin-bottom:2px}
.sup-dir-danger p{margin:0;font-size:.78rem}

.sup-dir-list-head{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;margin-bottom:14px}
.sup-dir-list-title{margin:0;font-size:1.1rem;font-weight:750;color:#0F172A}
.sup-dir-list-sub{margin:4px 0 0;font-size:.8rem}
.sup-dir-empty{
  padding:28px 16px;text-align:center;border:1px dashed #E2E8F0;border-radius:14px;background:#F8FAFC;
}

.sup-roster{display:flex;flex-direction:column;gap:8px}
.sup-dir-city-group{
  margin:14px 0 4px;padding:6px 2px;
  font-size:.82rem;font-weight:750;letter-spacing:.04em;color:#0F172A;
  border-bottom:1px solid var(--line,#E2E8F0);
}
.sup-dir-city-group:first-child{margin-top:0}
.sup-row{
  display:flex;align-items:center;justify-content:space-between;gap:14px;
  padding:12px 14px;border:1px solid #E8EEF5;border-radius:14px;
  background:linear-gradient(180deg,#FFF 0%,#FCFDFE 100%);
  box-shadow:0 1px 2px rgba(15,23,42,.04);
  transition:border-color .15s ease, box-shadow .15s ease;
}
.sup-row:hover{border-color:#CBD5E1;box-shadow:0 8px 22px rgba(15,23,42,.06)}
.sup-row.is-selected{border-color:#94A3B8;box-shadow:0 0 0 3px rgba(15,23,42,.06)}
.sup-row.is-passive{opacity:.78;background:#F8FAFC}
.sup-row-main{
  display:grid;grid-template-columns:minmax(160px,1.6fr) auto auto;gap:12px 18px;align-items:center;
  flex:1 1 auto;min-width:0;
}
.sup-row-identity{min-width:0}
.sup-row-name{margin:0;font-size:.98rem;font-weight:750;line-height:1.25}
.sup-row-name a{color:#0F172A;text-decoration:none}
.sup-row-name a:hover{color:var(--accent,#2563eb)}
.sup-row-meta{margin:3px 0 0;font-size:.8rem;color:#64748B;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sup-dot{opacity:.55;margin:0 2px}
.sup-row-notes{margin:4px 0 0;font-size:.75rem;line-height:1.35}
.sup-row-load{display:flex;flex-direction:column;gap:3px;align-items:flex-start}
.sup-load-chip{
  display:inline-flex;align-items:center;padding:3px 9px;border-radius:999px;
  font-size:.72rem;font-weight:750;background:#F1F5F9;color:#475569;border:1px solid #E2E8F0;
}
.sup-load-chip.is-hot{background:#FEF3C7;color:#B45309;border-color:#FDE68A}
.sup-load-total{font-size:.68rem;font-weight:600}
.sup-status{
  display:inline-flex;align-items:center;padding:4px 10px;border-radius:999px;
  font-size:.72rem;font-weight:750;white-space:nowrap;
}
.sup-status.is-active{background:#DCFCE7;color:#166534;border:1px solid #BBF7D0}
.sup-status.is-passive{background:#F1F5F9;color:#64748B;border:1px solid #E2E8F0}
.sup-row-actions{display:flex;flex-wrap:wrap;gap:6px;align-items:center;justify-content:flex-end;flex:0 0 auto}
.sup-inline-form{display:inline}
@media (max-width:720px){
  .sup-row{flex-direction:column;align-items:stretch}
  .sup-row-main{grid-template-columns:1fr 1fr;gap:10px}
  .sup-row-identity{grid-column:1 / -1}
  .sup-row-actions{
    justify-content:flex-start;padding-top:10px;border-top:1px solid #F1F5F9;
  }
  .sup-dir-hero{padding:14px}
  .sup-dir-title{font-size:1.28rem}
}

/* Tedarikçi kartı / kokpit */
.supplier-page{display:flex;flex-direction:column;gap:18px;margin-bottom:40px}
.supplier-hero{
  display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap;
  padding:18px 20px;border:1px solid var(--line);border-radius:16px;
  background:linear-gradient(135deg, color-mix(in srgb, var(--surface) 88%, #dbeafe), var(--surface));
}
.supplier-kicker{margin:0 0 4px;font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.supplier-hero h1{margin:0;font-size:1.55rem;font-family:var(--display);line-height:1.15}
.supplier-meta{margin:6px 0 0;color:var(--muted);font-size:.92rem}
.supplier-notes{margin:8px 0 0;max-width:52ch}
.supplier-hero-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.supplier-kpi-grid{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(128px,1fr));gap:10px;
}
.supplier-kpi{
  padding:14px 12px;border:1px solid var(--line);border-radius:14px;background:var(--surface);
  display:flex;flex-direction:column;gap:2px;min-height:88px;
}
.supplier-kpi strong{font-size:1.55rem;font-weight:800;line-height:1;font-family:var(--display)}
.supplier-kpi span{font-size:.78rem;color:var(--muted);font-weight:600}
.supplier-kpi small{font-size:.68rem;color:var(--muted);opacity:.85}
.supplier-kpi.is-warn{border-color:#fcd34d;background:color-mix(in srgb, #fef3c7 55%, var(--surface))}
.supplier-kpi.is-ok{border-color:#86efac;background:color-mix(in srgb, #dcfce7 50%, var(--surface))}
.supplier-kpi.is-danger{border-color:#fca5a5;background:color-mix(in srgb, #fee2e2 55%, var(--surface))}
.supplier-kpi.is-lead{border-color:#93c5fd;background:color-mix(in srgb, #dbeafe 45%, var(--surface))}
.supplier-status-card h2{margin:0 0 12px;font-size:1.05rem}
.supplier-status-bars{display:flex;flex-direction:column;gap:10px}
.supplier-status-row{display:grid;grid-template-columns:minmax(110px,140px) 1fr auto;gap:10px;align-items:center}
.supplier-bar-track{height:8px;border-radius:999px;background:color-mix(in srgb, var(--line) 70%, transparent);overflow:hidden}
.supplier-bar-fill{height:100%;border-radius:inherit;background:var(--accent, #2563eb)}
.supplier-tabs{display:flex;gap:8px;flex-wrap:wrap}
.supplier-tab{
  display:inline-flex;align-items:center;padding:8px 14px;border-radius:999px;
  border:1px solid var(--line);background:var(--surface);color:inherit;text-decoration:none;font-weight:650;font-size:.88rem;
}
.supplier-tab.is-active{background:var(--accent, #2563eb);border-color:var(--accent, #2563eb);color:#fff}
.supplier-items-table{width:100%;border-collapse:collapse}
.supplier-items-table th,.supplier-items-table td{padding:10px 8px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top;font-size:.9rem}
.supplier-items-table th{font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}
.supplier-open-table-head{
  display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:12px 16px;margin-bottom:12px;
}
.supplier-open-table-head h2{margin-bottom:4px}
.supplier-group-toggle{
  display:inline-flex;align-items:center;gap:8px;cursor:pointer;user-select:none;
  font-size:.82rem;font-weight:650;color:var(--ink, #1a1714);white-space:nowrap;
}
.supplier-group-toggle input{position:absolute;opacity:0;width:0;height:0;pointer-events:none}
.supplier-group-toggle-ui{
  position:relative;width:42px;height:24px;border-radius:999px;background:var(--line, #ddd);
  transition:background .2s ease;flex-shrink:0;
}
.supplier-group-toggle-ui::after{
  content:'';position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;
  background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.18);transition:transform .2s ease;
}
.supplier-group-toggle input:checked + .supplier-group-toggle-ui{background:var(--accent, #6366f1)}
.supplier-group-toggle input:checked + .supplier-group-toggle-ui::after{transform:translateX(18px)}
.supplier-sort-th{
  display:inline-flex;align-items:center;gap:4px;margin:0;padding:0;border:0;background:transparent;
  font:inherit;font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;color:inherit;
  cursor:pointer;transition:color .15s ease;
}
.supplier-sort-th:hover{color:var(--accent, #2563eb)}
.supplier-sort-icon{
  display:inline-flex;flex-direction:column;line-height:.55;font-size:.55rem;color:var(--muted, #cbd5e1);
  opacity:.45;transition:opacity .15s ease,color .15s ease;
}
.supplier-sort-icon::before{content:'▲'}
.supplier-sort-icon::after{content:'▼'}
.supplier-sort-th.is-active .supplier-sort-icon{opacity:1;color:var(--accent, #2563eb)}
.supplier-sort-th.is-active-asc .supplier-sort-icon::after{opacity:.25}
.supplier-sort-th.is-active-desc .supplier-sort-icon::before{opacity:.25}
.supplier-open-mobile-sort{
  display:none;flex-wrap:wrap;align-items:center;gap:6px;margin:0 0 12px;
}
.supplier-open-mobile-sort-label{font-size:.78rem;color:var(--muted);font-weight:650}
.supplier-sort-chip{
  padding:5px 10px;border:1px solid var(--line);border-radius:999px;background:var(--surface);
  font-size:.75rem;text-transform:none;letter-spacing:0;
}
.supplier-sort-chip.is-active{border-color:var(--accent, #6366f1);color:var(--accent, #6366f1);background:rgba(99,102,241,.06)}
@media (max-width:720px){
  .supplier-open-mobile-sort.mobile-only-flex{display:flex}
}
.supplier-city-group th{
  position:sticky;top:0;z-index:1;
  background:var(--bg, #f4f1ea);color:var(--ink, #1a1714);
  font-size:.82rem;letter-spacing:.06em;font-weight:750;padding:8px 10px;
  border-bottom:1px solid var(--line);text-transform:none;
}
.supplier-city-heading{
  margin:16px 0 8px;padding:6px 2px;
  font-size:.82rem;font-weight:750;letter-spacing:.04em;color:var(--ink, #1a1714);
  border-bottom:1px solid var(--line);
}
.supplier-city-heading:first-child{margin-top:0}
.supplier-item-del-form{display:inline-flex;margin:0}
.supplier-status-cell{min-width:11.5rem}
.supplier-status-cell .status-chip-select,
.supplier-page .m-card .status-chip-select{
  max-width:100%;min-width:9.5rem;font-size:.78rem;padding:4px 8px;
}
@media (max-width:720px){
  .supplier-hero{padding:14px}
  .supplier-hero h1{font-size:1.28rem}
  .supplier-status-row{grid-template-columns:1fr auto;gap:6px}
  .supplier-status-row .badge{grid-column:1 / -1}
  .supplier-bar-track{grid-column:1}
}
.supplier-item-card .item-line{
  border:0;border-radius:0;border-bottom:1px solid var(--line);
  background:transparent;
}
.supplier-item-card .item-line:last-child{border-bottom:0}
.item-line-meta{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:6px 8px;
  margin-top:4px;
}
.item-line-status-col{
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:6px;
  flex:0 0 auto;
}
.item-depo-chip{
  font-size:.72rem !important;
  font-weight:650 !important;
  letter-spacing:.01em;
  white-space:nowrap;
}
@media (max-width:720px){
  .item-line-status-col{align-items:flex-start;margin-top:6px}
}
.item-qty-badge{
  display:inline-flex;align-items:center;justify-content:center;
  min-width:2rem;padding:2px 8px;margin-right:8px;
  border-radius:8px;background:#EEF2FF;color:#3730A3;
  font-weight:800;font-size:.8rem;
}
@media (max-width:640px){
  .group-item{gap:8px;padding:5px 8px}
}






/* Teyit motoru */
.btn-wa-confirm{
  background:#16A34A!important;border-color:#15803D!important;color:#fff!important;font-weight:700;
}
.btn-confirm-yes{
  background:#059669!important;border-color:#047857!important;color:#fff!important;font-weight:700;
}
.btn-confirm-no{
  background:#FEF3C7!important;border-color:#F59E0B!important;color:#92400E!important;font-weight:700;
  list-style:none;cursor:pointer;display:inline-block;
}
.btn-confirm-nav{
  background:#EEF2FF!important;border-color:#A5B4FC!important;color:#3730A3!important;font-weight:700;
}
.badge-onway{
  background:#DBEAFE!important;color:#1D4ED8!important;font-weight:700;
}
.confirm-actions{
  display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:10px;
}
.confirm-postpone{display:inline-block}
.confirm-postpone > summary{list-style:none}
.confirm-postpone-form{
  display:grid;gap:6px;margin-top:8px;padding:10px;border:1px solid var(--line);
  border-radius:10px;background:var(--bg);max-width:320px;
}
.confirm-row.confirm-teyit_edildi{border-left:4px solid #059669}
.confirm-row.confirm-ertelendi{border-left:4px solid #F59E0B;opacity:.85}
.confirm-row.confirm-bekliyor{border-left:4px solid #6366F1}
.chip-row{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.onway-flash{outline:2px solid #3B82F6;outline-offset:2px}

/* Tahsilat uyarısı */
.collect-alert{
  margin:12px 0;padding:12px 14px;border-radius:12px;display:flex;flex-direction:column;gap:4px;
  font-size:.9rem;
}
.collect-alert strong{font-size:1rem}
.collect-alert-cta{
  display:inline-flex;align-items:center;gap:4px;margin-top:2px;
  font-weight:700;color:var(--accent,#1E4A6E);text-decoration:none;min-height:40px;
}
.collect-alert-cta:hover{text-decoration:underline}
.fin-plan-readonly-list{
  list-style:none;margin:8px 0 0;padding:0;display:grid;gap:8px;
}
.fin-plan-readonly-list li{
  display:flex;justify-content:space-between;gap:12px;align-items:baseline;
  padding:10px 12px;border:1px solid var(--line,#E2E8F0);border-radius:10px;background:#F8FAFC;
}
.fin-plan-readonly-list li strong{white-space:nowrap}
.collect-due{
  background:linear-gradient(135deg,#FEF3C7,#FFF7ED);border:2px solid #F59E0B;color:#92400E;
}
.collect-ok{
  background:linear-gradient(135deg,#D1FAE5,#ECFDF5);border:2px solid #10B981;color:#065F46;
}
.collect-unknown{
  background:#F1F5F9;border:1px dashed #94A3B8;color:#475569;
}

.order-finance-box {
  margin: 12px 0 4px;
  padding: 14px 16px 12px;
  border-radius: 12px;
  border: 1px solid #E2E8F0;
  background:
    linear-gradient(180deg, #FAFBFC 0%, #fff 48%);
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
  max-width: 36rem;
}
.order-finance-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 12px;
  padding-bottom: 10px;
  border-bottom: 1px solid #EEF2F7;
}
.order-finance-title {
  margin: 0;
  font-size: 0.92rem;
  font-weight: 750;
  letter-spacing: -0.02em;
  color: #0F172A;
}
.order-finance-hint {
  margin: 3px 0 0;
  font-size: 0.72rem;
  line-height: 1.35;
  max-width: 42ch;
  color: #64748B;
}
.order-finance-top {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px 14px;
  margin-bottom: 10px;
}
.order-finance-box .form-row { margin-bottom: 0; }
.order-finance-box .form-row label {
  font-size: 0.65rem;
  font-weight: 750;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: #94A3B8;
  margin-bottom: 4px;
}
.order-finance-box .form-row input,
.order-finance-box .form-row select {
  min-height: 38px;
  height: 38px;
  font-size: 0.9rem;
  border-radius: 8px;
  padding: 6px 10px;
}
.order-finance-box .fin-field-total .smart-money-hint,
.order-finance-box .fin-amt-cell .smart-money-hint,
.order-finance-box .smart-money-hint {
  display: none !important;
}
.order-finance-box .form-row small.muted {
  display: block;
  margin-top: 2px;
  font-size: .7rem;
}
.fin-input-affix {
  display: flex;
  align-items: center;
  gap: 0;
  border: 1px solid var(--line, #E2E8F0);
  border-radius: 8px;
  background: #fff;
  overflow: hidden;
}
.fin-input-affix input {
  border: 0 !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  flex: 1 1 auto;
  min-width: 0;
  font-weight: 750;
  font-variant-numeric: tabular-nums;
}
.fin-input-affix span {
  flex: 0 0 auto;
  padding: 0 10px;
  font-size: 0.8rem;
  font-weight: 700;
  color: #64748B;
  background: #F8FAFC;
  border-left: 1px solid #E2E8F0;
  line-height: 34px;
}
.fin-summary {
  display: flex;
  align-items: stretch;
  gap: 0;
  margin: 0 0 10px;
  padding: 0;
  border-radius: 8px;
  background: #fff;
  border: 1px solid #E2E8F0;
  overflow: hidden;
}
.fin-summary-item {
  flex: 1 1 0;
  background: transparent;
  border: 0;
  border-right: 1px solid #E2E8F0;
  border-radius: 0;
  padding: 6px 10px;
  display: grid;
  gap: 1px;
  min-width: 0;
}
.fin-summary-item:last-child { border-right: 0; }
.fin-summary-item span {
  font-size: 0.6rem;
  font-weight: 750;
  color: #94A3B8;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}
.fin-summary-item strong {
  font-size: 0.88rem;
  font-weight: 800;
  color: #0F172A;
  font-variant-numeric: tabular-nums;
  line-height: 1.2;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.fin-summary-item.is-due {
  background: #FFFBEB;
}
.fin-summary-item.is-due strong { color: #B45309; }
.fin-summary-item.is-status strong {
  font-size: 0.72rem;
  font-weight: 700;
  white-space: normal;
  line-height: 1.25;
  color: #475569;
}
.fin-plan-head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 6px;
  margin-bottom: 6px;
}
.fin-plan-head > strong {
  font-size: 0.65rem;
  font-weight: 750;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: #94A3B8;
}
.fin-plan-add {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
}
.fin-add-chip {
  appearance: none;
  border: 1px solid #E2E8F0;
  background: #fff;
  color: #475569;
  border-radius: 6px;
  padding: 3px 8px;
  font-size: 0.68rem;
  font-weight: 700;
  cursor: pointer;
  line-height: 1.25;
}
.fin-add-chip:hover {
  border-color: #CBD5E1;
  background: #F8FAFC;
}
.fin-add-chip.is-accent {
  background: #0F172A;
  border-color: #0F172A;
  color: #fff;
}
.fin-add-chip.is-accent:hover {
  filter: brightness(1.08);
}
.fin-plan-table {
  border: 1px solid #E2E8F0;
  border-radius: 8px;
  overflow: hidden;
  background: #fff;
}
.fin-plan-cols {
  display: grid;
  grid-template-columns: 7.5rem minmax(0, 1fr) 5.5rem 1.75rem;
  gap: 6px;
  padding: 4px 8px;
  background: #F8FAFC;
  border-bottom: 1px solid #E2E8F0;
  font-size: 0.6rem;
  font-weight: 750;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: #94A3B8;
}
.fin-plan-rows {
  display: grid;
  gap: 0;
}
.fin-plan-row {
  display: grid;
  grid-template-columns: 7.5rem minmax(0, 1fr) 5.5rem 1.75rem;
  gap: 6px;
  align-items: center;
  padding: 3px 8px;
  min-height: 36px;
  background: #fff;
  border: 0;
  border-radius: 0;
  border-bottom: 1px solid #F1F5F9;
}
.fin-plan-row:last-child { border-bottom: 0; }
.fin-plan-row select,
.fin-plan-row input,
.fin-amt-cell input {
  margin: 0;
  min-height: 30px;
  height: 30px;
  font-size: 0.78rem;
  border-radius: 6px;
  padding: 2px 8px;
  background: #fff;
  border: 1px solid #E2E8F0;
  width: 100%;
  box-sizing: border-box;
}
.fin-amt-cell input,
.fin-input-affix input[data-fin-total] {
  font-variant-numeric: tabular-nums;
  text-align: right;
  font-weight: 750;
}
.fin-plan-row select:focus,
.fin-plan-row input:focus,
.fin-amt-cell input:focus {
  outline: none;
  border-color: #94A3B8;
  box-shadow: 0 0 0 2px rgba(148, 163, 184, 0.25);
}
.fin-amt-cell {
  position: relative;
  min-width: 0;
}
.fin-plan-row [data-fin-amount] {
  font-weight: 750;
  font-variant-numeric: tabular-nums;
  text-align: right;
  padding-right: 6px;
}
.fin-plan-row [data-fin-label] {
  min-width: 0;
}
.fin-plan-row .smart-money-hint {
  display: none !important;
}
.fin-row-remove {
  appearance: none;
  border: 0;
  background: transparent;
  color: #CBD5E1;
  width: 1.75rem;
  height: 1.75rem;
  border-radius: 6px;
  cursor: pointer;
  font-size: 0.8rem;
  line-height: 1;
  padding: 0;
  justify-self: center;
}
.fin-row-remove:hover {
  background: #FEE2E2;
  color: #B91C1C;
}
.fin-note-row {
  margin-top: 10px !important;
  padding-top: 8px;
  border-top: 1px solid #F1F5F9;
}
.order-wizard-panel .order-finance-box {
  max-width: 100%;
}
@media (max-width: 700px) {
  .order-finance-top { grid-template-columns: 1fr; }
  .fin-summary { flex-direction: column; }
  .fin-summary-item { border-right: 0; border-bottom: 1px solid #E2E8F0; }
  .fin-summary-item:last-child { border-bottom: 0; }
  .fin-plan-cols { display: none; }
  .fin-plan-row {
    grid-template-columns: 1fr 5.5rem 1.75rem;
    gap: 4px 6px;
    padding: 6px 8px;
  }
  .fin-plan-row select { grid-column: 1 / -1; }
  .fin-plan-row [data-fin-label] { grid-column: 1; }
  .fin-amt-cell { grid-column: 2; }
  .fin-row-remove { grid-column: 3; }
}

/* Kapıda tahsilat — saha */
.kapida-card{
  display:flex;gap:12px;align-items:flex-start;margin:10px 0 12px;padding:14px 16px;
  border-radius:14px;border:2px solid #DC2626;background:linear-gradient(135deg,#FEF2F2,#FFF7ED);
  color:#7F1D1D;box-shadow:0 6px 18px rgba(220,38,38,.12);
}
.kapida-card .kapida-ico{font-size:1.4rem;line-height:1}
.kapida-card strong{display:block;font-size:1.05rem;letter-spacing:.01em}
.kapida-card span{display:block;margin-top:4px;font-size:.88rem;opacity:.92}
.kapida-ok{border-color:#10B981;background:linear-gradient(135deg,#ECFDF5,#F0FDF4);color:#065F46}
.kapida-unknown{border-color:#94A3B8;border-style:dashed;background:#F8FAFC;color:#475569;box-shadow:none}

.order-photo-thumbs{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0}
.order-photo-thumb-wrap{position:relative;width:72px;height:72px}
.order-photo-thumb{
  display:block;width:72px;height:72px;border-radius:10px;overflow:hidden;
  border:1px solid var(--line);background:#fff;
}
.order-photo-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.order-photo-del{position:absolute;top:2px;right:2px;margin:0}
.order-photo-del-btn{
  width:22px;height:22px;border:0;border-radius:999px;background:rgba(15,23,42,.78);color:#fff;
  font-size:14px;line-height:1;cursor:pointer;padding:0;
}
.order-photo-del-btn:hover{background:#b91c1c}

/* Offline bant */
.offline-banner{
  position:sticky;top:0;z-index:5000;padding:10px 14px;text-align:center;font-weight:700;
  background:#B91C1C;color:#fff;box-shadow:0 4px 12px rgba(0,0,0,.2);
}
body.is-offline .btn[type=submit],body.is-offline button[type=submit]{opacity:.55}

.advanced-box{margin-top:10px;padding:8px 0;border-top:1px dashed var(--line)}
.advanced-box > summary{cursor:pointer;font-weight:700;color:var(--muted);font-size:.85rem;list-style:none}
.advanced-box > summary::-webkit-details-marker{display:none}

/* —— Sipariş detay: sade kurumsal düzen —— */
.order-page { display: grid; gap: 18px; }
.order-shell {
  display: grid;
  grid-template-columns: minmax(280px, 340px) minmax(0, 1fr);
  gap: 18px;
  align-items: start;
}
.order-sidebar {
  position: sticky;
  top: 12px;
  align-self: start;
  max-height: calc(100vh - 24px);
  overflow: auto;
  border-radius: 12px;
  padding: 16px 18px 18px;
}
.order-sidebar-head {
  display: grid;
  gap: 10px;
}
.order-sidebar-kicker {
  margin: 0;
  font-size: 0.76rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--muted);
  font-weight: 700;
}
.order-sidebar-name {
  margin: 0;
  font-family: var(--display);
  font-size: 1.25rem;
  font-weight: 700;
  letter-spacing: -0.03em;
}
.order-sidebar-name a { color: inherit; text-decoration: none; }
.order-sidebar-name a:hover { color: var(--accent); }
.order-sidebar-meta {
  margin: 0;
  color: var(--muted);
  font-size: 0.88rem;
  line-height: 1.45;
}
.order-sidebar-phones {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.order-sidebar-stats {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}
.order-sidebar-note { margin-top: 4px; }
.order-sidebar-actions { margin-top: 4px; }
.order-sidebar-more { margin-top: 0; }
.order-sidebar-form {
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px solid var(--line);
  display: grid;
  gap: 12px;
}
.order-sidebar-sales .sales-assign-row select {
  width: 100%;
  max-width: none;
  margin-top: 4px;
}
.order-sidebar-danger {
  width: 100%;
  margin-top: 8px;
}
.order-workspace {
  display: grid;
  gap: 12px;
  min-width: 0;
}
.order-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  padding: 4px;
  background: #F8FAFC;
  border: 1px solid var(--line);
  border-radius: 12px;
}
.order-tab {
  appearance: none;
  border: 0;
  background: transparent;
  color: #64748B;
  font: inherit;
  font-size: 0.82rem;
  font-weight: 650;
  padding: 9px 14px;
  border-radius: 9px;
  cursor: pointer;
  transition: background .15s ease, color .15s ease, box-shadow .15s ease;
}
.order-tab:hover {
  background: #fff;
  color: var(--ink);
}
.order-tab.is-active {
  background: #fff;
  color: var(--accent);
  box-shadow: 0 1px 3px rgba(15, 23, 42, 0.08);
}
.order-tab-panel {
  display: none;
  min-width: 0;
}
.order-tab-panel.is-active {
  display: block !important;
}
.order-tab-panel.is-active[hidden] {
  display: block !important;
}
.order-panel-nested {
  border-radius: 12px;
  padding: 16px 18px 18px;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
}
.order-tab-heading {
  margin: 0 0 14px;
  font-size: 1.05rem;
  font-weight: 700;
}
.order-fin-widgets {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin: 0 0 16px;
}
.order-fin-widget {
  padding: 12px 14px;
  border-radius: 12px;
  border: 1px solid var(--line);
  background: #F8FAFC;
  display: grid;
  gap: 4px;
}
.order-fin-widget span {
  font-size: 0.72rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: #64748B;
}
.order-fin-widget strong {
  font-size: 1.15rem;
  font-weight: 800;
  color: #0F172A;
  letter-spacing: -0.02em;
}
.order-fin-widget.is-total { background: #EEF2FF; border-color: #C7D2FE; }
.order-fin-widget.is-paid { background: #ECFDF5; border-color: #A7F3D0; }
.order-fin-widget.is-due { background: #FFFBEB; border-color: #FDE68A; }
.order-fin-widget.is-due strong { color: #B45309; }
.order-empty-state {
  display: grid;
  place-items: center;
  gap: 8px;
  padding: 36px 16px;
  text-align: center;
  color: #94A3B8;
}
.order-empty-ico { font-size: 1.8rem; line-height: 1; opacity: 0.85; }
.order-empty-state p {
  margin: 0;
  font-size: 0.92rem;
  font-weight: 650;
  color: #94A3B8;
}
.order-timeline {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 0;
}
.order-timeline-item {
  display: grid;
  grid-template-columns: 22px minmax(0, 1fr);
  gap: 12px;
  padding: 0 0 16px;
}
.order-timeline-item:last-child { padding-bottom: 0; }
.order-timeline-rail {
  position: relative;
  display: flex;
  justify-content: center;
}
.order-timeline-rail::before {
  content: '';
  position: absolute;
  top: 10px;
  bottom: -16px;
  left: 50%;
  width: 2px;
  transform: translateX(-50%);
  background: #E2E8F0;
}
.order-timeline-item:last-child .order-timeline-rail::before { display: none; }
.order-timeline-dot {
  position: relative;
  z-index: 1;
  width: 12px;
  height: 12px;
  margin-top: 4px;
  border-radius: 50%;
  background: #94A3B8;
  box-shadow: 0 0 0 3px #fff;
}
.order-timeline-item.is-ok .order-timeline-dot { background: #16A34A; }
.order-timeline-item.is-active .order-timeline-dot { background: #4F46E5; }
.order-timeline-item.is-muted .order-timeline-dot { background: #CBD5E1; }
.order-timeline-body {
  min-width: 0;
  padding: 10px 12px;
  border: 1px solid #E2E8F0;
  border-radius: 12px;
  background: #fff;
}
.order-timeline-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin-bottom: 4px;
}
.order-timeline-meta time {
  font-size: 0.82rem;
  font-weight: 700;
  color: #64748B;
}
.order-timeline-title {
  display: block;
  font-size: 0.95rem;
  margin-bottom: 2px;
}
.order-timeline-detail {
  margin: 0;
  font-size: 0.84rem;
  color: #64748B;
  line-height: 1.4;
}
.order-timeline-actions { margin-top: 8px; }
.order-photo-gallery {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}
.order-photo-thumb-wrap {
  position: relative;
  width: 112px;
}
.order-photo-actions {
  display: flex;
  gap: 4px;
  justify-content: center;
  margin-top: 4px;
}
.order-photo-action,
.order-photo-del-btn {
  appearance: none;
  border: 1px solid #E2E8F0;
  background: #fff;
  border-radius: 8px;
  width: 32px;
  height: 28px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  text-decoration: none;
  font-size: 0.8rem;
  color: #475569;
}
.order-upload-zone-modern,
.order-upload-zone {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
  padding: 22px 16px;
  min-height: 112px;
  border: 2px dashed #CBD5E1;
  border-radius: 14px;
  background: #F8FAFC;
  cursor: pointer;
  text-align: center;
  overflow: hidden;
  box-sizing: border-box;
}
.order-upload-zone-modern:hover,
.order-upload-zone:hover {
  border-color: #94A3B8;
  background: #F1F5F9;
}
@media (max-width: 720px) {
  .order-fin-widgets { grid-template-columns: 1fr; }
}
.order-cancel-modal-panel {
  width: min(520px, 100%);
}
@media (max-width: 1080px) {
  .order-shell {
    grid-template-columns: 1fr;
  }
  .order-sidebar {
    position: static;
    max-height: none;
    overflow: visible;
  }
}
.order-hero {
  display: grid;
  gap: 14px;
  padding: 20px 22px;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 16px;
}
.order-hero-top {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px 20px;
}
.order-hero-kicker {
  margin: 0 0 4px;
  font-size: 0.78rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--muted);
  font-weight: 700;
}
.order-hero h2 {
  margin: 0;
  font-family: var(--display);
  font-size: clamp(1.35rem, 2vw, 1.75rem);
  font-weight: 700;
  letter-spacing: -0.03em;
  color: var(--ink);
}
.order-hero h2 a { color: inherit; text-decoration: none; }
.order-hero h2 a:hover { color: var(--accent); }
.order-hero-meta {
  margin: 6px 0 0;
  color: var(--muted);
  font-size: 0.92rem;
  line-height: 1.45;
}
.order-ops-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 10px;
}
.order-meta-chip {
  display: inline-block;
  padding: 4px 10px;
  border-radius: 999px;
  background: #F1F5F9;
  border: 1px solid var(--line);
  color: #334155;
  font-size: 0.78rem;
  font-weight: 650;
}
.order-hero-stats {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.order-stat {
  min-width: 88px;
  padding: 10px 12px;
  border-radius: 12px;
  background: #F8FAFC;
  border: 1px solid var(--line);
  text-align: center;
}
.order-stat strong {
  display: block;
  font-family: var(--display);
  font-size: 1.25rem;
  font-weight: 750;
  letter-spacing: -0.03em;
  color: var(--ink);
}
.order-stat span {
  font-size: 0.72rem;
  font-weight: 650;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--muted);
}
.order-status-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}
.order-toolbar {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding-top: 4px;
  border-top: 1px solid var(--line);
}
.order-toolbar .btn { border-radius: 10px; }
.order-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr);
  gap: 18px;
  align-items: start;
}
@media (max-width: 980px) {
  .order-layout { grid-template-columns: 1fr; }
}
.order-panel {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 16px 18px 18px;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
}
.order-panel > h3 {
  margin: 0 0 14px;
  font-family: var(--display);
  font-size: 1.05rem;
  font-weight: 700;
  letter-spacing: -0.02em;
}
.order-contact {
  display: grid;
  gap: 8px;
  margin-bottom: 16px;
  padding-bottom: 14px;
  border-bottom: 1px solid var(--line);
  font-size: 0.92rem;
  color: var(--muted);
}
.order-contact a { font-weight: 600; }
.order-contact strong { color: var(--ink); font-weight: 650; }
.order-panel .form-grid { gap: 14px; }

/* Sipariş operasyon notu — sipariş ekranı + çizelge uyarı kutusu */
.order-field-note-wrap {
  grid-column: 1 / -1;
  width: 100%;
}
.order-field-note-wrap textarea,
.order-field-note-input {
  width: 100% !important;
  max-width: none !important;
  min-height: 96px;
  padding: 12px 14px;
  border: 1px solid #FDE68A;
  border-radius: 10px;
  background: #FFFBEB;
  color: #78350F;
  font-size: 0.92rem;
  line-height: 1.45;
  resize: vertical;
  box-shadow: inset 0 1px 2px rgba(245, 158, 11, 0.06);
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.order-field-note-input:focus {
  outline: none;
  border-color: #F59E0B;
  box-shadow: 0 0 0 3px rgba(245, 158, 11, 0.18);
}
.order-field-note-input::placeholder {
  color: #B45309;
  opacity: 0.55;
}
.order-field-note-hint {
  display: block;
  margin-top: 6px;
  font-size: 0.78rem;
  color: #94A3B8;
  font-style: italic;
  line-height: 1.4;
}
.order-field-note-wrap.is-readonly .sched-field-note {
  margin-top: 0;
}
.sched-field-note {
  margin-top: 8px;
  padding: 10px 12px 10px 14px;
  border: 1px solid #FDE68A;
  border-left: 4px solid #F59E0B;
  border-radius: 0 10px 10px 0;
  background: #FFFBEB;
}
.sched-field-note-head {
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #C2410C;
  margin-bottom: 6px;
}
.sched-field-note-body {
  font-size: 0.88rem;
  font-weight: 650;
  line-height: 1.45;
  color: #78350F;
  word-break: break-word;
}
.sched-field-note-body .ops-note-kw {
  color: #92400e;
  font-weight: 800;
}
.m-dispatch-card .sched-field-note,
.excel-stop-card .sched-field-note {
  margin-top: 10px;
  margin-bottom: 4px;
}
.m-dispatch-card .sched-field-note-body,
.excel-stop-card .sched-field-note-body {
  font-size: 0.92rem;
  font-weight: 700;
  color: #1f2937;
}
.sched-field-note--inline {
  margin-top: 0;
}
.sched-fabric-note {
  margin-top: 8px;
  padding: 10px 12px 10px 14px;
  border: 1px solid #FDBA74;
  border-left: 4px solid #EA580C;
  border-radius: 0 10px 10px 0;
  background: linear-gradient(180deg, #FFF7ED 0%, #FFEDD5 100%);
}
.sched-fabric-note-head {
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #C2410C;
  margin-bottom: 6px;
}
.sched-fabric-note-body {
  display: flex;
  flex-direction: column;
  gap: 6px;
  font-size: 0.86rem;
  font-weight: 650;
  line-height: 1.4;
  color: #7C2D12;
}
.sched-fabric-line {
  display: flex;
  gap: 8px;
  align-items: flex-start;
}
.sched-fabric-ico { flex: 0 0 auto; line-height: 1.35; }
.m-dispatch-card .sched-fabric-note,
.excel-stop-card .sched-fabric-note {
  margin-top: 10px;
  margin-bottom: 4px;
}

/* Sipariş: kumaş aktarım paneli */
.fabric-transfer-panel { margin-top: 14px; }
.fabric-transfer-head {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 12px;
}
.fabric-transfer-head h3 { margin: 0; font-size: 1.05rem; }
.fabric-transfer-hint { margin: 4px 0 0; font-size: .8rem; max-width: 52ch; }
.fabric-transfer-form {
  margin-bottom: 14px;
  padding: 12px 14px;
  border: 1px dashed #FDBA74;
  border-radius: 12px;
  background: #FFFBEB;
}
.fabric-transfer-empty { margin: 0; }
.fabric-transfer-list { display: flex; flex-direction: column; gap: 8px; }
.fabric-transfer-card {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 14px;
  border: 1px solid #FDBA74;
  border-radius: 12px;
  background: linear-gradient(135deg, #FFF7ED 0%, #FFFFFF 55%);
}
.fabric-transfer-card.is-done {
  border-color: #BBF7D0;
  background: linear-gradient(135deg, #F0FDF4 0%, #FFFFFF 55%);
  opacity: .92;
}
.fabric-transfer-pill {
  display: inline-flex;
  align-items: center;
  padding: 3px 9px;
  border-radius: 999px;
  font-size: .7rem;
  font-weight: 800;
  letter-spacing: .03em;
  text-transform: uppercase;
  background: #FFEDD5;
  color: #C2410C;
  border: 1px solid #FDBA74;
}
.fabric-transfer-card.is-done .fabric-transfer-pill {
  background: #DCFCE7;
  color: #166534;
  border-color: #86EFAC;
}
.fabric-transfer-text {
  margin: 8px 0 4px;
  font-size: .92rem;
  font-weight: 650;
  line-height: 1.4;
  color: #1F2937;
}
.fabric-transfer-status { margin: 0; font-size: .8rem; }
.fabric-transfer-card-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  align-items: center;
}
.fabric-inline-form { display: inline; }
.fabric-transfer-panel--wizard {
  margin: 0;
  padding: 0;
  border: 1px solid #FDBA74;
  border-radius: 10px;
  background: linear-gradient(180deg, #FFF7ED 0%, #FFFFFF 75%);
  overflow: hidden;
  align-self: stretch;
}
.fabric-transfer-panel--wizard.is-collapsed {
  background: #FFFBEB;
}
.fabric-transfer-panel--wizard[hidden] {
  display: none !important;
}
.fabric-transfer-compact {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 8px 10px;
  border: 0;
  background: transparent;
  cursor: pointer;
  text-align: left;
  font: inherit;
  color: inherit;
}
.fabric-transfer-compact:hover {
  background: rgba(251, 146, 60, 0.08);
}
.fabric-transfer-compact-main {
  display: flex;
  flex-direction: column;
  gap: 1px;
  min-width: 0;
}
.fabric-transfer-compact-main strong {
  font-size: 0.8rem;
  font-weight: 700;
  color: #9A3412;
}
.fabric-transfer-compact-hint {
  font-size: 0.7rem;
}
.fabric-transfer-compact-cta {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  padding: 4px 10px;
  border-radius: 999px;
  background: #0F172A;
  color: #fff;
  font-size: 0.72rem;
  font-weight: 700;
  white-space: nowrap;
}
.fabric-wizard-body {
  padding: 0 10px 10px;
  border-top: 1px dashed #FDBA74;
}
.fabric-transfer-panel--wizard .fabric-transfer-form {
  margin-top: 8px;
  margin-bottom: 8px;
}
.fabric-transfer-panel--wizard .fabric-transfer-hint {
  margin: 8px 0 0;
  font-size: 0.72rem;
}
.fabric-transfer-wizard-list {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-top: 6px;
}
.fabric-transfer-panel--wizard .fabric-transfer-empty {
  margin: 6px 0 0;
  font-size: 0.72rem;
}

/* Sipariş sihirbazı: termin + kumaş yan yana, upload altta */
.order-wizard-meta-grid {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 14px 20px;
  align-items: start;
  margin: 14px 0 12px;
}
.order-wizard-meta-grid.is-fabric-off {
  grid-template-columns: minmax(160px, 320px);
}
.order-wizard-meta-grid > .order-wizard-termin,
.order-wizard-meta-grid > #fabricTransfersWizard {
  min-width: 0;
  width: 100%;
}
.order-wizard-termin {
  margin: 0 !important;
}
.order-wizard-termin input[type="date"] {
  height: 36px !important;
  min-height: 36px !important;
  max-height: 36px !important;
  padding: 6px 10px !important;
  font-size: 0.84rem !important;
  border-radius: 8px;
  width: 100%;
  box-sizing: border-box;
}
.order-wizard-upload {
  margin: 0 0 6px !important;
  grid-column: 1 / -1;
}
.order-wizard-form .order-upload-zone-modern,
.order-upload-zone--compact,
.order-wizard-form .order-upload-zone-modern.order-upload-zone--compact {
  min-height: 64px !important;
  max-height: 80px !important;
  height: 72px !important;
  padding: 8px 12px !important;
  gap: 2px !important;
  border-radius: 10px !important;
  border-width: 1px !important;
}
.order-upload-zone--compact .order-upload-icon,
.order-wizard-form .order-upload-zone-modern .order-upload-icon {
  font-size: 1rem !important;
}
.order-upload-zone--compact .order-upload-title,
.order-wizard-form .order-upload-zone-modern .order-upload-title {
  font-size: 0.78rem !important;
  font-weight: 650 !important;
  color: #64748B !important;
}
.order-upload-zone--compact .order-upload-hint,
.order-wizard-form .order-upload-zone-modern .order-upload-hint {
  font-size: 0.66rem !important;
  font-weight: 500 !important;
  color: #94A3B8 !important;
}
@media (max-width: 720px) {
  .order-wizard-meta-grid,
  .order-wizard-meta-grid.is-fabric-off {
    grid-template-columns: 1fr;
  }
}
.order-panel .form-row label {
  font-size: 0.78rem;
  font-weight: 650;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  color: var(--muted);
}
.order-panel-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 4px;
}
.order-add-checks {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 18px;
  padding: 12px 14px;
  border-radius: 12px;
  background: #F8FAFC;
  border: 1px solid var(--line);
  font-size: 0.88rem;
}
.order-add-checks label {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 0;
  cursor: pointer;
}
.order-track-head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 12px;
}
.order-track-head h3 {
  margin: 0;
  font-family: var(--display);
  font-size: 1.05rem;
  font-weight: 700;
}
.ops-pills { gap: 6px; }
.ops-pill {
  border-radius: 999px;
  padding: 5px 10px;
  font-size: 0.78rem;
  font-weight: 650;
  letter-spacing: 0.01em;
}

/* —— Sipariş listesi —— */
.orders-page {
  display: grid;
  gap: 12px;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  overflow-x: hidden;
}
body.page-orders .main {
  overflow-x: hidden;
  max-width: 100vw;
  box-sizing: border-box;
}
body.page-orders .help-fab {
  display: none !important;
}
.orders-hero {
  display: grid;
  gap: 12px;
  padding: 0;
  margin: 0;
  background: transparent;
  border: 0;
  box-shadow: none;
}
.orders-hero-head {
  display: grid;
  gap: 4px;
  margin: 0;
}
.orders-hero-title-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}
.orders-help-link {
  flex: 0 0 auto;
  display: inline-grid;
  place-items: center;
  width: 20px;
  height: 20px;
  border-radius: 999px;
  border: 0;
  background: transparent;
  color: #9CA3AF;
  font-size: 0.8125rem;
  font-weight: 700;
  text-decoration: none;
  line-height: 1;
  transition: color .15s ease, background .15s ease;
}
.orders-help-link:hover,
.orders-help-link:focus {
  color: #4B5563;
  background: #F3F4F6;
}
.orders-hero-kicker {
  margin: 0;
  font-size: 0.65rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #94A3B8;
  font-weight: 750;
}
.orders-hero-title,
.orders-hero h2 {
  margin: 0;
  font-family: var(--display);
  font-size: 1.35rem;
  font-weight: 750;
  letter-spacing: -0.02em;
  color: #0F172A;
  line-height: 1.2;
  flex: 1 1 auto;
  min-width: 0;
}
.orders-hero-meta {
  margin: 2px 0 0;
  color: #64748B;
  font-size: 0.8125rem;
  line-height: 1.4;
  max-width: 48ch;
}
.orders-action-card {
  display: grid;
  gap: 12px;
  width: 100%;
  max-width: 100%;
  padding: 16px;
  margin: 0;
  border: 1px solid #F3F4F6;
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
  box-sizing: border-box;
  overflow: hidden;
}
.orders-new-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 100%;
  min-height: 48px;
  padding: 12px 16px;
  border-radius: 12px;
  border: 1px solid #C7D2FE;
  background: linear-gradient(180deg, #EEF2FF 0%, #E0E7FF 100%);
  color: #4338CA !important;
  font-size: 0.9375rem;
  font-weight: 650;
  text-decoration: none !important;
  box-shadow: 0 1px 2px rgba(67, 56, 202, 0.08);
}
.orders-new-btn:hover,
.orders-new-btn:focus {
  background: linear-gradient(180deg, #E0E7FF 0%, #C7D2FE 100%);
  color: #3730A3 !important;
}
.orders-filters {
  display: grid;
  gap: 12px;
  width: 100%;
  max-width: 100%;
  padding: 0;
  margin: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  box-sizing: border-box;
  overflow: hidden;
}
.orders-filter-field {
  display: grid;
  gap: 6px;
  width: 100%;
  min-width: 0;
}
.orders-filter-label {
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #9CA3AF;
  margin-left: 4px;
}
.orders-filters .orders-live-field {
  position: relative;
  width: 100%;
  max-width: none;
  min-width: 0;
}
.orders-filters input[type="search"],
.orders-filters select {
  width: 100%;
  min-width: 0;
  max-width: none;
  flex: none;
  border: 1px solid #E5E7EB;
  background: #F9FAFB;
  border-radius: 12px;
  padding: 0 14px 0 42px;
  min-height: 48px;
  height: 48px;
  font-size: 16px;
  color: #111827;
  box-sizing: border-box;
  transition: border-color .15s ease, box-shadow .15s ease, background .15s ease;
}
.orders-filters select {
  padding: 0 14px;
  appearance: auto;
  -webkit-appearance: menulist;
}
.orders-filters input[type="search"]:focus,
.orders-filters select:focus {
  outline: none;
  border-color: #3B82F6;
  background: #fff;
  box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.12);
}
.orders-filters .orders-live-field input[type="search"] {
  width: 100%;
  max-width: none;
  flex: none;
}
.orders-filter-btn,
.orders-filter-submit {
  width: 100%;
  min-height: 48px;
  height: auto;
  padding: 14px 16px;
  border-radius: 12px;
  font-size: 0.9375rem;
  font-weight: 650;
  border: 0;
  background: #1F2937;
  color: #fff;
  box-shadow: 0 1px 3px rgba(15, 23, 42, 0.18);
}
.orders-filter-submit:hover,
.orders-filter-submit:focus {
  background: #111827;
  color: #fff;
}
.orders-filter-clear {
  width: 100%;
  min-height: 44px;
  justify-content: center;
  text-align: center;
}
.orders-filter-count {
  margin: 0;
  font-size: 0.8125rem;
  font-weight: 600;
  color: #6B7280;
  white-space: nowrap;
  padding: 0 4px;
  text-align: left;
}
.orders-list-panel {
  background: #fff;
  border: 1px solid #E2E8F0;
  border-radius: 12px;
  padding: 12px 14px 14px;
}
.orders-list-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 10px;
}
.orders-list-head h3 {
  margin: 0;
  font-family: var(--display);
  font-size: 0.95rem;
  font-weight: 700;
}
.orders-table td { vertical-align: top; }
.orders-no {
  font-weight: 700;
  color: var(--ink);
  text-decoration: none;
}
.orders-no:hover { color: var(--accent); }
.orders-status-gap { margin-top: 4px; }
@media (max-width: 720px) {
  .orders-filter-count { margin-left: 0; width: 100%; }
}

/* —— Ortak ops kabuğu —— */
.inline-form { display: inline; margin: 0; }
.ops-page { display: grid; gap: 16px; }
.ops-hero {
  display: grid;
  gap: 14px;
  padding: 16px 18px;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
}
.ops-hero.is-nav-first {
  gap: 12px;
  padding: 0 0 14px;
  overflow-x: hidden;
  overflow-y: visible;
}
.ops-hero.is-nav-first > .module-tabs {
  margin: 0;
  padding: 8px 12px;
  gap: 8px;
  min-height: 52px;
  flex-wrap: nowrap;
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior-x: contain;
  touch-action: pan-x;
  scrollbar-width: none;
  -ms-overflow-style: none;
  border-bottom: 1px solid #E2E8F0;
  background: linear-gradient(180deg, #FFFFFF 0%, #F8FAFC 100%);
  align-items: center;
  box-sizing: border-box;
}
.ops-hero.is-nav-first > .module-tabs::-webkit-scrollbar {
  display: none;
  height: 0;
  width: 0;
}
.ops-hero.is-nav-first .module-tab {
  flex: 0 0 auto;
  padding: 10px 16px;
  margin-bottom: 0;
  border-bottom: 0;
  border-radius: 999px;
  color: #64748B;
  font-weight: 600;
  white-space: nowrap;
}
.ops-hero.is-nav-first .module-tab:hover {
  color: #0F172A;
  background: #F1F5F9;
}
.ops-hero.is-nav-first .module-tab.is-active {
  color: #fff;
  background: #2563EB;
  border-bottom-color: transparent;
  font-weight: 650;
  box-shadow: 0 2px 8px rgba(37, 99, 235, 0.28);
}
.ops-hero-body {
  display: grid;
  gap: 10px;
  padding: 0 14px;
}
.ops-hero-info {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  width: 100%;
  margin: 0;
  padding: 10px 12px;
  border-radius: 8px;
  border: 1px solid #DBEAFE;
  background: #EFF6FF;
  color: #1E3A8A;
  box-sizing: border-box;
}
.ops-hero-info-icon {
  flex: 0 0 auto;
  margin-top: 1px;
  font-size: 0.95rem;
  line-height: 1.3;
}
.ops-hero-info-text {
  margin: 0;
  flex: 1 1 auto;
  min-width: 0;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.45;
  color: #1E3A8A;
}
.ops-hero.is-nav-first > .page-toolbar {
  margin: 0 14px;
  padding-top: 0;
}
.ops-hero.is-nav-first .ops-hero-actions {
  justify-content: flex-start;
}
.ops-hero-top {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px 18px;
}
.ops-hero-eyebrow {
  margin: 0 0 4px;
  font-size: 0.72rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--muted);
  font-weight: 700;
}
.ops-hero-lead {
  margin: 0;
  color: var(--muted);
  font-size: 0.95rem;
  line-height: 1.45;
  max-width: 58ch;
}
.ops-hero-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}
.module-tabs {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: 8px;
  padding: 8px 0;
  margin: 0;
  min-height: 48px;
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior-x: contain;
  touch-action: pan-x;
  scrollbar-width: none;
  -ms-overflow-style: none;
  border-bottom: 1px solid var(--line);
  box-sizing: border-box;
}
.module-tabs::-webkit-scrollbar {
  display: none;
  height: 0;
  width: 0;
}
.module-tab {
  display: inline-flex;
  align-items: center;
  flex: 0 0 auto;
  padding: 10px 14px;
  margin-bottom: 0;
  border-radius: 999px;
  border: 0;
  background: transparent;
  color: #64748B;
  font-size: 0.88rem;
  font-weight: 650;
  text-decoration: none !important;
  white-space: nowrap;
  transition: color .15s ease, background-color .15s ease, box-shadow .15s ease;
}
.module-tab:hover {
  background: #F1F5F9;
  color: #0F172A;
}
.module-tab.is-active {
  background: #2563EB;
  color: #fff;
  box-shadow: 0 2px 8px rgba(37, 99, 235, 0.25);
}
.page-toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px 12px;
  padding-top: 12px;
  border-top: 1px solid var(--line);
}
.page-toolbar .filters,
.page-toolbar form.filters { margin: 0; }
.page-toolbar .day-chips {
  flex: 1 1 auto;
  margin: 0;
  padding: 0;
  border: 0;
}
.filter-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  flex: 1 1 auto;
}
.filter-tab {
  display: inline-flex;
  align-items: center;
  padding: 8px 12px;
  border-radius: 10px;
  border: 1px solid transparent;
  background: transparent;
  color: var(--muted);
  font-size: 0.86rem;
  font-weight: 650;
  text-decoration: none !important;
}
.filter-tab:hover { background: var(--accent-soft); color: var(--accent); }
.filter-tab.is-active {
  background: var(--accent-soft);
  color: var(--accent);
  border-color: color-mix(in srgb, var(--accent) 22%, var(--line));
}
.toolbar-aside {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin-left: auto;
}
.kpi-row {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}
.kpi {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 14px 16px;
  box-shadow: var(--shadow);
}
.kpi strong {
  display: block;
  font-family: var(--display);
  font-size: 1.55rem;
  font-weight: 750;
  letter-spacing: -0.03em;
  line-height: 1.1;
}
.kpi span {
  display: block;
  margin-top: 4px;
  color: var(--muted);
  font-size: 0.82rem;
  font-weight: 550;
}
.kpi.is-warn strong { color: var(--warn); }
.kpi.is-danger strong { color: var(--danger); }
.kpi.is-ok strong { color: var(--ok); }

/* Depo kabul paneli */
.receive-panel { display: grid; gap: 14px; }
.receive-panel-head {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}
.receive-panel-head h2 { margin: 0; }
.receive-panel-head p { margin: 4px 0 0; color: var(--muted); font-size: 0.9rem; }
.receive-meta {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}
.quick-chip-row {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin: 0;
}
.quick-chip {
  border: 1px solid var(--line);
  background: #F8FAFC;
  border-radius: 8px;
  padding: 5px 10px;
  font-size: 0.76rem;
  font-weight: 600;
  color: var(--muted);
  cursor: pointer;
}
.quick-chip:hover,
.quick-chip.is-on,
.quick-chip.is-active {
  background: var(--accent-soft);
  color: var(--accent);
  border-color: color-mix(in srgb, var(--accent) 28%, var(--line));
}

/* —— Ürün kabul workspace —— */
.wh-search-bar {
  display: grid;
  gap: 8px;
  padding: 14px 16px;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
}
.wh-search-label {
  font-size: 0.72rem;
  font-weight: 750;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--muted);
}
.wh-search-controls {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: 8px;
  width: 100%;
  min-width: 0;
}
.wh-search-controls .wh-live-field,
.wh-search-controls .search-field {
  flex: 1 1 0;
  min-width: 0;
  max-width: 100%;
}
.wh-search-controls input[type="search"] {
  flex: 1 1 0;
  min-width: 0;
  max-width: 100%;
  width: 100%;
  box-sizing: border-box;
  padding: 12px 14px;
  font-size: 1rem;
  border-radius: 12px;
  border: 1px solid var(--line);
  background: #F8FAFC;
}
.wh-search-controls input[type="search"]:focus {
  border-color: color-mix(in srgb, var(--accent) 45%, var(--line));
  background: #fff;
  box-shadow: 0 0 0 3px var(--accent-soft);
  outline: none;
}
.wh-search-controls .btn {
  flex: 0 0 auto;
  flex-shrink: 0;
  min-height: 44px;
  padding-inline: 18px;
}
.wh-search-meta {
  margin: 0;
  font-size: 0.86rem;
  color: var(--muted);
}
.wh-search-meta em { font-style: normal; font-weight: 650; color: var(--ink); }

.wh-page .ops-hero { gap: 12px; padding: 14px 16px; }
.wh-page .ops-hero.is-nav-first {
  gap: 12px;
  padding: 0 0 14px;
  max-width: 100%;
  overflow-x: hidden;
  overflow-y: visible;
  box-sizing: border-box;
}
.wh-page .ops-hero-lead { font-size: 0.9rem; max-width: 48ch; }
.wh-filter-form {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0;
  flex-wrap: nowrap;
  min-width: 0;
  width: 100%;
}
.wh-filter-form select {
  flex: 1 1 0;
  min-width: 0;
  max-width: none;
  padding: 8px 10px;
  font-size: 0.86rem;
}
.wh-filter-form .btn {
  flex: 0 0 auto;
  flex-shrink: 0;
  min-height: 44px;
}
.wh-filter-form .ts-wrapper {
  flex: 1 1 0;
  min-width: 0 !important;
  max-width: none !important;
}
.wh-receive {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  overflow: hidden;
}
.wh-receive-head {
  padding: 16px 18px 12px;
  border-bottom: 1px solid var(--line);
  background: #fff;
}
.wh-receive-kicker {
  margin: 0 0 4px;
  font-size: 0.7rem;
  font-weight: 750;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--muted);
}
.wh-receive-title-row {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
  min-width: 0;
}
.wh-receive-title {
  margin: 0;
  font-family: var(--display);
  font-size: 1.2rem;
  font-weight: 750;
  letter-spacing: -0.02em;
  color: var(--ink);
  line-height: 1.2;
}
.wh-receive-hint {
  margin: 6px 0 0;
  font-size: 0.86rem;
  color: var(--muted);
  line-height: 1.4;
  max-width: 42rem;
}
.wh-receive-bar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 14px 16px;
  background: #fff;
  border-bottom: 1px solid var(--line);
}
.wh-receive-bar-left {
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
}
.wh-receive-bar-left strong {
  display: block;
  font-size: 0.98rem;
  font-weight: 700;
  letter-spacing: -0.02em;
}
.wh-receive-bar-left small {
  display: block;
  color: var(--muted);
  font-size: 0.8rem;
  margin-top: 1px;
}
.wh-count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 2.4rem;
  height: 1.85rem;
  padding: 0 10px;
  border-radius: 8px;
  background: var(--accent-soft);
  color: var(--accent);
  border: 1px solid color-mix(in srgb, var(--accent) 22%, var(--line));
  font-family: var(--display);
  font-size: 0.95rem;
  font-weight: 750;
  letter-spacing: -0.02em;
  line-height: 1;
}
.wh-receive-bar-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}
.wh-receive-settings {
  padding: 14px 18px 16px;
  border-bottom: 1px solid var(--line);
  background: #F7F9FB;
}
.wh-receive-meta {
  display: grid;
  grid-template-columns: minmax(140px, 180px) minmax(120px, 160px) minmax(200px, 1fr);
  gap: 12px 14px;
  align-items: end;
  margin-bottom: 12px;
}
.wh-receive-settings .wh-receive-bar-actions {
  padding-top: 12px;
  border-top: 1px solid var(--line);
  justify-content: flex-start;
}
.wh-receive-settings .wh-receive-bar-actions .btn:last-child {
  margin-left: auto;
}
.wh-field label {
  display: block;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--muted);
  margin-bottom: 5px;
}
.wh-field select,
.wh-field input {
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  flex: none !important;
  padding: 9px 11px;
  font-size: 0.88rem;
  border-radius: 10px;
  background: #fff;
}
.wh-note-row {
  display: grid;
  gap: 8px;
}
.wh-table-wrap {
  max-height: min(62vh, 640px);
  border: 0;
  border-radius: 0;
}
.wh-table {
  width: 100%;
  border-collapse: collapse;
}
.wh-table thead th {
  position: sticky;
  top: 0;
  z-index: 2;
  background: #EEF2F6;
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 750;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  padding: 10px 12px;
  border-bottom: 1px solid var(--line);
  white-space: nowrap;
}
.wh-table tbody td {
  padding: 11px 12px;
  border-bottom: 1px solid #EEF2F6;
  vertical-align: middle;
  font-size: 0.9rem;
}
.wh-table tbody tr:hover td { background: #F8FAFC; }
.wh-table tbody tr:last-child td { border-bottom: 0; }
.wh-col-check { width: 42px; text-align: center; }
.wh-col-check input { width: 16px; height: 16px; min-width: 0; accent-color: var(--accent); }
.wh-col-customer { width: 22%; min-width: 160px; }
.wh-col-status { width: 140px; }
.wh-col-firm { width: 140px; color: var(--muted); font-size: 0.86rem; white-space: nowrap; }
.wh-customer {
  display: flex;
  flex-direction: column;
  gap: 2px;
  text-decoration: none !important;
  color: inherit;
  min-width: 0;
}
.wh-customer:hover .wh-customer-name { color: var(--accent); }
.wh-customer-name {
  font-weight: 700;
  font-size: 0.92rem;
  letter-spacing: -0.01em;
  line-height: 1.25;
}
.wh-customer-meta {
  font-size: 0.76rem;
  color: var(--muted);
  font-weight: 550;
}
.wh-col-product { line-height: 1.35; }
.wh-empty {
  text-align: center;
  color: var(--muted);
  padding: 36px 16px !important;
}
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0,0,0,0);
  border: 0;
}
@media (max-width: 900px) {
  .wh-receive-meta {
    grid-template-columns: 1fr 1fr;
  }
  .wh-field-note { grid-column: 1 / -1; }
  .wh-receive-settings .wh-receive-bar-actions .btn:last-child {
    margin-left: 0;
  }
}
@media (max-width: 640px) {
  .wh-receive-meta { grid-template-columns: 1fr; }
  .wh-col-firm { display: none; }
  .wh-receive-bar-actions { width: 100%; }
  .wh-receive-bar-actions .btn { flex: 1 1 auto; }
}

/* Stok düzeltme — eski satış / manuel giriş */
.wh-edit-page {
  position: relative;
  background: #F8FAFC;
  width: 100%;
  max-width: 100%;
  overflow-x: hidden;
  box-sizing: border-box;
}
.wh-edit-guide-btn {
  position: absolute;
  top: max(8px, env(safe-area-inset-top, 0px));
  right: 0;
  z-index: 5;
  display: inline-grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border-radius: 999px;
  border: 1px solid #E5E7EB;
  background: #fff;
  color: #2563EB;
  font-size: 0.95rem;
  font-weight: 800;
  text-decoration: none;
  box-shadow: 0 1px 3px rgba(15, 23, 42, 0.08);
}
.wh-edit-guide-btn:hover {
  background: #EFF6FF;
  border-color: #BFDBFE;
  color: #1D4ED8;
}
.wh-edit-page .card,
.wh-edit-page .stock-create,
.wh-edit-page .stock-list,
.wh-edit-page .wh-edit-search-card,
.wh-edit-page .role-coach,
.wh-edit-page .stock-intake-form,
.wh-edit-page .stock-intake-section,
.wh-edit-page .stock-intake-grid,
.wh-edit-page .si-cust-grid,
.wh-edit-page .stock-card,
.wh-edit-page .stock-card-body,
.wh-edit-page .stock-card-grid,
.wh-edit-page .stock-list-stack {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  box-sizing: border-box;
}
.wh-edit-page .form-row input,
.wh-edit-page .form-row select,
.wh-edit-page .form-row textarea,
.wh-edit-page .si-input,
.wh-edit-page .si-select,
.wh-edit-page .stock-intake .ts-wrapper,
.wh-edit-page .stock-card-body .ts-wrapper,
.wh-edit-page .stock-intake .ts-wrapper .ts-control,
.wh-edit-page .stock-card-body .ts-wrapper .ts-control,
.wh-edit-page input[type="date"],
.wh-edit-page .stock-card-date-wrap input[type="date"] {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
}
.wh-edit-page .form-row {
  width: 100%;
  max-width: 100%;
  min-width: 0;
}
.wh-edit-search-card {
  margin: 16px 0;
  padding: 20px;
  background: #fff;
  border: 1px solid #E2E8F0;
  border-radius: 16px;
  box-shadow: 0 1px 3px rgba(15, 23, 42, 0.06);
  display: grid;
  gap: 16px;
  box-sizing: border-box;
}
.wh-edit-info-fold {
  margin: 0;
  padding: 10px 12px;
  border: 1px solid #DBEAFE;
  border-radius: 10px;
  background: #EFF6FF;
  color: #1E3A8A;
}
.wh-edit-info-fold > summary {
  cursor: pointer;
  font-size: 0.8125rem;
  font-weight: 650;
  list-style: none;
  color: #1E40AF;
}
.wh-edit-info-fold > summary::-webkit-details-marker { display: none; }
.wh-edit-info-text {
  margin: 10px 0 0;
  font-size: 0.8125rem;
  line-height: 1.45;
  color: #334155;
}
.wh-edit-info-link {
  display: inline-block;
  margin-top: 8px;
  font-size: 0.8125rem;
  font-weight: 600;
  color: #2563EB;
  text-decoration: none;
}
.wh-edit-search-form {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin: 0;
  width: 100%;
}
.wh-edit-search-label {
  font-size: 0.78rem;
  font-weight: 650;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: #64748B;
}
.wh-edit-search-field {
  position: relative;
  width: 100%;
}
.wh-edit-search-icon {
  position: absolute;
  left: 14px;
  top: 50%;
  transform: translateY(-50%);
  color: #94A3B8;
  pointer-events: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  z-index: 1;
}
.wh-edit-search-field input[type="search"] {
  width: 100%;
  min-height: 48px;
  padding: 12px 14px 12px 42px;
  border: 1px solid #CBD5E1;
  border-radius: 12px;
  background: #fff;
  font-size: 16px;
  box-sizing: border-box;
  transition: border-color .15s ease, box-shadow .15s ease;
}
.wh-edit-search-field input[type="search"]:focus {
  outline: none;
  border-color: #2563EB;
  box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.15);
}
.wh-edit-search-submit {
  width: 100%;
  min-height: 48px;
  margin: 0;
  background: #2563EB !important;
  color: #fff !important;
  border: 0 !important;
  border-radius: 12px !important;
  font-weight: 650;
  box-shadow: 0 4px 14px rgba(37, 99, 235, 0.22);
}
.wh-edit-search-submit:hover,
.wh-edit-search-submit:focus {
  background: #1D4ED8 !important;
}
.wh-edit-search-clear {
  width: 100%;
  min-height: 44px;
  justify-content: center;
  text-align: center;
}
@media (max-width: 900px) {
  .wh-edit-page {
    width: 100%;
    max-width: 100%;
    padding-left: 16px;
    padding-right: 16px;
    padding-bottom: calc(24px + env(safe-area-inset-bottom, 0px));
    overflow-x: hidden;
  }
  .wh-edit-page > .ops-hero.is-nav-first {
    margin-left: -16px;
    margin-right: -16px;
    width: calc(100% + 32px);
    max-width: calc(100% + 32px);
    overflow-x: hidden;
    overflow-y: visible;
  }
  .wh-edit-guide-btn {
    right: 16px;
  }
  .wh-edit-search-card {
    margin-top: 12px;
  }
  .wh-edit-page .stock-list {
    border-radius: 16px;
    overflow: hidden;
  }
  .wh-edit-page .stock-list-head {
    padding-top: max(12px, env(safe-area-inset-top, 0px));
  }
  .stock-card {
    border-radius: 14px;
  }
  .stock-card-body .form-row input,
  .stock-card-body .form-row select,
  .stock-card-body .ts-wrapper .ts-control {
    width: 100%;
  }
}
.stock-create,
.stock-list { display: grid; gap: 12px; }
.wh-edit-page .card.stock-create,
.wh-edit-page .card.stock-intake {
  contain: none;
  overflow: visible;
}
.stock-intake {
  gap: 0 !important;
  padding: 0 !important;
  overflow: visible;
  contain: none;
  border: 1px solid #E2E8F0;
  background: #fff;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
}
.stock-intake-head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 8px 14px;
  padding: 10px 14px;
  border-bottom: 1px solid #EEF2F7;
  background: #FAFBFC;
}
.stock-intake-eyebrow { display: none; }
.stock-intake-head .panel-section-title {
  font-size: 1rem;
  letter-spacing: -0.02em;
  margin: 0;
}
.stock-intake-head .panel-section-sub {
  margin: 2px 0 0;
  max-width: 46ch;
  font-size: 0.76rem;
  line-height: 1.3;
  color: #64748B;
}
.stock-intake-steps {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.stock-intake-steps li {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 3px 8px;
  border-radius: 999px;
  border: 1px solid #E2E8F0;
  background: #fff;
  font-size: 0.68rem;
  font-weight: 650;
  color: #64748B;
}
.stock-intake-steps li span {
  display: inline-grid;
  place-items: center;
  width: 1.1rem;
  height: 1.1rem;
  border-radius: 999px;
  background: #0F172A;
  color: #fff;
  font-size: 0.62rem;
  font-weight: 750;
}
.stock-intake-form { display: grid; gap: 0; }
.stock-intake-section {
  padding: 10px 14px;
  border-bottom: 1px solid #F1F5F9;
}
.stock-intake-section:last-of-type { border-bottom: 0; }
.stock-intake-mode {
  padding: 8px 14px;
  border-bottom: 1px solid #EEF2F7;
  background: #F8FAFC;
}
.stock-display-toggle {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin: 0;
  cursor: pointer;
  user-select: none;
}
.stock-display-toggle input {
  position: absolute;
  opacity: 0;
  width: 1px;
  height: 1px;
  pointer-events: none;
}
.stock-display-toggle-ui {
  flex: 0 0 auto;
  width: 36px;
  height: 22px;
  margin-top: 1px;
  border-radius: 999px;
  background: #CBD5E1;
  position: relative;
  transition: background .15s ease;
}
.stock-display-toggle-ui::after {
  content: '';
  position: absolute;
  top: 2px;
  left: 2px;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 1px 2px rgba(15, 23, 42, .18);
  transition: transform .15s ease;
}
.stock-display-toggle input:checked + .stock-display-toggle-ui {
  background: #4F46E5;
}
.stock-display-toggle input:checked + .stock-display-toggle-ui::after {
  transform: translateX(14px);
}
.stock-display-toggle input:focus-visible + .stock-display-toggle-ui {
  outline: 2px solid #A5B4FC;
  outline-offset: 2px;
}
.stock-display-toggle-copy {
  display: flex;
  flex-direction: column;
  gap: 1px;
  min-width: 0;
}
.stock-display-toggle-copy strong {
  font-size: 0.86rem;
  font-weight: 650;
  color: #0F172A;
  letter-spacing: -0.01em;
}
.stock-display-toggle-copy em {
  font-style: normal;
  font-size: 0.72rem;
  color: #64748B;
}
.stock-intake-form.is-display-stock .stock-intake-mode {
  background: #EEF2FF;
  border-bottom-color: #E0E7FF;
}
.stock-intake-form.is-pool-stock .stock-intake-mode {
  background: #ECFEFF;
  border-bottom-color: #CFFAFE;
}
.stock-kind-picks {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  padding: 4px 0 2px;
}
.stock-kind-pick {
  display: flex;
  margin: 0;
  cursor: pointer;
}
.stock-kind-pick input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}
.stock-kind-pick-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  width: 100%;
  padding: 12px 14px;
  border: 1px solid #E5E7EB;
  border-radius: 14px;
  background: #fff;
  color: #6B7280;
  transition: all 0.2s ease;
}
.stock-kind-pick-copy {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}
.stock-kind-pick strong {
  font-size: 0.875rem;
  font-weight: 600;
  color: inherit;
}
.stock-kind-pick em {
  font-style: normal;
  font-size: 0.75rem;
  color: inherit;
  opacity: 0.85;
}
.stock-kind-pick-check {
  flex: 0 0 auto;
  display: inline-grid;
  place-items: center;
  width: 22px;
  height: 22px;
  border-radius: 999px;
  border: 1px solid #E5E7EB;
  background: #F9FAFB;
  color: transparent;
  transition: all 0.2s ease;
}
.stock-kind-pick input:checked + .stock-kind-pick-card {
  border-color: #3B82F6;
  background: #EFF6FF;
  color: #1D4ED8;
  box-shadow: 0 1px 3px rgba(37, 99, 235, 0.12);
}
.stock-kind-pick input:checked + .stock-kind-pick-card strong {
  font-weight: 650;
}
.stock-kind-pick input:checked + .stock-kind-pick-card .stock-kind-pick-check {
  border-color: #2563EB;
  background: #2563EB;
  color: #fff;
}
.stock-intake-form.is-pool-stock .stock-kind-pick input:checked + .stock-kind-pick-card {
  border-color: #0891B2;
  background: #ECFEFF;
  color: #0E7490;
  box-shadow: 0 1px 3px rgba(8, 145, 178, 0.12);
}
.stock-intake-form.is-pool-stock .stock-kind-pick input:checked + .stock-kind-pick-card .stock-kind-pick-check {
  border-color: #0891B2;
  background: #0891B2;
  color: #fff;
}
.stock-board-qty {
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}
.stock-board-table tr.is-pool-stock {
  background: #F0FDFA;
}
@media (max-width: 720px) {
  .stock-kind-picks {
    grid-template-columns: 1fr;
  }
}
.stock-pick-hint {
  margin: 0 0 8px;
  font-size: 0.72rem;
  color: #4F46E5;
}

/* Stok giriş — müşteri bloğu (bağımsız, kırılmaz) */
.si-cust-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px 12px;
  align-items: start;
}
.si-field {
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
  align-self: start;
  position: relative;
}
.si-field-wide { grid-column: span 2; }
.si-sales-row {
  display: grid;
  gap: 4px;
  margin-top: 10px;
  max-width: 100%;
  position: relative;
  z-index: 1;
}
.si-sales-row label {
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #9CA3AF;
  margin-bottom: 2px;
  margin-left: 4px;
}
.si-sales-row .si-select {
  width: 100%;
  max-width: 100%;
  min-height: 48px;
}
.wh-edit-page #stockIntakeForm .si-cust-grid,
.wh-edit-page #stockIntakeForm .si-sales-row {
  position: relative;
  z-index: 2;
}
.wh-edit-page #siCustomer,
.wh-edit-page #siPhone {
  pointer-events: auto !important;
  position: relative;
  z-index: 3;
}
.si-phone-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  min-width: 0;
  width: 100%;
}
.si-phone-head label {
  flex: 1 1 auto;
  min-width: 0;
  margin: 0;
}
.si-phone-head .si-intl,
.si-phone-head .qc-intl {
  flex: 0 0 auto;
  max-width: 52%;
}
.si-field label {
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #9CA3AF;
  margin-bottom: 2px;
  margin-left: 4px;
}
.si-field .req { color: #DC2626; }
.si-input {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  min-height: 48px !important;
  height: auto !important;
  margin: 0 !important;
  padding: 12px 14px !important;
  box-sizing: border-box !important;
  border: 1px solid #E5E7EB !important;
  border-radius: 12px !important;
  background: #F9FAFB !important;
  color: #111827 !important;
  font: inherit !important;
  font-size: 16px !important;
  line-height: 1.35 !important;
  box-shadow: none !important;
  transition: border-color .15s ease, box-shadow .15s ease, background .15s ease;
}
.si-input:focus {
  border-color: #3B82F6 !important;
  outline: none !important;
  background: #fff !important;
  box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.15) !important;
}
select.si-input,
.wh-edit-page #stockIntakeForm select.si-input {
  cursor: pointer;
  height: 48px !important;
  min-height: 48px !important;
  max-height: 48px !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  line-height: 46px !important;
  overflow: hidden !important;
  appearance: auto;
  -webkit-appearance: menulist;
}
.si-select {
  display: block;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  min-height: 48px;
  margin: 0;
  padding: 12px 14px;
  box-sizing: border-box;
  border: 1px solid #E5E7EB;
  border-radius: 12px;
  background: #F9FAFB;
  color: #111827;
  font: inherit;
  font-size: 16px;
  line-height: 1.35;
}
.si-field .ts-wrapper {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  min-height: 48px;
  align-self: start;
}
.si-field .ts-wrapper select.si-select,
.si-field .ts-wrapper select.si-input {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  min-height: 0 !important;
  max-height: none !important;
  opacity: 0 !important;
  pointer-events: none !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  border: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  display: block !important;
}
.si-field .ts-wrapper .ts-control {
  min-height: 48px !important;
  max-height: 48px !important;
}
.si-pick-hint {
  margin: 0 0 8px;
  font-size: 0.75rem;
  color: #4F46E5;
}
.si-reuse-bar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 10px 14px;
  margin: 0 0 12px;
  padding: 12px 14px;
  border-radius: 10px;
  background: #EEF2FF;
  border: 1px solid #C7D2FE;
}
.si-reuse-copy {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}
.si-reuse-copy strong {
  font-size: 0.88rem;
  color: #312E81;
}
.si-reuse-copy span {
  font-size: 0.78rem;
  color: #4338CA;
}
.si-reuse-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.stock-intake-section.is-locked .si-cust-grid {
  opacity: 0.92;
}
.stock-intake-form.is-reuse-customer .stock-intake-section.is-locked .si-input {
  background: #F8FAFC;
}
.si-pick-menu {
  position: fixed;
  z-index: 14000;
  max-height: 320px;
  overflow: auto;
  margin: 0;
  padding: 6px;
  background: #fff;
  border: 1px solid #E2E8F0;
  border-radius: 12px;
  box-shadow: 0 16px 40px rgba(15, 23, 42, 0.18);
}
.si-pick-menu[hidden] { display: none !important; }
.si-pick-item {
  display: flex;
  flex-direction: column;
  gap: 2px;
  width: 100%;
  text-align: left;
  border: 0;
  background: transparent;
  border-radius: 8px;
  padding: 10px 12px;
  cursor: pointer;
  font: inherit;
  color: inherit;
}
.si-pick-item:hover,
.si-pick-item.is-active { background: #F1F5F9; }
.si-pick-item strong { font-size: 0.92rem; color: #0F172A; }
.si-pick-item span { font-size: 0.78rem; color: #64748B; }
.si-pick-empty {
  padding: 14px 12px;
  color: #94A3B8;
  font-size: 0.85rem;
  text-align: center;
}
@media (max-width: 900px) {
  .si-cust-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .si-field-wide { grid-column: span 2; }
}
@media (max-width: 560px) {
  .si-cust-grid { grid-template-columns: 1fr; }
  .si-field-wide { grid-column: auto; }
}

.stock-intake-section-title {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 4px 10px;
  margin-bottom: 8px;
}
.stock-intake-section-title strong {
  font-size: 0.68rem;
  font-weight: 750;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: #0F172A;
}
.stock-intake-section-title .muted { font-size: 0.72rem; }
.stock-intake-grid {
  display: grid;
  gap: 8px 10px;
}
.stock-intake-grid-cust {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.stock-intake-addr { grid-column: span 2; }
.stock-intake-sales { grid-column: span 2; }
.stock-intake-grid-meta {
  grid-template-columns: repeat(6, minmax(0, 1fr));
  margin-bottom: 8px;
}
.stock-intake-grid-dep {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.stock-intake-span-2 { grid-column: span 2; }
.stock-intake-meta {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px 10px;
  margin-bottom: 8px;
}
.stock-intake .form-row {
  margin: 0;
  gap: 2px;
  position: relative;
}
.stock-intake .form-row label {
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #9CA3AF;
  margin-bottom: 2px;
  margin-left: 4px;
}
.stock-intake .form-row > input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
.stock-intake .form-row > select,
.stock-intake .form-row > textarea,
.stock-intake .ts-wrapper,
.stock-intake .ts-wrapper .ts-control {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box;
}
.stock-intake .form-row > input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
.stock-intake .form-row > select,
.stock-intake .ts-wrapper,
.stock-intake .ts-wrapper .ts-control {
  height: 48px !important;
  min-height: 48px !important;
  max-height: 48px !important;
}
.stock-intake .form-row > input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
.stock-intake .form-row > select,
.stock-intake .form-row > textarea,
.stock-intake .ts-wrapper .ts-control {
  border-radius: 12px;
  font-size: 16px !important;
  background: #F9FAFB;
  border: 1px solid #E5E7EB;
  color: #111827;
  transition: border-color .15s ease, box-shadow .15s ease, background .15s ease;
}
.stock-intake .form-row > input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]) {
  padding: 0 14px !important;
  line-height: 1.35 !important;
}
.stock-intake .form-row > select {
  padding: 0 14px !important;
  line-height: 46px !important;
  appearance: auto;
  -webkit-appearance: menulist;
  cursor: pointer;
}
.stock-intake .form-row > textarea {
  height: auto !important;
  min-height: 48px !important;
  max-height: none !important;
  padding: 12px 14px !important;
  line-height: 1.35 !important;
}
.stock-intake .form-row .ts-wrapper .ts-control {
  padding: 0 14px !important;
  display: flex !important;
  align-items: center !important;
}
.stock-intake-grid-meta .form-row {
  align-content: start;
}
.stock-intake .form-row > input:focus,
.stock-intake .form-row > select:focus,
.stock-intake .form-row > textarea:focus,
.stock-intake .ts-wrapper.focus .ts-control {
  outline: none;
  border-color: #3B82F6;
  background: #fff;
  box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.15);
}
.stock-intake .form-row .search-suggest {
  position: absolute;
  left: 0;
  right: 0;
  top: calc(100% + 4px);
  z-index: 80;
}
.search-suggest-portal[hidden] {
  display: none !important;
}
.search-suggest-portal:not([hidden]) {
  display: block !important;
  position: fixed !important;
  z-index: 13000 !important;
  margin: 0;
  background: #fff;
  border: 1px solid #f3f4f6;
  border-radius: 12px;
  box-shadow: 0 25px 50px -12px rgba(15, 23, 42, 0.28);
  max-height: min(16rem, 55vh);
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}
.stock-product-rows {
  display: grid;
  gap: 6px;
}
.stock-product-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 72px auto;
  gap: 6px;
  align-items: end;
  padding: 6px 8px;
  border: 1px solid #E2E8F0;
  border-radius: 8px;
  background: #FAFBFC;
}
.stock-product-qty input { text-align: center; font-variant-numeric: tabular-nums; font-weight: 700; }
.stock-product-remove {
  min-width: 32px;
  height: 34px;
  align-self: end;
  padding: 0;
}
.stock-product-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 6px;
}
.stock-product-actions .btn {
  min-height: 30px;
  padding: 4px 10px;
  font-size: 0.78rem;
}
.stock-product-actions .btn.is-active {
  background: #EEF2FF;
  border-color: #C7D2FE;
  color: #3730A3;
}
.stock-bulk-wrap {
  margin-top: 6px;
  padding: 8px;
  border-radius: 8px;
  border: 1px dashed #CBD5E1;
  background: #F8FAFC;
  display: grid;
  gap: 4px;
}
.stock-bulk-wrap[hidden] {
  display: none !important;
}
.stock-bulk-wrap label {
  font-size: 0.62rem;
  font-weight: 750;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #94A3B8;
}
.stock-bulk-wrap textarea {
  width: 100%;
  min-height: 52px;
  border-radius: 7px;
  border: 1px solid #E2E8F0;
  padding: 6px 8px;
  font: inherit;
  font-size: 0.84rem;
  resize: vertical;
  background: #fff;
}
.stock-bulk-hint { margin: 0; font-size: 0.72rem; }
.stock-intake-foot {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 8px 12px;
  padding: 8px 14px 10px;
  background: #FAFBFC;
  border-top: 1px solid #EEF2F7;
  border-radius: 0 0 var(--radius) var(--radius);
}
.stock-intake-foot-hint {
  margin: 0;
  font-size: 0.74rem;
  max-width: 36ch;
  line-height: 1.3;
}
.stock-intake-foot .btn,
.stock-intake-foot .btn-fat {
  min-width: 140px;
  min-height: 36px;
  padding: 6px 14px;
}
.stock-list-count {
  display: inline-flex;
  align-items: center;
  height: 26px;
  padding: 0 10px;
  border-radius: 999px;
  background: #F1F5F9;
  color: #475569;
  font-size: 0.76rem;
  font-weight: 700;
  flex-shrink: 0;
}
.stock-list {
  display: grid;
  gap: 0 !important;
  padding: 0 !important;
  overflow: visible;
  contain: none;
  border: 1px solid #E2E8F0;
  background: #fff;
}
.stock-list-head {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px 16px;
  padding: 16px 18px 14px;
  border-bottom: 1px solid #EEF2F7;
  background: linear-gradient(180deg, #FAFBFC 0%, #fff 100%);
}
.stock-list-head .panel-section-title { font-size: 1.05rem; }
.stock-list-head .panel-section-sub {
  margin: 3px 0 0;
  font-size: 0.82rem;
  color: #64748B;
  max-width: 48ch;
}
.stock-list-stack {
  display: grid;
  gap: 10px;
  padding: 12px 14px 16px;
  background: #F8FAFC;
  content-visibility: auto;
  contain-intrinsic-size: auto 600px;
}
.stock-list-stack .stock-card select[data-native-select],
.stock-list-stack .stock-card select[name="supplier_id"] {
  width: 100%;
  min-height: 44px;
  max-width: 100%;
  box-sizing: border-box;
  border: 1px solid #E5E7EB;
  border-radius: 12px;
  background: #F9FAFB;
  color: #111827;
  font: inherit;
  font-size: 16px;
  padding: 10px 12px;
}
.stock-card {
  display: grid;
  gap: 0;
  margin: 0;
  border: 1px solid #E2E8F0;
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
  overflow: visible;
}
.stock-card-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
  padding: 12px 14px 10px;
  border-bottom: 1px solid #F1F5F9;
  margin: 0;
}
.stock-card-identity { min-width: 0; }
.stock-card-name {
  display: block;
  font-size: 0.98rem;
  font-weight: 750;
  letter-spacing: -0.01em;
  color: #0F172A;
  line-height: 1.3;
}
.stock-card-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin-top: 8px;
}
.stock-chip {
  display: inline-flex;
  align-items: center;
  max-width: 100%;
  padding: 4px 10px;
  border-radius: 999px;
  border: 1px solid transparent;
  background: #F1F5F9;
  color: #475569;
  font-size: 0.6875rem;
  font-weight: 600;
  line-height: 1.3;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.stock-chip.is-link {
  text-decoration: none;
}
.stock-chip.is-order {
  color: #1D4ED8;
  background: #EFF6FF;
  border-color: #DBEAFE;
}
.stock-chip.is-action {
  color: #0369A1;
  background: #F0F9FF;
  border-color: #BAE6FD;
}
.stock-chip.is-muted {
  color: #64748B;
  background: #F8FAFC;
  border-color: #E2E8F0;
}
.stock-chip.is-status {
  color: #1D4ED8;
  background: #EEF2FF;
  border-color: #C7D2FE;
}
.stock-chip.is-link:hover { filter: brightness(0.97); }
.stock-card-meta .badge {
  font-size: 0.6875rem;
  padding: 4px 10px;
  border-radius: 999px;
}
.stock-card-body {
  display: grid;
  gap: 12px;
  padding: 14px;
}
.stock-card-body .form-row {
  margin: 0;
  gap: 4px;
}
.stock-card-body .form-row label {
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #9CA3AF;
  margin-bottom: 2px;
  margin-left: 4px;
}
.stock-card-body .form-row input,
.stock-card-body .form-row select,
.stock-card-body .ts-wrapper,
.stock-card-body .ts-wrapper .ts-control {
  min-height: 48px !important;
  height: 48px;
  border-radius: 12px;
  font-size: 16px !important;
  border: 1px solid #E5E7EB;
  background: #F9FAFB;
  color: #111827;
  box-sizing: border-box;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  transition: border-color .15s ease, box-shadow .15s ease, background .15s ease;
}
.stock-card-body .form-row input:focus,
.stock-card-body .form-row select:focus,
.stock-card-body .ts-wrapper.focus .ts-control {
  outline: none;
  border-color: #3B82F6;
  background: #fff;
  box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.15);
}
.stock-card-date-wrap {
  position: relative;
  width: 100%;
}
.stock-card-date-icon {
  position: absolute;
  left: 12px;
  top: 50%;
  transform: translateY(-50%);
  color: #94A3B8;
  pointer-events: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  z-index: 1;
}
.stock-card-date-wrap input[type="date"] {
  width: 100%;
  max-width: 100%;
  min-height: 48px;
  height: 48px;
  padding: 12px 12px 12px 40px;
  font-size: 16px !important;
  text-align: left;
  -webkit-appearance: none;
  appearance: none;
  background: #F9FAFB;
  border: 1px solid #E5E7EB;
  border-radius: 12px;
}
.stock-card-date-wrap input[type="date"]:focus {
  border-color: #3B82F6;
  background: #fff;
  box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.15);
}
.stock-card-date-wrap input[type="date"]::-webkit-date-and-time-value {
  text-align: left;
}
.stock-card-holdhint {
  display: block;
  margin-top: 4px;
  font-size: 0.75rem;
  color: #94A3B8;
  line-height: 1.35;
}
.stock-card-foot {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 0;
  padding: 0 14px 14px;
  border-top: 0;
  background: transparent;
}
.stock-card-save {
  width: 100%;
  min-height: 48px;
  margin: 0;
  border-radius: 14px !important;
  background: #2563EB !important;
  color: #fff !important;
  border: 0 !important;
  font-weight: 650;
  font-size: 16px !important;
  box-shadow: 0 4px 14px rgba(37, 99, 235, 0.24);
}
.stock-card-save:hover,
.stock-card-save:focus {
  background: #1D4ED8 !important;
}
.stock-card-foot .btn {
  min-width: 0;
}
.stock-card-grid {
  display: grid;
  gap: 8px 10px;
}
.stock-card-grid-top {
  grid-template-columns: minmax(140px, 0.85fr) minmax(0, 1.6fr);
}
.stock-card-grid-bottom {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.stock-card-product input {
  font-weight: 600;
}
.stock-card-note input {
  background: #F8FAFC;
}
.stock-list-empty {
  margin: 0;
  padding: 20px 8px;
  text-align: center;
}
@media (max-width: 1100px) {
  .stock-intake-grid-cust {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .stock-intake-addr,
  .stock-intake-sales { grid-column: span 1; }
  .stock-intake-grid-meta {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .stock-card-grid-top {
    grid-template-columns: minmax(120px, 0.9fr) minmax(0, 1.4fr);
  }
  .stock-card-grid-bottom {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 900px) {
  .stock-intake-grid-cust,
  .stock-intake-grid-dep,
  .stock-intake-grid-meta,
  .stock-intake-meta {
    grid-template-columns: 1fr;
  }
  .stock-intake-addr,
  .stock-intake-sales,
  .stock-intake-span-2 { grid-column: auto; }
  .stock-product-row {
    grid-template-columns: 1fr 72px;
  }
  .stock-product-remove { grid-column: 2; justify-self: end; }
  .stock-intake-foot { flex-direction: column; align-items: stretch; }
  .stock-intake-foot .btn,
  .stock-intake-foot .btn-fat { width: 100%; }
  .stock-card-grid-top,
  .stock-card-grid-bottom {
    grid-template-columns: 1fr;
  }
  .stock-card-foot {
    flex-direction: column;
    align-items: stretch;
  }
  .stock-card-foot .btn { width: 100%; }
}

.panel-section-title {
  margin: 0;
  font-family: var(--display);
  font-size: 1.05rem;
  font-weight: 700;
  letter-spacing: -0.02em;
}
.panel-section-sub {
  margin: 4px 0 0;
  color: var(--muted);
  font-size: 0.88rem;
}

.load-stop {
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 14px;
  background: #FBFCFD;
}
.load-stop + .load-stop { margin-top: 10px; }
.load-crew-title {
  margin: 18px 0 10px;
  font-size: 0.78rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--muted);
  font-weight: 750;
}
.load-item {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  padding: 6px 0;
  border-bottom: 1px dashed var(--line);
  font-size: 0.92rem;
}
.load-item:last-child { border-bottom: 0; }
.load-item.is-missing { opacity: 0.7; }

@media (max-width: 900px) {
  .kpi-row { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .receive-meta { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
  .toolbar-aside { margin-left: 0; width: 100%; }
  .ops-hero { padding: 14px; }
}

.phones-m-list { display: grid; gap: 10px; }
.phones-m-card {
  display: grid;
  gap: 6px;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: var(--surface);
}
@media (min-width: 901px) {
  .phones-m-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* Telefon tamamla — kompakt grid */
.phones-shell.card { padding: 14px 16px 16px; }
.phones-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: stretch;
}
.phones-card {
  flex: 1 1 260px;
  max-width: 100%;
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 10px 12px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: var(--surface);
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.03);
}
.phones-card-head {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 4px 8px;
  min-width: 0;
}
.phones-card-name {
  font-size: 0.94rem;
  font-weight: 700;
  color: var(--ink);
  line-height: 1.25;
}
.phones-card-loc,
.phones-card-plan {
  font-size: 0.76rem;
  color: var(--muted);
  line-height: 1.3;
}
.phones-card-plan {
  flex: 1 1 100%;
  color: #B45309;
  font-weight: 600;
}
.phones-card-fields {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.phones-field {
  flex: 1 1 120px;
  display: flex;
  flex-direction: column;
  gap: 3px;
  margin: 0;
  min-width: 0;
}
.phones-field > span {
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--muted);
}
.phones-field input {
  width: 100%;
  min-height: 36px;
  padding: 7px 10px;
  border: 1px solid var(--line);
  border-radius: 10px;
  font-size: 0.92rem;
  background: #fff;
}
.phones-field input:focus {
  outline: none;
  border-color: color-mix(in srgb, var(--accent) 35%, var(--line));
  box-shadow: 0 0 0 2px var(--accent-soft);
}
.phones-form-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 14px;
  padding-top: 12px;
  border-top: 1px solid var(--line);
}
.phones-empty {
  flex: 1 1 100%;
  margin: 0;
  padding: 8px 0;
}
.clean-empty-preview {
  margin-top: 12px;
  max-height: 360px;
  overflow: auto;
  border: 1px solid var(--line);
  border-radius: 10px;
}
@media (min-width: 1100px) {
  .phones-card { flex-basis: calc(33.333% - 8px); max-width: calc(33.333% - 8px); }
}
@media (min-width: 768px) and (max-width: 1099px) {
  .phones-card { flex-basis: calc(50% - 6px); max-width: calc(50% - 6px); }
}
@media (max-width: 767px) {
  .phones-field input { min-height: 44px; font-size: 16px !important; }
}

/* =========================================================
   MOBILE-FIRST APP SHELL (≤900px)
   ========================================================= */
.m-card-list { display: none; }
.desktop-only-table { display: block; }

.bottom-nav {
  display: none;
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 60;
  height: calc(var(--bottom-nav-h) + env(safe-area-inset-bottom, 0px));
  padding: 6px 4px calc(6px + env(safe-area-inset-bottom, 0px));
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 2px;
  background: rgba(255,255,255,0.96);
  border-top: 1px solid var(--line);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  box-shadow: 0 -8px 24px rgba(15,23,42,0.06);
}
.bottom-nav[data-bn-count="4"] { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.bottom-nav[data-bn-count="3"] { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.bottom-nav[data-bn-count="2"] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.bottom-nav a,
.bottom-nav .bn-menu-btn {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 2px;
  min-height: 52px;
  border: 0;
  background: transparent;
  color: var(--muted);
  text-decoration: none !important;
  font-size: 0.68rem;
  font-weight: 700;
  border-radius: 12px;
  cursor: pointer;
  font-family: inherit;
  padding: 4px 2px;
}
.bottom-nav a.active,
.bottom-nav a:hover,
.bottom-nav .bn-menu-btn:hover {
  color: var(--accent);
  background: var(--accent-soft);
}
.bn-ico {
  display: grid;
  place-items: center;
  width: 24px;
  height: 24px;
  position: relative;
}
.bn-ico svg { display: block; }
.bn-ico-badge em {
  position: absolute;
  top: -6px;
  right: -10px;
  min-width: 16px;
  height: 16px;
  padding: 0 4px;
  border-radius: 999px;
  background: var(--danger);
  color: #fff;
  font-size: 0.62rem;
  font-style: normal;
  font-weight: 800;
  display: grid;
  place-items: center;
  line-height: 1;
}
.body-has-bottom-nav .main {
  padding-bottom: calc(var(--bottom-nav-h) + 28px + env(safe-area-inset-bottom, 0px));
}
.body-has-bottom-nav .help-fab {
  bottom: calc(var(--bottom-nav-h) + 16px + env(safe-area-inset-bottom, 0px));
}

.bn-edit-modal {
  border: 0;
  padding: 0;
  margin: auto;
  width: min(440px, calc(100vw - 24px));
  max-height: min(88vh, 720px);
  border-radius: 18px;
  background: transparent;
  box-shadow: none;
}
.bn-edit-modal::backdrop {
  background: rgba(15, 23, 42, 0.55);
  backdrop-filter: blur(4px);
}
.bn-edit-sheet {
  background: #fff;
  border-radius: 18px;
  border: 1px solid var(--line);
  box-shadow: 0 24px 48px rgba(15, 23, 42, 0.22);
  display: flex;
  flex-direction: column;
  max-height: min(88vh, 720px);
  overflow: hidden;
}
.bn-edit-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  padding: 16px 16px 10px;
  border-bottom: 1px solid var(--line);
}
.bn-edit-head h2 {
  margin: 0 0 4px;
  font-size: 1.1rem;
  font-weight: 800;
}
.bn-edit-head .muted { margin: 0; font-size: 0.82rem; }
.bn-edit-close {
  width: 36px;
  height: 36px;
  border: 0;
  border-radius: 10px;
  background: #F1F5F9;
  color: #334155;
  font-size: 1.35rem;
  line-height: 1;
  cursor: pointer;
}
.bn-edit-selected {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding: 12px 16px;
  background: #F8FAFC;
  border-bottom: 1px solid var(--line);
  min-height: 52px;
}
.bn-chip {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 10px;
  border-radius: 12px;
  background: #fff;
  border: 1px solid var(--line);
  font-size: 0.85rem;
}
.bn-chip-actions {
  display: inline-flex;
  gap: 2px;
}
.bn-chip-actions button {
  width: 28px;
  height: 28px;
  border: 0;
  border-radius: 8px;
  background: #E8F1F6;
  color: #1E4A6E;
  font-weight: 700;
  cursor: pointer;
}
.bn-chip-actions button:disabled { opacity: 0.35; cursor: default; }
.bn-edit-list {
  overflow: auto;
  padding: 8px 12px 12px;
  flex: 1;
  -webkit-overflow-scrolling: touch;
}
.bn-edit-group {
  margin: 10px 4px 6px;
  font-size: 0.7rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #94A3B8;
  font-weight: 750;
}
.bn-edit-option {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
  border-radius: 12px;
  border: 1px solid transparent;
  cursor: pointer;
  margin-bottom: 4px;
}
.bn-edit-option:hover { background: #F8FAFC; }
.bn-edit-option.is-on {
  background: var(--accent-soft);
  border-color: color-mix(in srgb, var(--accent) 22%, var(--line));
}
.bn-edit-option input { width: 18px; height: 18px; accent-color: #1E4A6E; }
.bn-edit-ico {
  width: 28px;
  height: 28px;
  display: grid;
  place-items: center;
  color: #1E4A6E;
}
.bn-edit-label { font-weight: 650; font-size: 0.92rem; color: #0F172A; }
.bn-edit-foot {
  display: flex;
  gap: 8px;
  padding: 12px 16px calc(12px + env(safe-area-inset-bottom, 0px));
  border-top: 1px solid var(--line);
  background: #fff;
}
.bn-edit-foot .btn { flex: 1; min-height: 44px; }
.bn-edit-msg {
  margin: 0;
  padding: 0 16px 12px;
  font-size: 0.85rem;
}
.bn-edit-msg.is-err { color: var(--danger); }

.btn-fat {
  display: flex !important;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 52px;
  padding: 14px 16px;
/* sched-cbar içindeki btn-fat'ı geri al — aşağıdaki !important kurallar öncelikli */
  font-size: 1.02rem;
  font-weight: 700;
  border-radius: 14px;
  text-align: center;
  box-sizing: border-box;
}
.field-fat-actions {
  display: flex !important;
  flex-direction: column;
  gap: 8px;
  width: 100%;
  margin-top: 10px;
}
.field-fat-actions form { margin: 0; width: 100%; }
.btn-onway,
.btn-wa-near {
  background: #0369A1 !important;
  color: #fff !important;
  border: 0 !important;
  box-shadow: 0 4px 14px rgba(3,105,161,0.25) !important;
}
.btn-wa-send,
.btn-wa-confirm {
  background: #128C7E !important;
  color: #fff !important;
  border: 0 !important;
}
.btn-delivery {
  background: #1E4A6E !important;
  color: #fff !important;
}
.btn-confirm-yes {
  background: #0F766E !important;
  color: #fff !important;
}
.btn-confirm-no {
  background: #fff !important;
  color: var(--danger) !important;
  border: 1px solid #FECACA !important;
}

@media (max-width: 900px) {
  .bottom-nav { display: grid; }
  .sidebar-foot .btn-ghost { display: none; }
  .sidebar-foot .bn-edit-open,
  .sidebar-foot .sidebar-foot-icon-btn,
  body.nav-open .sidebar-foot .btn-ghost,
  body.nav-open .sidebar-foot .sidebar-foot-icon-btn {
    display: inline-flex !important;
    width: auto;
    justify-content: center;
  }
  .sidebar-collapse-btn { display: none !important; }
  body.sidebar-collapsed { --sidebar-w: 268px; }

  html, body { overflow-x: hidden; max-width: 100vw; }
  .main {
    margin-left: 0 !important;
    padding: 12px 12px calc(var(--bottom-nav-h, 68px) + 48px + env(safe-area-inset-bottom, 0px));
    max-width: 100vw;
    overflow-x: hidden;
  }
  .body-has-bottom-nav .main {
    padding-bottom: calc(var(--bottom-nav-h, 68px) + 56px + env(safe-area-inset-bottom, 0px)) !important;
  }
  .content { max-width: 100%; overflow-x: hidden; }
  .att-report-panel,
  .stock-board-page {
    padding-bottom: 28px;
  }
  /* Kart kırpmasın: ham tablolar table-wrap içinde yatay kayabilsin */
  .card { max-width: 100%; overflow: visible; }

  /*
   * Strateji: desktop-only-table + m-card-list tercih edilir.
   * Eşleşmemiş ham tablolar → table-wrap overflow-x:auto + min-width (kırpma yok).
   */
  .table-wrap:not(.desktop-only-table) {
    display: block;
    max-width: 100%;
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior-x: contain;
  }
  .table-wrap:not(.desktop-only-table) table {
    min-width: 560px;
    width: max-content;
    max-width: none;
  }
  .ssh-new-action { width: 100%; }
  .ssh-new-action .btn { width: 100%; justify-content: center; min-height: 48px; }
  .ssh-page-intro-actions {
    width: 100%;
  }
  .ssh-page-intro .ssh-new-btn {
    width: 100%;
    justify-content: center;
    min-height: 48px;
  }

  .phones-m-list { display: grid; gap: 10px; }
  .phones-m-card { display: grid; gap: 6px; }
  .phones-fields { gap: 10px; }
  .phones-fields input { min-height: 48px; font-size: 16px !important; width: 100%; }

  .topbar {
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 12px;
    min-height: 0;
  }
  .topbar-right {
    width: 100%;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: stretch;
  }
  .top-search {
    order: 10;
    flex: 1 1 100%;
    max-width: none;
    min-width: 0;
    height: 44px;
  }
  .topbar-user-chip { display: none !important; }
  .impersonate-menu { margin-left: auto; }
  .topbar-icon-btn { width: 44px; height: 44px; }

  .attendance-banner .actions,
  .attendance-banner {
    flex-direction: column;
    align-items: stretch;
  }
  .attendance-banner .actions .btn {
    width: 100%;
    min-height: 48px;
  }

  .page-intro,
  .ops-hero-top,
  .orders-hero-top,
  .split {
    flex-direction: column;
    align-items: stretch !important;
  }
  .dash-stop .dash-stop-head {
    flex-direction: row;
    align-items: flex-start !important;
  }
  .page-lead,
  .ops-hero-lead,
  .orders-hero-meta { max-width: none; }
  .ops-hero-actions,
  .orders-hero-actions,
  .page-intro .actions,
  .page-intro .filters {
    width: 100%;
  }
  .ops-hero-actions .btn,
  .orders-hero-actions .btn { flex: 1 1 auto; min-height: 44px; }

  .orders-page .orders-filters,
  .orders-filter-card,
  .page-toolbar,
  .filters,
  .wh-search-controls,
  .wh-receive-bar,
  .wh-receive-bar-actions,
  .filter-tabs {
    flex-direction: column;
    align-items: stretch !important;
  }
  .orders-filters input,
  .orders-filters select,
  .filters input,
  .filters select,
  .page-toolbar select,
  .wh-filter-form select,
  .wh-search-controls input {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    flex: 1 1 auto !important;
    min-height: 48px;
    font-size: 16px !important;
  }
  .orders-filters .btn,
  .filters .btn,
  .wh-search-controls .btn,
  .filter-tab {
    width: 100%;
    min-height: 44px;
    justify-content: center;
  }
  /* Depo Kabul: arama satırı yatay kalsın, buton kesilmesin */
  .wh-page .wh-search-controls {
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
  }
  .wh-page .wh-search-controls .btn {
    width: auto !important;
    flex: 0 0 auto !important;
    flex-shrink: 0 !important;
  }
  .wh-page .wh-filter-form {
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
  }
  .wh-page .wh-filter-form select,
  .wh-page .wh-filter-form .ts-wrapper {
    flex: 1 1 0 !important;
    min-width: 0 !important;
    width: auto !important;
  }
  .wh-page .wh-filter-form .btn,
  .wh-page .wh-filter-form .btn-ghost {
    width: auto !important;
    flex: 0 0 auto !important;
    flex-shrink: 0 !important;
  }
  .wh-page .page-toolbar {
    flex-direction: column;
    align-items: stretch;
  }
  .module-tabs {
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior-x: contain;
    touch-action: pan-x;
    gap: 8px;
    min-height: 52px;
    padding: 8px 12px;
    scroll-snap-type: x proximity;
  }
  .module-tab {
    width: auto !important;
    flex: 0 0 auto !important;
    white-space: nowrap;
    min-height: 40px;
    scroll-snap-align: start;
  }
  .filter-tabs {
    flex-direction: row;
    flex-wrap: wrap;
  }
  .filter-tab { width: auto; flex: 1 1 calc(50% - 6px); }

  input, select, textarea, .btn,
  .form-row input, .form-row select, .form-row textarea,
  .ts-control {
    font-size: 16px !important;
  }
  .form-row input,
  .form-row select,
  .form-row textarea,
  .wh-field input,
  .wh-field select {
    min-height: 48px;
    padding: 12px 14px;
  }

  .desktop-only-table { display: none !important; }
  .m-card-list {
    display: grid;
    gap: 10px;
  }
  .m-card {
    display: grid;
    gap: 8px;
    padding: 14px;
    border: 1px solid var(--line);
    border-radius: 14px;
    background: var(--surface);
    box-shadow: var(--shadow);
    text-decoration: none !important;
    color: inherit;
  }
  a.m-card:active { transform: scale(0.99); }
  .m-card-link { text-decoration: none !important; color: inherit; display: grid; gap: 6px; }
  .m-card-top {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    align-items: baseline;
  }
  .m-card-top strong { color: var(--accent); font-size: 0.95rem; }
  .m-card-date { color: var(--muted); font-size: 0.8rem; }
  .m-card-title { font-size: 1.05rem; font-weight: 750; letter-spacing: -0.02em; }
  .m-card-meta { color: var(--muted); font-size: 0.88rem; }
  .m-card-row {
    display: flex;
    gap: 12px;
    color: var(--muted);
    font-size: 0.85rem;
    font-weight: 650;
  }
  .m-card-status { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
  .m-card-cta {
    display: block;
    margin-top: 4px;
    color: var(--accent);
    font-weight: 750;
    font-size: 0.9rem;
  }
  .m-card-actions-row {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
  }
  .m-card-actions-row .btn { min-height: 44px; width: 100%; }

  .grid-2, .grid-3, .grid-4, .grid-5,
  .kpi-row, .receive-meta, .wh-receive-settings {
    grid-template-columns: 1fr !important;
  }
  .wh-receive-bar-left { width: 100%; }
  .wh-receive-bar-actions .btn { width: 100%; min-height: 48px; }
  .wh-table-wrap { max-height: none; overflow-x: auto; }
  .wh-table { min-width: 520px; }

  .excel-stop-actions .sched-cbar-btn,
  .excel-stop-actions summary.sched-cbar-btn {
    flex: none;
  }
  .excel-stop-actions .sched-cbar-menu {
    position: fixed;
    right: 8px;
    left: auto;
  }

  .sched-modal { align-items: flex-end; }
  .sched-panel {
    width: 100%;
    max-width: 100%;
    max-height: 92vh;
    border-radius: 18px 18px 0 0;
    padding-bottom: calc(16px + env(safe-area-inset-bottom, 0px));
  }
  /* Frame modal: 980px kuralını mobilde ez */
  .sched-panel-frame,
  .sched-panel.sched-panel-wide.sched-panel-frame,
  #scheduleFrameModal .sched-panel-frame {
    width: 100% !important;
    max-width: 100% !important;
    padding: 12px 12px calc(12px + env(safe-area-inset-bottom, 0px));
  }
  #scheduleFrameModal .sched-frame,
  .sched-panel-frame .sched-frame {
    width: 100%;
    height: min(70dvh, calc(100dvh - 8rem));
    max-height: min(70dvh, calc(100dvh - 8rem));
  }

  /* Saha / çizelge touch targets (≥44px) */
  .sched-cbar,
  .excel-stop-actions .sched-cbar,
  .sched-page .excel-stop-actions .sched-cbar {
    flex-wrap: wrap !important;
    align-items: stretch !important;
    gap: 8px !important;
  }
  .sched-cbar-actions {
    margin-left: 0 !important;
    width: 100%;
    justify-content: flex-start;
  }
  .sched-cbar .sched-cbar-btn,
  .sched-cbar summary.sched-cbar-btn,
  .sched-cbar-btn,
  .excel-stop-actions .sched-cbar-btn,
  .excel-stop-actions summary.sched-cbar-btn,
  .sched-page .sched-cbar-btn,
  .sched-page .sched-cbar summary.sched-cbar-btn,
  .sched-page .excel-stop-actions .btn-fat,
  .sched-page .excel-stop-actions .btn,
  .sched-page .excel-stop-actions button:not(.sched-menu-item),
  .sched-page .excel-stop-actions summary,
  .sched-page .excel-stop-actions a.btn {
    min-height: 44px !important;
    height: auto !important;
    max-height: none !important;
    padding: 10px 12px !important;
    font-size: 0.85rem !important;
  }
  .sched-chip,
  .sched-cbar-date-group .sched-chip,
  .sched-cbar-date-group button.sched-chip,
  .sched-page .sched-chip,
  .sched-page .sched-cbar-date-group .sched-chip,
  .sched-page .excel-stop-actions .quick-date-btn {
    min-height: 44px !important;
    height: auto !important;
    max-height: none !important;
    padding: 10px 12px !important;
    font-size: 0.8rem !important;
  }
  .sched-cbar-date-group {
    flex-wrap: wrap;
    overflow: visible;
  }

  .help-fab small { display: none; }
  .help-fab {
    width: 48px;
    height: 48px;
    border-radius: 999px;
    padding: 0;
    justify-content: center;
  }

  .orders-list-panel { padding: 12px; }
  .pager {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
  }
  .pager a, .pager .current {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    padding: 0 12px;
  }

  .ts-dropdown {
    max-height: 40vh !important;
  }
}

@media (max-width: 430px) {
  .main { padding-left: 10px; padding-right: 10px; }
  .m-card-actions-row { grid-template-columns: 1fr; }
}

/* Warehouse mobile card check + Tom Select keyboard */
.wh-m-check input { width: 22px; height: 22px; accent-color: var(--accent); }
.wh-m-card { cursor: pointer; max-width: 100%; box-sizing: border-box; }
@media (max-width: 900px) {
  .ts-dropdown {
    position: fixed !important;
    left: 8px !important;
    right: 8px !important;
    width: auto !important;
    max-width: none !important;
    bottom: calc(var(--bottom-nav-h, 64px) + env(safe-area-inset-bottom, 0px) + 8px) !important;
    top: auto !important;
    max-height: min(42vh, 320px) !important;
    z-index: 10000 !important;
  }
  .emp-edit-footer {
    flex-direction: column;
    align-items: stretch !important;
    gap: 10px;
  }
  .emp-edit-footer-left,
  .emp-edit-footer-right {
    width: 100%;
    justify-content: stretch;
  }
  .emp-edit-footer-right {
    margin-left: 0;
    flex-direction: column-reverse;
    gap: 8px;
  }
  .emp-edit-save,
  .emp-edit-modules {
    width: 100%;
    min-height: 48px;
  }
  .emp-edit-cancel,
  .emp-edit-delete {
    width: 100%;
    justify-content: center;
    min-height: 44px;
  }
  .emp-edit-footer .btn,
  .emp-edit-footer-right .btn,
  .qc-panel .btn[type="submit"] {
    width: 100%;
    min-height: 48px;
  }
  .qc-panel {
    width: 100%;
    max-width: 100%;
    border-radius: 18px 18px 0 0;
    max-height: 92vh;
    padding-bottom: calc(16px + env(safe-area-inset-bottom, 0px));
  }
}


/* Warehouse: no horizontal page scroll on mobile */
@media (max-width: 900px) {
  .wh-page, .wh-receive, .ops-page { overflow-x: hidden; max-width: 100%; }
  .wh-table-wrap.desktop-only-table { display: none !important; }
  .wh-table { min-width: 0 !important; }
  .m-card-actions-row form { width: 100%; }
}

/* ========== Sevkiyatçı mobil kokpit (Dispatch Mobile) ========== */
.sched-panel-wide {
  max-width: min(640px, 96vw);
}
.sched-panel-frame {
  max-width: min(980px, 98vw);
  width: min(980px, 98vw);
  padding: 14px 16px 16px;
}
.sched-frame-head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 8px 12px;
  margin: 0 1.5rem 10px 0;
}
.sched-frame-head h2 {
  margin: 0;
  font-family: var(--display);
  font-size: 1.1rem;
  font-weight: 700;
}
.sched-frame-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.sched-frame {
  width: 100%;
  height: min(82vh, 760px);
  border: 1px solid var(--line, #E2E8F0);
  border-radius: 12px;
  background: #fff;
}

/* —— Embed (iframe modal) —— */
.body-embed {
  background: #F8FAFC;
}
.body-embed .main,
.body-embed .main-embed {
  margin: 0 !important;
  padding: 0 !important;
  min-height: 0;
}
.body-embed .content-embed {
  padding: 12px 14px 16px;
  max-width: none;
}
.body-embed .help-fab,
.body-embed .bottom-nav,
.body-embed .sidebar,
.body-embed .topbar { display: none !important; }

/* —— Müşteri kartı: kompakt aksiyonlar —— */
.customer-quick-actions,
.customer-action-bar {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  justify-content: flex-end;
  flex: 0 0 auto;
  max-width: min(420px, 100%);
  margin: 0;
}
.customer-action-bar .cqa-form {
  display: inline-flex;
  margin: 0;
}
.cqa-form { display: contents; margin: 0; }
.cqa-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 36px;
  min-height: 36px;
  padding: 0 14px;
  border-radius: var(--radius-sm);
  border: 1px solid var(--line, #CBD5E1);
  background: #fff;
  color: #334155;
  font-size: .8rem;
  font-weight: 700;
  text-decoration: none !important;
  cursor: pointer;
  white-space: nowrap;
  transition: background .15s, border-color .15s, color .15s;
  line-height: 1;
  box-sizing: border-box;
  width: auto;
  flex: 0 0 auto;
}
.cqa-btn:hover {
  background: var(--accent-soft, #F8FAFC);
  border-color: color-mix(in srgb, var(--accent) 35%, var(--line, #94A3B8));
  color: #0F172A;
}
.cqa-btn.cqa-primary {
  background: var(--accent);
  border-color: var(--accent);
  color: #fff;
}
.cqa-btn.cqa-primary:hover {
  background: var(--accent-hover);
  border-color: var(--accent-hover);
  color: #fff;
}
.cqa-btn.cqa-wa {
  border-color: #86EFAC;
  color: #166534;
  background: #F0FDF4;
}
.cqa-btn.cqa-edit {
  background: #F1F5F9;
  border-color: #CBD5E1;
  color: #334155;
}
.cqa-btn.cqa-edit:hover {
  background: #E2E8F0;
  border-color: #94A3B8;
  color: #0F172A;
}
.cqa-btn.cqa-wa .wa-icon {
  color: #25D366;
}
.cqa-btn.cqa-danger {
  border-color: #FECACA;
  color: #B91C1C;
  background: #fff;
}
.cqa-btn.cqa-danger:hover {
  background: #FEF2F2;
  border-color: #F87171;
  color: #991B1B;
}
.cqa-btn.cqa-danger-solid {
  background: #DC2626;
  border-color: #DC2626;
  color: #fff;
  box-shadow: 0 4px 12px rgba(220, 38, 38, 0.28);
}
.cqa-btn.cqa-danger-solid:hover {
  background: #B91C1C;
  border-color: #B91C1C;
  color: #fff;
}
.cust-hard-delete-panel {
  max-width: 520px;
}
.cust-hard-delete-title {
  margin: 0 28px 12px 0;
  font-family: var(--display);
  font-weight: 600;
  color: #B91C1C;
}
.cust-hard-delete-warn {
  margin: 0 0 12px;
  line-height: 1.55;
  color: #7F1D1D;
  background: #FEF2F2;
  border: 1px solid #FECACA;
  border-radius: 12px;
  padding: 14px 16px;
  font-size: .95rem;
}
.cust-hard-delete-actions {
  justify-content: flex-end;
  gap: 8px;
  margin-top: 14px;
}
.customer-meta-chip {
  display: inline-flex;
  align-items: center;
  height: 26px;
  padding: 0 10px;
  border-radius: 999px;
  border: 1px solid #E2E8F0;
  background: #F8FAFC;
  font-size: .76rem;
  font-weight: 600;
  color: #475569;
  text-decoration: none;
}
.customer-meta-chip.is-phone {
  border-color: #BBF7D0;
  background: #F0FDF4;
  color: #166534;
}
.customer-meta-chip.is-warn {
  border-color: #FDE68A;
  background: #FFFBEB;
  color: #92400E;
}
.customer-meta-chip.is-muted { color: #64748B; }
.customer-hero-meta-row {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin: 0;
}
.customer-hero-note { margin: 0; font-size: .84rem; }
.customer-hero-embed {
  box-shadow: none;
  border: 1px solid #E2E8F0;
  padding: 16px 18px;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  overflow: visible;
}
/* Embed iframe: butonlar metni ezmesin — dikey istif */
.customer-hero-embed .customer-hero-head {
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  align-items: stretch;
  gap: 12px;
  width: 100%;
  max-width: 100%;
}
.customer-hero-embed .customer-hero-main {
  flex: 1 1 auto;
  width: 100%;
  max-width: 100%;
  min-width: 0;
}
.customer-hero-embed .customer-hero-name,
.customer-hero-embed .customer-hero-title,
.customer-hero-embed .order-contact-block,
.customer-hero-embed .order-address-block,
.customer-hero-embed .order-address-text {
  width: 100%;
  max-width: 100%;
  white-space: normal !important;
  word-break: break-word;
  overflow-wrap: break-word;
}
.customer-hero-embed .customer-hero-name {
  font-size: 1.35rem;
  line-height: 1.25;
}
.customer-hero-embed .customer-quick-actions,
.customer-hero-embed .customer-action-bar {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  width: 100%;
  max-width: 100%;
  flex: 0 0 auto;
  justify-content: flex-start;
  align-items: center;
}
.customer-hero-embed .customer-action-bar .cqa-btn {
  flex: 0 0 auto;
}
.body-embed .content-embed {
  padding: 16px 18px 20px;
  max-width: none;
  box-sizing: border-box;
  width: 100%;
}
.body-embed .card {
  max-width: 100%;
  box-sizing: border-box;
}
.customer-embed-stats {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  padding: 12px 14px;
}
.customer-embed-stat {
  display: flex;
  flex-direction: column;
  align-items: center;
  min-width: 72px;
  padding: 8px 10px;
  border: 1px solid #E2E8F0;
  border-radius: 10px;
  background: #F8FAFC;
}
.customer-embed-stat strong {
  font-size: .95rem;
  font-weight: 800;
  color: #0F172A;
  line-height: 1.1;
}
.customer-embed-stat span {
  font-size: .65rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .04em;
  color: #64748B;
  margin-top: 2px;
}
.customer-contact-details > summary {
  font-size: .88rem;
  font-weight: 700;
  min-height: 40px;
  padding: 8px 0;
  color: #475569;
}
.customer-contact-form input {
  width: 100%;
  height: 38px;
  border-radius: var(--radius-control);
  border: 1px solid var(--line, #CBD5E1);
  font-size: .88rem;
}
.customer-contact-form input.is-field-locked,
.customer-contact-form input[readonly].is-field-locked {
  background: #F1F5F9;
  color: #64748B;
  cursor: not-allowed;
}
.customer-contact-name {
  grid-column: 1 / -1;
}
.customer-field-hint {
  display: block;
  margin-top: 4px;
  font-size: .78rem;
  color: #64748B;
}
.customer-contact-footer .btn {
  min-height: 36px;
  padding: 0 16px;
  border-radius: 999px;
}
@media (max-width: 640px) {
  .customer-quick-actions,
  .customer-action-bar { width: 100%; max-width: 100%; justify-content: flex-start; }
  .customer-hero-head { flex-direction: column; flex-wrap: wrap; }
}

/* —— Embed uyarıları (sipariş / teslimat) —— */
.embed-alerts {
  display: grid;
  gap: 6px;
}
.embed-alert {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 8px 12px;
  padding: 8px 12px;
  border-radius: 10px;
  font-size: .82rem;
  font-weight: 600;
  line-height: 1.35;
}
.embed-alert a {
  font-weight: 700;
  text-decoration: none;
  white-space: nowrap;
}
.embed-alert.is-warn {
  background: #FFFBEB;
  border: 1px solid #FDE68A;
  color: #92400E;
}
.embed-alert.is-warn a { color: #B45309; }
.embed-alert.is-danger {
  background: #FEF2F2;
  border: 1px solid #FECACA;
  color: #991B1B;
}
.embed-alert.is-danger a { color: #B91C1C; }

/* —— Sipariş detay: embed + kompakt —— */
.order-page-embed { gap: 12px; }
.order-hero-embed {
  padding: 14px 16px;
  box-shadow: none;
}
.order-hero-name {
  margin: 0;
  font-family: var(--display);
  font-size: clamp(1.2rem, 2vw, 1.55rem);
  font-weight: 700;
  letter-spacing: -0.03em;
  color: var(--ink);
}
.order-hero-name a { color: inherit; text-decoration: none; }
.order-hero-name a:hover { color: var(--accent); }
.order-hero-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 8px;
}
.order-hero-main { flex: 1 1 220px; min-width: 0; }
.order-stat.is-ok {
  border-color: #BBF7D0;
  background: #F0FDF4;
}
.order-stat.is-ok strong { color: #166534; }
.order-quick-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  padding-top: 10px;
  border-top: 1px solid var(--line);
}
.order-cancel-panel {
  border: 1px solid #FECACA;
  background: linear-gradient(180deg, #FFF7F7 0%, #fff 70%);
  border-radius: 14px;
  padding: 14px 16px;
  scroll-margin-top: 72px;
}
.order-cancel-head h3 {
  margin: 0 0 4px;
  font-family: var(--display);
  font-weight: 400;
  font-size: 1.15rem;
  color: #991B1B;
}
.order-cancel-head p {
  margin: 0 0 12px;
  color: #7F1D1D;
  font-size: .88rem;
}
.order-cancel-grid {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}
.order-cancel-form {
  display: grid;
  gap: 8px;
  padding: 12px;
  border-radius: 12px;
  border: 1px solid #FECACA;
  background: #fff;
}
.order-cancel-form.is-archive {
  border-color: #E2E8F0;
  background: #F8FAFC;
}
.order-cancel-form select,
.order-cancel-form input {
  min-height: 40px;
  width: 100%;
  box-sizing: border-box;
}
.order-embed-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  position: sticky;
  top: 0;
  z-index: 5;
  padding: 6px;
  background: rgba(248, 250, 252, 0.94);
  backdrop-filter: blur(8px);
  border: 1px solid #E2E8F0;
  border-radius: 12px;
}
.order-embed-nav a {
  display: inline-flex;
  align-items: center;
  height: 30px;
  padding: 0 12px;
  border-radius: 999px;
  font-size: .76rem;
  font-weight: 700;
  color: #475569;
  text-decoration: none;
  background: #fff;
  border: 1px solid #E2E8F0;
}
.order-embed-nav a:hover {
  border-color: #A5B4FC;
  color: #3730A3;
  background: #EEF2FF;
}
.order-section-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 10px;
}
.order-section-head h3 { margin: 0; }
.order-panel-compact { padding: 14px 16px; }
.order-panel-compact > h3 { margin-bottom: 10px; font-size: .95rem; }
.order-upload-form {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin-top: 10px;
}
.order-upload-zone {
  flex: 1 1 180px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 112px;
  padding: 18px 12px;
  border: 1px dashed #CBD5E1;
  border-radius: 10px;
  background: #F8FAFC;
  cursor: pointer;
  position: relative;
  overflow: hidden;
  text-align: center;
}
.order-upload-zone:hover { border-color: #94A3B8; background: #F1F5F9; }
.order-upload-label {
  font-size: .78rem;
  font-weight: 700;
  color: #64748B;
  text-transform: uppercase;
  letter-spacing: .04em;
}
.order-upload-zone input[type="file"],
.order-upload-zone .order-upload-input,
.form-row .order-upload-zone input[type="file"] {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  opacity: 0 !important;
  font-size: 0 !important;
  line-height: 0 !important;
  cursor: pointer !important;
  z-index: 2;
  color: transparent !important;
}
.order-embed-items {
  padding: 14px 16px;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 14px;
}
.order-embed-items > h3 {
  margin: 0 0 10px;
  font-family: var(--display);
  font-size: .95rem;
}
.order-embed-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 6px;
}
.order-embed-item {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 10px 12px;
  border: 1px solid #E2E8F0;
  border-radius: 10px;
  background: #F8FAFC;
}
.order-embed-item-name {
  flex: 1 1 140px;
  font-size: .88rem;
  font-weight: 600;
  color: #0F172A;
  line-height: 1.35;
}

/* —— Servisi düzenle modal —— */
.sched-edit-panel { padding-bottom: 0; }
.sched-edit-head {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
  margin: 0 0 12px;
  padding-right: 2rem;
}
.sched-edit-head h2 {
  margin: 0;
  font-family: var(--display);
  font-size: 1.15rem;
  font-weight: 700;
  letter-spacing: -0.02em;
}
.sched-edit-sub {
  margin: 4px 0 0;
  font-size: .84rem;
  color: var(--muted);
}
.sched-edit-quick {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.sched-edit-form {
  display: grid;
  gap: 14px;
  max-height: min(72vh, 640px);
  overflow-y: auto;
  padding-bottom: 12px;
}
.sched-edit-section {
  padding: 12px 14px;
  border: 1px solid #E2E8F0;
  border-radius: 12px;
  background: #F8FAFC;
}
.sched-edit-section-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 6px;
}
.sched-edit-section-head .sched-edit-section-title { margin: 0; }
.sched-edit-section-title {
  margin: 0 0 10px;
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: #64748B;
}
.sched-edit-hint {
  margin: -4px 0 8px;
  font-size: .8rem;
}
.sched-edit-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px 12px;
}
.sched-edit-span { grid-column: 1 / -1; }
.sched-edit-grid .form-row label {
  font-size: .78rem;
  font-weight: 700;
  color: #475569;
}
.sched-edit-grid input,
.sched-edit-grid select,
.sched-edit-grid textarea {
  border-radius: 8px;
  border: 1px solid #CBD5E1;
  font-size: .88rem;
}
.sched-edit-items {
  max-height: 180px;
  padding: 4px;
  border: 1px solid #E2E8F0;
  border-radius: 10px;
  background: #fff;
}
.sched-edit-item {
  padding: 8px 10px;
  border-radius: 8px;
  transition: background .12s;
}
.sched-edit-item:hover { background: #F8FAFC; }
.sched-edit-footer {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding: 12px 0 4px;
  border-top: 1px solid #E2E8F0;
  position: sticky;
  bottom: 0;
  background: #fff;
}
@media (max-width: 520px) {
  .sched-edit-grid { grid-template-columns: 1fr; }
}

/* —— Teslimat formu —— */
.delivery-page { display: grid; gap: 14px; }
.delivery-page-embed { gap: 10px; }
.delivery-toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px 14px;
}
.delivery-toolbar-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  align-items: center;
}
.delivery-embed-title strong {
  display: block;
  font-family: var(--display);
  font-size: 1.05rem;
}
.delivery-embed-title .muted {
  font-size: .82rem;
}
.delivery-sheet {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 16px;
  padding: 18px 20px 20px;
}
.delivery-sheet-embed {
  padding: 14px 16px;
  box-shadow: none;
}
.delivery-head {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px 16px;
  padding-bottom: 14px;
  border-bottom: 1px solid var(--line);
}
.delivery-head-brand strong {
  display: block;
  font-family: var(--display);
  font-size: 1.2rem;
  font-weight: 700;
  letter-spacing: -0.02em;
}
.delivery-head-meta {
  text-align: right;
  font-size: .88rem;
  display: grid;
  gap: 4px;
  justify-items: end;
}
.delivery-head-meta strong { display: block; }
.delivery-status-pill {
  display: inline-flex;
  align-items: center;
  height: 24px;
  padding: 0 10px;
  border-radius: 999px;
  font-size: .72rem;
  font-weight: 700;
  background: #F1F5F9;
  border: 1px solid #E2E8F0;
  color: #475569;
}
.delivery-status-pill.is-done {
  background: #F0FDF4;
  border-color: #BBF7D0;
  color: #166534;
}
.delivery-status-pill.is-open {
  background: #FFFBEB;
  border-color: #FDE68A;
  color: #92400E;
}
.delivery-info-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin-top: 14px;
}
@media (max-width: 560px) {
  .delivery-info-grid { grid-template-columns: 1fr; }
  .delivery-head-meta { text-align: left; justify-items: start; }
}
.delivery-info-card {
  padding: 12px 14px;
  border: 1px solid #E2E8F0;
  border-radius: 12px;
  background: #F8FAFC;
}
.delivery-info-card h4 {
  margin: 0 0 6px;
  font-size: .68rem;
  font-weight: 800;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: #64748B;
}
.delivery-info-name {
  margin: 0;
  font-size: 1rem;
  font-weight: 700;
  color: #0F172A;
}
.delivery-info-phone {
  display: inline-block;
  margin-top: 4px;
  font-size: .88rem;
  font-weight: 600;
  color: #166534;
  text-decoration: none;
}
.delivery-info-warn {
  display: inline-block;
  margin-top: 4px;
  font-size: .82rem;
  font-weight: 600;
  color: #92400E;
}
.delivery-info-addr {
  margin: 6px 0 0;
  font-size: .82rem;
  line-height: 1.4;
}
.delivery-team-badge {
  display: inline-block;
  margin-top: 6px;
  padding: 3px 8px;
  border-radius: 999px;
  background: #EEF2FF;
  border: 1px solid #C7D2FE;
  font-size: .72rem;
  font-weight: 700;
  color: #4338CA;
  text-transform: capitalize;
}
.delivery-products > h3,
.delivery-form-section > h3 {
  margin: 16px 0 8px;
  font-family: var(--display);
  font-size: .95rem;
}
.delivery-product-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 6px;
}
.delivery-product-item {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  padding: 10px 12px;
  border: 1px solid #E2E8F0;
  border-radius: 10px;
  background: #fff;
}
.delivery-product-item.is-done {
  background: #F0FDF4;
  border-color: #BBF7D0;
}
.delivery-product-check {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: #059669;
  color: #fff;
  font-size: .75rem;
  font-weight: 800;
  flex-shrink: 0;
}
.delivery-product-text {
  flex: 1 1 120px;
  font-size: .88rem;
  font-weight: 600;
  line-height: 1.35;
}
.delivery-checklist {
  display: grid;
  gap: 6px;
}
.delivery-check-item {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  padding: 10px 12px;
  border: 1px solid #E2E8F0;
  border-radius: 10px;
  background: #fff;
  cursor: pointer;
  transition: border-color .12s, background .12s;
}
.delivery-check-item:has(input:checked) {
  border-color: #A5B4FC;
  background: #EEF2FF;
}
.delivery-check-text {
  flex: 1 1 120px;
  font-size: .88rem;
  font-weight: 600;
}
.delivery-form { margin-top: 14px; }
.delivery-form-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px 12px;
}
.delivery-form-span { grid-column: 1 / -1; }
.delivery-sig-wrap {
  display: grid;
  gap: 6px;
}
.delivery-sig-wrap canvas,
#sigPad {
  width: 100%;
  max-width: 520px;
  height: 160px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: #fff;
  touch-action: none;
}
.delivery-submit { width: 100%; margin-top: 12px; }
.delivery-signed { margin-top: 16px; }
.delivery-signature-img {
  max-width: 320px;
  margin-top: 8px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
}
.delivery-photo-thumb {
  max-width: 240px;
  margin-top: 10px;
  border-radius: 10px;
}
@media (max-width: 560px) {
  .delivery-form-grid { grid-template-columns: 1fr; }
}

.sched-ops-list {
  display: grid;
  gap: 6px;
}
.sched-ops-item {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  padding: 12px 14px;
  border: 1px solid var(--line, #E2E8F0);
  border-radius: 10px;
  background: var(--surface, #fff);
  color: var(--ink, #0F172A);
  font-size: .88rem;
  font-weight: 600;
  text-decoration: none;
  cursor: pointer;
  text-align: left;
  transition: background .15s, border-color .15s;
}
.sched-ops-item:hover {
  background: #F8FAFC;
  border-color: #CBD5E1;
}
/* ── Compact Action Bar (schedule.php) ───────────────── */
/* Toolbar sarmalayıcı */
.sched-page .sched-toolbar-wrap,
.sched-page .excel-stop-actions {
  margin-top: 6px;
}
/* form.sched-chip-form'ın field-fat-actions'tan miras aldığı width:100%'i sıfırla */
.sched-cbar form,
.sched-cbar form.sched-chip-form {
  width: auto !important;
  margin: 0 !important;
  display: contents;
}
.sched-cbar {
  display: flex !important;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  padding: 8px 10px;
  background: #F8FAFC;
  border: 1px solid #E2E8F0;
  border-radius: 10px;
  width: 100%;
  box-sizing: border-box;
}
.sched-cbar-sep { display: none; }
.sched-cbar-date-group {
  display: inline-flex;
  align-items: stretch;
  border: 1px solid #E2E8F0;
  border-radius: 8px;
  overflow: hidden;
  background: #fff;
  flex: none;
}
.sched-cbar-date-group .sched-chip,
.sched-cbar-date-group button.sched-chip {
  height: 32px !important;
  min-height: 32px !important;
  padding: 0 11px !important;
  border-radius: 0 !important;
  border: 0 !important;
  border-right: 1px solid #E2E8F0 !important;
  background: #fff !important;
  color: #475569 !important;
  font-weight: 600 !important;
  box-shadow: none !important;
}
.sched-cbar-date-group .sched-chip:hover,
.sched-cbar-date-group button.sched-chip:hover {
  background: #F8FAFC !important;
  color: #334155 !important;
}
.sched-cbar-date-group > *:last-child .sched-chip,
.sched-cbar-date-group > button.sched-chip:last-child {
  border-right: 0 !important;
}
.sched-cbar-actions {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin-left: auto;
}
/* sched-cbar-btn: btn-fat override — !important her kuralda zorunlu */
.sched-cbar .sched-cbar-btn,
.sched-cbar summary.sched-cbar-btn,
.sched-cbar-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 4px;
  height: 32px !important;
  min-height: 32px !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  flex: none !important;
  padding: 0 11px !important;
  border: 1px solid #CBD5E1 !important;
  border-radius: var(--radius-control) !important;
  background: #fff !important;
  color: #334155 !important;
  font-size: .78rem !important;
  font-weight: 600 !important;
  cursor: pointer;
  white-space: nowrap;
  transition: background .15s, border-color .15s;
  text-decoration: none;
  line-height: 1;
  box-sizing: border-box !important;
  box-shadow: 0 1px 2px rgba(15, 23, 42, .05) !important;
}
.sched-cbar .sched-cbar-btn:hover,
.sched-cbar-btn:hover {
  background: #F1F5F9 !important;
  border-color: #94A3B8 !important;
  color: #1E293B !important;
}
.sched-cbar-done,
.sched-cbar .sched-cbar-done {
  background: #059669 !important;
  border-color: #059669 !important;
  color: #fff !important;
  font-weight: 700 !important;
}
.sched-cbar-done:hover { background: #047857 !important; border-color: #047857 !important; color: #fff !important; }
.sched-cbar-ssh-done,
.sched-cbar .sched-cbar-ssh-done {
  background: #FFF7ED !important;
  border-color: rgba(194, 65, 12, .35) !important;
  color: #9A3412 !important;
  font-weight: 700 !important;
}
.sched-cbar-ssh-done:hover {
  background: #FFEDD5 !important;
  border-color: #FB923C !important;
  color: #7C2D12 !important;
}
.sched-cbar-primary,
.sched-cbar .sched-cbar-primary {
  background: var(--accent, #4F46E5) !important;
  border-color: var(--accent, #4F46E5) !important;
  color: #fff !important;
}
.sched-cbar-primary:hover { opacity: .88; }
.sched-cbar-chevron { font-size: .62rem; opacity: .7; }

.sched-cbar-chips {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 3px;
}

.sched-chip-row {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  padding: 2px;
}
.sched-chip {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  height: 28px !important;
  min-height: 0 !important;
  padding: 0 10px !important;
  border: 1px solid color-mix(in srgb, var(--accent) 28%, #CBD5E1) !important;
  border-radius: var(--radius-full) !important;
  background: var(--accent-soft) !important;
  color: var(--accent) !important;
  font-size: .72rem !important;
  font-weight: 700 !important;
  cursor: pointer;
  white-space: nowrap;
  transition: background .15s, border-color .15s;
  line-height: 1;
  width: auto !important;
  flex: none !important;
  box-shadow: none !important;
}
.sched-chip:hover {
  background: color-mix(in srgb, var(--accent-soft) 70%, #fff);
  border-color: color-mix(in srgb, var(--accent) 45%, #94A3B8);
  color: var(--accent-hover);
}
.sched-chip-custom {
  background: #F1F5F9;
  color: #475569;
}
.sched-date-menu {
  min-width: 200px;
}

.sched-cbar-dropdown {
  position: relative;
}
.sched-cbar-dropdown > summary {
  list-style: none;
}
.sched-cbar-dropdown > summary::-webkit-details-marker { display: none; }
.sched-cbar-menu {
  position: absolute;
  top: calc(100% + 4px);
  right: 0;
  min-width: 196px;
  background: #fff;
  border: 1px solid #E2E8F0;
  border-radius: 10px;
  box-shadow: 0 10px 28px rgba(15, 40, 60, .16);
  padding: 4px;
  z-index: 300;
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.sched-menu-item {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 10px;
  border-radius: 7px;
  font-size: .82rem;
  font-weight: 500;
  color: #0F172A;
  text-decoration: none;
  cursor: pointer;
  background: transparent;
  border: none;
  width: 100%;
  text-align: left;
  transition: background .12s;
}
.sched-menu-item:hover { background: #F8FAFC; }

.sched-crew-menu { min-width: 228px; }
.sched-crew-label {
  display: flex;
  flex-direction: column;
  gap: 4px;
  font-size: .76rem;
  font-weight: 600;
  color: #64748B;
  padding: 6px 8px 4px;
}
.sched-crew-select {
  width: 100%;
  height: 32px;
  border: 1px solid #E2E8F0;
  border-radius: 6px;
  font-size: .82rem;
  padding: 0 6px;
  background: #fff;
  color: #0F172A;
  margin-top: 4px;
}
.sched-crew-actions {
  display: flex;
  gap: 4px;
  padding: 6px 8px 6px;
}

/* Kart yüksekliğini kısalt */
.sched-page .excel-stop-card.has-sched-toolbar {
  padding-bottom: 0;
}
.sched-page .m-dispatch-card .sched-toolbar-wrap {
  margin-top: 6px;
}

/* Keep old sched-action-bar name as alias */
.sched-action-bar { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px; }
.sched-action-crew { flex: 1 1 auto; }
.sched-edit-items {
  display: flex;
  flex-direction: column;
  gap: 6px;
  max-height: 200px;
  overflow-y: auto;
}
.sched-edit-item {
  display: flex;
  gap: 8px;
  align-items: flex-start;
  font-size: .88rem;
}
.sched-edit-item-text {
  flex: 1 1 120px;
  font-weight: 600;
  line-height: 1.35;
}
.sched-summary-table-wrap {
  overflow-x: auto;
}
.sched-summary-table {
  width: 100%;
  border-collapse: collapse;
  font-size: .88rem;
}
.sched-summary-table th,
.sched-summary-table td {
  padding: 10px 8px;
  border-bottom: 1px solid var(--line, #E2E8F0);
  text-align: left;
  vertical-align: top;
}
.sched-summary-table .is-ok { color: #059669; font-weight: 700; }
.sched-summary-table .is-warn { color: #D97706; font-weight: 700; }
.sched-sum-veh { font-size: .82rem; line-height: 1.45; }
.sched-ajax-toast {
  position: fixed;
  bottom: calc(72px + env(safe-area-inset-bottom, 0px));
  left: 50%;
  transform: translateX(-50%);
  z-index: 9000;
  padding: 10px 16px;
  border-radius: 10px;
  font-size: .88rem;
  font-weight: 600;
  box-shadow: 0 8px 24px rgba(15, 40, 60, 0.18);
  max-width: 92vw;
}
.sched-ajax-toast.is-ok {
  background: #D1FAE5;
  color: #065F46;
}
.sched-ajax-toast.is-err {
  background: #FEE2E2;
  color: #991B1B;
}
.excel-stop-card.is-removing,
.m-dispatch-card.is-removing {
  opacity: 0;
  transform: scale(0.98);
  transition: opacity .25s, transform .25s;
}

/* ── Çizelge kartı telefon rozeti (kimlik bloğu içinde) ─ */
.sched-phone-row {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
  margin: 0;
  padding: 0;
}
.sched-phone-row.sched-phone-missing:not(.excel-stop-identity-phones) {
  margin: 6px 0 4px;
  padding: 6px 10px;
  border-radius: 10px;
  border: 1px solid #FDE68A;
  background: #FFFBEB;
}
.sched-no-phone-btn {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  height: auto;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: #92400E;
  font-size: .78rem;
  font-weight: 700;
  cursor: pointer;
  transition: color .15s;
  white-space: nowrap;
}
.sched-no-phone-btn:hover { color: #78350F; }
.excel-stop-card .sched-phone-badge:empty,
.excel-stop-card .excel-stop-phone:empty {
  display: none !important;
}
.sched-phone-badge {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  height: 26px;
  padding: 0 10px;
  border: 1px solid #CBD5E1;
  border-radius: 999px;
  background: #fff;
  color: #0F172A;
  font-size: .75rem;
  font-weight: 600;
  text-decoration: none;
  white-space: nowrap;
  transition: background .15s, border-color .15s;
}
.sched-phone-badge:hover {
  background: #F8FAFC;
  border-color: #94A3B8;
}
.sched-phone-badge-alt {
  color: #334155;
  border-style: dashed;
}
.sched-phone-panel { max-width: 420px; }
.sched-phone-form-grid {
  display: grid;
  gap: 12px;
}
@media (min-width: 480px) {
  .sched-phone-form-grid {
    grid-template-columns: 1fr 1fr;
  }
}
.sched-phone-form .form-row label {
  display: block;
  margin-bottom: 4px;
  font-size: .82rem;
  font-weight: 600;
  color: #334155;
}
.sched-phone-form input[type="tel"] {
  width: 100%;
  height: 38px;
  padding: 0 10px;
  border: 1px solid #E2E8F0;
  border-radius: 8px;
  font-size: .88rem;
  box-sizing: border-box;
}
.sched-phone-form input[type="tel"]:focus {
  outline: none;
  border-color: var(--accent, #4F46E5);
  box-shadow: 0 0 0 2px rgba(79, 70, 229, .18);
}

.dispatch-mobile { display: none; }
.dispatch-desktop { display: block; }

.m-dispatch-card {
  width: 100%;
  box-sizing: border-box;
  margin: 0 0 12px;
  padding: 14px 14px 12px;
  border-radius: 12px;
  background: #fff;
  border: 1px solid #e2e8f0;
  border-left-width: 4px;
  border-left-color: #94A3B8;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
  overflow: hidden;
}
.m-dispatch-card.is-kesin { border-left-color: #B91C1C; }
.m-dispatch-card.is-gone { opacity: .72; }
.m-dispatch-card.is-complete {
  opacity: 1;
  border-left-color: #16A34A;
  background: #fff;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
}
.m-dispatch-card.is-ssh {
  opacity: 1;
  border-left-color: #EA580C;
  background: #fff;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
}
.m-dispatch-badge.is-complete {
  background: #DCFCE7;
  color: #166534;
  font-weight: 750;
}
.m-dispatch-badge.is-ssh {
  background: #FFEDD5;
  color: #C2410C;
  font-weight: 750;
}
.m-dispatch-head {
  display: block;
  color: inherit;
  text-decoration: none;
}
.m-dispatch-title {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 6px;
  font-size: 1.08rem;
  line-height: 1.3;
  margin-bottom: 8px;
}
.m-dispatch-order {
  font-weight: 800;
  letter-spacing: .01em;
  color: var(--ink, #111);
}
.m-dispatch-sep { color: #94A3B8; }
.m-dispatch-customer {
  font-weight: 800;
  font-size: 1.12rem;
  color: var(--ink, #0f172a);
  word-break: break-word;
}
.m-dispatch-kesin {
  font-size: .68rem;
  font-weight: 800;
  letter-spacing: .04em;
  padding: 2px 6px;
  border-radius: 4px;
  background: #FEE2E2;
  color: #B91C1C;
}
.m-dispatch-place {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px 8px;
  font-size: .9rem;
  color: #334155;
  margin-bottom: 6px;
}
.m-dispatch-pin { flex: 0 0 auto; }
.m-dispatch-team {
  display: inline-block;
  font-size: .72rem;
  font-weight: 700;
  padding: 3px 8px;
  border-radius: 999px;
  background: #EEF2FF;
  color: #3730A3;
}
.m-dispatch-products {
  font-size: .88rem;
  color: #475569;
  margin-bottom: 8px;
}
.m-dispatch-clamp {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  overflow: hidden;
  word-break: break-word;
  overflow-wrap: anywhere;
}
.m-dispatch-badges { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 4px; }
.m-dispatch-badge {
  display: inline-flex;
  align-items: center;
  font-size: .78rem;
  font-weight: 700;
  padding: 5px 10px;
  border-radius: 999px;
}
.m-dispatch-badge.is-ok { background: #D1FAE5; color: #047857; }
.m-dispatch-badge.is-warn { background: #FEF3C7; color: #B45309; }
.m-dispatch-badge.is-info { background: #E0F2FE; color: #0369A1; }
.m-dispatch-badge.is-done { background: #E2E8F0; color: #475569; }
.m-dispatch-more {
  margin: 8px 0 4px;
  font-size: .86rem;
}
.m-dispatch-more summary {
  cursor: pointer;
  color: #0369A1;
  font-weight: 600;
}
.m-dispatch-more ul {
  margin: 8px 0 0;
  padding-left: 1.1rem;
}
.m-dispatch-actions { margin-top: 10px; }
.m-dispatch-actions .sched-cbar-menu { right: 0; left: auto; }
.m-dispatch-action-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
}
.m-dispatch-reassign { margin: 0; }
.m-dispatch-reassign > summary {
  list-style: none;
  cursor: pointer;
}
.m-dispatch-reassign > summary::-webkit-details-marker { display: none; }
.m-dispatch-reassign-form {
  display: grid;
  gap: 8px;
  margin-top: 8px;
  padding: 10px;
  border-radius: 12px;
  background: rgba(0,0,0,.03);
}
.m-dispatch-select-label {
  display: grid;
  gap: 6px;
  font-size: .85rem;
  font-weight: 600;
}
.m-dispatch-crew-label {
  margin: 18px 0 10px;
  padding-bottom: 6px;
  border-bottom: 1px solid var(--line);
  font-size: .88rem;
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: #475569;
}
.m-dispatch-empty {
  text-align: center;
  padding: 28px 16px;
  border-radius: 16px;
  background: rgba(0,0,0,.03);
}
.m-dispatch-empty strong { display: block; font-size: 1.05rem; margin-bottom: 6px; }
.m-dispatch-empty p { margin: 0 0 14px; color: #64748B; }
.m-dispatch-confirm-bar {
  margin: -4px 0 14px;
  padding: 0 2px 8px;
}

@media (max-width: 900px) {
  .dispatch-shell {
    max-width: 100vw;
    overflow-x: hidden;
    box-sizing: border-box;
  }
  .dispatch-shell > .ops-hero {
    display: none !important;
  }
  .dispatch-mobile {
    display: block;
    max-width: 100%;
    overflow-x: hidden;
    padding: 0 0 calc(12px + env(safe-area-inset-bottom, 0px));
  }
  .dispatch-desktop,
  .dispatch-crew-panel {
    display: none !important;
  }

  .dispatch-summary {
    margin: 0 0 12px;
    padding: 16px 16px 14px;
    border-radius: 18px;
    background: linear-gradient(145deg, #0F3D4C 0%, #1A5A6E 55%, #0B2E38 100%);
    color: #F8FAFC;
    box-shadow: 0 10px 28px rgba(15, 61, 76, 0.28);
  }
  .dispatch-summary-kicker {
    font-size: .78rem;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    opacity: .85;
    margin-bottom: 8px;
  }
  .dispatch-summary-stats {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 6px 8px;
    font-size: .98rem;
  }
  .dispatch-summary-stats strong {
    font-size: 1.35rem;
    font-weight: 800;
  }
  .dispatch-summary-stats .is-ok strong { color: #6EE7B7; }
  .dispatch-summary-stats .is-wait strong { color: #FDE68A; }
  .dispatch-dot { opacity: .45; }
  .dispatch-summary-sub {
    margin-top: 8px;
    font-size: .82rem;
    color: rgba(248,250,252,.78) !important;
  }

  .dispatch-tabs {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 6px;
    margin-bottom: 12px;
    position: sticky;
    top: 0;
    z-index: 20;
    padding: 6px 0;
    background: var(--bg, #f4f6f8);
  }
  .dispatch-tab {
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    min-height: 48px;
    padding: 8px 6px;
    border-radius: 12px;
    font-size: .78rem;
    font-weight: 700;
    line-height: 1.2;
    text-decoration: none;
    color: #334155;
    background: #fff;
    border: 1px solid rgba(0,0,0,.08);
    box-sizing: border-box;
  }
  .dispatch-tab.is-active {
    background: #0F3D4C;
    color: #fff;
    border-color: #0F3D4C;
  }

  .dispatch-mobile-toolbar {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
    margin-bottom: 12px;
  }
  .dispatch-date-jump {
    margin: 0;
    flex: 1 1 120px;
  }
  .dispatch-date-jump input[type=date],
  .dispatch-shell .m-dispatch-select-label select,
  .dispatch-shell .m-dispatch-reassign-form input,
  .dispatch-shell .btn-fat {
    font-size: 16px !important;
  }
  .dispatch-shell .sched-cbar-btn {
    width: auto !important;
    min-height: 44px !important;
    height: auto !important;
    max-height: none !important;
    font-size: .85rem !important;
    padding: 10px 12px !important;
  }
  .dispatch-shell .sched-chip {
    min-height: 44px !important;
    height: auto !important;
    max-height: none !important;
    font-size: .8rem !important;
    padding: 10px 12px !important;
  }
  .dispatch-date-jump input[type=date] {
    width: 100%;
    min-height: 44px;
    border-radius: 10px;
    border: 1px solid rgba(0,0,0,.12);
    padding: 8px 10px;
    box-sizing: border-box;
  }

  .m-dispatch-list {
    max-width: 100%;
    overflow-x: hidden;
  }

  .body-role-ship .main,
  .dispatch-shell .main {
    overflow-x: hidden;
  }
}

@media (max-width: 430px) {
  .dispatch-tab { font-size: .72rem; padding: 8px 4px; }
  .m-dispatch-action-row { grid-template-columns: 1fr; }
}

.plan-mobile-stops { display: none; }
@media (max-width: 900px) {
  .plan-desktop-table { display: none !important; }
  .plan-mobile-stops { display: block; margin-top: 12px; }
}

/* ========== Depo modal + mobile polish ========== */
.wh-modal[hidden] { display: none !important; }
.wh-modal {
  position: fixed;
  inset: 0;
  z-index: 2400;
  display: flex;
  align-items: flex-end;
  justify-content: center;
}
.wh-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(15, 23, 42, 0.45);
}
.wh-panel {
  position: relative;
  z-index: 1;
  width: min(520px, 100%);
  max-height: 92vh;
  overflow: auto;
  background: var(--surface, #fff);
  border-radius: 18px 18px 0 0;
  padding: 18px 16px calc(18px + env(safe-area-inset-bottom, 0px));
  box-shadow: 0 -8px 32px rgba(0,0,0,.18);
}
.wh-close {
  position: absolute;
  top: 10px;
  right: 12px;
  border: 0;
  background: transparent;
  font-size: 1.6rem;
  line-height: 1;
  cursor: pointer;
  color: #64748B;
}
body.wh-modal-open { overflow: hidden; }
.wh-preset-row {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  margin-bottom: 12px;
}
.wh-preset-row .btn {
  min-height: 48px;
  font-size: 16px;
}
.wh-settings-toggle {
  margin-bottom: 10px;
}
.wh-page .wh-search-bar input[type=search],
.wh-page .wh-receive-settings select,
.wh-page .wh-receive-settings input,
.wh-page .wh-panel input,
.wh-page .wh-panel select,
.wh-page .btn-fat {
  font-size: 16px !important;
}
.wh-page .wh-search-bar input[type=search] {
  min-height: 48px;
  width: 100%;
  box-sizing: border-box;
}
.wh-page .m-card-actions-row {
  display: grid;
  grid-template-columns: 1fr;
  gap: 8px;
}
.wh-page .m-card-meta {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  overflow: hidden;
  word-break: break-word;
}

@media (max-width: 900px) {
  .wh-page {
    max-width: 100%;
    width: 100%;
    overflow-x: hidden;
    box-sizing: border-box;
  }
  .wh-page > .ops-hero .ops-hero-lead {
    display: none;
  }
  .wh-page .ops-hero.is-nav-first > .module-tabs {
    padding-top: max(4px, env(safe-area-inset-top, 0px));
  }
  .wh-page .ops-hero.is-nav-first > .page-toolbar {
    margin: 0 10px;
    padding-top: 8px;
    flex-direction: column;
    align-items: stretch;
    gap: 10px;
  }
  .wh-page .page-toolbar .filter-tabs {
    width: 100%;
    flex-wrap: wrap;
  }
  .wh-page .page-toolbar .toolbar-aside,
  .wh-page .page-toolbar .wh-filter-form {
    margin-left: 0;
    width: 100%;
  }
  .wh-page .wh-filter-form .btn,
  .wh-page .wh-filter-form .btn-ghost {
    width: auto !important;
    min-width: 64px;
  }
  .wh-page .wh-search-bar {
    padding: 12px;
    max-width: 100%;
    box-sizing: border-box;
  }
  .wh-page .wh-search-controls {
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
  }
  .wh-page .wh-search-controls .btn {
    width: auto !important;
    min-width: 72px;
  }
  .wh-page .wh-receive {
    max-width: 100%;
    overflow-x: hidden;
  }
  .wh-page .wh-receive-head,
  .wh-page .wh-receive-settings,
  .wh-page .m-card-list {
    padding-left: 12px;
    padding-right: 12px;
    box-sizing: border-box;
  }
  .wh-page .wh-day-jump-cards {
    padding-inline: 0;
    max-width: 100%;
  }
  .wh-page .wh-day-jump-card {
    flex-wrap: wrap;
    align-items: flex-start;
    max-width: 100%;
    box-sizing: border-box;
  }
  .wh-page .wh-day-jump-card strong,
  .wh-page .wh-day-jump-card span {
    min-width: 0;
    overflow-wrap: anywhere;
    word-break: break-word;
  }
  .wh-page .wh-m-card {
    max-width: 100%;
    box-sizing: border-box;
  }
  .wh-page .wh-m-card .m-card-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    min-width: 0;
  }
  .wh-page .wh-m-check {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 44px;
    min-height: 44px;
  }
  .wh-page .wh-m-check input[type="checkbox"] {
    width: 24px;
    height: 24px;
    min-width: 24px;
    min-height: 24px;
  }
  .wh-page .wh-m-card .m-card-title {
    overflow-wrap: anywhere;
    word-break: break-word;
  }
  .wh-page .wh-m-card .inline-status-chip-wrap {
    flex: 0 1 auto;
    min-width: 0;
    max-width: 58%;
    text-align: right;
  }
  .wh-page .wh-m-card .m-card-meta {
    overflow-wrap: anywhere;
    word-break: break-word;
  }
  .wh-receive-settings-body[hidden] { display: none !important; }
  .wh-receive-bar-actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
    width: 100%;
  }
  .wh-receive-bar-actions .btn {
    min-height: 48px;
    font-size: 15px;
    width: 100%;
  }
  .wh-receive-bar-actions .btn:last-child {
    grid-column: 1 / -1;
  }
}
@media (min-width: 901px) {
  .wh-modal {
    align-items: center;
  }
  .wh-panel {
    border-radius: 16px;
    padding: 22px 20px;
  }
  .wh-settings-toggle { display: none !important; }
}

/* waiting.php mobile cards */
.wait-mobile-list { display: none; }
@media (max-width: 900px) {
  .wait-page { max-width: 100vw; overflow-x: hidden; }
  .wait-desktop-table { display: none !important; }
  .wait-mobile-list { display: grid; gap: 10px; }
}


/* Fat disabled */
.btn-fat.is-disabled,
span.btn-fat.is-disabled {
  opacity: .55;
  pointer-events: none;
  cursor: not-allowed;
}

/* ========== Servisçi field cockpit ========== */
.field-route-banner {
  margin: 0 0 12px;
  padding: 16px;
  border-radius: 18px;
  background: linear-gradient(145deg, #1E3A5F 0%, #2B5876 55%, #152A45 100%);
  color: #F8FAFC;
  box-shadow: 0 10px 28px rgba(30, 58, 95, 0.28);
  max-width: 100%;
  overflow: hidden;
}
.field-route-kicker {
  font-size: .75rem;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  opacity: .85;
  margin-bottom: 6px;
}
.field-route-title {
  font-size: 1.28rem;
  font-weight: 800;
  line-height: 1.25;
  word-break: break-word;
}
.field-route-sub {
  margin-top: 8px;
  font-size: .88rem;
  opacity: .9;
  line-height: 1.4;
}
.field-route-sub.is-warn { color: #FDE68A; }
.field-route-stats {
  margin-top: 10px;
  display: flex;
  flex-wrap: wrap;
  gap: 6px 8px;
  font-size: .92rem;
}
.field-route-stats strong { font-size: 1.15rem; }
.field-route-stats .is-ok strong { color: #6EE7B7; }
.field-route-stats .is-wait strong { color: #FDE68A; }

.field-day-tabs {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  margin-bottom: 12px;
}
.field-day-tabs:has(> :nth-child(3)) {
  grid-template-columns: 1fr 1fr 1fr;
}
.field-day-tab {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  border-radius: 12px;
  font-size: 16px;
  font-weight: 700;
  text-decoration: none;
  color: #334155;
  background: #fff;
  border: 1px solid rgba(0,0,0,.08);
  box-sizing: border-box;
}
.field-day-tab.is-active {
  background: #1E3A5F;
  color: #fff;
  border-color: #1E3A5F;
}

/* Saha: müşteri telefon + açık adres + yol tarifi */
.field-contact-block {
  display: grid;
  gap: 8px;
  margin: 10px 0 8px;
}
.field-contact-strip {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
}
.field-contact-strip:has(> :only-child) {
  grid-template-columns: 1fr;
}
.field-address-row {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 12px 12px;
  border-radius: 14px;
  border: 1px solid #93C5FD;
  background: #EFF6FF;
  box-sizing: border-box;
}
.field-address-text {
  flex: 1 1 auto;
  min-width: 0;
  display: grid;
  gap: 2px;
}
.field-address-text strong {
  font-size: 0.72rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: #1D4ED8;
  font-weight: 700;
}
.field-address-text span {
  font-size: 0.92rem;
  line-height: 1.35;
  color: #0F172A;
  font-weight: 600;
  word-break: break-word;
}
.field-address-text.is-missing {
  opacity: 0.9;
}
.field-address-text.is-missing strong { color: #B45309; }
.field-maps-side-btn {
  flex: 0 0 auto;
  align-self: center;
  white-space: nowrap;
  background: #1E4A6E !important;
  color: #fff !important;
  border: 0 !important;
  min-height: 40px;
  padding: 8px 14px;
  border-radius: 10px;
  font-weight: 700;
  text-decoration: none !important;
}
.field-maps-side-btn:hover { background: #163A56 !important; }

.field-cargo-block {
  margin: 0 0 10px;
  padding: 0;
  border-radius: 14px;
  border: 1px solid #E2E8F0;
  background: #fff;
  overflow: hidden;
}
.field-cargo-kicker {
  padding: 8px 12px 6px;
  font-size: 0.72rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: #64748B;
  font-weight: 700;
}
.field-cargo-list {
  list-style: none;
  margin: 0;
  padding: 0;
}
.field-cargo-item {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 10px 12px;
  border-top: 1px solid #E2E8F0;
}
.field-cargo-item:last-child { border-bottom: 0; }
.field-cargo-ico {
  flex: 0 0 auto;
  font-size: 1.05rem;
  line-height: 1.35;
}
.field-cargo-body {
  min-width: 0;
  display: grid;
  gap: 2px;
}
.field-cargo-body strong {
  font-size: 0.98rem;
  font-weight: 750;
  color: #0F172A;
  line-height: 1.35;
  word-break: break-word;
}
.field-cargo-body small {
  font-size: 0.84rem;
  color: #9A3412;
  font-weight: 650;
  line-height: 1.35;
  white-space: pre-wrap;
}
.field-cargo-item.is-ssh {
  background: #FFFBEB;
}
.field-cargo-empty {
  margin: 0;
  padding: 10px 12px 12px;
  font-size: 0.88rem;
  font-weight: 600;
  color: #94A3B8;
  line-height: 1.4;
}

.field-depot-lock-banner {
  margin: 8px 0 10px;
  padding: 10px 12px;
  border-radius: 12px;
  border: 1px solid #FECACA;
  background: #FEF2F2;
  color: #991B1B;
  font-size: 0.92rem;
  font-weight: 750;
  line-height: 1.35;
}
.field-stop-card.is-depot-locked {
  border-color: #FECACA;
  box-shadow: 0 0 0 1px rgba(248, 113, 113, 0.18);
}
.field-depot-lock-hint {
  margin: 0 0 8px;
  font-size: 0.84rem;
  font-weight: 650;
  color: #9A3412;
  line-height: 1.35;
}
.field-depot-locked-actions .btn.is-disabled {
  opacity: 0.55;
  pointer-events: none;
  cursor: not-allowed;
}
.field-contact-btn {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  min-height: 56px;
  padding: 10px 12px;
  border-radius: 14px;
  border: 1px solid #CBD5E1;
  background: #F8FAFC;
  text-decoration: none !important;
  color: #0F172A;
  box-sizing: border-box;
}
.field-contact-btn.is-phone {
  border-color: #86EFAC;
  background: #F0FDF4;
}
.field-contact-btn.is-maps {
  border-color: #93C5FD;
  background: #EFF6FF;
}
.field-contact-btn.is-missing,
.field-contact-btn.is-static {
  opacity: .92;
  cursor: default;
}
.field-contact-btn.is-missing {
  border-style: dashed;
  background: #FFFBEB;
  border-color: #FCD34D;
}
.field-contact-icon {
  flex: 0 0 auto;
  font-size: 1.25rem;
  line-height: 1;
  margin-top: 2px;
}
.field-contact-text {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}
.field-contact-text strong {
  font-size: .95rem;
  line-height: 1.25;
  word-break: break-word;
}
.field-contact-text small {
  font-size: .72rem;
  color: #64748B;
  line-height: 1.3;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.field-contact-address {
  font-size: .78rem;
  line-height: 1.35;
  margin: 0 0 6px;
  padding: 0 2px;
}
@media (max-width: 420px) {
  .field-contact-strip {
    grid-template-columns: 1fr;
  }
}

.confirm-mobile-list { display: none; }
.field-cockpit,
.confirm-cockpit {
  max-width: 100%;
  overflow-x: hidden;
}
.field-cockpit .mobile-service input,
.field-cockpit .mobile-service select,
.field-cockpit .mobile-service textarea,
.field-cockpit .btn-fat,
.confirm-cockpit .btn-fat,
.confirm-cockpit input {
  font-size: 16px !important;
}
.field-more > summary {
  min-height: 44px;
  display: flex;
  align-items: center;
  font-size: 16px;
}

/* Saha — Eksik / hasar bildirim paneli */
.field-missing-panel[open] {
  padding-bottom: calc(96px + env(safe-area-inset-bottom, 0px));
}
.field-missing-form,
.field-reschedule-form {
  display: grid;
  gap: 12px;
  width: 100%;
  margin-top: 12px;
  min-width: 0;
}
.field-missing-section-label {
  margin: 0;
  font-size: 0.8rem;
  font-weight: 650;
  color: var(--muted);
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
.field-missing-items {
  display: grid;
  gap: 8px;
}
.field-missing-item {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  margin: 0;
  padding: 10px 12px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: var(--surface);
  cursor: pointer;
  min-width: 0;
  box-sizing: border-box;
}
.field-missing-item input[type="checkbox"] {
  flex: 0 0 auto;
  width: 22px;
  height: 22px;
  min-width: 22px;
  margin-top: 2px;
  accent-color: var(--accent);
}
.field-missing-item-text {
  flex: 1 1 auto;
  min-width: 0;
  font-size: 0.875rem;
  line-height: 1.35;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  word-break: break-word;
}
.field-missing-chips,
.field-reschedule-form .quick-chip-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0;
}
.field-missing-chips .quick-chip,
.field-reschedule-form .quick-chip {
  padding: 8px 12px;
  font-size: 0.8125rem;
  border-radius: 999px;
  min-height: 40px;
  line-height: 1.2;
}
.field-missing-notes,
.field-reschedule-form input[name="reason"] {
  width: 100%;
  min-height: 44px;
  padding: 10px 12px;
  border-radius: 10px;
  border: 1px solid var(--line);
  box-sizing: border-box;
  background: var(--surface);
}
.field-file-upload-zone {
  width: 100%;
  min-height: 104px;
  margin: 0;
  flex: none;
}
.btn-wa-missing-notify {
  background: #25D366 !important;
  color: #fff !important;
  border: 0 !important;
  box-shadow: 0 4px 14px rgba(37, 211, 102, 0.28) !important;
  justify-content: center;
  width: 100%;
  margin-top: 8px;
}
.btn-wa-missing-notify .wa-btn-text {
  text-align: center;
}
.field-missing-submit,
.field-reschedule-submit {
  min-height: 48px;
  width: 100%;
}
.field-reschedule-form input[type="date"] {
  width: 100%;
  min-height: 44px;
  box-sizing: border-box;
}

@media (max-width: 900px) {
  .field-cockpit.is-field-user {
    padding-top: max(8px, env(safe-area-inset-top, 0px));
    overflow-x: hidden;
    max-width: 100%;
    box-sizing: border-box;
  }
  .field-cockpit.is-field-user .field-stop-list {
    padding-left: 16px;
    padding-right: 16px;
    padding-bottom: calc(24px + env(safe-area-inset-bottom, 0px));
    box-sizing: border-box;
    max-width: 100%;
    overflow-x: hidden;
  }
  .field-cockpit.is-field-user .field-route-banner {
    margin-left: 16px;
    margin-right: 16px;
    max-width: calc(100% - 32px);
    box-sizing: border-box;
  }
  .field-cockpit.is-field-user .field-day-tabs {
    padding-left: 16px;
    padding-right: 16px;
  }
  .field-cockpit.is-field-user .m-dispatch-card {
    max-width: 100%;
    box-sizing: border-box;
  }
  .field-cockpit.is-field-user .kapida-card {
    max-width: 100%;
    box-sizing: border-box;
  }
  .field-cockpit.is-field-user > .ops-hero,
  .confirm-cockpit.is-field-user > .ops-hero {
    display: none !important;
  }
  .confirm-desktop-list { display: none !important; }
  .confirm-mobile-list { display: block; }
  .confirm-cockpit .kpi-row { display: none; }
  .body-role-field .main {
    max-width: 100vw;
    overflow-x: hidden;
  }
  .field-stop-card,
  .confirm-m-card {
    width: 100%;
  }
}

@media (min-width: 901px) {
  .confirm-mobile-list { display: none !important; }
  .field-day-tabs.confirm-day-tabs { display: none; }
}

/* ——— Satışçı: portföy + sipariş sihirbazı ——— */
.sales-portfolio-intro {
  display: flex;
  flex-wrap: wrap;
  gap: 12px 16px;
  align-items: flex-start;
  justify-content: space-between;
  margin-bottom: 14px;
}
.sales-portfolio-kpi { margin-bottom: 14px; }
.sales-new-customer-details > summary,
.customer-contact-details > summary,
.customer-ledger-details > summary {
  cursor: pointer;
  list-style: none;
  font-weight: 600;
  font-size: 1rem;
  padding: 10px 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  min-height: 48px;
  user-select: none;
}
.sales-new-customer-details > summary::-webkit-details-marker,
.customer-contact-details > summary::-webkit-details-marker,
.customer-ledger-details > summary::-webkit-details-marker { display: none; }
.sales-new-customer-summary {
  color: var(--accent, #b91c1c);
}
.customer-hero-actions-fat {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: stretch;
}
.customer-hero-actions-fat .btn-fat { flex: 1 1 140px; }
.customer-hero-actions-fat .btn-group-form { display: contents; }
.customer-contact-details {
  margin-top: 14px;
  border-top: 1px solid rgba(0,0,0,.08);
  padding-top: 4px;
}
.customer-m-orders,
.customer-m-items { margin-top: 10px; }

.order-wizard-head h2 { margin: 0 0 6px; font-family: var(--display); font-weight: 400; font-size: 1.15rem; }
.order-wizard-steps {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 4px;
  margin-bottom: 10px;
}
.order-wizard-step {
  appearance: none;
  border: 1px solid rgba(0,0,0,.1);
  background: #fff;
  border-radius: 8px;
  padding: 0 8px;
  height: 36px;
  min-height: 36px;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  gap: 6px;
  cursor: pointer;
  color: inherit;
  font: inherit;
}
.order-wizard-step-num {
  width: 18px;
  height: 18px;
  border-radius: 999px;
  display: grid;
  place-items: center;
  font-size: .65rem;
  font-weight: 700;
  background: rgba(0,0,0,.06);
  flex: 0 0 auto;
}
.order-wizard-step-label { font-size: .72rem; font-weight: 650; line-height: 1; }
.order-wizard-step.is-active {
  border-color: rgba(185, 28, 28, .4);
  background: rgba(185, 28, 28, .06);
}
.order-wizard-step.is-active .order-wizard-step-num,
.order-wizard-step.is-done .order-wizard-step-num {
  background: #b91c1c;
  color: #fff;
}
.order-wizard-step.is-done { opacity: .85; }
.order-wizard-hint {
  margin: 0 0 8px;
  color: var(--muted, #64748b);
  font-size: .78rem;
  line-height: 1.3;
}
.order-wizard-hint--compact { margin-bottom: 6px; }

/* Adım 1 — kompakt kurumsal grid */
.order-wizard-form[data-wizard] .form-row > label {
  display: block;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #64748b;
  margin-bottom: 3px;
}
.order-wizard-form[data-wizard] .form-row > input:not([type="checkbox"]):not([type="radio"]),
.order-wizard-form[data-wizard] .form-row > select,
.order-wizard-form[data-wizard] .form-row .ts-control {
  min-height: 40px;
  height: 40px;
  font-size: 0.875rem;
  padding: 6px 10px;
  border-radius: 8px;
}
.order-wizard-form[data-wizard] .btn-quick-customer,
.order-wizard-form[data-wizard] .order-step1-customer-action .btn {
  height: 40px;
  min-height: 40px;
  padding: 0 12px;
  font-size: 0.8125rem;
  width: 100%;
  box-sizing: border-box;
}
.order-wizard-form[data-wizard] [data-wiz-panel="1"] {
  gap: 0;
}
.order-wizard-form.form-grid[data-wizard] {
  gap: 8px;
}
.order-step1-meta {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px 10px;
  margin-bottom: 8px;
}
.order-step1-customer {
  display: grid;
  grid-template-columns: minmax(0, 2fr) minmax(7.5rem, 1fr);
  gap: 8px 10px;
  align-items: end;
  margin-bottom: 8px;
}
.order-step1-customer-field { min-width: 0; }
.order-step1-customer-action {
  min-width: 0;
  display: flex;
  align-items: flex-end;
  margin-bottom: 0;
}
.order-step1-warn {
  grid-column: 1 / -1;
  margin-top: 0;
}
.order-step1-sales {
  max-width: none;
  width: 100%;
  margin-bottom: 8px;
}
@media (max-width: 560px) {
  .order-step1-meta { grid-template-columns: 1fr 1fr; }
  .order-step1-meta .form-row:first-child { grid-column: 1 / -1; }
  .order-step1-customer { grid-template-columns: 1fr; }
}
@media (max-width: 380px) {
  .order-step1-meta { grid-template-columns: 1fr; }
}

.order-finance-box--compact {
  margin: 6px 0 0;
  padding: 8px 10px 6px;
  max-width: 100%;
}
.order-finance-box--compact .order-finance-head {
  margin-bottom: 6px;
  padding-bottom: 4px;
}
.order-finance-box--compact .order-finance-title { font-size: 0.78rem; }
.order-finance-box--compact .order-finance-hint { font-size: 0.65rem; margin-top: 0; }
.order-finance-box--compact .order-finance-top {
  gap: 6px 8px;
  margin-bottom: 4px;
  max-width: 28rem;
}
.order-finance-box--compact .form-row input,
.order-finance-box--compact .form-row select,
.order-finance-box--compact .fin-input-affix {
  min-height: 36px;
  height: 36px;
}
.order-finance-box--compact .fin-input-affix span { line-height: 34px; padding: 0 8px; }
.fin-summary--slim {
  margin: 0 0 6px;
  border-radius: 6px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
  border: 1px solid #FDE68A;
  background: #FFFBEB;
  overflow: hidden;
}
.fin-summary--slim .fin-summary-item {
  padding: 4px 8px;
  border-right: 1px solid rgba(253, 230, 138, 0.7);
}
.fin-summary--slim .fin-summary-item:last-child { border-right: 0; }
.fin-summary--slim .fin-summary-item span { font-size: 0.55rem; }
.fin-summary--slim .fin-summary-item strong { font-size: 0.75rem; }
.fin-summary--slim .fin-summary-item.is-due {
  background: #FEF3C7;
}
.order-finance-box--compact .fin-plan-head {
  margin-bottom: 4px;
  gap: 4px;
}
.order-finance-box--compact .fin-plan-row {
  min-height: 28px;
  padding: 1px 6px;
  gap: 4px;
}
.order-finance-box--compact .fin-plan-row select,
.order-finance-box--compact .fin-plan-row input,
.order-finance-box--compact .fin-amt-cell input {
  min-height: 28px;
  height: 28px;
  font-size: 0.75rem;
  padding: 1px 6px;
}
.order-finance-box--compact .fin-plan-table { border-radius: 6px; }
.order-finance-box--compact .fin-plan-cols { padding: 2px 6px; }
.order-finance-box--compact .fin-note-row { margin-top: 4px; margin-bottom: 0; }
.order-finance-box--compact .fin-note-row input {
  min-height: 36px;
  height: 36px;
}

.open-order-warn{
  margin-top:10px;padding:12px 12px 10px;border-radius:12px;
  background:#FFF7ED;border:1px solid #FDBA74;color:#9A3412;
}
.open-order-warn.is-similar{background:#FEF2F2;border-color:#FECACA;color:#991B1B}
.open-order-warn-title{margin:0 0 8px;font-weight:750;font-size:.9rem;line-height:1.35}
.open-order-warn-list{display:grid;gap:6px}
.open-order-choice{
  display:flex;gap:10px;align-items:flex-start;padding:8px 10px;border-radius:10px;
  border:1px solid rgba(0,0,0,.08);background:#fff;cursor:pointer;
}
.open-order-choice input{margin-top:3px}
.open-order-choice span{display:grid;gap:2px;font-size:.86rem;color:#0F172A}
.open-order-choice small{color:#64748B;font-size:.78rem;line-height:1.3}
.open-order-choice.is-hit{border-color:#F87171;box-shadow:0 0 0 2px rgba(239,68,68,.12)}
.open-order-choice.is-new{background:#F8FAFC}
.order-wizard-form .form-row .ts-wrapper {
  width: 100%;
  max-width: none;
}
.order-wizard-panel[hidden] { display: none !important; }
.order-wizard-nav {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-top: 14px;
  padding-top: 12px;
  border-top: 1px solid rgba(0,0,0,.08);
}
.order-wizard-nav-end {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-left: auto;
}
.order-wizard-nav .order-wiz-btn,
.order-wizard-nav .btn-sm.order-wiz-btn {
  flex: 0 0 auto;
  min-height: 38px;
  padding: 8px 22px;
  font-size: 0.875rem;
  font-weight: 600;
  border-radius: 9px;
}
.order-wizard-nav .order-wiz-btn[hidden],
.order-wizard-nav .btn-fat[hidden] {
  display: none !important;
}
.order-wizard-nav .btn-fat { flex: 1 1 120px; }
.order-wizard-summary {
  display: grid;
  gap: 10px;
  margin-bottom: 14px;
  padding: 12px;
  border-radius: 12px;
  background: rgba(0,0,0,.03);
  border: 1px solid rgba(0,0,0,.06);
}
.order-wizard-summary-row {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: flex-start;
  font-size: .92rem;
}
.order-wizard-summary-row span { color: var(--muted, #64748b); flex: 0 0 auto; }
.order-wizard-summary-row strong {
  text-align: right;
  font-weight: 600;
  word-break: break-word;
}
.order-factory-confirm {
  margin: 0 0 14px;
  padding: 14px;
  border-radius: 14px;
  border: 1px solid color-mix(in srgb, #f59e0b 35%, var(--line));
  background: color-mix(in srgb, #fff7ed 70%, var(--surface));
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.order-factory-confirm > strong { font-size: 1rem; }
.order-factory-confirm > .muted { margin: 0; font-size: .85rem; }
.order-factory-option {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  padding: 10px 12px;
  border-radius: 12px;
  border: 1px solid var(--line);
  background: var(--surface);
  cursor: pointer;
}
.order-factory-option.is-yes {
  border-color: color-mix(in srgb, #2563eb 40%, var(--line));
  background: color-mix(in srgb, #dbeafe 45%, var(--surface));
}
.order-factory-option input { margin-top: 3px; }
.order-factory-option em { display: block; font-style: normal; font-weight: 700; }
.order-factory-option small { display: block; color: var(--muted); font-size: .78rem; margin-top: 2px; }
.order-customer-term input[type="date"] {
  font-weight: 700;
  font-size: 1.05rem;
}
.order-customer-term small { display: block; margin-top: 4px; }
input[data-item-termin].is-termin-synced {
  outline: 2px solid color-mix(in srgb, #2563eb 35%, transparent);
}

@media (max-width: 900px) {
  .orders-page {
    padding-top: max(4px, env(safe-area-inset-top, 0px));
  }
  .main:not(.main-embed) {
    padding-top: max(calc(env(safe-area-inset-top, 0px) + 8px), 12px);
  }
  .body-role-sales .main {
    max-width: 100vw;
    overflow-x: hidden;
  }
  .sales-customers-layout {
    display: flex;
    flex-direction: column;
    gap: 12px;
  }
  .sales-customers-layout > .card { margin: 0; }
  td.m-card-actions {
    width: auto;
    min-width: 0;
    max-width: none;
    white-space: normal;
  }
  .table-actions {
    flex-wrap: wrap;
    justify-content: flex-start;
  }
  .sales-search-form {
    width: 100%;
  }
  .sales-search-form input[type="search"] {
    font-size: 16px;
    min-height: 48px;
  }
  .customer-hero-actions-fat { width: 100%; }
  .customer-hero-actions-fat .btn-fat {
    flex: 1 1 calc(50% - 8px);
    min-height: 48px;
  }
  .customer-contact-form input,
  .customer-contact-form textarea,
  .order-wizard-form input,
  .order-wizard-form select,
  .order-wizard-form textarea {
    font-size: 16px;
    min-height: 48px;
  }
  .order-wizard-form textarea { min-height: 96px; }
  /* Adım 1 kompakt alanlar — 48px fat touch override'ı gevşet */
  .order-wizard-form[data-wizard] [data-wiz-panel="1"] .form-row > input:not([type="checkbox"]):not([type="radio"]),
  .order-wizard-form[data-wizard] [data-wiz-panel="1"] .form-row > select,
  .order-wizard-form[data-wizard] [data-wiz-panel="1"] .form-row .ts-control,
  .order-wizard-form[data-wizard] [data-wiz-panel="1"] .btn-quick-customer {
    min-height: 40px;
    height: 40px;
    font-size: 16px;
  }
  .order-wizard-form[data-wizard] .order-finance-box--compact .form-row input,
  .order-wizard-form[data-wizard] .order-finance-box--compact .form-row select,
  .order-wizard-form[data-wizard] .order-finance-box--compact .fin-input-affix,
  .order-wizard-form[data-wizard] .order-finance-box--compact .fin-plan-row select,
  .order-wizard-form[data-wizard] .order-finance-box--compact .fin-plan-row input,
  .order-wizard-form[data-wizard] .order-finance-box--compact .fin-amt-cell input {
    min-height: 32px !important;
    height: 32px !important;
    max-height: 32px !important;
    font-size: 16px !important;
  }
  .order-wizard-form[data-wizard] .order-finance-box--compact .fin-plan-row select,
  .order-wizard-form[data-wizard] .order-finance-box--compact .fin-plan-row input,
  .order-wizard-form[data-wizard] .order-finance-box--compact .fin-amt-cell input {
    min-height: 28px !important;
    height: 28px !important;
    max-height: 28px !important;
  }
  .order-wizard-form .group-item-product,
  .order-wizard-form input.group-item-product,
  .order-wizard-form input.group-item-qty,
  .order-wizard-form input.group-item-m2 {
    min-height: 36px !important;
    height: 36px !important;
    max-height: 36px !important;
    font-size: 16px !important;
  }
  .order-wizard-form textarea.group-item-product {
    min-height: 36px !important;
    height: 36px !important;
    max-height: 36px !important;
  }
  .orders-page .orders-hero {
    gap: 12px;
    margin-bottom: 0;
  }
  .orders-page .orders-hero-meta { display: none; }
  .orders-page .orders-action-card {
    padding: 16px;
    gap: 12px;
    width: 100%;
    max-width: 100%;
    overflow: hidden;
    box-sizing: border-box;
  }
  .orders-page .orders-filters {
    display: grid !important;
    grid-template-columns: 1fr;
    gap: 12px;
    width: 100% !important;
    max-width: 100% !important;
    flex-direction: unset !important;
    flex-wrap: unset !important;
    align-items: stretch !important;
    overflow: hidden;
  }
  .orders-page .orders-filter-field,
  .orders-page .orders-live-field {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    flex: none !important;
  }
  .orders-page .orders-filters input[type="search"],
  .orders-page .orders-filters select,
  .orders-page .orders-filters .btn {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    flex: none !important;
    box-sizing: border-box;
  }
  .orders-page .orders-search-icon {
    left: 12px;
  }
}

@media (min-width: 901px) {
  .customer-m-orders,
  .customer-m-items { display: none !important; }
  .sales-new-customer-details[open] > summary { margin-bottom: 4px; }
}

/* ——— Muhasebe / Cari ekstre ——— */
body.page-accounting .help-fab {
  display: none !important;
}
body.page-accounting .main {
  overflow-x: hidden;
  max-width: 100vw;
}
.acct-page {
  display: grid;
  gap: 16px;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  overflow-x: hidden;
  padding-top: max(4px, env(safe-area-inset-top, 0px));
}
.acct-hero {
  display: grid;
  gap: 12px;
  margin: 0;
}
.acct-hero-head {
  display: grid;
  gap: 4px;
}
.acct-hero-title-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}
.acct-hero-title {
  margin: 0;
  font-family: var(--display);
  font-size: 1.35rem;
  font-weight: 750;
  letter-spacing: -0.02em;
  color: #0F172A;
  line-height: 1.2;
}
.acct-help-link {
  flex: 0 0 auto;
  display: inline-grid;
  place-items: center;
  width: 20px;
  height: 20px;
  border-radius: 999px;
  border: 0;
  background: transparent;
  color: #9CA3AF;
  font-size: 0.8125rem;
  font-weight: 700;
  text-decoration: none;
  line-height: 1;
}
.acct-help-link:hover,
.acct-help-link:focus {
  color: #6B7280;
  background: rgba(148, 163, 184, 0.14);
}
.acct-hero-lead {
  margin: 0;
  color: #64748B;
  font-size: 0.8125rem;
  line-height: 1.4;
  max-width: 42ch;
}
.acct-hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}
.acct-secondary-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 8px 18px;
  border-radius: 999px;
  border: 1px solid #E5E7EB;
  background: #fff;
  color: #374151;
  font-size: 0.8125rem;
  font-weight: 600;
  text-decoration: none !important;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
  transition: background .15s ease, border-color .15s ease;
}
.acct-secondary-btn:hover,
.acct-secondary-btn:focus {
  background: #F9FAFB;
  border-color: #D1D5DB;
  color: #111827;
}
.acct-search-card {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  overflow: hidden;
  margin: 0;
  padding: 20px;
  border: 1px solid #F3F4F6;
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
}
.acct-search-card-title {
  margin: 0 0 12px;
  font-family: var(--display);
  font-size: 1rem;
  font-weight: 650;
  color: #111827;
}
.acct-search-form {
  display: grid;
  gap: 12px;
  width: 100%;
  max-width: 100%;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}
.acct-search-field {
  position: relative;
  width: 100%;
  min-width: 0;
}
.acct-search-input {
  display: block;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  height: 48px;
  min-height: 48px;
  padding: 0 14px;
  border: 1px solid #E5E7EB;
  border-radius: 12px;
  background: #F9FAFB;
  color: #111827;
  font-size: 16px;
  box-sizing: border-box;
  transition: border-color .15s ease, box-shadow .15s ease, background .15s ease;
}
.acct-search-input:focus {
  outline: none;
  border-color: #3B82F6;
  background: #fff;
  box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.12);
}
.acct-search-form .search-suggest {
  left: 0;
  right: 0;
  width: 100%;
  z-index: 40;
}
.acct-search-submit {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 48px;
  margin: 0;
  padding: 14px 16px;
  border: 0;
  border-radius: 12px;
  background: #2563EB;
  color: #fff;
  font: inherit;
  font-size: 0.9375rem;
  font-weight: 600;
  cursor: pointer;
  box-shadow: 0 1px 3px rgba(37, 99, 235, 0.24);
  transition: background .15s ease, filter .15s ease;
}
.acct-search-submit:hover,
.acct-search-submit:focus {
  background: #1D4ED8;
  color: #fff;
}
.acct-search-hint {
  margin: 10px 0 0;
  font-size: 11px;
  line-height: 1.35;
  color: #9CA3AF;
}
.acct-empty-hint {
  margin: 12px 0 0;
  font-size: 0.8125rem;
  color: #6B7280;
}
.acct-results-table {
  margin-top: 14px;
}
.acct-results-list {
  margin-top: 12px;
}
.acct-intro {
  display: flex;
  flex-wrap: wrap;
  gap: 12px 16px;
  align-items: flex-start;
  justify-content: space-between;
  margin-bottom: 14px;
}
.acct-search-form .acct-live-field {
  position: relative;
  flex: 1 1 240px;
  min-width: 0;
}
.acct-search-form .acct-live-field input[type="search"] {
  width: 100%;
  min-height: 48px;
  font-size: 16px;
  box-sizing: border-box;
}
.acct-search-form .search-suggest {
  left: 0;
  right: 0;
  width: 100%;
  z-index: 40;
}
.acct-search-form input[type="search"] {
  flex: none;
  min-height: 48px;
  font-size: 16px;
}
.ssh-search-form {
  display: grid;
  gap: 12px;
  width: 100%;
  max-width: 100%;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}
.ssh-search-form .ssh-live-field,
.ssh-search-form .ssh-search-field {
  position: relative;
  width: 100%;
  min-width: 0;
}
.ssh-search-form .ssh-live-field input[type="search"],
.ssh-search-form .ssh-search-input {
  display: block;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  height: 48px;
  min-height: 48px;
  padding: 0 14px;
  border: 1px solid #E5E7EB;
  border-radius: 12px;
  background: #F9FAFB;
  color: #111827;
  font-size: 16px;
  box-sizing: border-box;
  flex: none;
}
.ssh-search-form .ssh-search-input:focus,
.ssh-search-form .ssh-live-field input[type="search"]:focus {
  outline: none;
  border-color: #3B82F6;
  background: #fff;
  box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.12);
}
.ssh-geo-filters {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px 12px;
  width: 100%;
  margin: 2px 0 0;
  padding: 0;
  align-items: start;
  box-sizing: border-box;
}
.ssh-geo-field {
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
  /* Kart görünümü yok — yalnızca ince form satırı */
  align-self: start;
}
.ssh-geo-label {
  display: block;
  margin: 0;
  padding: 0;
  font-size: 0.6875rem;
  font-weight: 600;
  line-height: 1.2;
  color: #9CA3AF;
  letter-spacing: 0.02em;
}
.ssh-geo-select {
  display: block;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  height: 40px !important;
  min-height: 40px !important;
  max-height: 40px !important;
  flex: 0 0 auto !important;
  margin: 0;
  padding: 0 34px 0 12px !important;
  border: 1px solid #E5E7EB;
  border-radius: 10px;
  background-color: #fff;
  color: #374151;
  font-size: 0.8125rem;
  font-weight: 500;
  line-height: 1.25;
  box-sizing: border-box;
  box-shadow: none;
  appearance: none;
  -webkit-appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%239CA3AF' stroke-width='2.2'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 10px center;
  background-size: 14px;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
  cursor: pointer;
}
.ssh-geo-select:hover:not(:disabled) {
  border-color: #D1D5DB;
}
.ssh-geo-select:focus {
  outline: none;
  border-color: #3B82F6;
  box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.18);
}
.ssh-geo-select:disabled {
  background-color: #F9FAFB;
  color: #9CA3AF;
  cursor: not-allowed;
  opacity: 0.85;
}
@media (max-width: 640px) {
  .ssh-geo-filters {
    grid-template-columns: 1fr 1fr;
    gap: 8px 10px;
  }
  /* iOS zoom önleme — 16px, yükseklik kompakt kalsın */
  .ssh-geo-select {
    font-size: 16px !important;
    height: 42px !important;
    min-height: 42px !important;
    max-height: 42px !important;
  }
}
/* Mobil touch formu select'i şişirmesin */
.ssh-page .ssh-search-form .ssh-geo-filters {
  flex: 1 1 100% !important;
  width: 100% !important;
  max-width: 100% !important;
  align-self: stretch !important;
}
.ssh-page .ssh-search-form .ssh-geo-field {
  flex: none !important;
  min-height: 0 !important;
  height: auto !important;
}
.ssh-page .ssh-search-form .ssh-geo-select {
  flex: 0 0 auto !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  height: 42px !important;
  min-height: 42px !important;
  max-height: 42px !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}
.ssh-search-form .search-suggest {
  position: absolute;
  left: 0;
  right: 0;
  top: 100%;
  margin-top: 8px;
  width: 100%;
  z-index: 50;
  max-height: 16rem;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  background: #fff;
  border: 1px solid #f3f4f6;
  border-radius: 12px;
  box-shadow: 0 25px 50px -12px rgba(15, 23, 42, 0.28);
}
.search-suggest-portal .suggest-group-head,
.ssh-search-form .suggest-group-head {
  background: #F8FAFC;
}
.search-suggest-portal .suggest-ssh-primary {
  word-break: break-word;
}
.ssh-search-field.is-open,
.ssh-search-card:has(.ssh-search-field.is-open) {
  position: relative;
  z-index: 55;
}
.ssh-search-card:has(.ssh-search-field.is-open) {
  z-index: 60;
}
.ssh-search-hint {
  margin: 8px 0 0;
  font-size: 11px;
  line-height: 1.35;
  color: #9CA3AF;
}
.ssh-search-note {
  margin: 6px 0 0;
  font-size: 11px;
  line-height: 1.35;
  color: #9CA3AF;
}

/* ——— SSH / Eksik ——— */
body.page-ssh .help-fab {
  display: none !important;
}
/* Kayıtlar tablosu — müşteri sütunu hiyerarşisi */
.ssh-cust-cell {
  display: grid;
  gap: 2px;
  min-width: 0;
  max-width: 280px;
}
.ssh-cust-name {
  font-weight: 650;
  color: #0F172A;
  line-height: 1.3;
}
.ssh-cust-phone {
  display: block;
  font-size: .84rem;
  font-weight: 500;
  color: #334155;
  line-height: 1.3;
}
.ssh-cust-place {
  display: block;
  font-size: .75rem;
  font-weight: 500;
  color: #64748B;
  line-height: 1.35;
}
.ssh-cust-order {
  display: block;
  font-size: .72rem;
  font-weight: 600;
  color: #94A3B8;
  line-height: 1.3;
}
.m-card .ssh-cust-place {
  color: #64748B;
  font-size: .78rem;
}
body.page-ssh .main {
  overflow-x: hidden;
  max-width: 100vw;
}
.ssh-page {
  display: grid;
  gap: 16px;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  overflow-x: hidden;
  padding-top: max(4px, env(safe-area-inset-top, 0px));
}
.ssh-hero {
  display: grid;
  gap: 0;
  margin: 0;
}
.ssh-hero-head {
  display: grid;
  gap: 4px;
}
.ssh-hero-title-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}
.ssh-hero-title {
  margin: 0;
  font-family: var(--display);
  font-size: 1.35rem;
  font-weight: 750;
  letter-spacing: -0.02em;
  color: #0F172A;
  line-height: 1.2;
  flex: 1 1 auto;
  min-width: 0;
}
.ssh-hero-actions-inline {
  display: flex;
  align-items: center;
  gap: 8px;
  flex: 0 0 auto;
}
.ssh-help-link {
  flex: 0 0 auto;
  display: inline-grid;
  place-items: center;
  width: 20px;
  height: 20px;
  border-radius: 999px;
  border: 0;
  background: transparent;
  color: #9CA3AF;
  font-size: 0.8125rem;
  font-weight: 700;
  text-decoration: none;
  line-height: 1;
}
.ssh-help-link:hover,
.ssh-help-link:focus {
  color: #6B7280;
  background: rgba(148, 163, 184, 0.14);
}
.ssh-new-action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 8px 14px;
  border-radius: 999px;
  border: 0;
  background: #2563EB;
  color: #fff !important;
  font-size: 0.8125rem;
  font-weight: 600;
  text-decoration: none !important;
  white-space: nowrap;
  box-shadow: 0 1px 3px rgba(37, 99, 235, 0.24);
}
.ssh-new-action:hover,
.ssh-new-action:focus {
  background: #1D4ED8;
  color: #fff !important;
}
.ssh-cancel-action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 8px 14px;
  border-radius: 999px;
  border: 1px solid #E5E7EB;
  background: #fff;
  color: #374151 !important;
  font-size: 0.8125rem;
  font-weight: 600;
  text-decoration: none !important;
  white-space: nowrap;
}
.ssh-hero-lead {
  margin: 0;
  color: #64748B;
  font-size: 0.8125rem;
  line-height: 1.4;
  max-width: 42ch;
}
.ssh-search-card {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  overflow: visible;
  position: relative;
  z-index: 2;
  margin: 0;
  padding: 20px;
  border: 1px solid #F3F4F6;
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
}
.ssh-search-submit {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 48px;
  margin: 0;
  padding: 14px 16px;
  border: 0;
  border-radius: 12px;
  background: #2563EB;
  color: #fff;
  font: inherit;
  font-size: 0.9375rem;
  font-weight: 600;
  cursor: pointer;
  box-shadow: 0 1px 3px rgba(37, 99, 235, 0.24);
}
.ssh-search-submit:hover,
.ssh-search-submit:focus {
  background: #1D4ED8;
  color: #fff;
}
.ssh-search-clear {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 44px;
  border-radius: 12px;
  border: 1px solid #E5E7EB;
  background: #fff;
  color: #374151 !important;
  font-size: 0.875rem;
  font-weight: 600;
  text-decoration: none !important;
}
.ssh-search-clear:hover {
  background: #F9FAFB;
}
@media (max-width: 900px) {
  .ssh-page {
    gap: 12px;
    padding-top: max(8px, env(safe-area-inset-top, 0px));
  }
  .ssh-hero-lead {
    font-size: 0.78rem;
  }
  .ssh-search-card {
    padding: 16px;
  }
}
.acct-search-form input[type="search"] {
  flex: none;
  min-height: 48px;
  font-size: 16px;
}
.acct-ledger-head {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 4px;
}
.acct-ledger-actions { flex: 1 1 220px; max-width: 420px; }
.acct-secondary,
.reports-secondary {
  margin-top: 12px;
}
.acct-secondary > summary,
.reports-secondary > summary {
  cursor: pointer;
  list-style: none;
  font-weight: 600;
  font-size: 1rem;
  padding: 10px 0;
  min-height: 48px;
  display: flex;
  align-items: center;
  user-select: none;
}
.acct-secondary > summary::-webkit-details-marker,
.reports-secondary > summary::-webkit-details-marker { display: none; }
.reports-filters-form .form-row { margin-bottom: 10px; }
.reports-filters-form input[type="date"] {
  min-height: 48px;
  font-size: 16px;
  width: 100%;
}

@media (max-width: 900px) {
  .body-role-accounting .main {
    max-width: 100vw;
    overflow-x: hidden;
  }
  .acct-page {
    gap: 12px;
    padding-top: max(8px, env(safe-area-inset-top, 0px));
  }
  .acct-hero-lead {
    font-size: 0.78rem;
  }
  .acct-search-card {
    padding: 16px;
    border-radius: 16px;
  }
  .acct-ledger-actions { max-width: none; width: 100%; }
  .reports-kpi { gap: 8px; }
}

/* ——— Admin / yönetici panel kuyrukları ——— */
.dash-queue-cards {
  display: flex !important;
  flex-direction: column;
  gap: 10px;
  margin-top: 10px;
}
.dash-queue-card .m-card-actions-row form { display: contents; }
.dash-ops-link {
  margin: 16px 0;
}
.dash-ops-link .btn-fat { width: 100%; max-width: 420px; }
/* emp-ops-summary stilleri emp-ops-card bloğunda */

/* —— Tedarik & Fabrika Alım Kokpiti —— */
.supply-page {
  display: grid;
  gap: 12px;
  max-width: 1180px;
}
body:has(.supply-page) .attendance-banner {
  padding: 8px 12px;
  gap: 8px;
  font-size: .85rem;
  border-radius: 10px;
}
body:has(.supply-page) .attendance-banner strong {
  font-size: .88rem;
  margin: 0;
}
body:has(.supply-page) .attendance-banner p {
  display: none;
}
body:has(.supply-page) .attendance-banner .actions .btn {
  padding: 4px 10px;
  font-size: .78rem;
}

.supply-titlebar {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: space-between;
  gap: 8px 16px;
  padding: 2px 0 4px;
  border-bottom: 1px solid #E2E8F0;
}
.supply-titlebar h1 {
  margin: 0;
  font-family: var(--display);
  font-size: clamp(1.15rem, 2vw, 1.35rem);
  font-weight: 700;
  letter-spacing: -0.02em;
  color: #0F172A;
  line-height: 1.25;
}
.supply-titlebar-links {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
  font-size: .82rem;
}
.supply-titlebar-links a {
  color: #64748B;
  text-decoration: none;
  font-weight: 600;
}
.supply-titlebar-links a:hover { color: #0F172A; }

.supply-filterbar {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 8px 10px;
  background: linear-gradient(180deg, #F1F5F9 0%, #FFFFFF 55%);
  border: 1px solid #CBD5E1;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 1px 3px rgba(15, 23, 42, 0.06);
}
.supply-filters {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: 4px;
  min-width: 0;
  flex: 1 1 auto;
  overflow-x: auto;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
}
.supply-filters::-webkit-scrollbar { display: none; }
.supply-filter {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 6px 10px;
  border-radius: 999px;
  text-decoration: none;
  color: #334155;
  font-weight: 650;
  font-size: .8rem;
  white-space: nowrap;
  flex-shrink: 0;
  line-height: 1.2;
  border: 1px solid transparent;
  transition: background .15s ease, border-color .15s ease, color .15s ease, box-shadow .15s ease;
}
.supply-filter-icon {
  width: 13px;
  height: 13px;
  flex-shrink: 0;
  opacity: 0.9;
}
.supply-filter-label {
  font-weight: 700;
}
.supply-filter-count {
  color: inherit;
  font-weight: 800;
  font-size: .72rem;
  font-variant-numeric: tabular-nums;
  opacity: 0.72;
}
.supply-filter-count::before {
  content: "(";
}
.supply-filter-count::after {
  content: ")";
}
.supply-filter:hover {
  filter: brightness(0.97);
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.08);
}
/* Tümü */
.supply-filter-all:not(.is-active) {
  background: #EEF2FF;
  border-color: #C7D2FE;
  color: #3730A3;
}
.supply-filter-all.is-active {
  background: linear-gradient(135deg, #4338CA, #3730A3);
  color: #fff;
  border-color: #4338CA;
  box-shadow: 0 2px 8px rgba(67, 56, 202, 0.35);
}
/* İnegöl */
.supply-filter-inegol:not(.is-active) {
  background: #ECFDF5;
  border-color: #A7F3D0;
  color: #047857;
}
.supply-filter-inegol.is-active {
  background: linear-gradient(135deg, #059669, #047857);
  color: #fff;
  border-color: #059669;
  box-shadow: 0 2px 8px rgba(5, 150, 105, 0.35);
}
/* Kayseri */
.supply-filter-kayseri:not(.is-active) {
  background: #EFF6FF;
  border-color: #BFDBFE;
  color: #1D4ED8;
}
.supply-filter-kayseri.is-active {
  background: linear-gradient(135deg, #2563EB, #1D4ED8);
  color: #fff;
  border-color: #2563EB;
  box-shadow: 0 2px 8px rgba(37, 99, 235, 0.35);
}
/* Konya */
.supply-filter-konya:not(.is-active) {
  background: #FFFBEB;
  border-color: #FDE68A;
  color: #B45309;
}
.supply-filter-konya.is-active {
  background: linear-gradient(135deg, #D97706, #B45309);
  color: #fff;
  border-color: #D97706;
  box-shadow: 0 2px 8px rgba(217, 119, 6, 0.35);
}
/* Gaziantep */
.supply-filter-gaziantep:not(.is-active) {
  background: #FFF7ED;
  border-color: #FDBA74;
  color: #C2410C;
}
.supply-filter-gaziantep.is-active {
  background: linear-gradient(135deg, #EA580C, #C2410C);
  color: #fff;
  border-color: #EA580C;
  box-shadow: 0 2px 8px rgba(234, 88, 12, 0.35);
}
/* Diğer */
.supply-filter-other:not(.is-active) {
  background: #F5F3FF;
  border-color: #DDD6FE;
  color: #6D28D9;
}
.supply-filter-other.is-active {
  background: linear-gradient(135deg, #7C3AED, #6D28D9);
  color: #fff;
  border-color: #7C3AED;
  box-shadow: 0 2px 8px rgba(124, 58, 237, 0.35);
}
.supply-filter.is-active .supply-filter-icon { opacity: 1; }
.supply-filter.is-active .supply-filter-count { color: inherit; opacity: 0.88; }
.supply-filter-sep {
  color: #CBD5E1;
  margin: 0 2px;
  font-weight: 500;
  user-select: none;
}
.supply-filter-actions {
  display: flex;
  flex-wrap: nowrap;
  gap: 6px;
  align-items: center;
  flex-shrink: 0;
}
.supply-filter-btn {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  white-space: nowrap;
  font-size: .78rem !important;
  padding: 6px 10px !important;
  min-height: 32px;
}
.supply-filter-btn-icon {
  width: 14px;
  height: 14px;
  flex-shrink: 0;
}
.supply-subtools {
  margin: -4px 0 2px;
  font-size: .8rem;
  color: #94A3B8;
}
.supply-subtools a {
  color: #64748B;
  text-decoration: none;
  font-weight: 600;
}
.supply-subtools a:hover,
.supply-subtools a.is-on { color: #0F172A; text-decoration: underline; }

.supply-panel {
  background: #fff;
  border: 1px solid #E2E8F0;
  border-radius: 12px;
  padding: 14px 16px;
}
.supply-panel-title {
  margin: 0 0 10px;
  font-size: 1rem;
  font-family: var(--display);
  font-weight: 650;
}
.supply-stack { display: grid; gap: 0; }
.supply-aux-row {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
  padding: 12px 0;
  border-bottom: 1px solid #F1F5F9;
}
.supply-aux-row:last-child { border-bottom: 0; }
.supply-aux-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  align-items: center;
}

.supply-factory {
  background: #fff;
  border: 1px solid #E2E8F0;
  border-radius: 12px;
  padding: 0;
  margin-bottom: 10px;
  overflow: hidden;
}
.supply-factory-head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 8px 12px;
  padding: 12px 16px;
  background: #F8FAFC;
  border-bottom: 1px solid #E2E8F0;
}
.supply-factory-title {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  min-width: 0;
}
.supply-factory-title h2 {
  margin: 0;
  font-size: 1.05rem;
  font-weight: 800;
  letter-spacing: -0.02em;
  color: #0F172A;
  font-family: var(--display);
}
.supply-factory-count {
  font-size: .78rem;
  color: #94A3B8;
  font-weight: 600;
}
.supply-factory-tools {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.supply-ico-btn {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 5px 10px;
  border-radius: 8px;
  border: 1px solid #E2E8F0;
  background: #fff;
  color: #334155;
  font-size: .78rem;
  font-weight: 700;
  text-decoration: none;
  cursor: pointer;
  font-family: inherit;
}
.supply-ico-btn:hover { border-color: #94A3B8; background: #F8FAFC; }
.supply-ico-btn.is-wa { color: #0F766E; border-color: #99F6E4; background: #F0FDFA; }

.supply-bucket-pill {
  display: inline-flex;
  align-items: center;
  height: 20px;
  padding: 0 7px;
  border-radius: 6px;
  font-size: .65rem;
  font-weight: 800;
  letter-spacing: .02em;
  border: 1px solid #E2E8F0;
  background: #F8FAFC;
  color: #475569;
}
.supply-bucket-inegol { background: #ECFDF5; border-color: #A7F3D0; color: #065F46; }
.supply-bucket-kayseri { background: #EEF2FF; border-color: #C7D2FE; color: #3730A3; }
.supply-bucket-konya { background: #FEF3C7; border-color: #FDE68A; color: #92400E; }
.supply-bucket-gaziantep { background: #FFF7ED; border-color: #FED7AA; color: #9A3412; }
.supply-bucket-other { background: #F1F5F9; border-color: #CBD5E1; color: #475569; }

.supply-table-head {
  display: none;
}
.supply-items { display: grid; gap: 0; }
.supply-item {
  display: grid;
  grid-template-columns: 28px minmax(0, 1.8fr) minmax(150px, 1fr) minmax(140px, .9fr) auto;
  gap: 10px 14px;
  align-items: center;
  padding: 11px 16px;
  border-bottom: 1px solid #F1F5F9;
  background: #fff;
}
.supply-item:last-child { border-bottom: 0; }
.supply-item:hover { background: #FAFBFC; }
.supply-check {
  display: flex;
  align-items: center;
  justify-content: center;
}
.supply-col-product {
  min-width: 0;
  padding-left: 4px;
  display: grid;
  gap: 2px;
}
.supply-item-product {
  font-size: .9rem;
  font-weight: 700;
  color: #0F172A;
  line-height: 1.35;
}
.supply-item-customer {
  font-size: .75rem;
  line-height: 1.3;
}
.supply-col-meta {
  display: grid;
  gap: 2px;
  min-width: 0;
}
.supply-order-no {
  font-size: .84rem;
  font-weight: 750;
  font-variant-numeric: tabular-nums;
  color: #334155;
  text-decoration: none;
}
.supply-order-no:hover { color: #0F172A; text-decoration: underline; }
.supply-termin {
  font-size: .8rem;
  color: #64748B;
  font-variant-numeric: tabular-nums;
}
.supply-col-status {
  display: flex;
  justify-content: center;
  min-width: 0;
}
.supply-item-actions {
  display: inline-flex;
  flex-wrap: nowrap;
  gap: 6px;
  justify-content: flex-end;
}
.supply-item-actions .btn-sm {
  padding: 4px 9px;
  font-size: .75rem;
  white-space: nowrap;
}
.supply-status-chip .status-chip-select {
  max-width: 200px;
  font-size: .76rem;
  font-weight: 700;
  border-radius: 8px;
  padding: 4px 8px;
  cursor: pointer;
}
.supply-empty {
  padding: 28px 18px;
  text-align: center;
  background: #fff;
  border: 1px dashed #CBD5E1;
  border-radius: 12px;
  color: #64748B;
}
.supply-empty a { font-weight: 700; color: #0F172A; }

@media (min-width: 901px) {
  .supply-table-head {
    display: grid;
    grid-template-columns: 28px minmax(0, 1.8fr) minmax(150px, 1fr) minmax(140px, .9fr) auto;
    gap: 10px 14px;
    padding: 6px 16px;
    font-size: .68rem;
    font-weight: 800;
    letter-spacing: .04em;
    text-transform: uppercase;
    color: #94A3B8;
    background: #fff;
    border-bottom: 1px solid #F1F5F9;
  }
}

@media (max-width: 900px) {
  .supply-filterbar {
    flex-wrap: nowrap;
    align-items: center;
  }
  .supply-filters {
    overflow-x: auto;
    flex-wrap: nowrap;
    -webkit-overflow-scrolling: touch;
    padding-bottom: 0;
    gap: 2px;
  }
  .supply-filter-actions {
    justify-content: flex-end;
    flex-shrink: 0;
  }
  .supply-filter-actions .btn { flex: 0 0 auto; min-height: 32px; }
  .supply-item {
    grid-template-columns: auto 1fr;
    gap: 8px 10px;
    padding: 14px;
  }
  .supply-check { align-self: start; padding-top: 2px; }
  .supply-check input[type="checkbox"] {
    width: 22px;
    height: 22px;
  }
  .supply-col-product { padding-left: 0; }
  .supply-item-product {
    font-size: 1rem;
    overflow-wrap: anywhere;
  }
  .supply-col-meta {
    grid-column: 2;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 4px 8px;
  }
  .supply-col-meta .supply-termin::before {
    content: "·";
    margin-right: 6px;
    color: #CBD5E1;
  }
  .supply-col-status {
    grid-column: 2;
    justify-content: flex-start;
  }
  .supply-item-actions {
    grid-column: 1 / -1;
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
  }
  .supply-item-actions .btn,
  .supply-item-actions .btn-sm {
    flex: 1 1 calc(50% - 6px);
    justify-content: center;
    min-height: 44px;
  }
  .supply-factory-tools {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    width: 100%;
    margin-top: 8px;
  }
  .supply-ico-btn {
    flex: 1 1 calc(50% - 6px);
    min-height: 44px;
    justify-content: center;
  }
}

/* Print / irsaliye */
.supply-print-toolbar {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 14px;
}
.supply-print-sheet {
  background: #fff;
  border: 1px solid #E2E8F0;
  border-radius: 14px;
  padding: 20px 22px;
}
.supply-print-head {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding-bottom: 14px;
  border-bottom: 2px solid #0F172A;
  margin-bottom: 14px;
}
.supply-print-brand {
  font-family: var(--display);
  font-size: 1.35rem;
}
.supply-print-meta { text-align: right; }
.supply-print-signrow {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 12px;
  margin-bottom: 18px;
}
@media (max-width: 640px) {
  .supply-print-signrow { grid-template-columns: 1fr; }
}
.supply-print-line {
  margin-top: 6px;
  border-bottom: 1px solid #94A3B8;
  min-height: 28px;
}
.supply-print-supplier {
  margin: 16px 0 8px;
  font-size: 1rem;
  font-family: var(--display);
}
.supply-print-table {
  width: 100%;
  border-collapse: collapse;
  font-size: .84rem;
  margin-bottom: 8px;
}
.supply-print-table th,
.supply-print-table td {
  border: 1px solid #CBD5E1;
  padding: 7px 8px;
  text-align: left;
  vertical-align: top;
}
.supply-print-table th {
  background: #F1F5F9;
  font-size: .72rem;
  text-transform: uppercase;
  letter-spacing: .04em;
}
.supply-print-box { text-align: center; font-size: 1rem; }
.supply-print-foot {
  margin-top: 18px;
  font-size: .8rem;
  border-top: 1px solid #E2E8F0;
  padding-top: 10px;
}

/* WhatsApp mesaj seçim modalı */
.wa-modal {
  position: fixed;
  inset: 0;
  z-index: 1500;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  padding: 12px;
}
.wa-modal[hidden] { display: none !important; }
.wa-modal-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(15, 23, 42, .48);
  border: 0;
  cursor: pointer;
}
.wa-modal-panel {
  position: relative;
  z-index: 1;
  width: min(520px, 100%);
  max-height: 92vh;
  overflow: auto;
  background: var(--surface);
  border-radius: 18px 18px 12px 12px;
  padding: 22px 18px 16px;
  box-shadow: 0 24px 60px rgba(0, 0, 0, .24);
}
.wa-modal-close {
  position: absolute;
  top: 10px;
  right: 12px;
  border: 0;
  background: transparent;
  font-size: 1.6rem;
  line-height: 1;
  cursor: pointer;
  color: var(--muted);
}
.wa-modal-head h2 {
  margin: 0 28px 4px 0;
  font-family: var(--display);
  font-weight: 500;
  font-size: 1.15rem;
}
.wa-modal-sub { margin: 0 0 14px; font-size: .9rem; }
.wa-modal-body .form-row { margin-bottom: 12px; }
.wa-modal-select,
.wa-modal-body textarea {
  width: 100%;
  font: inherit;
}
.wa-modal-body textarea {
  min-height: 140px;
  resize: vertical;
  line-height: 1.45;
}
.wa-modal-hint { margin: 8px 0 0; font-size: .82rem; }
.wa-modal-foot {
  display: flex;
  gap: 10px;
  justify-content: flex-end;
  margin-top: 16px;
  flex-wrap: wrap;
}
.sched-cbar-wa { color: #128C7E; }
button.cqa-inline-wa {
  display: inline;
  padding: 0;
  border: 0;
  background: none;
  color: var(--accent);
  font: inherit;
  cursor: pointer;
  text-decoration: underline;
}
@media (min-width: 720px) {
  .wa-modal { align-items: center; }
  .wa-modal-panel { border-radius: 16px; }
}

/* ==========================================================================
   MOBILE SPRINT 2026 — sistem geneli (360–430px first)
   Touch · no-hscroll · cards · bottom-sheet · 16px inputs · tap feedback
   ========================================================================== */

:root {
  --touch-min: 44px;
  --touch-gap: 10px;
  --m-pad: 12px;
}

/* —— Tap / ripple feedback —— */
.btn,
.cqa-btn,
.bn-ico,
.bottom-nav a,
.supply-ico-btn,
.m-card-actions-row .btn,
.field-action-btn,
.ops-chip,
.chip,
.badge-btn {
  -webkit-tap-highlight-color: rgba(15, 61, 76, 0.12);
  touch-action: manipulation;
}
.btn.is-busy,
.btn.is-loading {
  pointer-events: none;
  opacity: 0.72;
  position: relative;
}
.btn.is-busy::after,
.btn.is-loading .auth-submit-spin {
  display: inline-block;
}
@keyframes sin-spin {
  to { transform: rotate(360deg); }
}
.btn-spinner {
  display: inline-block;
  width: 1em;
  height: 1em;
  margin-inline-start: 6px;
  border: 2px solid rgba(255,255,255,.35);
  border-top-color: #fff;
  border-radius: 50%;
  animation: sin-spin .7s linear infinite;
  vertical-align: -0.15em;
}
.btn.btn-secondary .btn-spinner,
.btn.btn-ghost .btn-spinner {
  border-color: rgba(15, 61, 76, .2);
  border-top-color: var(--accent, #1E4A6E);
}

/* —— Global images: never overflow; lazy-friendly —— */
img,
.photo-grid img,
.order-photo-thumbs img,
.auth-logo-bare img {
  max-width: 100%;
  height: auto;
}
.photo-grid img,
.order-photo-thumbs img {
  object-fit: cover;
  background: #E2E8F0;
}

@media (max-width: 900px) {
  /* —— 0. Hard stop horizontal scroll —— */
  html, body {
    overflow-x: hidden !important;
    max-width: 100vw !important;
    overscroll-behavior-x: none;
  }
  .main,
  .content,
  .ops-page,
  .order-page,
  .pf-shell,
  .dispatch-shell,
  .wh-page,
  .supply-page,
  .acct-shell,
  .card,
  .filters,
  .form-grid {
    max-width: 100% !important;
    box-sizing: border-box;
  }
  /* Prevent table min-width from forcing page scroll when paired with cards */
  .desktop-only-table,
  .desktop-only-table table {
    display: none !important;
  }
  .m-card-list {
    display: grid !important;
    gap: 10px;
    width: 100%;
  }

  /* —— 1. Touch targets —— */
  .btn,
  .btn-sm,
  .cqa-btn,
  .actions .btn,
  .filters .btn,
  .m-card-actions-row .btn,
  .order-quick-actions .cqa-btn,
  .supply-ico-btn,
  .supply-item-actions .btn,
  .wh-load-form .btn,
  .load-stop .btn,
  .field-strip a,
  .field-strip .btn,
  a.btn {
    min-height: var(--touch-min) !important;
    min-width: var(--touch-min);
    padding-top: 10px;
    padding-bottom: 10px;
    box-sizing: border-box;
  }
  /* Müşteri aksiyon barı: eşit yükseklik, genişlemeyen kompakt butonlar */
  .customer-action-bar .cqa-btn,
  .customer-hero .customer-action-bar .cqa-btn {
    width: auto !important;
    flex: 0 0 auto !important;
    min-width: 0 !important;
    min-height: 40px !important;
    height: 40px !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    padding-left: 12px !important;
    padding-right: 12px !important;
    white-space: nowrap !important;
    border-radius: 10px !important;
  }
  .btn-sm {
    padding-left: 12px;
    padding-right: 12px;
  }
  .actions,
  .filters,
  .m-card-actions-row,
  .order-quick-actions,
  .cqa-row,
  .supply-factory-tools,
  .supply-item-actions,
  .pf-card-actions,
  .fin-plan-add,
  .wh-search-controls,
  .acct-page .acct-search-form,
  .ssh-page .ssh-search-form,
  .orders-page .orders-filters,
  .dispatch-filter-bar {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: var(--touch-gap) !important;
    align-items: stretch;
  }
  .m-card-actions-row .btn,
  .pf-card-actions .btn {
    flex: 1 1 calc(50% - 6px);
    justify-content: center;
  }

  /* —— Inputs: 16px = no iOS zoom —— */
  input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="hidden"]),
  select,
  textarea,
  .ts-control,
  .ts-control input,
  .input,
  .auth-input-wrap input,
  .wh-live-field input,
  .search-field input,
  .orders-live-field input,
  .acct-live-field input,
  .ssh-live-field input,
  .pf-live-field input {
    font-size: 16px !important;
    min-height: var(--touch-min) !important;
    line-height: 1.35;
  }
  textarea {
    min-height: 96px !important;
  }
  .ts-wrapper,
  .ts-wrapper.single .ts-control {
    min-height: var(--touch-min);
  }
  .ts-dropdown .option {
    padding: 12px 14px !important;
    min-height: var(--touch-min);
    font-size: 16px !important;
  }

  /* —— 2. Text wrap / truncate —— */
  .m-card-title,
  .m-card-meta,
  .order-hero-name,
  .customer-hero-title,
  .pf-card-name,
  .pf-card-address,
  .supply-item-product,
  .supply-item-customer,
  .item-line strong,
  .load-item span,
  .dash-stop-title,
  .excel-stop-name {
    overflow-wrap: anywhere;
    word-break: break-word;
    max-width: 100%;
  }
  .m-card-meta,
  .order-hero-meta,
  .muted {
    overflow-wrap: anywhere;
  }
  .topbar h1 {
    font-size: 1.05rem;
    line-height: 1.25;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  /* —— 3. Bottom nav ergonomics —— */
  .bottom-nav {
    height: auto !important;
    min-height: calc(56px + env(safe-area-inset-bottom, 0px));
    padding: 6px 6px calc(6px + env(safe-area-inset-bottom, 0px)) !important;
    gap: 4px;
    z-index: 900;
  }
  .bottom-nav a,
  .bottom-nav .bn-menu-btn {
    min-height: 48px;
    border-radius: 12px;
    gap: 2px;
    font-size: 0.68rem;
    font-weight: 700;
  }
  .body-has-bottom-nav .main {
    padding-bottom: calc(72px + 64px + env(safe-area-inset-bottom, 0px)) !important;
  }
  .body-has-bottom-nav .help-fab {
    bottom: calc(72px + 12px + env(safe-area-inset-bottom, 0px)) !important;
  }
  /* Thumb-zone actions stick above bottom nav */
  .m-sticky-actions,
  .order-panel-actions,
  .wh-receive-foot,
  .dispatch-mobile-toolbar {
    position: sticky;
    bottom: calc(72px + env(safe-area-inset-bottom, 0px));
    z-index: 40;
    background: color-mix(in srgb, var(--surface, #fff) 92%, transparent);
    backdrop-filter: blur(8px);
    padding: 8px 0;
    margin-top: 8px;
  }

  /* —— 4. Modals → bottom sheets —— */
  .wa-modal,
  .c360-modal,
  .qc-modal,
  .sched-modal,
  .wh-modal,
  .fc-modal,
  #forceCompleteModal {
    align-items: flex-end !important;
    padding: 0 !important;
  }
  .wa-modal-panel,
  .c360-panel,
  .qc-panel,
  .sched-modal-panel,
  .wh-modal-panel,
  .fc-panel,
  #forceCompleteModal .sched-modal-panel,
  #forceCompleteModal .modal-panel {
    width: 100% !important;
    max-width: 100% !important;
    max-height: min(92vh, 100%) !important;
    border-radius: 18px 18px 0 0 !important;
    padding-bottom: calc(16px + env(safe-area-inset-bottom, 0px)) !important;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
  }
  .wa-modal-close,
  .c360-close,
  .qc-close,
  .sched-modal-close,
  .wh-modal-close,
  [data-fc-close],
  .modal-close {
    min-width: 44px !important;
    min-height: 44px !important;
    font-size: 1.5rem !important;
    display: grid;
    place-items: center;
  }
  body.modal-scroll-lock,
  body.wa-modal-open,
  body.c360-open,
  body.qc-open,
  body.sched-modal-open,
  body.wh-modal-open {
    overflow: hidden !important;
    touch-action: none;
  }

  /* —— Login —— */
  .auth-wrap {
    min-height: 100dvh;
    padding: 12px 14px calc(20px + env(safe-area-inset-bottom, 0px));
  }
  .auth-card,
  .auth-card-brand,
  .auth-card-pro {
    width: 100%;
    max-width: 100%;
    margin: 0 auto;
    box-sizing: border-box;
  }
  .auth-credit {
    max-width: 100%;
    padding: 0 8px 12px;
    font-size: 0.72rem;
    line-height: 1.4;
    text-align: center;
    overflow-wrap: anywhere;
  }
  .auth-submit-btn {
    width: 100%;
    min-height: 52px !important;
    font-size: 1.05rem !important;
  }
  .auth-input-wrap input {
    font-size: 16px !important;
    min-height: 48px !important;
  }
  .auth-eye-btn {
    min-width: 44px;
    min-height: 44px;
  }

  /* —— Schedule / orders / customers polish —— */
  .excel-board {
    display: none !important;
  }
  .orders-page .orders-filters {
    display: grid !important;
    grid-template-columns: 1fr;
    gap: 12px;
    width: 100%;
    max-width: 100%;
    flex-direction: unset !important;
    flex-wrap: unset !important;
    align-items: stretch !important;
  }
  .orders-filters .search-field,
  .orders-page .orders-filters select,
  .orders-page .orders-filters .btn {
    width: 100%;
    max-width: 100%;
  }
  .orders-live-field,
  .pf-live-field,
  .wh-live-field {
    width: 100%;
    flex: 1 1 100%;
  }
  .order-quick-actions {
    gap: 8px !important;
  }
  .order-quick-actions .cqa-btn {
    flex: 1 1 calc(50% - 6px);
    justify-content: center;
    text-align: center;
  }
  .order-hero-stats {
    width: 100%;
    justify-content: space-between;
  }
  .kpi-row,
  .pf-kpis {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
  }
  .kpi, .pf-kpi {
    min-width: 0;
  }

  /* —— Tedarik / İnegöl / Kayseri —— */
  .supply-factory-tools {
    width: 100%;
  }
  .supply-ico-btn {
    flex: 1 1 calc(25% - 8px);
    justify-content: center;
    min-height: 44px !important;
  }
  .supply-item-actions .btn {
    min-height: 44px !important;
  }
  .supply-check input {
    width: 22px;
    height: 22px;
  }
  .supply-filters {
    gap: 8px;
  }
  .supply-filters a,
  .supply-filters .btn,
  .supply-chip {
    min-height: 40px;
    display: inline-flex;
    align-items: center;
  }

  /* —— Warehouse day load —— */
  .load-stop,
  .wh-load-form {
    padding: 12px;
    border-radius: 14px;
    border: 1px solid var(--line, #E2E8F0);
    background: #fff;
    margin-bottom: 10px;
  }
  .load-item {
    display: flex;
    gap: 10px;
    align-items: flex-start;
    padding: 8px 0;
    min-height: 44px;
  }
  .load-item input[type="checkbox"] {
    width: 22px;
    height: 22px;
    margin-top: 2px;
    flex-shrink: 0;
  }

  /* —— Search suggest above keyboard —— */
  .search-suggest {
    max-height: min(50vh, 320px);
    overflow: auto;
    -webkit-overflow-scrolling: touch;
  }
  .suggest-item {
    min-height: 52px;
    padding: 10px 12px !important;
    text-align: start;
  }

  /* Hide leftover wide min-width tables that aren't card-paired —
     unpaired wraps keep horizontal scroll (see earlier MQ rules); do NOT squash to min-width:0 */
  .table-wrap:not(.desktop-only-table) {
    display: block;
    width: 100%;
    overflow-x: auto;
    overscroll-behavior-x: contain;
    -webkit-overflow-scrolling: touch;
  }
  .table-wrap:not(.desktop-only-table) table {
    min-width: 560px;
    width: max-content;
  }

  /* Checkboxes / radios easier to hit */
  input[type="checkbox"],
  input[type="radio"] {
    width: 20px;
    height: 20px;
    accent-color: var(--accent, #1E4A6E);
  }
}

/* Narrow phones 360–390 */
@media (max-width: 390px) {
  .main { padding-left: 10px !important; padding-right: 10px !important; }
  .order-quick-actions .cqa-btn {
    flex: 1 1 100%;
  }
  .m-card-actions-row .btn {
    flex: 1 1 100%;
  }
  .auth-welcome { font-size: 1rem !important; }
  .kpi-row { grid-template-columns: 1fr 1fr; }
}

/* Prefer reduced data: don't animate heavy shadows on low-end */
@media (max-width: 900px) and (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    transition-duration: 0.01ms !important;
  }
}

/* —— Akıllı depo: müşteri bazlı yükleme (2026) —— */
.wh-load-page .ops-hero .ops-hero-lead,
.wh-load-page .role-coach { display: none; }
.wh-load-compact-alert {
  padding: 10px 14px;
  margin: 0 0 12px;
  font-size: 0.92rem;
}
.wh-load-alert-banner {
  margin: 0 0 14px;
  border: 1px solid #FECACA;
  background: #FEF2F2;
  color: #7F1D1D;
  padding: 12px 14px;
  border-radius: 12px;
}
.wh-load-alert-line + .wh-load-alert-line { margin-top: 8px; }
.wh-load-alert-go {
  font-weight: 750;
  text-decoration: underline;
  color: #B91C1C;
  margin-left: 4px;
}
.wh-vehicle-card.is-flash-target {
  box-shadow: 0 0 0 3px rgba(185, 28, 28, 0.35);
  transition: box-shadow .2s ease;
}

.wh-vehicle-board {
  display: grid;
  gap: 12px;
  margin-bottom: 18px;
}
.wh-vehicle-card {
  border: 1px solid var(--line, #E2E8F0);
  border-radius: 16px;
  background: #fff;
  overflow: hidden;
}
.wh-vehicle-card.is-loaded { border-color: #86EFAC; background: #F0FDF4; }
.wh-vehicle-card.is-partial { border-color: #FCD34D; }
.wh-vehicle-card.is-waiting { border-color: #FCA5A5; }
.wh-vehicle-summary {
  list-style: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 16px;
  min-height: 56px;
  user-select: none;
}
.wh-vehicle-summary::-webkit-details-marker { display: none; }
.wh-vehicle-summary-main {
  display: grid;
  gap: 4px;
  min-width: 0;
}
.wh-vehicle-title {
  font-size: 1.05rem;
  font-weight: 750;
}
.wh-vehicle-progress {
  font-size: 0.92rem;
  font-weight: 650;
  color: var(--muted, #64748B);
}
.wh-vehicle-card.is-loaded .wh-vehicle-progress { color: #166534; }
.wh-vehicle-card.is-partial .wh-vehicle-progress { color: #92400E; }
.wh-vehicle-card.is-waiting .wh-vehicle-progress { color: #991B1B; }
.wh-vehicle-chevron {
  color: var(--muted);
  font-size: 0.75rem;
  transition: transform .15s ease;
}
.wh-vehicle-card[open] .wh-vehicle-chevron { transform: rotate(180deg); }

.wh-customer-list {
  display: grid;
  gap: 10px;
  padding: 0 12px 14px;
}
.wh-customer-card {
  border: 1px solid var(--line, #E2E8F0);
  border-radius: 14px;
  padding: 14px;
  background: #FBFCFD;
  transition: background .2s ease, border-color .2s ease;
}
.wh-customer-card.is-loaded {
  background: #ECFDF5;
  border-color: #6EE7B7;
}
.wh-customer-card.is-partial { background: #FFFBEB; border-color: #FCD34D; }
.wh-customer-card.is-waiting { background: #fff; }
.wh-customer-head {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  align-items: flex-start;
  margin-bottom: 10px;
}
.wh-customer-name {
  font-size: 1.08rem;
  font-weight: 750;
  display: block;
}
.wh-customer-meta { font-size: 0.88rem; margin-top: 2px; }
.wh-customer-due {
  margin-top: 6px;
  font-size: 0.88rem;
  font-weight: 700;
  color: #92400E;
}
.depot-load-badge {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 0.78rem;
  font-weight: 700;
  padding: 4px 8px;
  border-radius: 999px;
  white-space: nowrap;
  background: #F1F5F9;
}
.depot-load-badge.is-ok { background: #DCFCE7; color: #166534; }
.depot-load-badge.is-warn { background: #FEF3C7; color: #92400E; }
.depot-load-badge.is-danger { background: #FEE2E2; color: #991B1B; }
.m-dispatch-badges .depot-load-badge { margin-top: 4px; }

.wh-product-list {
  list-style: none;
  margin: 0 0 12px;
  padding: 0;
  display: grid;
  gap: 6px;
}
.wh-product-list li {
  display: flex;
  justify-content: space-between;
  gap: 8px;
  padding: 8px 10px;
  border-radius: 10px;
  background: #fff;
  border: 1px solid var(--line, #E2E8F0);
  font-size: 0.92rem;
  min-height: 44px;
  align-items: center;
}
.wh-product-list li em {
  font-style: normal;
  font-size: 0.78rem;
  color: var(--muted);
  white-space: nowrap;
}
.wh-product-list li.is-on-truck {
  background: #ECFDF5;
  border-color: #A7F3D0;
}
.wh-product-list li.is-missing { opacity: 0.65; }

.wh-customer-actions { display: grid; gap: 8px; }
.wh-override-actions {
  display: grid;
  gap: 8px;
}
.wh-load-btn {
  min-height: 52px !important;
  font-size: 1.05rem !important;
  font-weight: 750 !important;
  width: 100%;
  border-radius: 12px !important;
}
.wh-load-btn-factory {
  background: #FFF7ED !important;
  border: 2px solid #F97316 !important;
  color: #9A3412 !important;
}
.wh-load-btn-receive {
  background: #EFF6FF !important;
  border: 2px solid #3B82F6 !important;
  color: #1E3A8A !important;
}
.wh-load-btn.is-done {
  background: #16A34A !important;
  border-color: #16A34A !important;
  color: #fff !important;
  opacity: 1 !important;
}
.wh-load-btn.is-busy { opacity: 0.75; }
.wh-no-product-hint {
  display: inline-block;
  margin: 0 0 10px;
  padding: 4px 10px;
  border-radius: 999px;
  background: #F1F5F9;
  color: #64748B;
  font-size: 0.8rem;
  font-weight: 600;
  line-height: 1.4;
}
.wh-load-btn-empty {
  background: #FFF7ED !important;
  border: 2px solid #F97316 !important;
  color: #9A3412 !important;
}
.wh-confirm-overlay {
  position: fixed;
  inset: 0;
  z-index: 80;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
  background: rgba(15, 23, 42, 0.45);
}
.wh-confirm-box {
  width: min(440px, 100%);
  background: #fff;
  border-radius: 16px;
  padding: 22px 20px 18px;
  box-shadow: 0 18px 50px rgba(15, 23, 42, 0.22);
  text-align: center;
}
.wh-confirm-icon { font-size: 1.8rem; margin-bottom: 8px; }
.wh-confirm-text {
  margin: 0 0 16px;
  color: #0F172A;
  font-size: 1rem;
  font-weight: 650;
  line-height: 1.45;
}
.wh-confirm-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
}
.wh-confirm-yes {
  background: #16A34A !important;
  border-color: #16A34A !important;
  color: #fff !important;
}
.wh-secondary-panel {
  margin-top: 8px;
}
.wh-secondary-panel > summary {
  cursor: pointer;
  font-weight: 650;
  padding: 4px 0;
  min-height: 44px;
  display: flex;
  align-items: center;
}
.wh-day-jump-cards {
  display: grid;
  gap: 10px;
  margin: 0 0 16px;
}
.wh-day-jump-card {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  padding: 14px 16px;
  min-height: 56px;
  border-radius: 14px;
  border: 1px solid var(--line);
  background: #fff;
  text-decoration: none;
  color: inherit;
}
.wh-day-jump-card strong { font-size: 1rem; }
.wh-day-jump-card span { color: var(--muted); font-size: 0.88rem; font-weight: 650; }

@media (min-width: 901px) {
  .wh-customer-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .wh-load-btn { width: auto; min-width: 240px; }
  .wh-customer-actions { justify-items: start; }
}

/* —— Settings tabbed UI (2026) —— */
.settings-page {
  padding-bottom: 88px;
}
.settings-intro { margin-bottom: 12px; }
.settings-tabs {
  display: flex;
  gap: 6px;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: thin;
  padding: 4px 2px 12px;
  margin: 0 0 14px;
  border-bottom: 1px solid var(--line, #E2E8F0);
  position: sticky;
  top: 0;
  z-index: 10;
  background: var(--bg, #F8FAFC);
}
.settings-tab {
  flex: 0 0 auto;
  min-height: 44px;
  padding: 10px 16px;
  border: 1px solid transparent;
  border-radius: 999px;
  background: transparent;
  color: var(--muted, #64748B);
  font-weight: 650;
  font-size: 0.92rem;
  cursor: pointer;
  white-space: nowrap;
  transition: background .15s ease, color .15s ease, border-color .15s ease;
}
.settings-tab:hover { background: #fff; color: var(--ink, #0F172A); }
.settings-tab.is-active {
  background: #fff;
  color: var(--ink, #0F172A);
  border-color: var(--line, #E2E8F0);
  box-shadow: none;
}
.settings-panel[hidden] { display: none !important; }
.settings-panel.is-active { display: block; animation: settingsFade .18s ease; }
@keyframes settingsFade {
  from { opacity: 0; transform: translateY(4px); }
  to { opacity: 1; transform: none; }
}
.settings-panel-head {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: flex-start;
  margin-bottom: 14px;
  flex-wrap: wrap;
}
.settings-block {
  background: #fff;
  border: 1px solid var(--line, #E2E8F0);
  border-radius: 16px;
  padding: 18px;
  margin-bottom: 14px;
}
.settings-block-title {
  margin: 0 0 14px;
  font-size: 1.05rem;
  font-weight: 750;
}
.settings-grid {
  display: grid;
  gap: 16px;
}
.settings-grid-3 {
  grid-template-columns: 1fr;
}
@media (min-width: 720px) {
  .settings-grid-3 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .settings-span-2 { grid-column: span 2; }
  .settings-span-3 { grid-column: span 2; }
}
@media (min-width: 1024px) {
  .settings-grid-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .settings-span-2 { grid-column: span 2; }
  .settings-span-3 { grid-column: span 3; }
}
.settings-form .form-row {
  margin: 0;
  display: grid;
  gap: 6px;
}
.settings-form .form-row label {
  font-size: 0.86rem;
  font-weight: 650;
}
.settings-form input[type="text"],
.settings-form input[type="email"],
.settings-form input[type="number"],
.settings-form input[type="file"],
.settings-form select,
.settings-form textarea {
  width: 100%;
  min-height: 44px;
}
.settings-form textarea { min-height: 88px; }
.settings-check {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 10px 0;
  font-size: 0.92rem;
}
.settings-check input { margin-top: 3px; }
.settings-inline-save { display: none; }
#module-form .settings-inline-save,
#form-role-policies .settings-inline-save {
  display: inline-flex;
  margin-top: 4px;
}

.settings-accordion { display: grid; gap: 10px; }
.settings-acc {
  border: 1px solid var(--line, #E2E8F0);
  border-radius: 14px;
  background: #FBFCFD;
  overflow: hidden;
}
.settings-acc > summary {
  list-style: none;
  cursor: pointer;
  min-height: 50px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 12px 16px;
  font-weight: 700;
  user-select: none;
}
.settings-acc > summary::-webkit-details-marker { display: none; }
.settings-acc > summary::after {
  content: "▼";
  font-size: 0.7rem;
  color: var(--muted);
  transition: transform .15s ease;
}
.settings-acc[open] > summary::after { transform: rotate(180deg); }
.settings-acc-body {
  padding: 0 16px 16px;
  display: grid;
  gap: 14px;
}

.settings-role-grid {
  display: grid;
  gap: 14px;
  grid-template-columns: 1fr;
}
@media (min-width: 900px) {
  .settings-role-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
.settings-role-card {
  border: 1px solid var(--line, #E2E8F0);
  border-radius: 14px;
  padding: 14px 16px;
  background: #FBFCFD;
}
.settings-role-card h4 { margin: 0 0 8px; font-size: 1rem; }
.settings-role-group {
  margin: 12px 0 6px;
  font-size: 0.72rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--muted);
  font-weight: 700;
}
.settings-policy-check {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  margin: 6px 0;
}
.settings-policy-check strong { font-weight: 600; display: block; }
.settings-policy-check small { display: block; }

.settings-sticky-bar {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 40;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 16px;
  padding-bottom: calc(12px + env(safe-area-inset-bottom, 0px));
  background: rgba(255,255,255,.92);
  border-top: 1px solid var(--line, #E2E8F0);
  backdrop-filter: blur(8px);
}
.settings-sticky-hint {
  font-size: 0.88rem;
  font-weight: 650;
  color: var(--muted);
}
.settings-sticky-bar .btn {
  min-height: 48px;
  min-width: 160px;
  font-weight: 750;
}
.settings-logo-remove { margin-top: 8px; }

@media (min-width: 1100px) {
  .settings-sticky-bar {
    left: var(--sidebar-w, 260px);
  }
}
@media (max-width: 640px) {
  .settings-tabs { margin-left: -4px; margin-right: -4px; padding-left: 4px; }
  .settings-block { padding: 14px; border-radius: 14px; }
  .settings-sticky-hint { display: none; }
  .settings-sticky-bar .btn { flex: 1; width: 100%; }
}

/* —— Process / timeline UX (müşteri + sipariş) —— */
.process-section-heading {
  margin: 0 0 12px;
  font-size: 1.05rem;
  font-weight: 750;
}
.process-summary-card {
  border: 1px solid var(--line, #E2E8F0);
  border-radius: 14px;
  padding: 14px;
  background: #F8FAFC;
  margin-bottom: 14px;
}
.process-summary-title {
  font-size: 0.78rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--muted, #64748B);
  margin-bottom: 10px;
}
.process-summary-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.process-summary-meta {
  margin-top: 10px;
  font-size: 0.88rem;
  color: var(--muted);
  font-weight: 600;
}
.date-chip {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 6px 10px;
  border-radius: 999px;
  font-size: 0.82rem;
  font-weight: 700;
  line-height: 1.25;
  max-width: 100%;
}
.date-chip.is-order {
  background: #DBEAFE;
  color: #1D4ED8;
}
.date-chip.is-factory {
  background: #FFEDD5;
  color: #C2410C;
}
.date-chip.is-warehouse {
  background: #E0E7FF;
  color: #4338CA;
}
.date-chip.is-delivery {
  background: #DCFCE7;
  color: #15803D;
}
.date-chip.is-remaining {
  background: #FEF3C7;
  color: #B45309;
}
.date-chip.is-warn {
  background: #FEE2E2;
  color: #B91C1C;
}
.date-chip.is-muted {
  background: #F1F5F9;
  color: #475569;
}

.order-progress-timeline {
  list-style: none;
  margin: 14px 0 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 6px;
  position: relative;
}
.order-progress-timeline::before {
  content: "";
  position: absolute;
  left: 8%;
  right: 8%;
  top: 14px;
  height: 2px;
  background: #E2E8F0;
  z-index: 0;
}
.opt-step {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  text-align: center;
}
.opt-dot {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 0.75rem;
  font-weight: 800;
  background: #E2E8F0;
  color: #64748B;
  border: 2px solid #fff;
}
.opt-label {
  font-size: 0.72rem;
  font-weight: 700;
  color: var(--muted);
  line-height: 1.25;
  display: grid;
  gap: 2px;
}
.opt-label small {
  font-size: 0.68rem;
  font-weight: 650;
  color: var(--ink, #0F172A);
}
.opt-step.is-done .opt-dot {
  background: #16A34A;
  color: #fff;
}
.opt-step.is-done .opt-label { color: #166534; }
.opt-step.is-current .opt-dot {
  background: #2563EB;
  color: #fff;
  box-shadow: 0 0 0 3px #BFDBFE;
}
.opt-step.is-current .opt-label { color: #1E40AF; }

.process-order-stack {
  display: grid;
  gap: 12px;
}
.process-order-card {
  border: 1px solid var(--line, #E2E8F0);
  border-radius: 14px;
  padding: 14px;
  background: #fff;
}
.process-order-card-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 10px;
  margin-bottom: 10px;
}
.process-order-card-head > div {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}
.process-order-no {
  font-weight: 800;
  font-size: 1rem;
  text-decoration: none;
  color: inherit;
}
.process-order-dates { margin-bottom: 4px; }
.process-product-list {
  list-style: none;
  margin: 12px 0 0;
  padding: 0;
  display: grid;
  gap: 8px;
}
.process-product-list li {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 10px;
  padding: 10px 12px;
  border-radius: 10px;
  background: #F8FAFC;
  border: 1px solid var(--line, #E2E8F0);
}
.process-product-name {
  font-size: 0.9rem;
  font-weight: 650;
  line-height: 1.35;
}
.process-product-status {
  display: inline-flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 4px;
  flex-shrink: 0;
}
.item-depo-entry-date {
  font-size: 0.72rem;
  font-weight: 650;
  color: #4338CA;
  white-space: nowrap;
}
.process-order-foot {
  margin-top: 10px;
  font-size: 0.82rem;
}
.status-badge-live {
  font-weight: 700 !important;
  white-space: nowrap;
}
.order-hero-date-chips {
  margin-top: 10px;
}
.order-hero .order-progress-timeline {
  margin-top: 16px;
}

/* Dev font kargaşasını kes — süreç/stat alanları */
.process-summary-section .stat strong,
.customer-embed-stats .customer-embed-stat strong {
  font-size: 1.05rem !important;
  letter-spacing: -0.01em;
}
@media (max-width: 900px) {
  .order-hero-stats .order-stat strong {
    font-size: 1.15rem !important;
  }
  .stat strong {
    font-size: 1.1rem !important;
  }
  .desktop-hide-when-process {
    display: none !important;
  }
  .customer-orders-grid > .card:first-child h2 {
    /* Siparişler desktop tablosu kalır; mobil kartlar gizlendi */
  }
  .order-progress-timeline {
    grid-template-columns: 1fr 1fr;
    gap: 12px 8px;
  }
  .order-progress-timeline::before {
    display: none;
  }
  .opt-step {
    flex-direction: row;
    text-align: left;
    align-items: flex-start;
    gap: 8px;
    padding: 8px;
    border-radius: 10px;
    background: #F8FAFC;
  }
}

@media (min-width: 901px) {
  .process-order-stack {
    /* masaüstünde özet kartları + tablo birlikte kalsın */
  }
}

/* —— Sipariş/müşteri mobil hijyen: taşmasız 2x2, adres bloğu, özet ikili —— */
.order-hero,
.customer-hero,
.order-page,
.order-quick-actions,
.order-summary-duo {
  max-width: 100%;
  box-sizing: border-box;
}
.order-contact-block {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
  margin: 0;
  max-width: 100%;
  min-width: 0;
}
.order-address-block {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  padding: 10px 12px;
  border-radius: 12px;
  background: #F1F5F9;
  border: 1px solid #E2E8F0;
  color: #334155;
  font-size: 0.88rem;
  font-weight: 600;
  line-height: 1.4;
}
.order-address-ico {
  flex: 0 0 auto;
  line-height: 1.4;
}
.order-address-text {
  flex: 1 1 auto;
  min-width: 0;
  overflow-wrap: anywhere;
  word-break: break-word;
}
.order-summary-duo {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin-top: 4px;
}
.order-delivery-pull {
  margin-top: 10px;
  padding: 10px 12px;
  border-radius: 12px;
  border: 1px solid #BBF7D0;
  background: #F0FDF4;
  display: grid;
  gap: 6px;
}
.order-delivery-pull label {
  font-size: 0.78rem;
  font-weight: 700;
  color: #166534;
  margin: 0;
}
.order-delivery-pull-row {
  display: flex;
  gap: 8px;
  align-items: center;
}
.order-delivery-pull-row input[type="date"] {
  flex: 1 1 auto;
  min-width: 0;
  min-height: 40px;
}
.order-delivery-pull-row .btn {
  flex: 0 0 auto;
  white-space: nowrap;
}
.order-summary-box {
  min-width: 0;
  padding: 12px;
  border-radius: 14px;
  border: 1px solid #E2E8F0;
  background: #F8FAFC;
}
.order-summary-box.is-stock {
  background: #F8FAFC;
}
.order-summary-box.is-process {
  background: #F0FDF4;
  border-color: #BBF7D0;
}
.osb-title {
  font-size: 0.72rem;
  font-weight: 750;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #64748B;
  margin-bottom: 8px;
}
.osb-stats {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 6px;
}
.osb-stat {
  text-align: center;
  min-width: 0;
}
.osb-stat strong {
  display: block;
  font-size: 1.15rem;
  font-weight: 800;
  letter-spacing: -0.02em;
  color: var(--ink, #0F172A);
  line-height: 1.1;
}
.osb-stat span {
  font-size: 0.7rem;
  font-weight: 650;
  color: #64748B;
  text-transform: uppercase;
  letter-spacing: 0.03em;
}
.osb-delivery {
  font-size: 0.9rem;
  font-weight: 750;
  color: #166534;
  line-height: 1.3;
  overflow-wrap: anywhere;
}
.osb-remaining {
  margin-top: 8px;
}
.osb-remaining .date-chip {
  font-size: 0.78rem;
  padding: 4px 8px;
}
.osb-hint {
  margin-top: 6px;
  font-size: 0.78rem;
  font-weight: 650;
  color: #92400E;
  overflow-wrap: anywhere;
}
.order-quick-actions-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}
.order-quick-actions-grid .cqa-btn {
  width: 100%;
  min-width: 0 !important;
  max-width: 100%;
  height: auto;
  min-height: 44px;
  padding: 10px 8px;
  border-radius: 12px;
  white-space: normal;
  text-align: center;
  overflow: hidden;
  text-overflow: ellipsis;
  box-sizing: border-box;
}
.order-quick-actions-grid .cqa-short { display: none; }
.order-quick-actions-grid .cqa-long { display: inline; }
.cqa-btn.cqa-disabled {
  opacity: 0.45;
  pointer-events: none;
  cursor: not-allowed;
}
.order-more-actions {
  margin-top: 4px;
  border: 1px solid #E2E8F0;
  border-radius: 12px;
  background: #fff;
  overflow: hidden;
}
.order-more-actions > summary {
  list-style: none;
  cursor: pointer;
  padding: 12px 14px;
  font-size: 0.86rem;
  font-weight: 700;
  color: #475569;
  user-select: none;
}
.order-more-actions > summary::-webkit-details-marker { display: none; }
.order-more-actions > summary::after {
  content: "▾";
  float: right;
  color: #94A3B8;
}
.order-more-actions[open] > summary::after { content: "▴"; }
.order-more-actions-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  padding: 0 12px 12px;
}
.order-more-actions-grid .cqa-btn {
  min-width: 0;
  width: 100%;
  height: auto;
  min-height: 42px;
  white-space: normal;
  border-radius: 12px;
  padding: 8px;
  box-sizing: border-box;
}
.order-hero-help {
  display: flex;
  justify-content: flex-end;
  margin-top: 4px;
}
.customer-quick-actions-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  width: auto;
  max-width: min(420px, 100%);
  justify-content: flex-end;
  align-items: center;
}
.customer-quick-actions-grid .cqa-btn,
.customer-quick-actions-grid .cqa-form .cqa-btn {
  width: auto;
  min-width: 0;
  height: 36px;
  min-height: 36px;
  white-space: nowrap;
  border-radius: 10px;
  box-sizing: border-box;
}
.customer-ops-compact {
  margin: 0;
  max-width: 100%;
}
.customer-ops-compact .ops-pill-row {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  max-width: 100%;
}
.customer-ops-compact .ops-pill {
  max-width: 100%;
  overflow-wrap: anywhere;
  white-space: normal;
  height: auto;
  line-height: 1.3;
  padding: 6px 10px;
}

/* Modern görsel yükleme */
.order-upload-form-modern {
  display: grid;
  gap: 10px;
  margin-top: 10px;
}
.order-upload-zone-modern {
  position: relative;
  flex: none;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
  width: 100%;
  min-height: 112px;
  padding: 18px 14px;
  border: 1.5px dashed #94A3B8;
  border-radius: 14px;
  background: linear-gradient(180deg, #F8FAFC 0%, #F1F5F9 100%);
  text-align: center;
  cursor: pointer;
  box-sizing: border-box;
}
.order-upload-zone-modern:hover,
.order-upload-zone-modern:focus-within {
  border-color: #64748B;
  background: #EEF2FF;
}
.order-upload-input {
  position: absolute !important;
  inset: 0;
  width: 100% !important;
  height: 100% !important;
  opacity: 0 !important;
  cursor: pointer;
  font-size: 0 !important;
  max-width: none !important;
  color: transparent !important;
  z-index: 2;
}
.order-upload-zone.has-files {
  border-color: #86EFAC;
  background: linear-gradient(180deg, #F0FDF4 0%, #ECFDF5 100%);
}
.order-upload-zone.has-files .order-upload-title {
  color: #166534;
}
.order-upload-icon {
  font-size: 1.6rem;
  line-height: 1;
}
.order-upload-title {
  font-size: 0.95rem;
  font-weight: 750;
  color: #0F172A;
}
.order-upload-hint {
  font-size: 0.78rem;
  font-weight: 600;
  color: #64748B;
}
.order-upload-submit {
  width: 100%;
  min-height: 44px;
  border-radius: 12px;
}

@media (max-width: 900px) {
  .order-hero {
    padding: 14px 12px;
    overflow-x: clip;
  }
  .desktop-only-stats {
    display: none !important;
  }
  .order-summary-duo {
    display: grid;
  }
  .order-quick-actions-grid .cqa-short { display: inline; }
  .order-quick-actions-grid .cqa-long { display: none; }
  .customer-hero-head {
    flex-direction: column;
    flex-wrap: wrap;
    gap: 14px;
  }
  .customer-quick-actions,
  .customer-quick-actions-grid,
  .customer-action-bar {
    width: 100%;
    max-width: 100%;
    justify-content: flex-start;
  }
  .customer-action-bar .cqa-btn {
    flex: 0 1 auto;
  }
  .customer-ops-compact .ops-pill-row {
    /* müşteri: en fazla 2 satır, aşırı yığılmayı kes */
  }
  .customer-ops-compact .ops-pill:nth-child(n+4) {
    display: none;
  }
  .process-summary-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    max-width: 100%;
  }
  .date-chip {
    font-size: 0.78rem;
    padding: 5px 8px;
    max-width: 100%;
    white-space: normal;
  }
  .order-hero-chips .customer-meta-chip.is-muted {
    /* eski dar adres çipi kullanılmamalı */
    display: none;
  }
}

.order-hero-stats.desktop-only-stats {
  display: none !important;
}
@media (min-width: 901px) {
  .order-quick-actions-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
  .order-more-actions-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
  .customer-quick-actions-grid,
  .customer-action-bar {
    display: flex;
    flex-wrap: wrap;
    width: auto;
    max-width: min(420px, 100%);
  }
  .customer-quick-actions-grid .cqa-btn,
  .customer-action-bar .cqa-btn {
    width: auto;
    min-height: 36px;
    height: 36px;
    white-space: nowrap;
    border-radius: 10px;
  }
}

/* Eski flex overflow kurallarını ez */
@media (max-width: 900px) {
  .order-quick-actions.order-quick-actions-grid .cqa-btn {
    flex: unset !important;
    width: 100% !important;
  }
}
@media (max-width: 390px) {
  .order-quick-actions.order-quick-actions-grid .cqa-btn {
    flex: unset !important;
    width: 100% !important;
  }
  .order-summary-duo {
    grid-template-columns: 1fr;
  }
}

/* —— AI fiş OCR + ayarlar —— */
.settings-ai-toggle {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 12px 14px;
  border-radius: 12px;
  border: 1px solid #E2E8F0;
  background: #F8FAFC;
  margin-top: 8px;
}
.settings-ai-test-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px 14px;
  margin-top: 14px;
}
.settings-ai-ok { color: #15803D; font-weight: 700; }
.settings-ai-err { color: #B91C1C; font-weight: 700; }

.receipt-ocr-bar {
  margin: 0 0 10px;
  max-width: 100%;
}
.receipt-ocr-bar--slim .receipt-ocr-btn {
  gap: 8px;
  padding: 6px 12px;
  border-radius: 8px;
  border-width: 1px;
  min-height: 36px;
}
.receipt-ocr-bar--slim .receipt-ocr-btn-ico {
  font-size: 1rem;
}
.receipt-ocr-bar--slim .receipt-ocr-btn-text {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 6px 10px;
}
.receipt-ocr-bar--slim .receipt-ocr-btn-text strong {
  font-size: 0.8rem;
  font-weight: 700;
}
.receipt-ocr-bar--slim .receipt-ocr-btn-text small {
  font-size: 0.7rem;
}
.receipt-ocr-bar--slim .receipt-ocr-status {
  margin: 4px 0 0;
  font-size: 0.78rem;
}
.receipt-ocr-btn {
  display: flex;
  align-items: center;
  gap: 12px;
  width: 100%;
  box-sizing: border-box;
  padding: 14px 16px;
  border-radius: 14px;
  border: 1.5px dashed #6366F1;
  background: linear-gradient(135deg, #EEF2FF 0%, #F5F3FF 55%, #ECFEFF 100%);
  cursor: pointer;
  text-align: left;
  transition: border-color .15s, box-shadow .15s, transform .12s;
}
.receipt-ocr-btn:hover {
  border-color: #4338CA;
  box-shadow: 0 4px 14px rgba(79, 70, 229, 0.12);
}
.receipt-ocr-btn:disabled {
  opacity: 0.65;
  cursor: wait;
}
.receipt-ocr-btn-ico {
  flex: 0 0 auto;
  font-size: 1.45rem;
  line-height: 1;
}
.receipt-ocr-btn-text {
  display: grid;
  gap: 2px;
  min-width: 0;
}
.receipt-ocr-btn-text strong {
  font-size: 0.95rem;
  font-weight: 750;
  color: #312E81;
  overflow-wrap: anywhere;
}
.receipt-ocr-btn-text small {
  font-size: 0.78rem;
  font-weight: 600;
  color: #64748B;
}
.receipt-ocr-status {
  margin: 8px 0 0;
  font-size: 0.86rem;
  font-weight: 650;
}
.receipt-ocr-status.is-ok { color: #15803D; }
.receipt-ocr-status.is-err { color: #B91C1C; }
.receipt-ocr-status.is-busy { color: #4338CA; }

.ocr-confirm-panel { max-width: 520px; }
.ocr-confirm-summary {
  margin-top: 10px;
  padding: 10px 12px;
  border-radius: 12px;
  background: #F8FAFC;
  border: 1px solid #E2E8F0;
  font-size: 0.86rem;
  line-height: 1.45;
  display: grid;
  gap: 6px;
  overflow-wrap: anywhere;
}
.ocr-delivery-hint {
  margin: 0;
  padding: 8px 10px;
  border-radius: 10px;
  background: #FEF3C7;
  color: #92400E;
  font-size: 0.84rem;
  font-weight: 650;
}
.ocr-form-meta {
  margin: 0 0 8px;
  font-size: 0.84rem;
  font-weight: 700;
  color: #4338CA;
}

.order-tab {
  position: relative;
}
.order-tab-count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 1.25rem;
  height: 1.25rem;
  margin-left: 6px;
  padding: 0 6px;
  border-radius: 999px;
  font-size: 0.72rem;
  font-weight: 700;
  line-height: 1;
  background: #FEE2E2;
  color: #B91C1C;
  vertical-align: middle;
}
.order-tab.has-ssh-alert:not(.is-active) {
  color: #B91C1C;
}
.order-tab.has-ssh-alert:not(.is-active)::after {
  content: '';
  position: absolute;
  top: 8px;
  right: 8px;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #EF4444;
  box-shadow: 0 0 0 2px #fff;
}
.order-ssh-hub-head {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px 16px;
  margin-bottom: 16px;
}
.order-ssh-hub-kicker {
  margin: 0 0 4px;
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  color: #7C3AED;
}
.order-ssh-hub-lead { margin: 4px 0 0; max-width: 42rem; }
.order-ssh-hub-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}
.order-ssh-hub-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: 12px;
}
.order-ssh-card {
  border: 1px solid #E5E7EB;
  background: #fff;
  border-radius: 12px;
  padding: 14px;
  display: grid;
  gap: 6px;
}
.order-ssh-card.is-open {
  border-color: rgba(239, 68, 68, 0.28);
  background: linear-gradient(180deg, #FFF7F7 0%, #fff 48%);
}
.order-ssh-card.is-planned {
  border-color: rgba(124, 58, 237, 0.22);
  background: linear-gradient(180deg, #F8F5FF 0%, #fff 48%);
}
.order-ssh-card-top {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 8px;
}
.order-ssh-card-no {
  text-decoration: none;
  color: inherit;
}
.order-ssh-card-title {
  margin: 0;
  font-size: 0.95rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.01em;
  line-height: 1.35;
}
.order-ssh-card-desc {
  margin: 0;
  font-size: 0.86rem;
  color: #64748B;
  line-height: 1.4;
}
.order-ssh-card-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 12px;
  font-size: 0.82rem;
}
.order-ssh-card-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 4px;
}
.order-ssh-hub-empty { padding: 28px 12px; }
.order-ssh-hub-closed {
  margin-top: 18px;
  border-top: 1px dashed #E2E8F0;
  padding-top: 12px;
}
.order-ssh-hub-closed summary {
  cursor: pointer;
  font-weight: 600;
  color: #64748B;
}
.order-ssh-jump { margin: 0 0 14px; }
button.linkish {
  border: 0;
  background: none;
  padding: 0;
  color: #2563EB;
  font: inherit;
  font-weight: 600;
  cursor: pointer;
  text-decoration: underline;
}
button.ops-chip {
  border: 0;
  font: inherit;
  line-height: inherit;
  display: inline-flex;
  align-items: center;
}
.ops-chip.is-ssh-quick:hover,
.ops-chip.is-clickable.is-red:hover,
button.ops-chip.is-red:hover {
  filter: brightness(0.97);
  background: #FECACA !important;
  transition: background-color .15s ease, filter .15s ease;
}

/* —— SSH hızlı modal & tıklanabilir rozet —— */
.ops-chip.is-clickable,
.ops-pill.is-clickable,
.chip-priority.is-ssh-quick,
.badge.is-ssh-quick,
[data-ssh-quick] {
  cursor: pointer;
}
.ops-chip.is-ssh-quick:hover,
.chip-priority.is-ssh-quick:hover,
.badge.is-ssh-quick:hover {
  filter: brightness(0.96);
  box-shadow: 0 0 0 2px rgba(220, 38, 38, 0.25);
}
.ops-chip.is-ssh-quick:active,
button.ops-chip.is-red:active,
.ops-chip.is-ssh-quick.is-loading {
  background: #FCA5A5 !important;
  color: #7F1D1D !important;
  opacity: 0.82;
  transform: scale(0.98);
  transition: background-color .12s ease, opacity .12s ease, transform .12s ease;
}
.ops-chip.is-ssh-quick.is-loading {
  pointer-events: none;
  cursor: wait;
}
button.chip-priority {
  border: 0;
  font: inherit;
  line-height: inherit;
  display: inline-flex;
  align-items: center;
}
.ssh-quick-modal {
  position: fixed;
  inset: 0;
  z-index: 1400;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  padding: 12px;
  animation: sshQuickFadeIn .18s ease;
}
.ssh-quick-modal[hidden] { display: none !important; }
.ssh-quick-modal .ssh-quick-panel {
  animation: sshQuickSlideIn .22s cubic-bezier(.2,.8,.2,1);
}
@keyframes sshQuickFadeIn {
  from { opacity: 0; }
  to { opacity: 1; }
}
@keyframes sshQuickSlideIn {
  from { opacity: 0; transform: translateY(18px) scale(.98); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}
.c360-modal.is-behind-ssh {
  pointer-events: none;
}
.c360-modal.is-behind-ssh .c360-panel {
  filter: brightness(0.92);
  transform: scale(0.985);
  transition: filter .2s ease, transform .2s ease;
}
.ssh-quick-list {
  display: grid;
  gap: 10px;
  margin-bottom: 12px;
}
.ssh-quick-list-card {
  display: grid;
  gap: 10px;
  padding: 12px;
  border: 1px solid #E5E7EB;
  border-radius: 12px;
  background: #F9FAFB;
}
.ssh-quick-list-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}
.ssh-quick-list-no { font-size: .9rem; }
.ssh-quick-list-title {
  margin: 0;
  font-size: .92rem;
  font-weight: 700;
  line-height: 1.35;
  color: #1F2937;
}
.ssh-quick-list-sub { margin: 2px 0 0; font-size: .8rem; }
.ssh-quick-list-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.ssh-quick-list-edit {
  display: grid;
  gap: 8px;
  padding-top: 8px;
  border-top: 1px dashed #E5E7EB;
}
.ssh-quick-list-edit[hidden] { display: none !important; }
.ssh-quick-add-toggle {
  width: 100%;
  border: 1px dashed #BFDBFE;
  background: #EFF6FF;
  color: #1D4ED8;
  border-radius: 10px;
  padding: 10px 12px;
  font: inherit;
  font-weight: 650;
  font-size: .9rem;
  text-align: left;
  cursor: pointer;
  transition: background .15s ease;
}
.ssh-quick-add-toggle:hover { background: #DBEAFE; }
.ssh-quick-add.is-simple .ssh-quick-add-body {
  margin-top: 10px;
}
.ssh-quick-add.is-simple:not(.is-open) .ssh-quick-add-head { display: none; }
.ssh-quick-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(15, 23, 42, .48);
  border: 0;
  cursor: pointer;
}
.ssh-quick-panel {
  position: relative;
  z-index: 1;
  width: min(560px, 100%);
  max-height: 92vh;
  overflow: auto;
  background: var(--surface, #fff);
  border-radius: 18px 18px 12px 12px;
  padding: 20px 16px 14px;
  box-shadow: 0 24px 60px rgba(0, 0, 0, .24);
}
.ssh-quick-close {
  position: absolute;
  top: 8px;
  right: 10px;
  border: 0;
  background: transparent;
  font-size: 1.6rem;
  line-height: 1;
  cursor: pointer;
  color: var(--muted, #64748b);
}
.ssh-quick-head h2 {
  margin: 0 28px 4px 0;
  font-size: 1.12rem;
  font-weight: 700;
}
.ssh-quick-sub { margin: 0 0 12px; font-size: .88rem; }
.ssh-quick-body { display: grid; gap: 12px; }
.ssh-quick-card {
  border: 1px solid #E2E8F0;
  border-radius: 12px;
  padding: 12px;
  background: #F8FAFC;
  display: grid;
  gap: 6px;
}
.ssh-quick-card-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 8px;
}
.ssh-quick-title { margin: 0; font-weight: 650; }
.ssh-quick-product,
.ssh-quick-date { margin: 0; font-size: .84rem; }
.ssh-quick-desc {
  margin: 0;
  white-space: pre-wrap;
  font-family: inherit;
  font-size: .82rem;
  background: #fff;
  border-radius: 8px;
  padding: 8px;
  border: 1px solid #E2E8F0;
}
.ssh-quick-photos {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.ssh-quick-photos a {
  display: block;
  width: 72px;
  height: 72px;
  border-radius: 8px;
  overflow: hidden;
  border: 1px solid #E2E8F0;
}
.ssh-quick-photos img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.ssh-quick-field {
  display: grid;
  gap: 4px;
  font-size: .84rem;
  font-weight: 600;
}
.ssh-quick-field select,
.ssh-quick-field input,
.ssh-quick-field textarea {
  font: inherit;
  font-weight: 500;
  padding: 10px 12px;
  border-radius: 10px;
  border: 1px solid #CBD5E1;
  background: #fff;
}
.ssh-quick-missing h3 {
  margin: 0 0 6px;
  font-size: .95rem;
}
.ssh-quick-missing ul {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 6px;
}
.ssh-quick-missing li label {
  display: flex;
  gap: 8px;
  align-items: flex-start;
  font-size: .88rem;
}
.ssh-quick-add {
  border: 1px solid #93C5FD;
  border-radius: 12px;
  padding: 0;
  background: #EFF6FF;
  overflow: hidden;
  margin-top: 12px;
}
.ssh-quick-add.is-simple {
  border-style: solid;
}
.ssh-quick-add summary {
  cursor: pointer;
  font-weight: 700;
  color: #1D4ED8;
  padding: 10px 12px;
}
.ssh-quick-add-head {
  padding: 10px 12px;
  font-weight: 700;
  color: #1D4ED8;
  border-bottom: 1px solid #BFDBFE;
  background: #DBEAFE;
}
.ssh-quick-add-body {
  display: grid;
  gap: 8px;
  margin-top: 0;
  padding: 12px;
  background: #F8FBFF;
}
.ssh-quick-new-row.is-simple {
  padding: 12px;
  border: 1px solid #BFDBFE;
  border-radius: 10px;
  background: #fff;
  gap: 0;
}
.ssh-quick-field-primary {
  margin: 0;
  font-weight: 650;
  font-size: .86rem;
  color: #0F172A;
  display: grid;
  gap: 6px;
}
.ssh-quick-field-primary input {
  width: 100%;
  min-height: 44px;
  font-size: 1rem;
  font-weight: 600;
  box-sizing: border-box;
}
.ssh-multi-items {
  display: grid;
  gap: 10px;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: #F8FAFC;
  overflow: visible;
  position: relative;
  z-index: 5;
}
.ssh-create-card {
  overflow: visible;
}
.ssh-create-title {
  margin: 0 0 14px;
  font-family: var(--display);
  font-weight: 600;
  font-size: 1.15rem;
  letter-spacing: -0.02em;
  color: #0F172A;
}
.ssh-create-form {
  gap: 14px;
}
.ssh-create-meta .form-row input,
.ssh-create-meta .form-row select,
.ssh-customer-row .form-row input,
.ssh-customer-row select {
  min-width: 0;
  max-width: none;
  width: 100%;
}
.ssh-customer-row .ts-wrapper.ssh-customer-ts,
.ssh-customer-row .ts-wrapper {
  width: 100%;
}
.ssh-customer-row .ts-wrapper .ts-control {
  min-height: 48px !important;
  padding: 10px 14px !important;
  background: #F9FAFB !important;
  border: 1px solid #E5E7EB !important;
  border-radius: 12px !important;
  box-shadow: none !important;
}
.ssh-customer-row .ts-wrapper.focus .ts-control,
.ssh-customer-row .ts-wrapper .ts-control:focus-within {
  background: #fff !important;
  border-color: transparent !important;
  box-shadow: 0 0 0 2px #3B82F6 !important;
}
.ssh-customer-hint {
  margin: 6px 0 0;
  font-size: 0.78rem;
}
.ssh-customer-error {
  margin-top: 8px;
}
.ssh-photo-row .order-upload-zone,
.ssh-upload-zone {
  width: 100%;
  max-width: none;
  min-height: 112px;
  border: 2px dashed #CBD5E1;
  border-radius: 14px;
  background: #F8FAFC;
}
.ssh-upload-zone .order-upload-input {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  opacity: 0 !important;
  cursor: pointer;
  z-index: 2;
}
.ssh-reorder-check {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 0.9rem;
}
.ssh-create-submit {
  width: 100%;
  background: #2563EB !important;
  color: #fff !important;
  border: 0 !important;
  border-radius: 12px !important;
  padding: 14px 24px !important;
  font-weight: 650 !important;
  font-size: 0.95rem !important;
  box-shadow: 0 4px 14px rgba(37, 99, 235, 0.3) !important;
}
.ssh-create-submit:hover:not(:disabled) {
  background: #1D4ED8 !important;
}
.app-toast-host {
  position: fixed;
  z-index: 12000;
  left: 50%;
  bottom: max(24px, env(safe-area-inset-bottom));
  transform: translateX(-50%);
  display: flex;
  flex-direction: column;
  gap: 8px;
  width: min(420px, calc(100vw - 24px));
  pointer-events: none;
}
.app-toast {
  pointer-events: auto;
  padding: 12px 16px;
  border-radius: 12px;
  font-size: 0.9rem;
  font-weight: 600;
  line-height: 1.35;
  box-shadow: 0 10px 30px rgba(15, 23, 42, 0.18);
  opacity: 0;
  transform: translateY(8px);
  transition: opacity 0.2s ease, transform 0.2s ease;
}
.app-toast.is-show {
  opacity: 1;
  transform: translateY(0);
}
.app-toast.is-err {
  background: #FEF2F2;
  color: #991B1B;
  border: 1px solid #FECACA;
}
.app-toast.is-ok {
  background: #ECFDF5;
  color: #065F46;
  border: 1px solid #A7F3D0;
}
.ssh-multi-items-head {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 12px;
  align-items: baseline;
}
.ssh-multi-items-head strong { font-size: 0.95rem; }
.ssh-item-rows {
  display: grid;
  gap: 10px;
  overflow: visible;
}
.ssh-item-row {
  display: grid;
  grid-template-columns: minmax(160px, 0.85fr) minmax(0, 2.2fr) auto;
  gap: 8px;
  align-items: end;
  padding: 10px;
  border: 1px solid #E2E8F0;
  border-radius: 10px;
  background: #fff;
  overflow: visible;
  position: relative;
  z-index: 1;
}
.ssh-item-row:focus-within {
  z-index: 20;
}
.ssh-item-row .form-row { margin: 0; overflow: visible; }
.ssh-item-row .ssh-item-title {
  min-width: 0;
}
.ssh-item-row .ssh-item-title input {
  width: 100%;
  box-sizing: border-box;
}
.ssh-item-row .ts-wrapper { width: 100%; }
.ssh-item-remove { min-width: 36px; }
.ssh-quick-new-rows {
  display: grid;
  gap: 10px;
  margin-bottom: 8px;
}
.ssh-quick-new-row {
  display: grid;
  gap: 8px;
  padding: 10px;
  border: 1px dashed #CBD5E1;
  border-radius: 10px;
  background: #F8FAFC;
}
@media (max-width: 900px) {
  .ssh-item-row {
    grid-template-columns: 1fr;
  }
  .ssh-item-remove { justify-self: start; }
}
.ssh-quick-foot {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  margin-top: 14px;
  position: sticky;
  bottom: 0;
  background: linear-gradient(transparent, var(--surface, #fff) 30%);
  padding-top: 10px;
}
.ssh-quick-msg { margin: 8px 0 0; font-size: .86rem; }
.ssh-quick-msg.is-err { color: #B91C1C; }
.ssh-quick-err { color: #B91C1C; }
.ssh-quick-empty {
  padding: 12px;
  border-radius: 10px;
  background: #F1F5F9;
}
@media (min-width: 720px) {
  .ssh-quick-modal { align-items: center; }
  .ssh-quick-panel { border-radius: 16px; }
}

/* Akıllı form — geçersiz telefon */
input.is-invalid-phone,
textarea.is-invalid-phone {
  border-color: #DC2626 !important;
  box-shadow: 0 0 0 3px rgba(220, 38, 38, 0.18);
}

/* Global smart form assistant */
input.is-invalid-phone,
textarea.is-invalid-phone,
input.is-invalid-date {
  border-color: #DC2626 !important;
  box-shadow: 0 0 0 3px rgba(220, 38, 38, 0.18);
}
.smart-phone-dup {
  margin-top: 6px;
  padding: 8px 10px;
  border-radius: 10px;
  background: #FEF3C7;
  color: #92400E;
  font-size: 0.84rem;
  font-weight: 600;
  line-height: 1.35;
}
.smart-phone-dup.is-soft-info {
  background: #EFF6FF;
  color: #1E3A8A;
  border: 1px solid #BFDBFE;
  font-weight: 550;
}
.smart-phone-dup-link {
  color: #1D4ED8;
  text-decoration: underline;
  font-weight: 750;
  margin-left: 4px;
}
.smart-money-hint {
  margin-top: 4px;
  font-size: 0.82rem;
  font-weight: 650;
  color: #334155;
}
.smart-date-warn {
  margin-top: 6px;
  padding: 6px 10px;
  border-radius: 8px;
  background: #FEE2E2;
  color: #991B1B;
  font-size: 0.82rem;
  font-weight: 650;
}
form.is-submitting {
  opacity: 0.92;
}
form.is-submitting .btn.is-busy,
form.is-submitting .btn.is-loading {
  pointer-events: none;
  opacity: 0.72;
}
.wh-dup-badge {
  font-size: 0.78rem;
}

/* —— SSH Servise Ata —— */
.ssh-assign-box {
  margin-top: 16px;
  padding: 14px 16px;
  border: 1px solid #C7D2FE;
  border-radius: 14px;
  background: linear-gradient(180deg, #F8FAFF 0%, #EEF2FF 100%);
}
.ssh-assign-title {
  margin: 0 0 4px;
  font-size: 1rem;
  font-weight: 700;
  color: #312E81;
}
.ssh-assign-hint { margin: 0 0 12px; font-size: .84rem; }
.ssh-assign-grid {
  display: grid;
  grid-template-columns: minmax(130px, 1fr) auto minmax(160px, 1.2fr) auto;
  gap: 12px;
  align-items: end;
}
.ssh-assign-grid .form-row { margin: 0; }
.ssh-assign-grid label {
  display: block;
  font-size: .78rem;
  font-weight: 700;
  color: #64748B;
  margin-bottom: 4px;
}
.ssh-assign-btn {
  background: #059669 !important;
  border-color: #047857 !important;
  color: #fff !important;
  white-space: nowrap;
  min-height: 40px;
}
.ssh-assign-btn:hover { background: #047857 !important; }
.ssh-assign-btn-day {
  background: #1E3A8A !important;
  border-color: #1E40AF !important;
}
.ssh-assign-btn-day:hover { background: #1E40AF !important; }
.ssh-assign-msg {
  margin: 10px 0 0;
  padding: 8px 12px;
  border-radius: 10px;
  font-size: .88rem;
  font-weight: 600;
}
.ssh-assign-msg.is-ok { background: #ECFDF5; color: #065F46; border: 1px solid #A7F3D0; }
.ssh-assign-msg.is-err { background: #FEF2F2; color: #991B1B; border: 1px solid #FECACA; }
@media (max-width: 900px) {
  .ssh-assign-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 720px) {
  .ssh-assign-grid { grid-template-columns: 1fr; }
  .ssh-assign-btn { width: 100%; }
}
.excel-stop-card.is-ssh-job .excel-row {
  border-left: 0;
}

/* —— SSH düzenle / sil —— */
.btn-outline-danger {
  background: #fff;
  color: #B91C1C;
  border: 1px solid #FECACA;
  box-shadow: none;
}
.btn-outline-danger:hover {
  background: #FEF2F2;
  color: #991B1B;
  border-color: #F87171;
}

/* —— Bildirimler silme —— */
.notif-toolbar-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}
.notif-item {
  transition: opacity 0.25s ease, transform 0.25s ease, max-height 0.3s ease, margin 0.3s ease, padding 0.3s ease;
  overflow: hidden;
}
.notif-item--removing {
  opacity: 0;
  transform: translateX(10px);
  max-height: 0 !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  pointer-events: none;
}
.notif-empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 48px 20px 40px;
  gap: 8px;
}
.notif-empty[hidden] { display: none !important; }
.notif-empty-ico {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 88px;
  height: 88px;
  margin-bottom: 8px;
  border-radius: 999px;
  background: #F3F4F6;
  color: #D1D5DB;
}
.notif-empty-title {
  margin: 0;
  font-size: 1.05rem;
  font-weight: 700;
  color: #374151;
  letter-spacing: -0.01em;
}
.notif-empty-sub {
  margin: 0;
  font-size: 0.88rem;
  max-width: 36ch;
}
.notif-clear-panel {
  width: min(420px, 100%);
  text-align: center;
  padding: 28px 24px 22px !important;
}
.notif-clear-ico {
  width: 56px;
  height: 56px;
  margin: 0 auto 14px;
  border-radius: 16px;
  display: grid;
  place-items: center;
  background: #FEF2F2;
  color: #DC2626;
}
.notif-clear-title {
  margin: 0 28px 10px;
  font-family: var(--display);
  font-weight: 700;
  font-size: 1.2rem;
  letter-spacing: -0.02em;
  color: #111827;
}
.notif-clear-text {
  margin: 0 auto 20px;
  max-width: 34ch;
  line-height: 1.5;
  font-size: 0.92rem;
}
.notif-clear-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
}
.notif-clear-confirm {
  background: #DC2626 !important;
  border-color: #DC2626 !important;
  color: #fff !important;
}
.notif-clear-confirm:hover {
  background: #B91C1C !important;
  border-color: #B91C1C !important;
}
.ssh-detail-head {
  align-items: flex-start;
  gap: 12px;
}

/* —— SSH Slide-Over Drawer —— */
body.ssh-drawer-open { overflow: hidden; }
.ssh-drawer-root {
  position: fixed;
  inset: 0;
  z-index: 12000;
  pointer-events: none;
  visibility: hidden;
}
.ssh-drawer-root.is-open {
  pointer-events: auto;
  visibility: visible;
}
.ssh-drawer-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(15, 23, 42, 0.4);
  backdrop-filter: blur(4px);
  opacity: 0;
  transition: opacity .25s ease;
}
.ssh-drawer-root.is-open .ssh-drawer-backdrop { opacity: 1; }
.ssh-drawer-panel {
  position: absolute;
  top: 0;
  right: 0;
  width: min(100%, 650px);
  max-width: 100%;
  height: 100%;
  background: #f8fafc;
  box-shadow: -8px 0 40px rgba(15, 23, 42, 0.15);
  display: flex;
  flex-direction: column;
  transform: translateX(100%);
  transition: transform .28s cubic-bezier(.4, 0, .2, 1);
}
.ssh-drawer-root.is-open .ssh-drawer-panel { transform: translateX(0); }
.ssh-drawer-header {
  position: sticky;
  top: 0;
  z-index: 2;
  padding: 18px 20px 14px;
  background: rgba(255,255,255,.95);
  backdrop-filter: blur(8px);
  border-bottom: 1px solid #e2e8f0;
}
.ssh-drawer-header-top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}
.ssh-drawer-kicker {
  margin: 0 0 2px;
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: #64748b;
}
.ssh-drawer-title {
  margin: 0 0 8px;
  font-size: 1.35rem;
  font-weight: 700;
  color: #0f172a;
  letter-spacing: -.02em;
}
.ssh-drawer-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}
.ssh-drawer-product-chip {
  display: inline-flex;
  padding: 4px 10px;
  border-radius: 999px;
  background: #eff6ff;
  border: 1px solid #bfdbfe;
  color: #1e40af;
  font-size: .82rem;
  font-weight: 700;
}
.ssh-drawer-close {
  width: 40px;
  height: 40px;
  border: 1px solid #e2e8f0;
  border-radius: 12px;
  background: #fff;
  color: #64748b;
  cursor: pointer;
  display: grid;
  place-items: center;
  flex-shrink: 0;
  transition: background .15s ease, color .15s ease;
}
.ssh-drawer-close:hover { background: #f1f5f9; color: #0f172a; }
.ssh-drawer-close svg { width: 20px; height: 20px; }
.ssh-drawer-header-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 12px;
}
.ssh-drawer-sched-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.ssh-drawer-sched-link svg { width: 16px; height: 16px; }
.ssh-drawer-body {
  flex: 1;
  overflow-y: auto;
  padding: 16px 20px 28px;
  display: grid;
  gap: 14px;
}
.ssh-drawer-read { display: none; }
.ssh-drawer-desc { margin: 0 0 6px; font-size: .9rem; }
.ssh-drawer-meta { margin: 0; font-size: .82rem; }
.ssh-drawer-card {
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 16px;
  padding: 16px;
  box-shadow: 0 1px 3px rgba(15, 23, 42, 0.04);
}
.ssh-drawer-card-accent {
  background: linear-gradient(180deg, #eff6ff 0%, #fff 100%);
  border-color: #bfdbfe;
}
.ssh-drawer-card-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 10px;
}
.ssh-drawer-card-title {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0 0 12px;
  font-size: .92rem;
  font-weight: 700;
  color: #0f172a;
}
.ssh-drawer-card-head .ssh-drawer-card-title { margin-bottom: 0; }
.ssh-drawer-card-title svg {
  width: 18px;
  height: 18px;
  color: #2563eb;
  flex-shrink: 0;
}
.ssh-drawer-card-meta {
  font-size: .78rem;
  color: #64748b;
  font-weight: 600;
}
.ssh-contact-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 12px;
}
.ssh-contact-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 14px;
  border-radius: 12px;
  font-size: .88rem;
  font-weight: 650;
  text-decoration: none;
  border: 1px solid #e2e8f0;
  background: #f8fafc;
  color: #0f172a;
  transition: background .15s ease;
}
.ssh-contact-btn svg { width: 16px; height: 16px; color: #2563eb; }
.ssh-contact-btn.is-phone { background: #ecfdf5; border-color: #a7f3d0; }
.ssh-contact-btn.is-wa { background: #f0fdf4; border-color: #86efac; color: #166534; }
.ssh-contact-btn:hover { background: #fff; }
.ssh-address-row {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding-top: 10px;
  border-top: 1px solid #f1f5f9;
}
.ssh-address-text {
  flex: 1;
  display: flex;
  gap: 10px;
  font-size: .88rem;
  color: #334155;
  line-height: 1.45;
}
.ssh-address-text svg { width: 18px; height: 18px; color: #64748b; flex-shrink: 0; margin-top: 2px; }
.ssh-maps-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  white-space: nowrap;
}
.ssh-maps-btn svg { width: 14px; height: 14px; }
.ssh-item-chips {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 8px;
}
.ssh-item-chip {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 10px 12px;
  border-radius: 12px;
  border: 1px solid #e2e8f0;
  background: #f8fafc;
}
.ssh-item-chip.is-current {
  border-color: #bfdbfe;
  background: #eff6ff;
}
.ssh-item-chip-main {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  min-width: 0;
}
.ssh-item-chip-code {
  font-weight: 800;
  font-size: .82rem;
  color: #2563eb;
  text-decoration: none;
}
.ssh-item-chip-title { font-weight: 650; font-size: .88rem; }
.ssh-item-chip-sup {
  font-size: .75rem;
  padding: 2px 8px;
  border-radius: 999px;
  background: #fff;
  border: 1px solid #e2e8f0;
  color: #64748b;
}
.ssh-item-chip-side {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-shrink: 0;
}
.ssh-item-chip-remove {
  width: 28px;
  height: 28px;
  border: 0;
  border-radius: 8px;
  background: #fee2e2;
  color: #b91c1c;
  cursor: pointer;
  font-size: 1.1rem;
  line-height: 1;
}
.ssh-sibling-add-inline { margin-top: 12px; }
.ssh-sibling-add-row {
  display: grid;
  grid-template-columns: 1fr 1.2fr 1fr auto;
  gap: 8px;
  align-items: end;
}
.ssh-sibling-add-row select,
.ssh-sibling-add-row input {
  height: 40px;
  border-radius: 10px;
  border: 1px solid #e2e8f0;
  padding: 0 10px;
  font-size: .88rem;
}
.ssh-chip-add-btn { white-space: nowrap; height: 40px; }
.ssh-drawer-foot { margin: 10px 0 0; font-size: .78rem; }
.ssh-assign-form-drawer .ssh-assign-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  margin-bottom: 12px;
}
.ssh-assign-form-drawer label {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: .78rem;
  font-weight: 700;
  color: #64748b;
  margin-bottom: 6px;
}
.ssh-assign-form-drawer label svg { width: 14px; height: 14px; }
.ssh-assign-form-drawer input,
.ssh-assign-form-drawer select {
  width: 100%;
  height: 44px;
  border-radius: 12px;
  border: 1px solid #cbd5e1;
  padding: 0 12px;
}
.ssh-assign-btns {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}
.ssh-bulk-assign {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0 0 12px;
  padding: 10px 12px;
  border: 1px solid #dbeafe;
  border-radius: 12px;
  background: #f8fbff;
  cursor: pointer;
  user-select: none;
}
.ssh-bulk-assign input {
  position: absolute;
  opacity: 0;
  width: 1px;
  height: 1px;
  pointer-events: none;
}
.ssh-bulk-assign-ui {
  position: relative;
  flex: 0 0 auto;
  width: 42px;
  height: 24px;
  border-radius: 999px;
  background: #cbd5e1;
  transition: background .15s ease;
}
.ssh-bulk-assign-ui::after {
  content: '';
  position: absolute;
  top: 3px;
  left: 3px;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 1px 3px rgba(15, 23, 42, .2);
  transition: transform .15s ease;
}
.ssh-bulk-assign input:checked + .ssh-bulk-assign-ui {
  background: #2563eb;
}
.ssh-bulk-assign input:checked + .ssh-bulk-assign-ui::after {
  transform: translateX(18px);
}
.ssh-bulk-assign input:focus-visible + .ssh-bulk-assign-ui {
  outline: 2px solid #93c5fd;
  outline-offset: 2px;
}
.ssh-bulk-assign-text {
  font-size: .86rem;
  font-weight: 700;
  color: #1e3a8a;
  line-height: 1.3;
}
.ssh-assign-btns .ssh-assign-btn {
  width: 100%;
  min-height: 46px;
  border-radius: 12px;
  font-weight: 700;
}
.ssh-assign-form-drawer #sshPlanDate {
  width: 100%;
  height: 44px;
  min-height: 44px;
  padding: 0 12px;
  border: 1px solid #e5e7eb;
  border-radius: 10px;
  background: #fff;
  font-size: 0.875rem;
  box-sizing: border-box;
}
.ssh-vehicle-picker {
  position: relative;
  width: 100%;
}
.ssh-vehicle-select-native {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
  opacity: 0 !important;
  pointer-events: none !important;
}
.ssh-vehicle-trigger {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  width: 100%;
  height: 44px;
  min-height: 44px;
  padding: 0 12px;
  border: 1px solid #e5e7eb;
  border-radius: 10px;
  background: #fff;
  color: #0f172a;
  font-size: 0.875rem;
  font-weight: 500;
  text-align: left;
  cursor: pointer;
  box-sizing: border-box;
  transition: border-color .15s ease, box-shadow .15s ease;
}
.ssh-vehicle-trigger:hover {
  border-color: #cbd5e1;
}
.ssh-vehicle-trigger:focus,
.ssh-vehicle-picker.is-open .ssh-vehicle-trigger {
  outline: none;
  border-color: #3b82f6;
  box-shadow: 0 0 0 3px rgba(59, 130, 246, .18);
}
.ssh-vehicle-field.is-invalid .ssh-vehicle-trigger,
.ssh-vehicle-trigger.is-invalid {
  border-color: #ef4444 !important;
  box-shadow: 0 0 0 3px rgba(239, 68, 68, .18) !important;
}
.ssh-vehicle-trigger-text {
  flex: 1;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.ssh-vehicle-trigger-text.is-placeholder {
  color: #94a3b8;
  font-weight: 500;
}
.ssh-vehicle-chevron {
  width: 16px;
  height: 16px;
  flex: 0 0 auto;
  color: #64748b;
  transition: transform .15s ease;
}
.ssh-vehicle-picker.is-open .ssh-vehicle-chevron {
  transform: rotate(180deg);
}
.ssh-vehicle-menu {
  position: absolute;
  left: 0;
  right: 0;
  top: calc(100% + 6px);
  z-index: 14000;
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  box-shadow: 0 12px 32px rgba(15, 23, 42, .14);
  overflow: hidden;
  display: flex;
  flex-direction: column;
}
.ssh-vehicle-menu .ssh-vehicle-options {
  flex: 1;
  min-height: 0;
}
.ssh-vehicle-search-wrap {
  padding: 8px;
  border-bottom: 1px solid #f1f5f9;
}
.ssh-vehicle-search {
  width: 100%;
  height: 36px;
  padding: 0 10px;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  background: #f8fafc;
  font-size: 0.84rem;
  box-sizing: border-box;
}
.ssh-vehicle-search:focus {
  outline: none;
  border-color: #93c5fd;
  background: #fff;
}
.ssh-vehicle-options {
  list-style: none;
  margin: 0;
  padding: 6px;
  max-height: 220px;
  overflow: auto;
}
.ssh-vehicle-option {
  display: block;
  padding: 10px 12px;
  border-radius: 8px;
  font-size: 0.875rem;
  font-weight: 550;
  color: #0f172a;
  cursor: pointer;
}
.ssh-vehicle-option[hidden],
.ssh-vehicle-option.is-filtered-out,
.ssh-vehicle-filter-empty[hidden] {
  display: none !important;
}
.ssh-vehicle-option:hover,
.ssh-vehicle-option:focus {
  background: #f1f5f9;
  outline: none;
}
.ssh-vehicle-option.is-selected {
  background: #eff6ff;
  color: #1d4ed8;
}
.ssh-vehicle-filter-empty,
.ssh-vehicle-empty {
  margin: 0;
  padding: 12px;
  font-size: 0.82rem;
  text-align: center;
}
.ssh-vehicle-err {
  margin: 6px 0 0;
  font-size: 0.8rem;
  font-weight: 650;
  color: #dc2626;
}
.ssh-assign-form-drawer .ts-wrapper {
  width: 100%;
}
/* Boş halde arama input'u tıklanabilir kalsın (has-items + boş option kilidi) */
.ssh-assign-form-drawer .ts-wrapper.single:not(.has-items) .ts-control > input,
.ssh-assign-form-drawer .ts-wrapper.single.input-active .ts-control > input,
.ssh-assign-form-drawer .ts-wrapper.single.dropdown-active .ts-control > input {
  pointer-events: auto !important;
  opacity: 1 !important;
  position: static !important;
  left: auto !important;
  width: 100% !important;
  min-width: 4ch;
}
.ssh-assign-form-drawer .ts-wrapper.single:not(.has-items) .ts-control .item[data-value=""] {
  display: none !important;
}
.ssh-assign-form-drawer .ts-wrapper.plugin-clear_button.single:not(.has-items) .clear-button {
  display: none !important;
}
.ssh-drawer-card textarea {
  width: 100%;
  min-height: 80px;
  border-radius: 12px;
  border: 1px solid #e2e8f0;
  padding: 10px 12px;
  font-size: .9rem;
  resize: vertical;
}
.ssh-photo-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 12px 0;
}
.ssh-photo-thumb {
  width: 72px;
  height: 72px;
  border-radius: 12px;
  overflow: hidden;
  border: 1px solid #e2e8f0;
}
.ssh-photo-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.ssh-photo-upload {
  display: grid;
  gap: 10px;
  margin-top: 8px;
}
.ssh-photo-dropzone {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 6px;
  min-height: 100px;
  padding: 16px;
  border: 2px dashed #cbd5e1;
  border-radius: 14px;
  background: #f8fafc;
  cursor: pointer;
  text-align: center;
  font-size: .85rem;
  color: #64748b;
}
.ssh-photo-dropzone svg { width: 28px; height: 28px; color: #94a3b8; }
.ssh-photo-dropzone input { position: absolute; opacity: 0; width: 0; height: 0; }
.ssh-status-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px solid #f1f5f9;
}
.ssh-status-row select {
  flex: 1;
  min-width: 140px;
  height: 40px;
  border-radius: 10px;
}
.ssh-drawer-root.is-removing .ssh-drawer-panel {
  transform: translateX(100%);
  opacity: 0;
  transition: transform .25s ease, opacity .25s ease;
}
@media (max-width: 640px) {
  .ssh-drawer-panel { width: 100%; }
  .ssh-sibling-add-row { grid-template-columns: 1fr; }
  .ssh-assign-form-drawer .ssh-assign-row,
  .ssh-assign-btns { grid-template-columns: 1fr; }
}
.ssh-detail-toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
}
.ssh-deleted-banner {
  margin: 12px 0 0;
  padding: 10px 12px;
  border-radius: 10px;
  background: #FEF2F2;
  color: #991B1B;
  font-weight: 650;
  font-size: .9rem;
}
.ssh-edit-form {
  margin-top: 12px;
  padding: 14px;
  border: 1px solid #BFDBFE;
  border-radius: 14px;
  background: #F8FAFF;
}
.ssh-notes-box {
  margin: 14px 0 4px;
  padding: 12px 14px;
  border: 1px solid #FDE68A;
  border-radius: 14px;
  background: #FFFBEB;
}
.ssh-notes-box.is-readonly {
  border-color: #E5E7EB;
  background: #F9FAFB;
}
.ssh-notes-box label {
  font-weight: 650;
  font-size: .9rem;
}
.ssh-notes-box textarea {
  width: 100%;
  min-height: 72px;
  resize: vertical;
}
.ssh-notes-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  margin-top: 8px;
}
.ssh-notes-read {
  margin: 8px 0 0;
  padding: 8px 10px;
  border-radius: 10px;
  background: #FFFBEB;
  border: 1px solid #FDE68A;
}
.ssh-notes-read .excel-label {
  display: block;
  margin-bottom: 2px;
}
.ssh-notes-body {
  margin: 0;
  white-space: pre-wrap;
  font-size: .92rem;
  color: #78350F;
}
.ssh-edit-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}
.ssh-edit-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 10px;
}
tr[data-ssh-id].is-removing,
a.m-card[data-ssh-id].is-removing,
.ssh-detail-card.is-removing {
  opacity: 0;
  transform: translateX(8px);
  transition: opacity .25s ease, transform .25s ease;
}
.app-confirm-overlay {
  position: fixed;
  inset: 0;
  z-index: 90;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
  background: rgba(15, 23, 42, 0.45);
}
.app-confirm-box {
  width: min(440px, 100%);
  background: #fff;
  border-radius: 16px;
  padding: 22px 20px 18px;
  box-shadow: 0 18px 50px rgba(15, 23, 42, 0.22);
  text-align: center;
}
.app-confirm-icon { font-size: 1.8rem; margin-bottom: 8px; }
.app-confirm-text {
  margin: 0 0 16px;
  color: #0F172A;
  font-size: 1rem;
  font-weight: 650;
  line-height: 1.45;
}
.app-confirm-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
}
.app-confirm-title {
  margin: 0 0 8px;
  font-size: 1.15rem;
  font-weight: 750;
  color: #0F172A;
  line-height: 1.3;
}
/* Satır içi stok radar — tedarikçi önerisiyle aynı dil, turuncu vurgu */
.stock-radar-hint{
  display:flex;flex-wrap:wrap;align-items:center;gap:8px;
  margin-top:6px;
  padding:8px 10px;border-radius:10px;
  background:linear-gradient(135deg,#FFF7ED,#FFEDD5);
  border:1px solid #FDBA74;
  box-shadow:0 0 0 1px rgba(234,88,12,.08), 0 6px 16px rgba(234,88,12,.12);
  animation:smartHintIn .22s ease;
  color:#9A3412;
}
.stock-radar-hint[hidden]{display:none!important}
.stock-radar-hint.is-applied{
  background:linear-gradient(135deg,#ECFDF5,#D1FAE5);
  border-color:#6EE7B7;
  box-shadow:0 0 0 1px rgba(16,185,129,.08), 0 6px 16px rgba(16,185,129,.12);
  color:#065F46;
}
.stock-radar-icon{font-weight:800;flex-shrink:0}
.stock-radar-text{font-size:.82rem;flex:1;min-width:140px;line-height:1.35}
.stock-radar-text em{font-style:normal;color:#C2410C;font-weight:700}
.stock-radar-hint.is-applied .stock-radar-text em{color:#047857}
.stock-radar-match{
  display:inline-block;margin-top:2px;font-size:.78rem;font-weight:650;
  color:#9A3412;opacity:.9;
}
.stock-radar-orig-sup{
  font-style:normal!important;
  font-weight:800!important;
  color:#9A3412!important;
}
.stock-radar-mismatch{
  display:inline-block;margin-top:4px;font-size:.75rem;font-weight:650;
  color:#B45309;
}
.stock-radar-apply{
  background:#EA580C!important;border-color:#C2410C!important;color:#fff!important;
  font-weight:700;padding:4px 10px!important;font-size:.78rem!important;
  white-space:nowrap;
}
.stock-radar-clear{
  background:#fff!important;border-color:#A7F3D0!important;color:#065F46!important;
  font-weight:700;padding:4px 10px!important;font-size:.78rem!important;
}
.is-stock-reserved .group-item-product,
.is-stock-reserved [data-order-item-product]{
  border-color:#86efac;
  background:#f0fdf4;
}

/* Halı WP sipariş — pano + yönlendirme modalı */
.rug-wa-share-overlay {
  position: fixed;
  inset: 0;
  z-index: 12500;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
  background: rgba(15, 23, 42, 0.48);
  backdrop-filter: blur(2px);
}
.rug-wa-share-box {
  width: min(420px, 100%);
  background: #fff;
  border-radius: 18px;
  padding: 24px 20px 16px;
  box-shadow: 0 22px 56px rgba(15, 23, 42, 0.28);
  text-align: center;
  border: 1px solid #E2E8F0;
}
.rug-wa-share-icon {
  width: 52px;
  height: 52px;
  margin: 0 auto 10px;
  border-radius: 14px;
  display: grid;
  place-items: center;
  font-size: 1.55rem;
  background: linear-gradient(145deg, #ECFDF5, #D1FAE5);
  border: 1px solid #A7F3D0;
}
.rug-wa-share-title {
  margin: 0 0 8px;
  font-size: 1.15rem;
  font-weight: 800;
  color: #0F172A;
  letter-spacing: -0.02em;
  line-height: 1.3;
}
.rug-wa-share-text {
  margin: 0 0 14px;
  color: #475569;
  font-size: .92rem;
  font-weight: 550;
  line-height: 1.45;
}
.rug-wa-share-hint {
  margin: -6px 0 12px;
  padding: 8px 10px;
  border-radius: 10px;
  background: #FFF7ED;
  border: 1px solid #FDBA74;
  color: #9A3412;
  font-size: .78rem;
  font-weight: 650;
  line-height: 1.35;
}
.rug-wa-share-actions {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.rug-wa-share-btn-supplier {
  background: #25D366 !important;
  border-color: #1EBE57 !important;
  color: #fff !important;
  font-weight: 750 !important;
  min-height: 44px;
  border-radius: 11px !important;
}
.rug-wa-share-btn-supplier:hover:not(:disabled) {
  filter: brightness(1.05);
}
.rug-wa-share-btn-supplier:disabled {
  opacity: .45;
  cursor: not-allowed;
  filter: none;
}
.rug-wa-share-btn-group {
  background: #1E3A5F !important;
  border-color: #16324F !important;
  color: #fff !important;
  font-weight: 750 !important;
  min-height: 44px;
  border-radius: 11px !important;
}
.rug-wa-share-btn-group:hover {
  filter: brightness(1.06);
}
.rug-wa-share-btn-close {
  min-height: 42px;
  border-radius: 11px !important;
  font-weight: 650 !important;
}
.rug-wa-share-foot {
  margin: 12px 0 0;
  font-size: .72rem;
  line-height: 1.35;
}

@media (max-width: 720px) {
  .ssh-edit-grid { grid-template-columns: 1fr; }
  .ssh-detail-toolbar { justify-content: flex-start; }
}

/* Command palette (⌘K) */
body.cp-open { overflow: hidden; }
.cp-root {
  position: fixed;
  inset: 0;
  z-index: 12000;
  display: grid;
  place-items: start center;
  padding: 10vh 16px 24px;
}
.cp-root[hidden] { display: none !important; }
.cp-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(15, 23, 42, 0.45);
  backdrop-filter: blur(2px);
}
.cp-dialog {
  position: relative;
  width: min(560px, 100%);
  background: #fff;
  border: 1px solid #E2E8F0;
  border-radius: 14px;
  box-shadow: 0 24px 60px rgba(15, 23, 42, 0.22);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  max-height: min(70vh, 560px);
}
.cp-search {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 12px 14px;
  border-bottom: 1px solid #EEF2F7;
}
.cp-search-ico {
  color: #94A3B8;
  font-size: 1.1rem;
  line-height: 1;
}
.cp-input {
  flex: 1;
  border: 0 !important;
  outline: none !important;
  box-shadow: none !important;
  background: transparent !important;
  font-size: 1rem;
  padding: 4px 0 !important;
  min-width: 0;
}
.cp-kbd {
  font: 600 0.68rem/1 ui-monospace, SFMono-Regular, Menlo, monospace;
  color: #64748B;
  background: #F1F5F9;
  border: 1px solid #E2E8F0;
  border-radius: 6px;
  padding: 3px 6px;
  text-transform: uppercase;
}
.cp-body {
  overflow: auto;
  padding: 6px;
  flex: 1;
}
.cp-group {
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #94A3B8;
  padding: 8px 10px 4px;
}
.cp-item {
  width: 100%;
  display: flex;
  align-items: flex-start;
  gap: 10px;
  text-align: left;
  border: 0;
  background: transparent;
  border-radius: 10px;
  padding: 8px 10px;
  cursor: pointer;
  color: inherit;
  font: inherit;
}
.cp-item:hover,
.cp-item.is-active {
  background: #F1F5F9;
}
.cp-item-type {
  flex: 0 0 auto;
  margin-top: 2px;
  font-size: 0.64rem;
  font-weight: 700;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  color: #64748B;
  background: #EEF2F7;
  border-radius: 999px;
  padding: 3px 7px;
}
.cp-item.is-active .cp-item-type {
  background: #E2E8F0;
  color: #0F172A;
}
.cp-item-main {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.cp-item-main strong {
  font-size: 0.92rem;
  font-weight: 650;
  color: #0F172A;
}
.cp-item-main small {
  font-size: 0.75rem;
  color: #64748B;
}
.cp-empty {
  padding: 28px 16px;
  text-align: center;
  color: #94A3B8;
  font-size: 0.88rem;
}
.cp-foot {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 14px;
  padding: 8px 14px;
  border-top: 1px solid #EEF2F7;
  background: #FAFBFC;
  color: #94A3B8;
  font-size: 0.72rem;
}
.cp-foot kbd {
  font: 600 0.65rem/1 ui-monospace, SFMono-Regular, Menlo, monospace;
  background: #fff;
  border: 1px solid #E2E8F0;
  border-radius: 4px;
  padding: 2px 4px;
  margin-right: 2px;
  color: #64748B;
}
.cp-foot-hint { margin-left: auto; }
.is-settings-flash {
  outline: 2px solid #6366F1;
  outline-offset: 4px;
  border-radius: 8px;
  transition: outline-color .3s ease;
}
@media (max-width: 640px) {
  .cp-root { padding: 8vh 10px 16px; place-items: start stretch; }
  .cp-dialog { max-height: 78vh; border-radius: 12px; }
  .cp-foot-hint { display: none; }
}

/* Depo Stoğu — kurumsal envanter listesi */
.stock-board-page {
  display: grid;
  gap: 14px;
  max-width: 100%;
  box-sizing: border-box;
}
.stock-board-summary {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 10px;
}
.stock-board-kpi {
  display: flex;
  flex-direction: column;
  gap: 2px;
  padding: 14px 16px;
  border: 1px solid #E2E8F0;
  border-radius: 12px;
  background: linear-gradient(180deg, #FFFFFF 0%, #F8FAFC 100%);
  text-decoration: none;
  color: inherit;
  transition: border-color .15s ease, box-shadow .15s ease, transform .15s ease;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
}
.stock-board-kpi:hover {
  border-color: #CBD5E1;
  box-shadow: 0 4px 12px rgba(15, 23, 42, 0.06);
}
.stock-board-kpi.is-on {
  border-color: #A5B4FC;
  background: linear-gradient(180deg, #EEF2FF 0%, #F8FAFC 100%);
  box-shadow: 0 0 0 3px rgba(99, 102, 241, 0.12);
}
.stock-board-kpi em {
  font-style: normal;
  font-size: 0.64rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #94A3B8;
}
.stock-board-kpi strong {
  font-size: 1.55rem;
  font-weight: 750;
  letter-spacing: -0.04em;
  color: #0F172A;
  line-height: 1.1;
}
.stock-board-kpi span {
  font-size: 0.8rem;
  font-weight: 550;
  color: #475569;
}
.stock-board-filters {
  padding: 10px 12px;
  border: 1px solid #E2E8F0;
  border-radius: 10px;
  background: #F8FAFC;
}
.stock-board-filters-row {
  display: flex;
  flex-wrap: nowrap;
  align-items: flex-end;
  gap: 8px;
  min-width: 0;
}
.stock-board-filter-search {
  flex: 1 1 0;
  min-width: 140px;
  display: grid;
  gap: 3px;
}
.stock-board-filter-field {
  flex: 0 0 auto;
  display: grid;
  gap: 3px;
}
.stock-board-filter-loc { width: 118px; }
.stock-board-filter-kind { width: 128px; }
.stock-board-filter-acct { width: 168px; }
.stock-board-filter-label {
  font-size: 0.62rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #94A3B8;
  line-height: 1;
}
.stock-board-filters input[type="search"],
.stock-board-filters select,
.stock-board-filters input[type="date"],
.stock-board-filters input.js-smart-date-day {
  width: 100%;
  min-height: 34px;
  height: 34px;
  max-width: none;
  box-sizing: border-box;
  margin: 0;
  border: 1px solid #E2E8F0;
  border-radius: 8px;
  background: #fff;
  padding: 0 10px;
  font-size: 0.84rem;
  color: #0F172A;
}
.stock-board-filters input[type="search"]:focus,
.stock-board-filters select:focus,
.stock-board-filters input.js-smart-date-day:focus {
  outline: none;
  border-color: #94A3B8;
  box-shadow: 0 0 0 2px rgba(148, 163, 184, 0.25);
}
.stock-board-filter-dates {
  width: 196px;
}
.stock-board-date-range {
  display: flex;
  align-items: center;
  gap: 4px;
  min-height: 34px;
}
.stock-board-date-range input[type="date"],
.stock-board-date-range input.js-smart-date-day {
  flex: 1 1 0;
  min-width: 0;
  padding: 0 6px;
  font-size: 0.78rem;
  font-variant-numeric: tabular-nums;
  letter-spacing: 0.01em;
  text-align: center;
}
.stock-board-date-sep {
  color: #CBD5E1;
  font-weight: 600;
  flex: 0 0 auto;
  font-size: 0.8rem;
  line-height: 34px;
}
.stock-board-filter-actions {
  display: flex;
  flex: 0 0 auto;
  gap: 5px;
  align-items: center;
  padding-bottom: 0;
  flex-wrap: nowrap;
  margin-left: 2px;
}
.stock-board-filter-divider {
  width: 1px;
  height: 20px;
  background: #E2E8F0;
  flex: 0 0 auto;
  margin: 0 2px;
}
.stock-board-filter-actions .btn {
  min-height: 34px;
  height: 34px;
  padding: 0 11px;
  border-radius: 8px;
  font-size: 0.78rem;
  font-weight: 650;
  white-space: nowrap;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-shadow: none;
}
.stock-board-btn-primary {
  background: #2563EB;
  border-color: #2563EB;
  color: #fff;
  box-shadow: 0 1px 2px rgba(37, 99, 235, 0.2);
}
.stock-board-btn-primary:hover,
.stock-board-btn-primary:focus {
  background: #1D4ED8;
  border-color: #1D4ED8;
  color: #fff;
}
.btn-export-excel {
  background: #ECFDF5;
  border-color: #A7F3D0;
  color: #047857;
  font-weight: 700;
}
.btn-export-excel:hover,
.btn-export-excel:focus {
  background: #D1FAE5;
  border-color: #6EE7B7;
  color: #065F46;
}
.btn-export-pdf {
  background: #F8FAFC;
  border-color: #CBD5E1;
  color: #334155;
  font-weight: 700;
}
.btn-export-pdf:hover,
.btn-export-pdf:focus {
  background: #F1F5F9;
  border-color: #94A3B8;
  color: #0F172A;
}
.stock-board-btn-pool {
  background: #fff;
  border-color: #E2E8F0;
  color: #334155;
}
.stock-board-btn-reset {
  color: #64748B !important;
  border-color: transparent;
  background: transparent;
}
.stock-board-btn-reset:hover {
  color: #0F172A !important;
  background: #F1F5F9;
}
.stock-board {
  padding: 0;
  overflow: hidden;
  border: 1px solid #E2E8F0;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
}
.stock-board-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 10px;
  padding: 14px 16px;
  border-bottom: 1px solid #EEF2F7;
  background: #FAFBFC;
}
.stock-board-head strong {
  display: block;
  font-size: 0.95rem;
  font-weight: 700;
  letter-spacing: -0.02em;
  color: #0F172A;
}
.stock-board-head .muted {
  display: block;
  margin-top: 2px;
  font-size: 0.75rem;
}
.stock-board-table { width: 100%; border-collapse: collapse; }
.stock-board-table th,
.stock-board-table td {
  padding: 12px 14px;
  border-bottom: 1px solid #F1F5F9;
  text-align: left;
  vertical-align: middle;
}
.stock-board-table th {
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: #64748B;
  background: #F8FAFC;
}
.stock-board-table tbody tr:hover td { background: #F8FAFC; }
.stock-board-table tr.is-teshir td { background: #FFFBEB; }
.stock-board-table tr.is-teshir:hover td { background: #FEF3C7; }
.stock-board-table tr.is-pool-stock td { background: #F0FDFA; }
.stock-board-table tr.is-pool-stock:hover td { background: #CCFBF1; }
.stock-board-name {
  font-weight: 650;
  color: #0F172A;
  text-decoration: none;
}
.stock-board-name:hover { color: var(--accent); }
.stock-board-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  align-items: center;
  margin-top: 4px;
  font-size: 0.75rem;
  color: #64748B;
}
.stock-board-meta a { color: #64748B; text-decoration: none; }
.stock-board-meta a:hover { color: var(--accent); }
.stock-board-chip {
  display: inline-flex;
  align-items: center;
  max-width: 100%;
  padding: 4px 8px;
  border-radius: 6px;
  background: #F9FAFB;
  color: #6B7280;
  font-size: 0.6875rem;
  font-weight: 600;
  line-height: 1.3;
  text-decoration: none;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.stock-board-chip.is-order {
  background: #F9FAFB;
  color: #6B7280;
}
.stock-board-chip.is-muted {
  background: #F8FAFC;
  color: #64748B;
}
a.stock-board-chip.is-order:hover {
  background: #F1F5F9;
  color: #2563EB;
}
.stock-board-meta .badge {
  font-size: 0.6875rem;
  font-weight: 600;
  padding: 4px 8px;
  border-radius: 6px;
}
.stock-board-product-line {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}
.stock-board-qty-badge {
  display: none;
  align-items: center;
  padding: 2px 8px;
  border-radius: 999px;
  background: #EFF6FF;
  color: #1D4ED8;
  font-size: 0.75rem;
  font-weight: 700;
  line-height: 1.4;
  white-space: nowrap;
}
.stock-board-product { font-weight: 600; color: #0F172A; }
.stock-board-date {
  font-variant-numeric: tabular-nums;
  color: #334155;
  white-space: nowrap;
  vertical-align: middle;
}
.stock-board-date-main {
  display: block;
  font-weight: 600;
  color: #0F172A;
}
.stock-board-date-sub {
  display: block;
  margin-top: 2px;
  font-size: 0.72rem;
  font-weight: 500;
  color: #64748B;
  white-space: nowrap;
}
.stock-board-acct {
  vertical-align: middle;
  white-space: nowrap;
}
.acct-toggle {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 0;
  padding: 4px 10px 4px 4px;
  border: 1px solid #CBD5E1;
  border-radius: 999px;
  background: #F8FAFC;
  color: #64748B;
  font: inherit;
  font-size: 0.78rem;
  font-weight: 650;
  cursor: pointer;
  transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease, box-shadow 0.15s ease;
}
.acct-toggle:hover {
  border-color: #94A3B8;
  color: #475569;
}
.acct-toggle:focus-visible {
  outline: 2px solid #2563EB;
  outline-offset: 2px;
}
.acct-toggle-track {
  position: relative;
  width: 34px;
  height: 20px;
  border-radius: 999px;
  background: #CBD5E1;
  flex: 0 0 auto;
  transition: background 0.15s ease;
}
.acct-toggle-knob {
  position: absolute;
  top: 2px;
  left: 2px;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.25);
  transition: transform 0.15s ease;
}
.acct-toggle.is-on {
  background: #ECFDF5;
  border-color: #6EE7B7;
  color: #047857;
}
.acct-toggle.is-on .acct-toggle-track {
  background: #10B981;
}
.acct-toggle.is-on .acct-toggle-knob {
  transform: translateX(14px);
}
.acct-toggle.is-busy {
  opacity: 0.72;
  cursor: wait;
}
.acct-toggle-readonly {
  cursor: default;
  opacity: 0.85;
  pointer-events: none;
}
.acct-toggle-locked {
  cursor: not-allowed;
  opacity: 0.58;
  pointer-events: auto;
}
.acct-toggle-locked:hover {
  border-color: #CBD5E1;
  color: #64748B;
  box-shadow: none;
}
.acct-toggle-spinner {
  width: 12px;
  height: 12px;
  border: 2px solid currentColor;
  border-right-color: transparent;
  border-radius: 50%;
  animation: acct-spin 0.6s linear infinite;
}
@keyframes acct-spin {
  to { transform: rotate(360deg); }
}
.stock-board-loc-form select {
  min-width: 128px;
  min-height: 36px;
  font-size: 0.85rem;
  max-width: none;
}
.stock-board-actions { white-space: nowrap; text-align: right; }
.stock-board-actions .stock-board-del-form,
.stock-board-actions .stock-board-left-form {
  display: inline-flex;
  margin: 0;
  vertical-align: middle;
}
.stock-board-act-showroom {
  background: linear-gradient(180deg, #14B8A6 0%, #0D9488 100%);
  border: none;
  color: #fff;
  box-shadow: 0 1px 3px rgba(13, 148, 136, 0.28);
}
.stock-board-act-showroom:hover,
.stock-board-act-showroom:focus {
  background: linear-gradient(180deg, #0D9488 0%, #0F766E 100%);
  color: #fff;
}
.stock-board-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  justify-content: flex-end;
  white-space: normal;
}
.stock-board-status-form {
  margin: 0;
}
.stock-board-status-select {
  max-width: 11.5rem;
  min-height: 34px;
  font-size: 0.82rem;
}
.stock-board-edit {
  padding: 16px 18px 14px;
  display: grid;
  gap: 14px;
  border: 1px solid #BFDBFE;
  background: linear-gradient(180deg, #F8FBFF 0%, #fff 48%);
}
.stock-board-edit-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
}
.stock-board-edit-head strong {
  display: block;
  font-size: 1rem;
  color: #0F172A;
}
.stock-board-edit-head .muted {
  display: block;
  margin-top: 2px;
  font-size: 0.82rem;
}
.stock-board-edit-form { display: grid; gap: 14px; }
.stock-board-edit-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px 12px;
}
.stock-board-edit-span2 { grid-column: 1 / -1; }
.stock-board-edit-teshir {
  margin: 0;
  padding: 8px 10px;
  border-radius: 8px;
  background: #FFFBEB;
  color: #92400E;
  font-size: 0.88rem;
}
.stock-board-edit-foot {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  flex-wrap: wrap;
  padding-top: 4px;
  border-top: 1px solid #E2E8F0;
}
@media (max-width: 720px) {
  .stock-board-edit-grid { grid-template-columns: 1fr; }
  .stock-board-edit-span2 { grid-column: auto; }
}
.stock-board .empty-state {
  margin: 0;
  padding: 36px 16px;
  text-align: center;
  color: #94A3B8;
}
@media (max-width: 1100px) {
  .stock-board-filters-row {
    flex-wrap: wrap;
    align-items: end;
  }
  .stock-board-filter-actions {
    width: 100%;
    margin-left: 0;
    padding-top: 2px;
  }
}
@media (max-width: 1100px) {
  .stock-board-summary { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 900px) {
  .stock-board-page {
    overflow-x: hidden;
    width: 100%;
    max-width: 100%;
    padding-top: max(12px, env(safe-area-inset-top, 0px));
    background: #F8FAFC;
  }
  .stock-board-page > .ops-hero.is-nav-first > .module-tabs {
    padding-top: max(10px, env(safe-area-inset-top, 0px));
    padding-bottom: 10px;
    min-height: 52px;
  }
  .stock-board-page > .ops-hero.is-nav-first {
    overflow-x: hidden;
    overflow-y: visible;
  }
  .stock-board,
  .stock-board-filters,
  .stock-board-summary {
    max-width: 100%;
    box-sizing: border-box;
  }
  .stock-board .table-wrap {
    overflow-x: visible;
    max-width: 100%;
  }
  .stock-board-table {
    min-width: 0 !important;
    width: 100% !important;
  }
  .stock-board-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 720px) {
  .stock-board-filters {
    padding: 16px;
    border-radius: 16px;
    background: #fff;
    border: 1px solid #E5E7EB;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
    scroll-margin-top: max(12px, env(safe-area-inset-top, 0px));
  }
  .stock-board-filters-row {
    flex-direction: column;
    align-items: stretch;
    gap: 12px;
  }
  .stock-board-filter-search,
  .stock-board-filter-field,
  .stock-board-filter-loc,
  .stock-board-filter-kind,
  .stock-board-filter-acct,
  .stock-board-filter-dates {
    width: 100%;
  }
  .stock-board-filter-label {
    font-size: 0.6875rem;
    font-weight: 600;
    letter-spacing: 0.06em;
    color: #6B7280;
    margin-bottom: 4px;
  }
  .stock-board-filters input[type="search"],
  .stock-board-filters select,
  .stock-board-filters input.js-smart-date-day {
    min-height: 44px;
    height: 44px;
    border-radius: 12px;
    border-color: #E5E7EB;
    background: #F9FAFB;
    font-size: 16px !important;
    padding: 0 14px;
  }
  .stock-board-filters input[type="search"]:focus,
  .stock-board-filters select:focus,
  .stock-board-filters input.js-smart-date-day:focus {
    border-color: #3B82F6;
    box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.12);
    background: #fff;
  }
  .stock-board-filter-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    width: 100%;
    margin-top: 4px;
  }
  .stock-board-filter-divider {
    display: none;
  }
  .stock-board-filter-actions .btn {
    width: 100%;
    min-height: 44px;
    height: auto;
    padding: 11px 14px;
    font-size: 0.875rem;
    font-weight: 500;
    white-space: nowrap;
    border-radius: 12px;
    border: 1px solid #E5E7EB;
    background: #fff;
    color: #374151;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.05);
  }
  .stock-board-filter-actions .stock-board-btn-primary {
    background: #2563EB;
    border-color: #2563EB;
    color: #fff;
    font-weight: 600;
    box-shadow: 0 1px 3px rgba(37, 99, 235, 0.25);
  }
  .stock-board-filter-actions .stock-board-btn-primary:hover,
  .stock-board-filter-actions .stock-board-btn-primary:focus {
    background: #1D4ED8;
    border-color: #1D4ED8;
    color: #fff;
  }
  .stock-board-filter-actions .btn-export-pdf,
  .stock-board-filter-actions .btn-export-excel,
  .stock-board-filter-actions .stock-board-btn-pool {
    background: #fff;
    border-color: #E5E7EB;
    color: #374151;
  }
  .stock-board-filter-actions .btn-export-pdf:hover,
  .stock-board-filter-actions .btn-export-excel:hover,
  .stock-board-filter-actions .stock-board-btn-pool:hover {
    background: #F9FAFB;
    border-color: #D1D5DB;
    color: #111827;
  }
  .stock-board-filter-actions .stock-board-btn-reset {
    grid-column: 1 / -1;
    background: transparent;
    border-color: transparent;
    box-shadow: none;
    color: #6B7280;
  }
  .stock-board-date-range {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    width: 100%;
  }
  .stock-board-date-range input.js-smart-date-day {
    flex: 1 1 calc(50% - 12px);
    min-width: 0;
    min-height: 44px;
    font-size: 16px !important;
    text-align: left;
  }
  .stock-board {
    overflow-x: hidden;
    border: none;
    border-radius: 16px;
    background: transparent;
    box-shadow: none;
  }
  .stock-board-head {
    padding: 16px 4px 12px;
    border: 0;
    background: transparent;
  }
  .stock-board-head strong {
    font-size: 1.05rem;
    font-weight: 700;
    color: #111827;
  }
  .stock-board-head .muted {
    overflow-wrap: anywhere;
    word-break: break-word;
    font-size: 0.8125rem;
    color: #6B7280;
    line-height: 1.45;
    margin-top: 4px;
  }
  .stock-board-table { width: 100%; border-collapse: separate; border-spacing: 0; }
  .stock-board-table thead { display: none; }
  .stock-board-table tbody {
    display: flex;
    flex-direction: column;
    gap: 16px;
    padding: 0 0 16px;
  }
  .stock-board-table tr {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-areas:
      "name name"
      "product product"
      "status status"
      "loc loc"
      "acct date"
      "actions actions";
    gap: 10px;
    padding: 16px;
    max-width: 100%;
    box-sizing: border-box;
    border: 1px solid #F1F5F9;
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 4px 6px -1px rgba(15, 23, 42, 0.05), 0 2px 4px -2px rgba(15, 23, 42, 0.04);
  }
  .stock-board-table tr.is-teshir,
  .stock-board-table tr.is-pool-stock {
    background: #fff;
    border-color: #F1F5F9;
  }
  .stock-board-table tr.is-teshir {
    border-left: 3px solid #FDE68A;
  }
  .stock-board-table tr.is-pool-stock {
    border-left: 3px solid #99F6E4;
  }
  .stock-board-table td {
    border: 0;
    padding: 0;
    display: block;
    font-size: 0.8125rem;
    min-height: 0;
    min-width: 0;
  }
  .stock-board-table td:nth-child(1) { grid-area: name; }
  .stock-board-table td:nth-child(2) { grid-area: product; }
  .stock-board-table td:nth-child(3) { display: none; }
  .stock-board-table td:nth-child(4) { grid-area: status; }
  .stock-board-table td:nth-child(5) { grid-area: loc; }
  .stock-board-table td:nth-child(6) { grid-area: acct; align-self: center; }
  .stock-board-table td:nth-child(7) { grid-area: date; align-self: center; }
  .stock-board-table td:nth-child(8) { grid-area: actions; }

  .stock-board-table td[data-label]::before {
    content: attr(data-label);
    display: block;
    font-size: 0.6875rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: #9CA3AF;
    line-height: 1.2;
    margin-bottom: 6px;
  }
  .stock-board-table td:first-child::before,
  .stock-board-table td.stock-board-actions::before,
  .stock-board-table td.stock-board-acct::before,
  .stock-board-table td.stock-board-qty::before { content: none; display: none; }

  .stock-board-table .stock-board-name {
    font-size: 1.125rem;
    font-weight: 700;
    line-height: 1.25;
    color: #111827;
  }
  .stock-board-table .stock-board-meta {
    margin-top: 8px;
    gap: 8px;
  }
  .stock-board-table .stock-board-product-line {
    gap: 8px;
  }
  .stock-board-table .stock-board-product {
    font-size: 0.9375rem;
    font-weight: 600;
    line-height: 1.35;
    color: #111827;
  }
  .stock-board-qty-badge {
    display: inline-flex;
  }
  .stock-board-table .stock-board-product + .muted {
    font-size: 0.8125rem;
    margin-top: 4px;
    color: #6B7280;
  }
  .stock-board-status-form,
  .stock-board-loc-form {
    width: 100%;
  }
  .stock-board-status-select,
  .stock-board-loc-form select {
    width: 100%;
    max-width: none;
    min-width: 0;
    min-height: 48px;
    height: auto;
    padding: 0 16px;
    font-size: 16px !important;
    border-radius: 12px;
    border: 1px solid #E5E7EB;
    background: #F9FAFB;
    color: #111827;
    box-shadow: none;
    -webkit-appearance: none;
    appearance: none;
  }
  .stock-board-status-select:focus,
  .stock-board-loc-form select:focus {
    outline: none;
    border-color: #3B82F6;
    box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.12);
    background: #fff;
  }
  .stock-board-table .stock-board-date {
    white-space: normal;
  }
  .stock-board-table .stock-board-date-main {
    display: inline;
    font-size: 0.8125rem;
    font-weight: 600;
    color: #374151;
  }
  .stock-board-table .stock-board-date-sub {
    display: inline;
    margin-top: 0;
    margin-left: 4px;
    font-size: 0.75rem;
    color: #9CA3AF;
  }
  .stock-board-table .acct-toggle {
    padding: 2px 8px 2px 3px;
    gap: 6px;
    font-size: 0.75rem;
    transform: none;
    transform-origin: left center;
  }
  .stock-board-table .acct-toggle-track {
    width: 28px;
    height: 16px;
  }
  .stock-board-table .acct-toggle-knob {
    width: 12px;
    height: 12px;
    top: 2px;
    left: 2px;
  }
  .stock-board-table .acct-toggle.is-on .acct-toggle-knob {
    transform: translateX(12px);
  }
  .stock-board-table .stock-board-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    width: 100%;
    margin-top: 6px;
    padding-top: 12px;
    border-top: 1px solid #F3F4F6;
  }
  .stock-board-table .stock-board-actions > a,
  .stock-board-table .stock-board-actions > button,
  .stock-board-table .stock-board-actions > form {
    flex: none;
    min-width: 0;
    max-width: none;
    width: 100%;
    margin: 0;
  }
  .stock-board-table .stock-board-actions form {
    display: flex;
  }
  .stock-board-table .stock-board-actions .btn,
  .stock-board-table .stock-board-actions .btn-sm {
    width: 100%;
    min-height: 44px;
    font-size: 0.8125rem;
    font-weight: 600;
    line-height: 1.2;
    padding: 11px 10px;
    border-radius: 12px;
    justify-content: center;
    box-shadow: none;
  }
  .stock-board-table .stock-board-act-edit,
  .stock-board-table .stock-board-act-order,
  .stock-board-table .stock-board-act-alloc {
    background: transparent;
    border: 1px solid #E5E7EB;
    color: #374151;
  }
  .stock-board-table .stock-board-act-edit:hover,
  .stock-board-table .stock-board-act-order:hover,
  .stock-board-table .stock-board-act-alloc:hover {
    background: #F9FAFB;
    border-color: #D1D5DB;
    color: #111827;
  }
  .stock-board-table .stock-board-act-left {
    background: linear-gradient(180deg, #2563EB 0%, #1D4ED8 100%);
    border: none;
    color: #fff;
    box-shadow: 0 1px 3px rgba(37, 99, 235, 0.28);
  }
  .stock-board-table .stock-board-act-left:hover,
  .stock-board-table .stock-board-act-left:focus {
    background: linear-gradient(180deg, #1D4ED8 0%, #1E40AF 100%);
    color: #fff;
  }
  .stock-board-table .stock-board-act-showroom {
    background: linear-gradient(180deg, #14B8A6 0%, #0D9488 100%);
    border: none;
    color: #fff;
    box-shadow: 0 1px 3px rgba(13, 148, 136, 0.28);
  }
  .stock-board-table .stock-board-act-showroom:hover,
  .stock-board-table .stock-board-act-showroom:focus {
    background: linear-gradient(180deg, #0D9488 0%, #0F766E 100%);
    color: #fff;
  }
  .stock-board-table .stock-board-act-del {
    border: 1px solid #FECACA;
    color: #DC2626;
    background: rgba(254, 242, 242, 0.5);
  }
  .stock-board-table .stock-board-act-del:hover {
    background: #FEF2F2;
    border-color: #FCA5A5;
    color: #B91C1C;
  }
  .stock-board-actions { text-align: left; justify-content: flex-start; }
}

.custom-scrollbar {
  scrollbar-width: thin;
  scrollbar-color: #94A3B8 #E2E8F0;
}
.custom-scrollbar::-webkit-scrollbar {
  height: 8px;
  width: 8px;
}
.custom-scrollbar::-webkit-scrollbar-thumb {
  background: #94A3B8;
  border-radius: 999px;
}
.custom-scrollbar::-webkit-scrollbar-track {
  background: #E2E8F0;
  border-radius: 999px;
}

/* —— Gelişmiş Analitik (BI) —— */
.bi-page { display: grid; gap: 14px; }
.bi-hero {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
  align-items: flex-end;
  padding: 4px 2px 2px;
}
.bi-kicker {
  margin: 0 0 4px;
  font-size: 0.68rem;
  font-weight: 750;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #64748B;
}
.bi-title {
  margin: 0;
  font-family: var(--display, Georgia, serif);
  font-weight: 550;
  font-size: clamp(1.45rem, 2.4vw, 1.85rem);
  color: #0F172A;
  letter-spacing: -0.02em;
}
.bi-lead { margin: 6px 0 0; color: #64748B; max-width: 42rem; font-size: 0.92rem; }
.bi-filters { padding: 14px 16px; display: grid; gap: 10px; }
.bi-filter-presets { display: flex; flex-wrap: wrap; gap: 8px; }
.bi-chip {
  border: 1px solid #E2E8F0;
  background: #fff;
  color: #334155;
  border-radius: 999px;
  padding: 7px 12px;
  font: inherit;
  font-size: 0.82rem;
  font-weight: 600;
  cursor: pointer;
}
.bi-chip.is-on {
  background: #0F172A;
  border-color: #0F172A;
  color: #fff;
}
.bi-filter-custom {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: end;
}
.bi-filter-custom label {
  display: grid;
  gap: 4px;
  font-size: 0.75rem;
  color: #64748B;
  font-weight: 600;
}
.bi-filter-custom input[type="date"] {
  min-height: 36px;
  border: 1px solid #CBD5E1;
  border-radius: 8px;
  padding: 4px 8px;
}
.bi-kpis {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 10px;
}
.bi-kpi {
  background: #fff;
  border: 1px solid #E2E8F0;
  border-radius: 12px;
  padding: 12px 14px;
}
.bi-kpi em {
  display: block;
  font-style: normal;
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #94A3B8;
}
.bi-kpi strong {
  display: block;
  margin-top: 4px;
  font-size: 1.25rem;
  color: #0F172A;
}
.bi-kpi.is-warn strong { color: #B45309; }
.bi-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  border-bottom: 1px solid #E2E8F0;
  padding-bottom: 2px;
}
.bi-tab {
  border: 0;
  background: transparent;
  color: #64748B;
  font: inherit;
  font-weight: 650;
  font-size: 0.9rem;
  padding: 10px 14px;
  cursor: pointer;
  border-bottom: 2px solid transparent;
  margin-bottom: -3px;
}
.bi-tab.is-on {
  color: #0F172A;
  border-bottom-color: #0F766E;
}
.bi-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}
.bi-span-2 { grid-column: 1 / -1; }
.bi-card { padding: 14px 16px 16px; }
.bi-card-h { margin-bottom: 10px; }
.bi-card-h h2 {
  margin: 0;
  font-size: 1rem;
  font-weight: 700;
  color: #0F172A;
}
.bi-card-h .muted { margin: 4px 0 0; font-size: 0.8rem; }
.bi-chart-wrap {
  position: relative;
  min-height: 220px;
  max-height: 320px;
}
.bi-chart-bar { min-height: 280px; max-height: 380px; }
.bi-rank { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.bi-rank li {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  flex-wrap: wrap;
  padding: 10px 12px;
  border-radius: 10px;
  background: #F8FAFC;
  border: 1px solid #E2E8F0;
}
.bi-rank li strong { color: #0F172A; }
.bi-rank li span { color: #64748B; font-size: 0.85rem; }
.bi-rank li.is-ok { border-color: #A7F3D0; background: #ECFDF5; }
.bi-rank li.is-warn { border-color: #FDE68A; background: #FFFBEB; }
.bi-rank li.is-bad { border-color: #FECACA; background: #FEF2F2; }
.bi-table-wrap { overflow: auto; }
.bi-table { width: 100%; border-collapse: collapse; font-size: 0.88rem; }
.bi-table th, .bi-table td {
  text-align: left;
  padding: 9px 8px;
  border-bottom: 1px solid #E2E8F0;
  vertical-align: top;
}
.bi-table th {
  font-size: 0.7rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: #94A3B8;
}
.bi-table tr.is-ok td { background: #F0FDF4; }
.bi-table tr.is-warn td { background: #FFFBEB; }
.bi-table tr.is-bad td { background: #FEF2F2; }
.bi-loading {
  padding: 18px;
  text-align: center;
  color: #64748B;
  background: #F8FAFC;
  border-radius: 10px;
}
.bi-page.is-loading #biPanels { opacity: 0.45; pointer-events: none; }
.bi-error { color: #B91C1C; padding: 16px; }
.bi-table tr.bi-row-click {
  cursor: pointer;
  transition: background 0.12s ease, box-shadow 0.12s ease;
}
.bi-table tr.bi-row-click:hover td {
  background: #ECFDF5;
  box-shadow: inset 3px 0 0 #0F766E;
}
.bi-table tr.bi-row-click:hover td:first-child strong::after {
  content: ' →';
  color: #0F766E;
  font-weight: 600;
  opacity: 0.7;
}
.bi-hint-click {
  margin: 0 0 8px;
  font-size: 0.78rem;
  color: #64748B;
}

/* Personel karnesi — sağ offcanvas */
.bi-sheet-backdrop {
  position: fixed;
  inset: 0;
  background: rgba(15, 23, 42, 0.42);
  z-index: 80;
  opacity: 0;
  transition: opacity 0.22s ease;
}
.bi-sheet-backdrop.is-open { opacity: 1; }
.bi-sheet {
  position: fixed;
  top: 0;
  right: 0;
  width: min(440px, 100vw);
  height: 100vh;
  height: 100dvh;
  background: #fff;
  z-index: 81;
  display: flex;
  flex-direction: column;
  box-shadow: -12px 0 40px rgba(15, 23, 42, 0.18);
  transform: translateX(104%);
  transition: transform 0.28s cubic-bezier(0.22, 1, 0.36, 1);
}
.bi-sheet.is-open { transform: translateX(0); }
.bi-sheet-head {
  position: relative;
  padding: 18px 20px 14px;
  border-bottom: 1px solid #E2E8F0;
  background:
    linear-gradient(165deg, #F0FDFA 0%, #fff 55%),
    #fff;
}
.bi-sheet-close {
  position: absolute;
  top: 10px;
  right: 12px;
  width: 36px;
  height: 36px;
  border: 0;
  border-radius: 10px;
  background: #F1F5F9;
  color: #334155;
  font-size: 1.35rem;
  line-height: 1;
  cursor: pointer;
}
.bi-sheet-close:hover { background: #E2E8F0; }
.bi-sheet-person {
  display: flex;
  gap: 14px;
  align-items: center;
  padding-right: 36px;
}
.bi-sheet-avatar {
  flex: 0 0 auto;
  width: 52px;
  height: 52px;
  border-radius: 14px;
  display: grid;
  place-items: center;
  font-weight: 750;
  font-size: 1.25rem;
  color: #fff;
  background: linear-gradient(145deg, #0F766E, #0369A1);
}
.bi-sheet-kicker {
  margin: 0 0 2px;
  font-size: 0.68rem;
  font-weight: 750;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #64748B;
}
.bi-sheet-head h2 {
  margin: 0;
  font-size: 1.2rem;
  font-weight: 700;
  color: #0F172A;
  letter-spacing: -0.02em;
}
.bi-sheet-meta {
  margin: 4px 0 0;
  font-size: 0.82rem;
  color: #64748B;
}
.bi-sheet-body {
  flex: 1;
  overflow: auto;
  padding: 16px 18px 28px;
  display: grid;
  gap: 16px;
  align-content: start;
}
.bi-sheet-loading {
  padding: 28px 8px;
  text-align: center;
  color: #64748B;
}
.bi-sheet-kpis {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}
.bi-sheet-kpi {
  background: #F8FAFC;
  border: 1px solid #E2E8F0;
  border-radius: 12px;
  padding: 10px 10px 12px;
  text-align: center;
}
.bi-sheet-kpi em {
  display: block;
  font-style: normal;
  font-size: 0.65rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #94A3B8;
}
.bi-sheet-kpi strong {
  display: block;
  margin-top: 4px;
  font-size: 1.05rem;
  color: #0F172A;
}
.bi-sheet-kpi.is-warn strong { color: #B45309; }
.bi-sheet-kpi.is-ok strong { color: #047857; }
.bi-sheet-sec h3 {
  margin: 0 0 8px;
  font-size: 0.88rem;
  font-weight: 700;
  color: #0F172A;
}
.bi-sheet-sec .muted { margin: 0 0 8px; font-size: 0.78rem; }
.bi-sheet-chart {
  position: relative;
  min-height: 180px;
  max-height: 220px;
}
.bi-sheet-list {
  list-style: none;
  margin: 8px 0 0;
  padding: 0;
  display: grid;
  gap: 6px;
}
.bi-sheet-list li {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  padding: 8px 10px;
  border-radius: 8px;
  background: #F8FAFC;
  border: 1px solid #E2E8F0;
  font-size: 0.85rem;
}
.bi-sheet-list li strong { color: #0F172A; }
.bi-sheet-list li span { color: #64748B; font-weight: 650; }
.bi-sheet-att {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
}
.bi-sheet-att div {
  padding: 10px 12px;
  border-radius: 10px;
  background: #F8FAFC;
  border: 1px solid #E2E8F0;
  font-size: 0.82rem;
}
.bi-sheet-att strong { display: block; font-size: 1.1rem; margin-top: 2px; color: #0F172A; }

/* Alt kategori rozetleri */
.bi-sheet-cat-list > li.bi-sheet-cat-row {
  display: grid;
  gap: 8px;
  padding: 10px 12px;
}
.bi-sheet-cat-main {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  align-items: baseline;
}
.bi-sheet-subs {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.bi-sub-badge {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 5px 9px;
  border-radius: 8px;
  background: #ECFDF5;
  border: 1px solid #A7F3D0;
  color: #134E4A;
  font-size: 0.75rem;
  font-weight: 650;
  line-height: 1.25;
}
.bi-sub-badge em {
  font-style: normal;
  font-size: 0.9rem;
  line-height: 1;
}
.bi-sheet-subs-lg .bi-sub-badge {
  font-size: 0.82rem;
  padding: 7px 11px;
  border-radius: 10px;
}

/* Tedarikçi accordion */
.bi-sup-accordion { gap: 8px; }
.bi-sup-item {
  padding: 0 !important;
  background: transparent !important;
  border: 1px solid #E2E8F0 !important;
  border-radius: 12px !important;
  overflow: hidden;
  display: block !important;
}
.bi-sup-item.is-open {
  border-color: #99F6E4 !important;
  box-shadow: 0 0 0 1px rgba(15, 118, 110, 0.12);
}
.bi-sup-toggle {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
  border: 0;
  background: #F8FAFC;
  cursor: pointer;
  font: inherit;
  text-align: left;
  color: #0F172A;
  transition: background 0.12s ease;
}
.bi-sup-toggle:hover { background: #ECFDF5; }
.bi-sup-item.is-open .bi-sup-toggle { background: #F0FDFA; }
.bi-sup-meta {
  flex: 0 0 auto;
  font-size: 0.78rem;
  font-weight: 700;
  color: #0F766E;
  white-space: nowrap;
}
.bi-sup-panel {
  padding: 10px 12px 12px;
  background: #fff;
  border-top: 1px solid #E2E8F0;
}
.bi-sup-detail h4 {
  margin: 12px 0 6px;
  font-size: 0.78rem;
  font-weight: 750;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  color: #64748B;
}
.bi-sup-detail h4:first-of-type { margin-top: 4px; }
.bi-sup-lead {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-bottom: 4px;
}
.bi-sup-chip {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 6px 10px;
  border-radius: 8px;
  background: #F1F5F9;
  border: 1px solid #E2E8F0;
  font-size: 0.78rem;
  color: #334155;
}
.bi-sup-chip strong { color: #0F172A; }
.bi-sheet-list.compact li { padding: 6px 8px; font-size: 0.8rem; }
.bi-sheet-list.compact li.is-warn-row {
  background: #FFFBEB;
  border-color: #FDE68A;
}

/* Skeleton loader */
.bi-sup-skel { display: grid; gap: 8px; padding: 4px 0 2px; }
.bi-skel-line {
  height: 12px;
  border-radius: 6px;
  background: linear-gradient(90deg, #E2E8F0 0%, #F8FAFC 45%, #E2E8F0 90%);
  background-size: 200% 100%;
  animation: bi-skel 1.1s ease-in-out infinite;
}
.bi-skel-line.short { width: 42%; }
.bi-skel-line.mid { width: 68%; }
.bi-sup-skel-txt {
  margin: 2px 0 0;
  font-size: 0.75rem;
  color: #94A3B8;
}
@keyframes bi-skel {
  0% { background-position: 100% 0; }
  100% { background-position: -100% 0; }
}

@media (max-width: 960px) {
  .bi-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .bi-grid { grid-template-columns: 1fr; }
  .bi-span-2 { grid-column: auto; }
  .bi-sheet { width: 100vw; }
  .bi-sheet-kpis { grid-template-columns: 1fr; }
}


/* —— Akıllı Halı (admin beta) —— */
.smart-rug-fields {
  margin: 10px 0 14px;
  padding: 12px 14px;
  border: 1px solid #E2E8F0;
  border-radius: 10px;
  background: linear-gradient(180deg, #F8FAFC 0%, #F1F5F9 100%);
}
.smart-rug-fields-head {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 10px;
}
.smart-rug-shape-toggle {
  display: flex;
  flex-wrap: wrap;
  gap: 12px 18px;
}
.smart-rug-m2 {
  font-weight: 600;
  color: #0F766E;
  background: #ECFDF5 !important;
}
.smart-rug-hint { margin: 6px 0 0; font-size: .8rem; }
.group-item-main--rug {
  gap: 6px;
  min-width: 0;
  overflow: visible;
  position: relative;
  z-index: 1;
}
.smart-rug-card {
  margin-top: 0;
  padding: 8px 10px;
  border-radius: 10px;
  background: linear-gradient(180deg, #F8FAFC 0%, #F1F5F9 100%);
  border: 1px solid #E2E8F0;
  overflow: visible;
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  position: relative;
}
.smart-rug-card.is-compact { padding: 8px 10px; }
.smart-rug-card-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 6px;
}
.smart-rug-card-label {
  font-size: .65rem;
  font-weight: 700;
  letter-spacing: .05em;
  text-transform: uppercase;
  color: #64748B;
}
.smart-rug-card-stats { display: flex; gap: 4px; flex-wrap: wrap; align-items: center; }
.smart-rug-card-row {
  display: grid;
  grid-template-columns:
    minmax(0, 1.35fr)
    minmax(0, 1fr)
    minmax(148px, 168px)
    minmax(88px, 108px)
    minmax(52px, 60px)
    minmax(56px, 66px);
  gap: 6px 8px;
  align-items: end;
  width: 100%;
  box-sizing: border-box;
}
.smart-rug-card-row > .smart-rug-field {
  min-width: 0;
  max-width: 100%;
  overflow: visible;
}
.smart-rug-card-grid,
.smart-rug-card-grid--form {
  display: grid;
  grid-template-columns:
    minmax(0, 1.4fr)
    minmax(0, 1fr)
    minmax(108px, 118px)
    minmax(72px, 84px)
    minmax(72px, 84px)
    minmax(118px, 140px)
    minmax(72px, 90px)
    minmax(72px, 100px);
  gap: 10px 12px;
  align-items: start;
  width: 100%;
  box-sizing: border-box;
  overflow: visible;
}
.smart-rug-card-grid > .smart-rug-field,
.smart-rug-card-grid--form > .smart-rug-field {
  min-width: 0;
  max-width: 100%;
}
.smart-rug-field {
  display: flex;
  flex-direction: column;
  gap: 3px;
  min-width: 0;
  max-width: 100%;
  align-self: stretch;
  box-sizing: border-box;
}
.smart-rug-field-coll,
.smart-rug-field-brand,
.smart-rug-field-shape,
.smart-rug-field-dim,
.smart-rug-field-dims,
.smart-rug-field-edge,
.smart-rug-field-qty,
.smart-rug-field-m2 {
  flex: unset;
  width: auto;
  max-width: 100%;
}
.smart-rug-field-dims { min-width: 0; }
.smart-rug-field-qty,
.smart-rug-field-m2 {
  max-width: 72px;
}
.smart-rug-field-edge {
  min-width: 0;
}
.smart-rug-field[hidden] {
  display: none !important;
}
.smart-rug-field label {
  font-size: .62rem;
  font-weight: 650;
  color: #64748B;
  line-height: 1.15;
}
.smart-rug-field input,
.smart-rug-field select,
.group-item .smart-rug-card input,
.group-item .smart-rug-card select {
  width: 100%;
  max-width: 100%;
  min-width: 0 !important;
  height: 32px !important;
  min-height: 32px !important;
  max-height: 32px !important;
  box-sizing: border-box;
  border: 1px solid #CBD5E1;
  border-radius: 7px;
  padding: 0 8px !important;
  font-size: .8rem !important;
  line-height: 1.2;
  background: #fff;
  align-self: stretch;
  box-shadow: none;
}
/* En × Boy bitişik input grubu */
.smart-rug-dims-group {
  display: flex;
  align-items: stretch;
  width: 100%;
  min-width: 0;
  border: 1px solid #CBD5E1;
  border-radius: 7px;
  background: #fff;
  overflow: hidden;
  height: 32px;
  box-sizing: border-box;
}
.smart-rug-dims-group:focus-within {
  border-color: #0F766E;
  box-shadow: 0 0 0 3px rgba(15, 118, 110, 0.14);
}
.smart-rug-shape-mini {
  flex: 0 0 42px !important;
  width: 42px !important;
  max-width: 42px !important;
  height: 100% !important;
  min-height: 0 !important;
  max-height: none !important;
  border: 0 !important;
  border-right: 1px solid #E2E8F0 !important;
  border-radius: 0 !important;
  padding: 0 2px 0 4px !important;
  font-size: .68rem !important;
  font-weight: 700 !important;
  background: #F8FAFC !important;
  box-shadow: none !important;
  -webkit-appearance: none;
  appearance: none;
  cursor: pointer;
}
.smart-rug-dims-rect,
.smart-rug-dims-round {
  display: flex;
  align-items: stretch;
  flex: 1 1 auto;
  min-width: 0;
}
.smart-rug-dims-rect[hidden],
.smart-rug-dims-round[hidden] {
  display: none !important;
}
.smart-rug-dims-group input {
  flex: 1 1 0;
  width: auto !important;
  min-width: 0 !important;
  height: 100% !important;
  min-height: 0 !important;
  max-height: none !important;
  border: 0 !important;
  border-radius: 0 !important;
  padding: 0 4px !important;
  text-align: center;
  font-size: .78rem !important;
  box-shadow: none !important;
  background: transparent !important;
}
.smart-rug-dims-group input:focus {
  outline: none;
  box-shadow: none !important;
}
.smart-rug-dims-x {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 14px;
  color: #94A3B8;
  font-size: .72rem;
  font-weight: 700;
  user-select: none;
}
.smart-rug-field-edge select,
.smart-rug-field-shape select {
  -webkit-appearance: none;
  appearance: none;
  width: 100%;
  max-width: 100%;
  min-width: 0 !important;
  padding-right: 24px !important;
  background-color: #fff;
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2364748B' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 6px center;
  background-size: 11px;
  font-size: .74rem !important;
  font-weight: 600;
  color: #0F172A;
  cursor: pointer;
  text-overflow: ellipsis;
}
.smart-rug-field-edge select:invalid,
.smart-rug-field-edge select option[value=""] {
  color: #94A3B8;
}
.smart-rug-field-edge {
  position: relative;
}
.smart-rug-field-edge::after {
  content: none;
}
.smart-rug-field input[type="number"] {
  -moz-appearance: textfield;
  appearance: textfield;
}
.smart-rug-field input[type="number"]::-webkit-outer-spin-button,
.smart-rug-field input[type="number"]::-webkit-inner-spin-button {
  opacity: 0.45;
  height: 22px;
}
.smart-rug-field input:focus,
.smart-rug-field select:focus {
  outline: none;
  border-color: #0F766E;
  box-shadow: 0 0 0 3px rgba(15, 118, 110, 0.14);
}
.smart-rug-field-qty input,
.smart-rug-field-m2 input {
  text-align: center;
  font-weight: 750;
  background: #F8FAFC !important;
  padding: 0 4px !important;
}
.smart-rug-field-wide { grid-column: auto; }
.smart-rug-field-shape select { font-size: .78rem !important; }
.smart-rug-card-foot {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px 10px;
  margin-top: 6px;
  padding-top: 6px;
  border-top: 1px solid #E2E8F0;
  width: 100%;
  box-sizing: border-box;
}
.smart-rug-wa-btn {
  margin-left: auto;
  font-size: .72rem !important;
  padding: 4px 10px !important;
  border-radius: 7px !important;
  white-space: nowrap;
}
.smart-rug-unit-chip {
  display: inline-flex;
  align-items: center;
  padding: 1px 7px;
  border-radius: 999px;
  background: #EEF2FF;
  color: #3730A3;
  font-size: .68rem;
  font-weight: 700;
  white-space: nowrap;
}
.smart-rug-unit-chip[hidden] { display: none !important; }
.smart-rug-note-toggle {
  border: 0;
  background: transparent;
  color: #0F766E;
  font-size: .72rem;
  font-weight: 650;
  padding: 0;
  cursor: pointer;
  text-decoration: underline;
  text-underline-offset: 2px;
}
.smart-rug-note-toggle:hover { color: #0D9488; }
.smart-rug-note-input {
  width: 100% !important;
  max-width: 100%;
  flex: 1 1 100%;
  order: 5;
  height: 32px !important;
  min-height: 32px !important;
  box-sizing: border-box;
  border: 1px solid #CBD5E1;
  border-radius: 7px;
  padding: 0 8px !important;
  font-size: .8rem !important;
  background: #fff;
}
.smart-rug-note-input[hidden] { display: none !important; }
.smart-rug-field-coll {
  position: relative;
  z-index: 2;
  overflow: visible;
}
.smart-rug-typeahead {
  position: relative;
  width: 100%;
  overflow: visible;
  z-index: 2;
}
.smart-rug-suggest {
  position: absolute;
  z-index: 100;
  left: 0;
  right: 0;
  top: calc(100% + 4px);
  width: 100%;
  max-height: 220px;
  overflow: auto;
  background: #fff;
  border: 1px solid #E2E8F0;
  border-radius: 8px;
  box-shadow: 0 12px 28px rgba(15, 23, 42, 0.16);
  padding: 4px;
}
.smart-rug-suggest[hidden] {
  display: none !important;
}
.smart-rug-suggest-item {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 1px;
  width: 100%;
  border: 0;
  background: transparent;
  text-align: left;
  padding: 7px 9px;
  border-radius: 6px;
  cursor: pointer;
  color: #0F172A;
}
.smart-rug-suggest-item:hover,
.smart-rug-suggest-item:focus {
  background: #F0FDFA;
}
.smart-rug-suggest-item strong { font-size: .84rem; }
.smart-rug-suggest-item span { font-size: .72rem; color: #64748B; }
.smart-rug-brand-pick {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  align-items: center;
  margin-top: 6px;
  padding: 6px 8px;
  border-radius: 8px;
  background: #FFFBEB;
  border: 1px solid #FDE68A;
}
.smart-rug-brand-pick[hidden] {
  display: none !important;
}
.smart-rug-pick-label {
  width: 100%;
  font-size: .72rem;
  color: #92400E;
  font-weight: 600;
}
.smart-rug-pick-btn {
  border: 1px solid #F59E0B;
  background: #fff;
  color: #92400E;
  border-radius: 999px;
  padding: 4px 10px;
  font-size: .75rem;
  font-weight: 600;
  cursor: pointer;
}
.smart-rug-pick-btn:hover { background: #FEF3C7; }
.smart-rug-card-hint { margin: 6px 0 0; font-size: .72rem; line-height: 1.35; }
.smart-rug-m2-chip,
.smart-rug-cost-chip {
  display: inline-flex;
  align-items: center;
  height: auto;
  padding: 2px 8px;
  border-radius: 999px;
  font-size: .68rem;
  font-weight: 700;
  line-height: 1.25;
  white-space: nowrap;
}
@media (max-width: 1100px) {
  .smart-rug-card-row {
    grid-template-columns:
      minmax(0, 1.2fr)
      minmax(0, 1fr)
      minmax(140px, 158px)
      minmax(84px, 100px)
      minmax(50px, 58px)
      minmax(54px, 64px);
  }
  .smart-rug-card-grid,
  .smart-rug-card-grid--form {
    grid-template-columns:
      minmax(0, 1.2fr)
      minmax(0, 1fr)
      minmax(104px, 112px)
      minmax(68px, 78px)
      minmax(68px, 78px)
      minmax(112px, 128px)
      minmax(64px, 84px)
      minmax(64px, 96px);
  }
}
@media (max-width: 960px) {
  .smart-rug-card-row,
  .smart-rug-card-grid,
  .smart-rug-card-grid--form {
    grid-template-columns: 1fr 1fr;
  }
  .smart-rug-field-wide { grid-column: 1 / -1; }
  .smart-rug-field-coll { grid-column: 1 / -1; }
  .smart-rug-field-dims { grid-column: 1 / -1; }
  .smart-rug-field-shape,
  .smart-rug-field-dim,
  .smart-rug-field-edge {
    min-width: 0;
    max-width: 100%;
  }
  .smart-rug-field-qty,
  .smart-rug-field-m2 {
    max-width: none;
  }
}
.smart-rug-m2-chip {
  background: #ECFDF5;
  color: #0F766E;
}
.smart-rug-cost-chip {
  background: #FFF7ED;
  color: #C2410C;
}
.smart-rug-line-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 10px;
  margin: 4px 0 2px;
  font-size: .82rem;
  color: #334155;
}
.smart-rug-wa { font-weight: 600; }
.smart-rug-layout {
  display: grid;
  grid-template-columns: 1.4fr 1fr;
  gap: 16px;
}
@media (max-width: 960px) {
  .smart-rug-layout { grid-template-columns: 1fr; }
}
.smart-rug-inv-list { list-style: none; margin: 0; padding: 0; }
.smart-rug-inv-list li a {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  padding: 10px 8px;
  border-bottom: 1px solid #E2E8F0;
  text-decoration: none;
  color: inherit;
}
.smart-rug-inv-list li.is-active a { background: #EEF2FF; border-radius: 8px; }
.smart-rug-invoice-lines { display: grid; gap: 8px; margin: 10px 0; }
.smart-rug-inv-line {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(100px, 1fr));
  gap: 6px;
}
.smart-rug-inv-raw { grid-column: 1 / -1; }
.smart-rug-match-card {
  padding: 12px;
  border: 1px solid #E2E8F0;
  border-radius: 10px;
  margin-bottom: 10px;
  background: #fff;
}
.smart-rug-match-card.is-matched { border-color: #86EFAC; background: #F0FDF4; }
.smart-rug-match-line {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 12px;
  align-items: center;
  margin-bottom: 8px;
}

.smart-rug-cost-bar {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 8px 14px;
  margin-top: 10px;
  padding: 10px 12px;
  border-radius: 8px;
  background: #ECFDF5;
  border: 1px solid #A7F3D0;
  color: #065F46;
}
.smart-rug-cost-bar strong {
  font-size: 1.15rem;
  letter-spacing: -0.02em;
}
.smart-rug-cost-chip {
  display: inline-flex;
  align-items: center;
  padding: 2px 8px;
  border-radius: 999px;
  background: #FFF7ED;
  color: #C2410C;
  font-size: .68rem;
  font-weight: 700;
  white-space: nowrap;
}
.smart-rug-unit-price {
  font-weight: 600;
  color: #0F766E;
  background: #F0FDFA !important;
}
.ssh-status-tabs {
  display: flex;
  flex-wrap: nowrap;
  gap: 8px;
  margin: 0 0 14px;
  padding: 2px 0 6px;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}
.ssh-status-tabs::-webkit-scrollbar {
  display: none;
}
.ssh-status-tab {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  flex: 0 0 auto;
  padding: 8px 16px;
  border-radius: 999px;
  border: 1px solid #E5E7EB;
  background: #fff;
  color: #374151;
  text-decoration: none;
  font-weight: 600;
  font-size: 0.8125rem;
  white-space: nowrap;
  transition: background .15s ease, border-color .15s ease, color .15s ease;
}
.ssh-status-tab:hover {
  background: #F9FAFB;
  color: #111827;
}
.ssh-status-tab.is-active {
  border-color: transparent;
  background: #111827;
  color: #fff;
}
.ssh-status-tab.is-plan:not(.is-active) {
  border-color: #DDD6FE;
}
.ssh-status-tab.is-draft:not(.is-active) {
  border-color: #FDE68A;
}
.ssh-status-tab.is-draft.is-active {
  background: #92400e;
  border-color: #92400e;
}
.ssh-status-tab-n {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 1.25rem;
  padding: 1px 7px;
  border-radius: 999px;
  background: #F3F4F6;
  color: #6B7280;
  font-size: 0.6875rem;
  font-weight: 700;
  line-height: 1.4;
}
.ssh-status-tab.is-active .ssh-status-tab-n {
  background: rgba(255, 255, 255, 0.2);
  color: #fff;
}
.ssh-planned-board {
  margin-bottom: 16px;
}
.ssh-planned-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  width: 100%;
  max-width: 100%;
  margin-bottom: 12px;
  box-sizing: border-box;
}
.ssh-planned-head-text {
  flex: 1 1 auto;
  min-width: 0;
}
.ssh-planned-head h2 {
  margin: 0 0 4px;
  font-family: var(--display);
  font-weight: 400;
  font-size: 1.25rem;
  line-height: 1.25;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.ssh-planned-desc {
  margin: 0;
  color: #64748B;
  font-size: 0.8125rem;
  line-height: 1.4;
}
.ssh-planned-head-action {
  flex: 0 0 auto;
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 6px 12px;
  border-radius: 8px;
  border: 0;
  background: #2563EB;
  color: #fff !important;
  font-size: 0.75rem;
  font-weight: 600;
  line-height: 1.2;
  text-decoration: none !important;
  white-space: nowrap;
  box-shadow: 0 1px 2px rgba(37, 99, 235, 0.2);
}
.ssh-planned-head-action:hover,
.ssh-planned-head-action:focus {
  background: #1D4ED8;
  color: #fff !important;
}
.ssh-planned-kicker {
  margin: 0 0 4px;
  font-size: 0.75rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #6d28d9;
  font-weight: 700;
}
@media (max-width: 900px) {
  .ssh-planned-head {
    align-items: flex-start;
  }
  .ssh-planned-head h2 {
    white-space: normal;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }
  .ssh-planned-desc {
    font-size: 0.78rem;
  }
}
.ssh-planned-day {
  margin-top: 12px;
}
.ssh-planned-day.is-hidden,
.ssh-planned-card.is-hidden,
.ssh-list-hide {
  display: none !important;
}
.ssh-planned-empty {
  margin: 8px 0 0;
}
.ssh-planned-day-title {
  margin: 0 0 8px;
  font-size: 0.95rem;
}
.ssh-planned-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  gap: 10px;
}
.ssh-planned-card {
  border: 1px solid rgba(124, 58, 237, 0.18);
  background: #fff;
  border-radius: 12px;
  padding: 12px;
  display: grid;
  gap: 4px;
}
.ssh-planned-card-top {
  display: flex;
  justify-content: space-between;
  gap: 8px;
  align-items: center;
}
.ssh-planned-name {
  font-weight: 700;
}
.ssh-planned-name-link {
  color: #1E293B;
  font-weight: 700;
  text-decoration: none;
  cursor: pointer;
  transition: color .2s ease;
}
.ssh-planned-name-link:hover {
  color: #2563EB;
  text-decoration: underline;
}
.ssh-planned-title {
  font-size: 0.92rem;
}
.ssh-planned-card.is-multi {
  border-color: rgba(124, 58, 237, 0.35);
}
.ssh-planned-lines {
  list-style: none;
  margin: 4px 0 0;
  padding: 0;
  display: grid;
  gap: 4px;
}
.ssh-planned-lines li {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 8px;
  align-items: baseline;
  font-size: 0.88rem;
  padding: 4px 6px;
  border-radius: 8px;
  background: rgba(124, 58, 237, 0.06);
}
.ssh-planned-lines a {
  font-weight: 700;
  white-space: nowrap;
}
.ssh-sibling-block {
  margin-top: 14px;
  padding-top: 12px;
  border-top: 1px solid rgba(15, 23, 42, 0.08);
  display: grid;
  gap: 10px;
}
.ssh-sibling-head {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 8px;
}
.ssh-sibling-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 8px;
}
.ssh-sibling-item {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  align-items: flex-start;
  padding: 10px 12px;
  border: 1px solid rgba(15, 23, 42, 0.08);
  border-radius: 10px;
  background: #fff;
}
.ssh-sibling-item.is-current {
  border-color: rgba(124, 58, 237, 0.35);
  background: rgba(124, 58, 237, 0.05);
}
.ssh-sibling-main {
  display: grid;
  gap: 2px;
  min-width: 0;
}
.ssh-sibling-title {
  font-weight: 600;
}
.ssh-sibling-desc {
  font-size: 0.85rem;
}
.ssh-sibling-side {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  align-items: center;
  flex-shrink: 0;
}
.ssh-sibling-add-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: 8px;
  align-items: end;
}
.ssh-sibling-add-actions .btn {
  width: 100%;
}
@media (max-width: 720px) {
  .ssh-sibling-item {
    flex-direction: column;
  }
  .ssh-sibling-side {
    width: 100%;
  }
}
.ssh-planned-actions {
  display: flex;
  gap: 6px;
  margin-top: 8px;
}
.ssh-quick-plan {
  margin: 6px 0 0;
}
.ssh-quick-plan a {
  font-weight: 600;
  color: #6d28d9;
}

/* Oturum hareketsizlik uyarısı */
.session-idle-modal {
  border: none;
  border-radius: 16px;
  padding: 0;
  max-width: min(420px, calc(100vw - 2rem));
  box-shadow: 0 24px 48px rgba(15, 23, 42, 0.18);
}
.session-idle-modal::backdrop {
  background: rgba(15, 23, 42, 0.45);
  backdrop-filter: blur(4px);
}
.session-idle-sheet {
  padding: 1.75rem 1.5rem 1.5rem;
  text-align: center;
}
.session-idle-icon {
  width: 56px;
  height: 56px;
  margin: 0 auto 1rem;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: linear-gradient(135deg, #fef3c7, #fde68a);
  color: #b45309;
}
.session-idle-sheet h2 {
  margin: 0 0 0.75rem;
  font-size: 1.125rem;
  font-weight: 700;
  color: var(--text, #0f172a);
}
.session-idle-text {
  margin: 0 0 1.25rem;
  font-size: 0.9375rem;
  line-height: 1.55;
  color: var(--muted, #64748b);
}
.session-idle-actions {
  display: flex;
  gap: 0.75rem;
  justify-content: center;
  flex-wrap: wrap;
}
.session-idle-actions .btn {
  min-width: 9rem;
}

/* —— Yoklama sekmeleri & raporlar —— */
.attendance-page {
  display: flex;
  flex-direction: column;
  gap: 0;
}
.attendance-page .att-page-head {
  flex-direction: row;
  align-items: flex-start !important;
  margin-bottom: 0;
}
.attendance-page .att-page-head > div:first-child {
  flex: 0 1 auto;
  min-height: 0;
}
.attendance-page .att-page-title {
  margin: 0;
  font-size: 1.5rem;
  font-weight: 700;
  letter-spacing: -0.025em;
  color: #111827;
  line-height: 1.2;
}
.attendance-page .att-page-sub {
  margin: 6px 0 0;
  font-size: 0.875rem;
  font-weight: 400;
  color: #6b7280;
  max-width: 40rem;
  line-height: 1.5;
}
.att-action-bar {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: stretch;
  gap: 16px;
  margin: 24px 0 18px;
  flex: 0 0 auto;
}
@media (min-width: 640px) {
  .att-action-bar {
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
  }
}
.attendance-seg {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  width: fit-content;
  max-width: 100%;
  margin: 0;
  padding: 4px;
  border-radius: 12px;
  background: rgba(243, 244, 246, 0.8);
  border: 0;
  flex-wrap: wrap;
}
.attendance-seg-item {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 36px;
  padding: 8px 16px;
  border-radius: 8px;
  border: 0;
  background: transparent;
  color: #6B7280;
  font-weight: 500;
  font-size: 0.875rem;
  text-decoration: none !important;
  transition: color .15s ease, background .15s ease, box-shadow .15s ease;
  white-space: nowrap;
}
.attendance-seg-item:hover {
  color: #374151;
  background: rgba(229, 231, 235, 0.5);
}
.attendance-seg-item.is-active {
  background: #fff;
  color: #1f2937;
  font-weight: 600;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.08), 0 1px 3px rgba(15, 23, 42, 0.04);
}
/* legacy class aliases */
.attendance-tabs { display: none; }
.att-daily-toolbar { margin: 0; }
.att-date-nav,
.att-date-row {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: nowrap;
  margin: 0;
  flex: 0 0 auto;
}
.att-date-field {
  position: relative;
  display: inline-flex;
  align-items: center;
  height: 40px;
}
.att-date-field svg {
  position: absolute;
  left: 12px;
  width: 16px;
  height: 16px;
  color: #4b5563;
  pointer-events: none;
  z-index: 1;
}
.att-date-input::-webkit-calendar-picker-indicator {
  position: absolute;
  inset: 0;
  width: auto;
  height: auto;
  opacity: 0;
  cursor: pointer;
}
.att-date-input {
  width: auto !important;
  max-width: 210px !important;
  min-width: 168px !important;
  height: 40px !important;
  min-height: 40px !important;
  padding: 8px 12px 8px 36px !important;
  font-size: 0.875rem !important;
  color: #1F2937 !important;
  background: #fff !important;
  border: 1px solid #E5E7EB !important;
  border-radius: 12px !important;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.05) !important;
  flex: 0 0 auto !important;
}
.att-date-input:focus {
  border-color: #3B82F6 !important;
  box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.18) !important;
  outline: none;
}
.att-today-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 40px;
  min-height: 40px;
  padding: 0 16px;
  border-radius: 12px;
  border: 1px solid #E5E7EB;
  background: #fff;
  color: #374151;
  font-size: 0.875rem;
  font-weight: 500;
  text-decoration: none !important;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.05);
  transition: background .15s ease, border-color .15s ease, color .15s ease;
}
.att-today-btn:hover {
  background: #F9FAFB;
  border-color: #D1D5DB;
  color: #111827;
}
.att-alert {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 0 0 18px;
  padding: 12px 16px;
  border-radius: 10px;
  font-size: 0.875rem;
  font-weight: 600;
  line-height: 1.4;
}
.att-alert-ico {
  flex-shrink: 0;
  width: 32px;
  height: 32px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.att-alert--ok {
  background: #ECFDF5;
  border: 1px solid #A7F3D0;
  color: #065F46;
}
.att-alert--ok .att-alert-ico {
  background: #D1FAE5;
  color: #059669;
}
.att-alert--warn {
  background: #FFFBEB;
  border: 1px solid #FDE68A;
  color: #92400E;
}
.att-alert--warn .att-alert-ico {
  background: #FEF3C7;
  color: #D97706;
}
.att-kpi-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 14px;
  margin: 0 0 20px;
}
.att-kpi {
  position: relative;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 18px 16px 16px;
  background: #fff;
  border: 1px solid #F3F4F6;
  border-radius: 14px;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
  transition: box-shadow .18s ease, transform .18s ease, border-color .18s ease;
  min-width: 0;
}
.att-kpi:hover {
  box-shadow: 0 4px 14px rgba(15, 23, 42, 0.08);
  border-color: #E5E7EB;
}
.att-kpi-ico {
  position: absolute;
  top: 14px;
  right: 14px;
  width: 34px;
  height: 34px;
  border-radius: 10px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.att-kpi strong {
  display: block;
  margin: 0;
  padding-right: 40px;
  font-family: var(--display);
  font-size: 1.85rem;
  font-weight: 700;
  line-height: 1.1;
  letter-spacing: -0.03em;
  color: #111827;
}
.att-kpi > span:last-child {
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #6B7280;
}
.att-kpi--total .att-kpi-ico { background: #F3F4F6; color: #6B7280; }
.att-kpi--total strong { color: #374151; }
.att-kpi--geldi .att-kpi-ico { background: #D1FAE5; color: #059669; }
.att-kpi--geldi strong { color: #059669; }
.att-kpi--gelmedi .att-kpi-ico { background: #FEE2E2; color: #EF4444; }
.att-kpi--gelmedi strong { color: #EF4444; }
.att-kpi--izinli .att-kpi-ico { background: #DBEAFE; color: #3B82F6; }
.att-kpi--izinli strong { color: #3B82F6; }
.att-kpi--gorev .att-kpi-ico,
.att-kpi--raporlu .att-kpi-ico { background: #F3E8FF; color: #9333EA; }
.att-kpi--gorev strong,
.att-kpi--raporlu strong { color: #9333EA; }

/* Rapor: akıllı puantaj KPI */
.att-smart-kpi-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  margin: 0 0 18px;
}
.att-smart-kpi {
  position: relative;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: space-between;
  gap: 8px;
  min-height: 118px;
  padding: 18px 16px 16px;
  text-align: left;
  cursor: pointer;
  background: #fff;
  border: 1px solid #F3F4F6;
  border-radius: 14px;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
  font: inherit;
  transition: box-shadow .18s ease, border-color .18s ease, transform .15s ease;
}
.att-smart-kpi:hover {
  box-shadow: 0 6px 16px rgba(15, 23, 42, 0.08);
  border-color: #E5E7EB;
}
.att-smart-kpi.is-active {
  border-color: currentColor;
  box-shadow: 0 0 0 2px rgba(15, 23, 42, 0.06);
}
.att-smart-kpi-ico {
  position: absolute;
  top: 14px;
  right: 14px;
  width: 36px;
  height: 36px;
  border-radius: 10px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.att-smart-kpi strong {
  display: block;
  margin: 0;
  padding-right: 44px;
  font-family: var(--display);
  font-size: 1.9rem;
  font-weight: 700;
  line-height: 1.1;
  letter-spacing: -0.03em;
}
.att-smart-kpi > span:last-child {
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  color: #6B7280;
}
.att-smart-kpi--pending { color: #DC2626; }
.att-smart-kpi--pending .att-smart-kpi-ico { background: #FEF2F2; color: #EF4444; }
.att-smart-kpi--pending strong { color: #DC2626; }
.att-smart-kpi--pending.is-active { box-shadow: 0 0 0 2px rgba(239, 68, 68, 0.2); border-color: #FCA5A5; }
.att-smart-kpi--done { color: #059669; }
.att-smart-kpi--done .att-smart-kpi-ico { background: #ECFDF5; color: #059669; }
.att-smart-kpi--done strong { color: #059669; }
.att-smart-kpi--done.is-active { box-shadow: 0 0 0 2px rgba(16, 185, 129, 0.2); border-color: #6EE7B7; }
.att-smart-kpi--gelmedi { color: #EA580C; }
.att-smart-kpi--gelmedi .att-smart-kpi-ico { background: #FFF7ED; color: #EA580C; }
.att-smart-kpi--gelmedi strong { color: #EA580C; }
.att-smart-kpi--gelmedi.is-active { box-shadow: 0 0 0 2px rgba(234, 88, 12, 0.18); border-color: #FDBA74; }
.att-smart-kpi--leave { color: #2563EB; }
.att-smart-kpi--leave .att-smart-kpi-ico { background: #EFF6FF; color: #2563EB; }
.att-smart-kpi--leave strong { color: #2563EB; }
.att-smart-kpi--leave.is-active { box-shadow: 0 0 0 2px rgba(37, 99, 235, 0.18); border-color: #93C5FD; }
.att-report-filter-form.is-loading {
  opacity: 0.72;
  pointer-events: none;
}

@media (max-width: 900px) {
  .att-smart-kpi-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 480px) {
  .att-smart-kpi-grid { grid-template-columns: 1fr; }
}

@media (max-width: 900px) {
  .att-kpi-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .att-kpi--gorev {
    grid-column: 1 / -1;
  }
}
@media (max-width: 480px) {
  .att-action-bar {
    align-items: stretch;
  }
  .att-date-nav,
  .att-date-row {
    width: 100%;
    justify-content: space-between;
  }
  .att-date-input {
    flex: 1 1 auto !important;
    max-width: none !important;
    min-width: 0 !important;
    width: auto !important;
  }
  .att-today-btn { width: auto; flex: 0 0 auto; }
}

.att-report-filters { margin-bottom: 14px; }
.att-report-filter-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px 16px;
  align-items: end;
}
.att-report-field {
  display: flex;
  flex-direction: column;
  gap: 6px;
  font-size: 0.88rem;
  font-weight: 600;
  color: var(--muted, #64748B);
  min-width: 0;
}
.att-report-field > span,
.att-report-field > label {
  font-size: 0.88rem;
  font-weight: 600;
  color: var(--muted, #64748B);
}
.att-report-field input[type="date"],
.att-report-field input:not([type="hidden"]),
.att-report-field select.att-staff-select {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  flex: none !important;
  height: 44px !important;
  min-height: 44px !important;
  box-sizing: border-box;
  padding: 10px 14px;
  font-size: 0.875rem !important;
  font-weight: 500;
  color: #1F2937;
  background: #fff !important;
  border: 1px solid #E5E7EB !important;
  border-radius: 10px !important;
  box-shadow: none !important;
}
.att-report-field input[type="date"]:focus {
  border-color: #3B82F6 !important;
  box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.18) !important;
  outline: none;
}
/* TomSelect yüklenene kadar native multiple’ı tek satır gibi gizle */
.att-report-field-staff select.att-staff-select:not(.tomselected) {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  min-height: 0 !important;
  opacity: 0 !important;
  pointer-events: none !important;
  overflow: hidden !important;
}
.att-report-field-staff {
  position: relative;
  min-height: 0;
}
.att-report-field-staff::after {
  content: 'Personel ara veya seç…';
  display: flex;
  align-items: center;
  height: 44px;
  margin-top: 0;
  padding: 0 40px 0 14px;
  border: 1px solid #E5E7EB;
  border-radius: 10px;
  background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%239CA3AF' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E") no-repeat right 12px center;
  color: #9CA3AF;
  font-size: 0.875rem;
  font-weight: 500;
  pointer-events: none;
}
.att-report-field-staff:has(select.tomselected)::after,
.att-report-field-staff:has(.att-staff-ts)::after {
  display: none;
}
.att-report-field-staff .ts-wrapper,
.att-report-field-staff .att-staff-ts {
  width: 100% !important;
  max-width: none !important;
}
/* Tek satır kilit — seçilen etiket + arama ASLA alt alta binmesin */
.att-report-field-staff .att-staff-ts.multi .ts-control,
.att-staff-ts.multi .ts-control {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  gap: 6px;
  width: 100% !important;
  height: 44px !important;
  min-height: 44px !important;
  max-height: 44px !important;
  overflow: hidden !important;
  padding: 0 34px 0 10px !important;
  border: 1px solid #E5E7EB !important;
  border-radius: 10px !important;
  background: #fff !important;
  box-shadow: none !important;
  font-size: 0.875rem !important;
  box-sizing: border-box !important;
}
.att-staff-ts.multi.focus .ts-control,
.att-staff-ts.multi.dropdown-active .ts-control,
.att-staff-ts.multi .ts-control:focus-within,
.att-report-field-staff .att-staff-ts.multi.focus .ts-control,
.att-report-field-staff .att-staff-ts.multi.dropdown-active .ts-control {
  height: 44px !important;
  min-height: 44px !important;
  max-height: 44px !important;
  overflow: hidden !important;
  border-color: #3B82F6 !important;
  box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.18) !important;
}
.att-staff-ts .ts-control::after {
  content: '';
  position: absolute;
  right: 12px;
  top: 50%;
  width: 16px;
  height: 16px;
  transform: translateY(-50%);
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%239CA3AF' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E") center / 16px no-repeat;
  pointer-events: none;
  z-index: 2;
}
.att-staff-ts.multi .ts-control .item {
  flex: 0 1 auto;
  display: inline-flex !important;
  align-items: center;
  gap: 4px;
  max-width: 72%;
  margin: 0 !important;
  padding: 2px 8px !important;
  border: 0 !important;
  border-radius: 6px !important;
  background: #F3F4F6 !important;
  color: #374151 !important;
  font-size: 0.78rem !important;
  font-weight: 600 !important;
  line-height: 1.2;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.att-staff-ts.multi .ts-control .item .remove {
  border: 0 !important;
  background: transparent !important;
  color: #9CA3AF !important;
  text-decoration: none !important;
  font-size: 14px !important;
  line-height: 1;
  padding: 0 0 0 2px !important;
}
.att-staff-ts.multi .ts-control .item .remove:hover {
  color: #EF4444 !important;
}
/* Seçim varken arama satırı AYRI satıra düşmesin — aynı flex satırında daralsın / gizlensin */
.att-staff-ts.multi.has-items:not(.input-active):not(.dropdown-active) .ts-control > input {
  flex: 0 0 0 !important;
  width: 0 !important;
  min-width: 0 !important;
  max-width: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  opacity: 0 !important;
  border: 0 !important;
  overflow: hidden !important;
}
.att-staff-ts.multi .ts-control > input,
.att-staff-ts.multi.input-active .ts-control > input,
.att-staff-ts.multi.dropdown-active .ts-control > input {
  flex: 1 1 auto !important;
  width: auto !important;
  min-width: 2ch !important;
  max-width: none !important;
  height: 28px !important;
  margin: 0 !important;
  padding: 0 !important;
  opacity: 1 !important;
  font-size: 0.875rem !important;
  color: #1F2937 !important;
  background: transparent !important;
  box-shadow: none !important;
  border: 0 !important;
}
.att-staff-ts.multi.has-items.input-active .ts-control > input,
.att-staff-ts.multi.has-items.dropdown-active .ts-control > input {
  flex: 1 1 40% !important;
  min-width: 5ch !important;
}
.att-report-field-wide { grid-column: span 2; min-width: 0; }
@media (max-width: 900px) {
  .att-report-filter-grid {
    grid-template-columns: 1fr;
  }
}
.att-report-status-bar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px 14px;
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px dashed var(--line, #E2E8F0);
}
.att-report-status-label {
  font-size: 0.82rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--muted, #64748B);
}
.att-status-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.att-status-pill {
  appearance: none;
  border: 1px solid var(--line, #E2E8F0);
  background: #fff;
  color: var(--ink, #0F172A);
  border-radius: 999px;
  padding: 8px 16px;
  font-size: 0.88rem;
  font-weight: 650;
  cursor: pointer;
  transition: background .15s ease, border-color .15s ease, color .15s ease, box-shadow .15s ease;
}
.att-status-pill:hover {
  border-color: #CBD5E1;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.06);
}
.att-status-pill.is-active {
  background: #F8FAFC;
  border-color: #94A3B8;
  box-shadow: inset 0 0 0 1px rgba(15, 23, 42, 0.04);
}
.att-status-pill-warn.is-active {
  background: #FFF7ED;
  border-color: #FB923C;
  color: #9A3412;
  box-shadow: 0 0 0 1px rgba(251, 146, 60, 0.25);
}
.att-report-status-divider {
  width: 1px;
  height: 28px;
  background: #E2E8F0;
  flex-shrink: 0;
}
.att-status-pill-accounting.is-active {
  background: #FEF2F2;
  border-color: #F87171;
  color: #991B1B;
  box-shadow: 0 0 0 1px rgba(248, 113, 113, 0.25);
}
.att-report-acct {
  vertical-align: middle;
  white-space: nowrap;
  min-width: 148px;
}
.att-acct-dash { display: inline-block; padding: 0 4px; }
.att-kpi-card {
  text-decoration: none;
  color: inherit;
  cursor: pointer;
  transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}
.att-kpi-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 20px rgba(15, 23, 42, 0.08);
}
.att-kpi-card.is-active {
  box-shadow: 0 0 0 2px rgba(59, 130, 246, 0.35);
  border-color: #93C5FD;
}
.att-kpi-gelmedi.is-active { box-shadow: 0 0 0 2px rgba(239, 68, 68, 0.35); border-color: #FCA5A5; }
.att-kpi-izinli.is-active { box-shadow: 0 0 0 2px rgba(245, 158, 11, 0.35); border-color: #FCD34D; }
.att-kpi-gorev.is-active { box-shadow: 0 0 0 2px rgba(59, 130, 246, 0.35); border-color: #93C5FD; }
.att-kpi-geldi.is-active { box-shadow: 0 0 0 2px rgba(16, 185, 129, 0.35); border-color: #6EE7B7; }
.att-report-row-gelmedi { background: #FEF2F2; }
.att-report-row-izinli { background: #FFFBEB; }
.att-report-row-raporlu,
.att-report-row-gorevde { background: #EFF6FF; }
.att-report-row-gelmedi:hover,
.att-report-row-izinli:hover,
.att-report-row-raporlu:hover,
.att-report-row-gorevde:hover { filter: brightness(0.98); }
.att-report-filter-actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin-top: 14px;
}
.att-report-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 12px;
  flex-wrap: wrap;
  margin-bottom: 14px;
}
.att-report-title {
  margin: 0 0 4px;
  font-size: 1.05rem;
}
.att-report-meta { margin: 0; font-size: 0.88rem; }
.att-report-table { width: 100%; border-collapse: collapse; font-size: 0.92rem; }
.att-report-table th,
.att-report-table td {
  padding: 10px 12px;
  border-bottom: 1px solid var(--line, #E2E8F0);
  vertical-align: middle;
}
.att-report-table th {
  text-align: left;
  font-size: 0.78rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--muted, #64748B);
  background: #F8FAFC;
}
.att-report-date { white-space: nowrap; font-weight: 600; }
.att-report-note { max-width: 280px; word-break: break-word; }
.att-report-empty {
  text-align: center;
  color: var(--muted, #64748B);
  padding: 24px 12px !important;
}
.att-report-badge {
  display: inline-flex;
  align-items: center;
  padding: 4px 10px;
  border-radius: 999px;
  font-size: 0.78rem;
  font-weight: 700;
  line-height: 1.2;
  white-space: nowrap;
}
.att-report-gelmedi { background: #FEF2F2; color: #B91C1C; }
.att-report-izinli { background: #EFF6FF; color: #1D4ED8; }
.att-report-yillik { background: #FFF7ED; color: #C2410C; }
.att-report-yarim { background: #FFEDD5; color: #EA580C; }
.att-report-gorev { background: #EFF6FF; color: #1D4ED8; }
.att-report-geldi { background: #ECFDF5; color: #047857; }

/* ─ Att-report: desktop sticky tarih + mobil kart ─ */
.att-report-table .att-report-date {
  position: sticky;
  left: 0;
  background: inherit;
  z-index: 2;
}
.att-report-row-gelmedi .att-report-date { background: #FEF2F2; }
.att-report-row-izinli  .att-report-date { background: #FFFBEB; }
.att-report-row-yillik_izin .att-report-date,
.att-report-row-yarim_gun_yillik_izin .att-report-date { background: #FFF7ED; }
.att-report-row-raporlu .att-report-date,
.att-report-row-gorevde .att-report-date { background: #EFF6FF; }
.att-report-panel .table-wrap {
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior-x: contain;
}
.att-report-panel .table-wrap table {
  min-width: 640px;
}
@media (max-width: 720px) {
  .att-report-field-wide { grid-column: span 1; }
  .att-report-head .btn-export-excel { width: 100%; justify-content: center; }
  .att-acct-toggle .acct-toggle-label { font-size: 0.72rem; }

  /* Yoklama geçmişi → kompakt mobil kart + alt safe-area */
  .att-report-panel {
    padding-bottom: 24px;
  }
  .att-report-panel .table-wrap {
    overflow: visible;
    padding-bottom: 32px;
  }
  .att-report-panel .table-wrap table {
    min-width: 0 !important;
    width: 100% !important;
    border-collapse: separate;
    border-spacing: 0 8px;
  }
  .att-report-table thead { display: none; }
  .att-report-table tbody {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding-bottom: 20px;
  }
  .att-report-table tr.att-report-row {
    display: grid;
    grid-template-columns: 72px 1fr auto;
    grid-template-areas:
      "date person status"
      "unit unit unit"
      "note note note"
      "acct acct acct";
    gap: 2px 8px;
    background: #fff;
    border: 1px solid #E2E8F0;
    border-radius: 10px;
    box-shadow: 0 1px 3px rgba(20, 32, 51, 0.05);
    padding: 10px;
  }
  .att-report-table tr.att-report-row-gelmedi { background: #FEF2F2; border-color: #FECACA; }
  .att-report-table tr.att-report-row-izinli { background: #FFFBEB; border-color: #FDE68A; }
  .att-report-table tr.att-report-row-yillik_izin,
  .att-report-table tr.att-report-row-yarim_gun_yillik_izin { background: #FFF7ED; border-color: #FED7AA; }
  .att-report-table tr.att-report-row-raporlu,
  .att-report-table tr.att-report-row-gorevde { background: #EFF6FF; border-color: #BFDBFE; }
  .att-report-table td {
    display: block;
    border: 0 !important;
    padding: 0 !important;
    position: static !important;
    background: transparent !important;
    min-width: 0;
  }
  .att-report-table td:nth-child(1) { grid-area: date; }
  .att-report-table td:nth-child(2) { grid-area: person; }
  .att-report-table td:nth-child(3) { grid-area: unit; }
  .att-report-table td:nth-child(4) { grid-area: status; justify-self: end; }
  .att-report-table td:nth-child(5) { grid-area: note; }
  .att-report-table td:nth-child(6) { grid-area: acct; }
  .att-report-table td[data-label]::before {
    content: attr(data-label);
    display: inline-block;
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #94A3B8;
    margin-right: 6px;
  }
  .att-report-table td.att-report-date::before,
  .att-report-table td:nth-child(2)::before,
  .att-report-table td:nth-child(4)::before { content: none; }
  .att-report-table td.att-report-date {
    font-size: 0.75rem;
    font-weight: 700;
    line-height: 1.25;
  }
  .att-report-table td:nth-child(2) strong {
    font-size: 0.8125rem;
    font-weight: 650;
  }
  .att-report-table td:nth-child(2) .muted {
    font-size: 0.7rem;
    display: inline;
    margin-left: 4px;
  }
  .att-report-table td:nth-child(3),
  .att-report-table td.att-report-note {
    font-size: 0.75rem;
    color: #475569;
  }
  .att-report-badge {
    font-size: 0.7rem;
    padding: 3px 8px;
  }
}

/* —— Mobil alt menü safe-area: son kart / footer kesilmesin —— */
.mobile-scroll-end-spacer {
  display: none;
}
@media (max-width: 900px) {
  html {
    scroll-padding-bottom: calc(var(--bottom-nav-h, 72px) + env(safe-area-inset-bottom, 0px) + 120px);
  }
  .body-has-bottom-nav .main {
    padding-bottom: calc(var(--bottom-nav-h, 72px) + env(safe-area-inset-bottom, 0px) + 160px) !important;
  }
  .mobile-scroll-end-spacer {
    display: block;
    width: 100%;
    height: calc(var(--bottom-nav-h, 72px) + env(safe-area-inset-bottom, 0px) + 88px);
    min-height: 140px;
    flex-shrink: 0;
    pointer-events: none;
  }
  .att-report-panel,
  .att-report-panel .table-wrap,
  .att-report-table tbody {
    padding-bottom: 0 !important;
  }
  .att-report-panel {
    margin-bottom: 8px;
  }
  .app-footer-credit {
    margin-bottom: 0;
    padding-bottom: 12px;
  }
}

/* Sipariş kartı — SSH not paneli */
.order-ssh-notes-panel {
  margin: 0 0 18px;
  padding: 14px;
  border: 1px solid #BFDBFE;
  border-radius: 12px;
  background: #F8FBFF;
}
.order-ssh-notes-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 10px;
}
.order-ssh-notes-item {
  padding: 10px 12px;
  border: 1px solid #E2E8F0;
  border-radius: 10px;
  background: #fff;
}
.order-ssh-notes-item-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 4px;
}
.order-ssh-notes-body {
  margin: 6px 0 8px;
  font-size: 0.9rem;
  line-height: 1.45;
  color: #1e293b;
  white-space: pre-wrap;
}
.order-ssh-notes-body.is-empty { color: #94A3B8; font-style: italic; }
.order-ssh-notes-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

/* —— Muhasebe İşlemleri (premium kart / akordeon) —— */
body.page-muhasebe-islemleri .help-fab {
  display: none !important;
}
body.page-muhasebe-islemleri .main {
  overflow-x: hidden;
  max-width: 100%;
}
.muhasebe-pro {
  margin: 0 0 28px;
  padding: max(12px, env(safe-area-inset-top, 0px)) 16px 0;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  overflow-x: hidden;
  background: transparent;
  border: 0;
  box-shadow: none;
}
.muhasebe-pro-title-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}
.muhasebe-help-link {
  flex: 0 0 auto;
  display: inline-grid;
  place-items: center;
  width: 28px;
  height: 28px;
  border-radius: 999px;
  border: 0;
  background: transparent;
  color: #9CA3AF;
  font-size: 0.95rem;
  font-weight: 800;
  text-decoration: none;
  line-height: 1;
  transition: color .15s ease, background .15s ease;
}
.muhasebe-help-link:hover,
.muhasebe-help-link:focus {
  color: #4B5563;
  background: rgba(148, 163, 184, 0.14);
}
.muhasebe-pro-hero {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px 20px;
  margin-bottom: 16px;
}
.muhasebe-pro-title {
  margin: 0;
  font-family: var(--display, inherit);
  font-size: clamp(1.35rem, 2.2vw, 1.65rem);
  font-weight: 750;
  letter-spacing: -0.02em;
  color: var(--ink, #142033);
}
.muhasebe-pro-sub {
  margin: 6px 0 0;
  max-width: 42rem;
  font-size: 0.9rem;
  line-height: 1.45;
  color: #64748B;
}
.muhasebe-pro-sub strong { color: #334155; font-weight: 700; }
.muhasebe-pro-widgets {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.muhasebe-widget {
  display: grid;
  gap: 2px;
  min-width: 5.5rem;
  padding: 10px 14px;
  border-radius: 12px;
  border: 1px solid #E2E8F0;
  background: #fff;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
  text-decoration: none;
  color: inherit;
  cursor: pointer;
  transition: border-color 0.15s ease, box-shadow 0.15s ease, transform 0.15s ease, background 0.15s ease;
}
.muhasebe-widget:hover {
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(15, 23, 42, 0.08);
}
.muhasebe-widget:focus-visible {
  outline: 2px solid #64748B;
  outline-offset: 2px;
}
.muhasebe-widget-val {
  font-size: 1.25rem;
  font-weight: 800;
  line-height: 1.1;
  font-variant-numeric: tabular-nums;
  color: #1E293B;
}
.muhasebe-widget-lbl {
  font-size: 0.68rem;
  font-weight: 650;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #64748B;
}
.muhasebe-widget.is-pending { border-color: #DBE4EE; background: linear-gradient(180deg, #F8FBFD, #fff); }
.muhasebe-widget.is-pending .muhasebe-widget-val { color: var(--accent, #1E4A6E); }
.muhasebe-widget.is-shipped { border-color: #FECACA; background: linear-gradient(180deg, #FFF8F8, #fff); }
.muhasebe-widget.is-shipped .muhasebe-widget-val { color: #B91C1C; }
.muhasebe-widget.is-archive { border-color: #E9D5FF; background: linear-gradient(180deg, #FAF5FF, #fff); }
.muhasebe-widget.is-archive .muhasebe-widget-val { color: #7E22CE; }
.muhasebe-widget.is-pending.is-active {
  border-color: #93C5FD;
  background: #EFF6FF;
  box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.18);
}
.muhasebe-widget.is-shipped.is-active {
  border-color: #FDA4AF;
  background: #FFF1F2;
  box-shadow: 0 0 0 3px rgba(244, 63, 94, 0.16);
}
.muhasebe-widget.is-archive.is-active {
  border-color: #D8B4FE;
  background: #FAF5FF;
  box-shadow: 0 0 0 3px rgba(168, 85, 247, 0.18);
}
.muhasebe-pro-alert { margin-bottom: 12px; }

.muhasebe-pro-filters {
  margin: 0 0 16px;
  padding: 14px 16px 12px;
  border: 1px solid #F3F4F6;
  border-radius: 16px;
  background: #F9FAFB;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.03);
}
.muhasebe-pro-filters-dates-grid {
  display: contents;
}
.muhasebe-pro-filters-grid {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: 12px;
}
.muhasebe-pro-filters .muhasebe-filter-field {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  gap: 6px;
  min-width: 0;
}
.muhasebe-pro-filters .muhasebe-filter-field > label,
.muhasebe-pro-filters .muhasebe-filter-range-label {
  display: block;
  height: 14px;
  font-size: 0.62rem;
  font-weight: 750;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: #64748B;
  line-height: 14px;
}
.muhasebe-pro-filters .muhasebe-filter-search {
  flex: 1 1 160px;
  min-width: 140px;
  max-width: 220px;
}
.muhasebe-pro-filters .muhasebe-filter-status {
  flex: 0 1 150px;
  min-width: 130px;
  max-width: 180px;
}
.muhasebe-pro-filters .muhasebe-filter-supplier {
  flex: 0 1 220px;
  min-width: 180px;
  max-width: 260px;
}

/* Tek standart kontrol — yükseklik/çerçeve/dikey metin eşit */
.muhasebe-pro-filters .muhasebe-ctrl,
.muhasebe-pro-filters select.muhasebe-ctrl {
  box-sizing: border-box;
  display: block;
  width: 100%;
  height: 40px;
  min-height: 40px;
  max-height: 40px;
  margin: 0;
  padding: 0 12px;
  border: 1px solid #CBD5E1;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
  font-size: 0.875rem;
  font-weight: 500;
  line-height: normal;
  color: #0F172A;
  appearance: none;
  -webkit-appearance: none;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.muhasebe-pro-filters input.muhasebe-ctrl[type="text"],
.muhasebe-pro-filters input.muhasebe-ctrl[type="search"] {
  /* WebKit: sabit height + py ile dikey ortalama */
  padding-top: 0;
  padding-bottom: 0;
  line-height: 38px;
}
.muhasebe-pro-filters select.muhasebe-ctrl {
  padding-right: 32px;
  line-height: 38px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%2364748B' d='M1 1l5 5 5-5'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 12px center;
}
.muhasebe-pro-filters .muhasebe-ctrl:hover { border-color: #94A3B8; }
.muhasebe-pro-filters .muhasebe-ctrl:focus {
  outline: none;
  border-color: #64748B;
  box-shadow: 0 0 0 3px rgba(100, 116, 139, 0.18);
}
.muhasebe-pro-filters .muhasebe-filter-dates .muhasebe-ctrl {
  width: 7.5rem;
  min-width: 7.5rem;
  max-width: 7.5rem;
  padding-left: 8px;
  padding-right: 8px;
  text-align: center;
  font-variant-numeric: tabular-nums;
  letter-spacing: 0.01em;
}

.muhasebe-filter-dates {
  display: flex;
  align-items: center;
  gap: 6px;
  height: 40px;
}
.muhasebe-filter-sep {
  color: #94A3B8;
  font-weight: 700;
  line-height: 40px;
  flex: 0 0 auto;
}

/* Tom Select = aynı 40px kutu (mor/indigo focus yok) */
.muhasebe-pro-filters .muhasebe-filter-supplier .ts-wrapper {
  width: 100% !important;
  min-width: 0 !important;
}
.muhasebe-pro-filters .muhasebe-filter-supplier .ts-wrapper.single .ts-control {
  box-sizing: border-box !important;
  height: 40px !important;
  min-height: 40px !important;
  max-height: 40px !important;
  padding: 0 36px 0 12px !important;
  border: 1px solid #CBD5E1 !important;
  border-radius: 8px !important;
  background: #fff !important;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04) !important;
  font-size: 0.875rem !important;
  line-height: 38px !important;
  gap: 6px !important;
}
.muhasebe-pro-filters .muhasebe-filter-supplier .ts-wrapper.single.focus .ts-control,
.muhasebe-pro-filters .muhasebe-filter-supplier .ts-wrapper.single .ts-control:focus-within {
  border-color: #64748B !important;
  box-shadow: 0 0 0 3px rgba(100, 116, 139, 0.18) !important;
}
.muhasebe-pro-filters .muhasebe-filter-supplier .ts-wrapper.single .ts-control::after {
  right: 12px !important;
}
.muhasebe-pro-filters .muhasebe-filter-supplier .ts-control input {
  font-size: 0.875rem !important;
  line-height: 1.25 !important;
  min-width: 5rem !important;
}
.muhasebe-pro-filters .muhasebe-filter-supplier .ts-wrapper.single.has-items:not(.dropdown-active):not(.focus) .ts-control .item {
  font-size: 0.875rem !important;
  line-height: 1.25 !important;
  margin: 0 !important;
  padding: 0 !important;
}
/* Dropdown body'ye portal olduğu için global .ts-dropdown kuralları geçerli;
   max-height zaten var — ince scrollbar */
body > .ts-dropdown .ts-dropdown-content {
  scrollbar-width: thin;
  scrollbar-color: #CBD5E1 transparent;
}

.muhasebe-pro-filter-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin-left: auto;
  height: 40px;
}
.muhasebe-filter-btn {
  box-sizing: border-box;
  min-height: 40px;
  height: 40px;
  padding: 0 14px;
  border-radius: 8px;
  font-size: 0.82rem;
  font-weight: 700;
  line-height: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.muhasebe-filter-clear {
  background: #fff;
  border: 1px solid #CBD5E1;
  color: #475569;
  text-decoration: none;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
}
.muhasebe-filter-clear:hover {
  background: #F8FAFC;
  border-color: #94A3B8;
  color: #1E293B;
}
.muhasebe-pro-result-meta {
  margin: 12px 0 0;
  padding-top: 10px;
  border-top: 1px solid #F1F5F9;
  font-size: 0.75rem;
  font-weight: 650;
  color: #64748B;
}
.muhasebe-pro-result-meta strong { color: #334155; font-weight: 800; }

.muhasebe-pro-empty {
  padding: 28px 18px;
  text-align: center;
  border: 1px dashed #CBD5E1;
  border-radius: 14px;
  background: #F8FAFC;
  color: #64748B;
}
.muhasebe-pro-empty p { margin: 0 0 12px; }

.muhasebe-pro-list {
  display: grid;
  gap: 10px;
}

.muhasebe-card {
  border: 1px solid #E2E8F0;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.03);
  transition: box-shadow 0.2s ease, border-color 0.2s ease, transform 0.35s ease, opacity 0.35s ease, max-height 0.4s ease, margin 0.35s ease, padding 0.35s ease;
  overflow: hidden;
  max-height: 200px;
}
.muhasebe-card:hover {
  border-color: #CBD5E1;
  box-shadow: 0 6px 18px rgba(15, 23, 42, 0.07);
}
.muhasebe-card.is-archive {
  box-shadow: inset 3px 0 0 #A855F7, 0 1px 2px rgba(15, 23, 42, 0.03);
}
.muhasebe-card.is-accounted {
  box-shadow: inset 3px 0 0 #10B981, 0 1px 2px rgba(15, 23, 42, 0.03);
}
.muhasebe-card.is-done-out {
  opacity: 0;
  transform: translateY(-10px);
  max-height: 0;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  border-width: 0;
  pointer-events: none;
}

.muhasebe-card-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px 16px;
  padding: 12px 14px;
  min-height: 72px;
  max-width: 100%;
  box-sizing: border-box;
}

.muhasebe-card-info {
  flex: 0 1 26%;
  min-width: 180px;
  max-width: 320px;
  display: grid;
  gap: 2px;
}
.muhasebe-card-name {
  display: block;
  font-size: 0.92rem;
  font-weight: 750;
  color: var(--ink, #142033);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.muhasebe-card-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 4px 6px;
  font-size: 0.72rem;
  color: #64748B;
  line-height: 1.3;
}
.muhasebe-meta-sep { color: #CBD5E1; }
.muhasebe-order-link {
  font-weight: 750;
  color: var(--accent, #1E4A6E);
}
.muhasebe-phone-link {
  color: #475569;
  text-decoration: none;
}
.muhasebe-phone-link:hover { color: var(--accent, #1E4A6E); }
.muhasebe-supplier-inline { color: #64748B; }
.muhasebe-card-product {
  font-size: 0.78rem;
  color: #64748B;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.muhasebe-archive-badge {
  display: inline-flex;
  justify-self: start;
  margin-top: 4px;
  padding: 2px 8px;
  border-radius: 999px;
  background: #F3E8FF;
  color: #6B21A8;
  font-size: 0.62rem;
  font-weight: 750;
}

.muhasebe-card-mid {
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 0 8px;
}

/* Kompakt yatay timeline (ana satır) */
.muhasebe-track-inline {
  list-style: none;
  margin: 0;
  padding: 0;
  width: 100%;
  max-width: 420px;
  display: flex;
  align-items: flex-start;
  gap: 0;
}
.muhasebe-track-inline .muhasebe-track-step {
  flex: 1 1 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 6px;
  padding: 0 4px;
  position: relative;
  min-width: 0;
}
.muhasebe-track-inline .muhasebe-track-step:not(:last-child)::before {
  content: '';
  position: absolute;
  left: calc(50% + 9px);
  right: calc(-50% + 9px);
  top: 6px;
  height: 1.5px;
  background: #E2E8F0;
  z-index: 0;
}
.muhasebe-track-inline .muhasebe-track-step.is-done:not(:last-child)::before {
  background: linear-gradient(90deg, #34D399, #A7F3D0);
}
.muhasebe-track-inline .muhasebe-track-step.is-ship:not(:last-child)::before,
.muhasebe-track-inline .muhasebe-track-step.is-done.is-ship:not(:last-child)::before {
  background: linear-gradient(90deg, #FB7185, #E2E8F0);
}
.muhasebe-track-inline .muhasebe-track-dot {
  width: 12px;
  height: 12px;
  border-radius: 50%;
  border: 2px solid #CBD5E1;
  background: #fff;
  box-sizing: border-box;
  z-index: 1;
  flex: 0 0 auto;
}
.muhasebe-track-inline .muhasebe-track-step.is-done .muhasebe-track-dot {
  border-color: #10B981;
  background: #10B981;
  box-shadow: 0 0 0 2px rgba(16, 185, 129, 0.16);
}
.muhasebe-track-inline .muhasebe-track-step.is-ship .muhasebe-track-dot {
  border-color: #F43F5E;
  background: #F43F5E;
  box-shadow: 0 0 0 2px rgba(244, 63, 94, 0.12);
}
.muhasebe-track-inline .muhasebe-track-step.is-acct .muhasebe-track-dot {
  border-color: #6366F1;
  background: #6366F1;
  box-shadow: 0 0 0 2px rgba(99, 102, 241, 0.16);
}
.muhasebe-track-inline .muhasebe-track-step.is-pending .muhasebe-track-dot {
  border-color: #CBD5E1;
  background: #F8FAFC;
}
.muhasebe-track-inline .muhasebe-track-body {
  display: grid;
  gap: 2px;
  width: 100%;
  justify-items: center;
  text-align: center;
  margin-top: 2px;
}
.muhasebe-track-inline .muhasebe-track-body strong {
  font-size: 0.8125rem; /* ~13px ≈ text-sm */
  font-weight: 650;
  color: #1E293B;
  letter-spacing: 0.01em;
  line-height: 1.25;
}
.muhasebe-track-inline .muhasebe-track-body > span {
  font-size: 0.75rem; /* 12px ≈ text-xs */
  color: #64748B;
  line-height: 1.3;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 100%;
}

.muhasebe-card-actions {
  flex: 1 1 auto;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  margin-left: auto;
  min-width: 0;
  max-width: 100%;
}
.muhasebe-acct-toggle {
  box-shadow: none;
  max-width: 100%;
  min-width: 0;
}
.muhasebe-acct-toggle .acct-toggle-label {
  white-space: nowrap;
}
.muhasebe-chip {
  display: inline-flex;
  align-items: center;
  padding: 4px 9px;
  border-radius: 999px;
  font-size: 0.68rem;
  font-weight: 750;
  white-space: nowrap;
}
.muhasebe-chip.is-wait {
  background: #F1F5F9;
  color: #475569;
}
.muhasebe-chip.is-alert {
  background: #FFF1F2;
  color: #BE123C;
  border: 1px solid #FECDD3;
}

.muhasebe-toast {
  position: fixed;
  right: 20px;
  bottom: 24px;
  z-index: 1200;
  display: flex;
  align-items: center;
  gap: 10px;
  max-width: min(420px, calc(100vw - 32px));
  padding: 12px 14px;
  border-radius: 12px;
  border: 1px solid #CBD5E1;
  background: #0F172A;
  color: #F8FAFC;
  box-shadow: 0 12px 32px rgba(15, 23, 42, 0.28);
  opacity: 0;
  transform: translateY(12px);
  transition: opacity 0.2s ease, transform 0.2s ease;
  pointer-events: none;
}
.muhasebe-toast.is-visible {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}
.muhasebe-toast[hidden] {
  display: none !important;
}
.muhasebe-toast-msg {
  flex: 1 1 auto;
  font-size: 0.875rem;
  font-weight: 600;
  line-height: 1.35;
}
.muhasebe-toast-undo {
  flex: 0 0 auto;
  margin: 0;
  padding: 6px 10px;
  border: 0;
  border-radius: 8px;
  background: #38BDF8;
  color: #0F172A;
  font: inherit;
  font-size: 0.78rem;
  font-weight: 800;
  cursor: pointer;
}
.muhasebe-toast-undo:hover { filter: brightness(1.05); }
.muhasebe-toast-close {
  flex: 0 0 auto;
  margin: 0;
  padding: 0 4px;
  border: 0;
  background: transparent;
  color: #94A3B8;
  font-size: 1.1rem;
  line-height: 1;
  cursor: pointer;
}
.muhasebe-toast-close:hover { color: #E2E8F0; }

.muhasebe-pro-admin {
  margin-top: 18px;
}
.muhasebe-pro-admin form { margin-top: 10px; }

@media (max-width: 900px) {
  .muhasebe-pro-filter-actions { margin-left: 0; width: 100%; }
  .muhasebe-pro-filters .muhasebe-filter-search { max-width: none; flex-basis: 100%; }
  .muhasebe-pro-filters .muhasebe-filter-status,
  .muhasebe-pro-filters .muhasebe-filter-supplier {
    flex: 1 1 calc(50% - 6px);
    min-width: 0;
    max-width: none;
  }
  .muhasebe-card-mid { display: none; }
  .muhasebe-card-info {
    flex: 1 1 auto;
    max-width: none;
    min-width: 0;
  }
}
@media (max-width: 720px) {
  .muhasebe-pro {
    padding-left: 16px;
    padding-right: 16px;
  }
  .muhasebe-pro-hero { flex-direction: column; }
  .muhasebe-pro-widgets { width: 100%; }
  .muhasebe-widget { flex: 1 1 30%; min-width: 0; }
  .muhasebe-pro-filters {
    padding: 12px 14px 10px;
    border-radius: 16px;
    background: #F9FAFB;
    border-color: #F3F4F6;
  }
  .muhasebe-pro-filters-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
    align-items: stretch;
  }
  .muhasebe-pro-filters .muhasebe-filter-search,
  .muhasebe-pro-filters .muhasebe-filter-status,
  .muhasebe-pro-filters .muhasebe-filter-supplier {
    flex: none;
    width: 100%;
    max-width: none;
  }
  .muhasebe-pro-filters-dates-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    width: 100%;
  }
  .muhasebe-pro-filters .muhasebe-filter-range {
    min-width: 0;
  }
  .muhasebe-card-row {
    flex-wrap: wrap;
    align-items: flex-start;
    gap: 10px;
    padding: 12px;
  }
  .muhasebe-card-info {
    flex: 1 1 100%;
    min-width: 0;
  }
  .muhasebe-card-product {
    white-space: normal;
    overflow: visible;
    text-overflow: unset;
    line-height: 1.35;
  }
  .muhasebe-card-actions {
    width: 100%;
    flex: 1 1 100%;
    justify-content: space-between;
    margin-left: 0;
    padding-top: 2px;
    gap: 8px;
  }
  .muhasebe-pro-filters .muhasebe-filter-dates .muhasebe-ctrl {
    flex: 1 1 0;
    width: auto;
    min-width: 0;
    max-width: none;
  }
  .muhasebe-filter-dates { width: 100%; }
  .muhasebe-pro-filter-actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
    height: auto;
  }
  .muhasebe-pro-filter-actions .muhasebe-filter-btn {
    width: 100%;
  }
}

/* —— Parçalı sevkiyat (sipariş ürün seçimi) —— */
.order-partial-ship {
  margin: 0 0 12px;
  padding: 10px 12px;
  border-radius: 10px;
  border: 1px solid #E2E8F0;
  background: linear-gradient(180deg, #F8FAFC, #fff);
}
.order-partial-ship-head {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 6px 12px;
  margin-bottom: 8px;
}
.order-partial-ship-head strong { font-size: 0.9rem; }
.order-partial-ship-bar {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: 8px;
}
.order-partial-ship-msg {
  margin: 10px 0 0;
  font-size: 0.88rem;
}
.order-partial-ship-msg.is-ok {
  color: #065F46;
  font-weight: 650;
}
.order-partial-ship-msg.is-err {
  color: #991B1B;
  font-weight: 650;
}
.order-partial-ship-msg a {
  font-weight: 800;
  margin-left: 6px;
}
.order-partial-ship-date {
  display: grid;
  gap: 3px;
  font-size: 0.65rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: #64748B;
}
.order-partial-ship-date input {
  min-height: 36px;
  height: 36px;
  font-size: 0.875rem;
  padding: 4px 8px;
  border-radius: 8px;
}
.item-line.is-ship-selectable .item-line-main {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  min-width: 0;
  flex: 1 1 auto;
}
.item-ship-check {
  flex: 0 0 auto;
  margin-top: 4px;
  cursor: pointer;
}
.item-ship-check input {
  width: 1.15rem;
  height: 1.15rem;
  accent-color: #0F172A;
}
.item-line.is-ship-picked {
  outline: 2px solid rgba(185, 28, 28, 0.35);
  outline-offset: 2px;
  border-radius: 8px;
  background: rgba(185, 28, 28, 0.04);
}
@media (max-width: 720px) {
  .order-partial-ship-bar .btn { flex: 1 1 auto; }
}

/* ── Avize yönetimi modülü ───────────────────────────── */
.lighting-badge-display-only {
  display: inline-flex;
  align-items: center;
  padding: 2px 8px;
  border-radius: 999px;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  color: #b91c1c;
  background: #fef2f2;
  border: 1px solid #fecaca;
  white-space: nowrap;
}
.lighting-kpi-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  gap: 12px;
  margin-bottom: 16px;
}
.lighting-kpi {
  padding: 14px 16px;
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.lighting-kpi-label {
  font-size: 0.78rem;
  color: var(--muted, #64748b);
}
.lighting-kpi strong {
  font-size: 1.25rem;
  font-variant-numeric: tabular-nums;
}
.lighting-kpi.is-warn strong { color: #b45309; }

/* ── Avize yönetim ekranı (premium grid) ─────────────── */
.lighting-admin-layout {
  display: grid;
  grid-template-columns: minmax(300px, 420px) 1fr;
  gap: 16px;
  align-items: start;
}
.lighting-panel {
  background: #fff;
  border: 1px solid #f1f5f9;
  border-radius: 16px;
  box-shadow: 0 4px 18px rgba(15, 23, 42, 0.05);
  padding: 20px;
}
.lighting-panel-head h2 {
  margin: 0;
  font-size: 1.05rem;
  font-weight: 700;
  letter-spacing: -0.01em;
}
.lighting-panel-sub {
  margin: 4px 0 0;
  font-size: 0.78rem;
  color: #94a3b8;
}
.lighting-form-section {
  margin-bottom: 16px;
}
.lighting-section-label {
  display: block;
  margin-bottom: 8px;
  color: #64748b;
}
.lighting-form-grid {
  display: grid;
  gap: 12px;
}
.lighting-form-grid--2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.lighting-field {
  display: flex;
  flex-direction: column;
  gap: 0;
  min-width: 0;
}
.lighting-field-full { grid-column: 1 / -1; }
.lighting-field-label {
  display: block;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #64748b;
  margin-bottom: 6px;
}
.lighting-input {
  width: 100%;
  height: 44px;
  padding: 0 14px;
  border-radius: 12px;
  border: 1px solid #e2e8f0;
  background: #f8fafc;
  font-size: 0.92rem;
  color: #0f172a;
  transition: border-color .15s ease, box-shadow .15s ease, background .15s ease;
}
.lighting-input:focus {
  outline: none;
  border-color: #3b82f6;
  background: #fff;
  box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.18);
}
.lighting-input-computed {
  background: #eff6ff;
  color: #1d4ed8;
  font-weight: 600;
  cursor: not-allowed;
  border-color: #bfdbfe;
}

/* Avize form — TomSelect tedarikçi (ürün kodu inputu ile aynı görünüm) */
.lighting-form-panel .lighting-field .ts-wrapper {
  width: 100%;
  position: relative;
}
.lighting-form-panel .lighting-field select.lighting-ts-select,
.lighting-form-panel .lighting-field select[data-lighting-select] {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
.lighting-form-panel .lighting-field .ts-wrapper.single .ts-control {
  width: 100%;
  min-height: 44px;
  height: 44px;
  padding: 0 14px !important;
  padding-right: 36px !important;
  border-radius: 12px !important;
  border: 1px solid #e2e8f0 !important;
  background: #f8fafc !important;
  box-shadow: none !important;
  font-size: 0.875rem !important;
  color: #0f172a !important;
  transition: border-color .15s ease, box-shadow .15s ease, background .15s ease;
}
.lighting-form-panel .lighting-field .ts-wrapper.single.focus .ts-control,
.lighting-form-panel .lighting-field .ts-wrapper.single.dropdown-active .ts-control,
.lighting-form-panel .lighting-field .ts-wrapper.single .ts-control:focus-within {
  border-color: #3b82f6 !important;
  background: #fff !important;
  box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.18) !important;
}
.lighting-form-panel .lighting-field .ts-control > input {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  font-size: 0.875rem !important;
  padding: 0 !important;
  min-height: 0 !important;
  height: auto !important;
  margin: 0 !important;
}
.lighting-form-panel .lighting-field .ts-wrapper.single .ts-control .item {
  font-size: 0.875rem !important;
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
.lighting-form-panel .lighting-field .ts-wrapper.plugin-clear_button.single .clear-button {
  right: 28px;
}

.lighting-finance-block {
  padding: 14px;
  border-radius: 14px;
  background: linear-gradient(180deg, #f8fafc 0%, #fff 100%);
  border: 1px solid #e2e8f0;
}
.lighting-form-actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin-top: 4px;
}
.lighting-btn-save {
  min-height: 44px;
  padding-left: 22px;
  padding-right: 22px;
  border-radius: 12px;
  font-weight: 700;
}
.lighting-form-hint {
  margin: 12px 0 0;
  font-size: 0.78rem;
  color: #94a3b8;
}

.lighting-list-head {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 16px;
}
.lighting-list-toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  gap: 10px;
  flex: 1 1 280px;
  justify-content: flex-end;
}
.lighting-bulk-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  height: 44px;
  padding: 0 16px;
  border-radius: 12px;
  border: 1px solid #e2e8f0;
  background: #fff;
  color: #374151;
  font-size: 0.875rem;
  font-weight: 600;
  cursor: pointer;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.05);
  transition: background .15s ease, border-color .15s ease;
  white-space: nowrap;
}
.lighting-bulk-btn:hover { background: #f9fafb; border-color: #d1d5db; }
.lighting-bulk-btn-icon { font-size: 1rem; line-height: 1; }

.lighting-bulk-modal[hidden] { display: none !important; }
.lighting-bulk-modal {
  position: fixed;
  inset: 0;
  z-index: 12000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
}
.lighting-bulk-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(15, 23, 42, 0.35);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
}
.lighting-bulk-dialog {
  position: relative;
  width: min(100%, 440px);
  background: #fff;
  border-radius: 20px;
  box-shadow: 0 24px 48px rgba(15, 23, 42, 0.18);
  padding: 22px;
  animation: lightingModalIn .2s ease;
}
@keyframes lightingModalIn {
  from { opacity: 0; transform: translateY(8px) scale(0.98); }
  to { opacity: 1; transform: none; }
}
.lighting-bulk-dialog-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 18px;
}
.lighting-bulk-dialog-head h3 {
  margin: 0;
  font-size: 1.05rem;
  font-weight: 700;
}
.lighting-bulk-close {
  border: 0;
  background: #f1f5f9;
  color: #64748b;
  width: 32px;
  height: 32px;
  border-radius: 8px;
  font-size: 1.25rem;
  line-height: 1;
  cursor: pointer;
}
.lighting-bulk-form { display: grid; gap: 16px; }
.lighting-bulk-field { display: grid; gap: 8px; }
.lighting-bulk-label {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #64748b;
}
.lighting-bulk-ico {
  width: 16px;
  height: 16px;
  flex-shrink: 0;
  color: #64748b;
}
.lighting-bulk-ico--calc { color: #2563eb; }
.lighting-bulk-ico--warn { color: #d97706; width: 14px; height: 14px; }

.lighting-bulk-modal select.lighting-bulk-ts-select {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  opacity: 0 !important;
  pointer-events: none !important;
}
.lighting-bulk-modal .ts-wrapper {
  width: 100%;
}
.lighting-bulk-modal .ts-wrapper.single .ts-control {
  min-height: 44px !important;
  height: 44px !important;
  padding: 0 14px !important;
  padding-right: 36px !important;
  border-radius: 12px !important;
  border: 1px solid #e2e8f0 !important;
  background: #f8fafc !important;
  box-shadow: none !important;
  font-size: 0.92rem !important;
}
.lighting-bulk-modal .ts-wrapper.single.focus .ts-control,
.lighting-bulk-modal .ts-wrapper.single.dropdown-active .ts-control {
  border-color: #2563eb !important;
  background: #fff !important;
  box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.15) !important;
}
.lighting-bulk-modal .ts-control > input {
  background: transparent !important;
  border: none !important;
  font-size: 0.92rem !important;
}

.lighting-bulk-formula-wrap {
  display: flex;
  align-items: center;
  height: 44px;
  border-radius: 12px;
  border: 1px solid #e2e8f0;
  background: #f8fafc;
  overflow: hidden;
  transition: border-color .15s ease, box-shadow .15s ease;
}
.lighting-bulk-formula-wrap:focus-within {
  border-color: #2563eb;
  background: #fff;
  box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.15);
}
.lighting-bulk-pct {
  padding: 0 0 0 14px;
  font-weight: 700;
  color: #64748b;
  font-size: 0.95rem;
}
.lighting-bulk-formula-input {
  flex: 1;
  min-width: 0;
  height: 44px;
  border: 0;
  background: transparent;
  padding: 0 14px 0 6px;
  font-size: 0.95rem;
  font-weight: 600;
  color: #0f172a;
}
.lighting-bulk-formula-input:focus { outline: none; }
.lighting-bulk-formula-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.lighting-bulk-chip {
  height: 34px;
  padding: 0 12px;
  border-radius: 999px;
  border: 1px solid #e2e8f0;
  background: #fff;
  font-size: 0.8rem;
  font-weight: 700;
  color: #2563eb;
  cursor: pointer;
  transition: background .15s ease, border-color .15s ease;
}
.lighting-bulk-chip:hover {
  background: #eff6ff;
  border-color: #bfdbfe;
}

.lighting-bulk-preview {
  padding: 14px;
  border-radius: 14px;
  background: linear-gradient(180deg, #eff6ff 0%, #f8fafc 100%);
  border: 1px solid #bfdbfe;
}
.lighting-bulk-preview-head {
  display: flex;
  align-items: center;
  gap: 8px;
  font-weight: 700;
  font-size: 0.88rem;
  color: #1e40af;
  margin-bottom: 8px;
}
.lighting-bulk-preview-line {
  margin: 0 0 6px;
  font-size: 0.88rem;
  color: #334155;
  line-height: 1.45;
}
.lighting-bulk-preview-example strong { color: #059669; }
.lighting-bulk-preview-note {
  display: flex;
  align-items: flex-start;
  gap: 6px;
  margin: 10px 0 0;
  padding-top: 10px;
  border-top: 1px solid #dbeafe;
  font-size: 0.78rem;
  color: #92400e;
  line-height: 1.4;
}

.lighting-bulk-warn {
  margin: 0;
  padding: 10px 12px;
  border-radius: 10px;
  background: #fffbeb;
  border: 1px solid #fde68a;
  color: #92400e;
  font-size: 0.82rem;
  line-height: 1.45;
}
.lighting-bulk-error {
  margin: 0;
  padding: 10px 12px;
  border-radius: 10px;
  background: #fef2f2;
  border: 1px solid #fecaca;
  color: #b91c1c;
  font-size: 0.82rem;
}
.lighting-bulk-submit {
  width: 100%;
  min-height: 48px;
  border: 0;
  border-radius: 12px;
  background: #2563eb;
  color: #fff;
  font-size: 0.95rem;
  font-weight: 700;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  transition: background .15s ease;
}
.lighting-bulk-submit:hover:not(:disabled) { background: #1d4ed8; }
.lighting-bulk-submit:disabled { opacity: 0.55; cursor: not-allowed; }
.lighting-bulk-spinner {
  width: 18px;
  height: 18px;
  border: 2px solid rgba(255,255,255,.35);
  border-top-color: #fff;
  border-radius: 999px;
  animation: lightingBulkSpin .7s linear infinite;
}
@keyframes lightingBulkSpin {
  to { transform: rotate(360deg); }
}
body.lighting-modal-open { overflow: hidden; }

.lighting-search-bar {
  display: flex;
  align-items: stretch;
  min-width: min(100%, 320px);
  flex: 1 1 240px;
  max-width: 380px;
  border: 1px solid #e2e8f0;
  border-radius: 12px;
  overflow: hidden;
  background: #f8fafc;
  transition: border-color .15s ease, box-shadow .15s ease;
}
.lighting-search-bar:focus-within {
  border-color: #3b82f6;
  background: #fff;
  box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.15);
}
.lighting-search-icon {
  display: flex;
  align-items: center;
  padding: 0 12px;
  color: #94a3b8;
  font-size: 1rem;
}
.lighting-search-input {
  flex: 1;
  min-width: 0;
  border: 0;
  background: transparent;
  height: 44px;
  padding: 0 8px 0 0;
  font-size: 0.9rem;
}
.lighting-search-input:focus { outline: none; }
.lighting-search-btn {
  border: 0;
  border-left: 1px solid #e2e8f0;
  background: #fff;
  padding: 0 16px;
  font-weight: 600;
  font-size: 0.85rem;
  color: #2563eb;
  cursor: pointer;
}
.lighting-search-btn:hover { background: #eff6ff; }

.lighting-table-wrap { overflow-x: auto; }
.lighting-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.86rem;
}
.lighting-table thead th {
  padding: 10px 12px;
  text-align: left;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  color: #94a3b8;
  border-bottom: 1px solid #e2e8f0;
  white-space: nowrap;
}
.lighting-table tbody td {
  padding: 12px;
  border-bottom: 1px solid #f1f5f9;
  vertical-align: middle;
}
.lighting-table tbody tr:hover td { background: #fafbfc; }
.lighting-table .lighting-net { font-weight: 700; color: #0f766e; }
.lighting-table tr.is-inactive { opacity: 0.5; }
.lighting-td-code strong { display: block; font-size: 0.9rem; }
.lighting-discount-tag {
  display: inline-block;
  padding: 2px 7px;
  border-radius: 6px;
  background: #f1f5f9;
  font-size: 0.78rem;
  color: #475569;
}
.lighting-edit-link {
  font-weight: 600;
  font-size: 0.82rem;
  color: #2563eb;
  text-decoration: none;
}
.lighting-edit-link:hover { text-decoration: underline; }

.lighting-empty {
  text-align: center;
  padding: 48px 20px;
}
.lighting-empty-icon {
  font-size: 2rem;
  opacity: 0.35;
  margin-bottom: 10px;
}
.lighting-empty-title {
  margin: 0 0 6px;
  font-weight: 600;
  color: #64748b;
}
.lighting-empty-text {
  margin: 0;
  font-size: 0.85rem;
  color: #94a3b8;
  max-width: 280px;
  margin-inline: auto;
}

@media (max-width: 960px) {
  .lighting-admin-layout {
    grid-template-columns: 1fr;
  }
  .lighting-list-head {
    flex-direction: column;
  }
  .lighting-list-toolbar {
    width: 100%;
    flex-direction: column;
    align-items: stretch;
  }
  .lighting-search-bar {
    max-width: none;
    width: 100%;
  }
}
@media (max-width: 520px) {
  .lighting-form-grid--2 {
    grid-template-columns: 1fr;
  }
}

.lighting-count-page {
  max-width: 480px;
  margin: 0 auto;
  padding: 12px 14px 32px;
  min-height: calc(100vh - 120px);
}
.lighting-count-header {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 18px;
}
.lighting-count-header h1 {
  margin: 0;
  font-size: 1.35rem;
}
.lighting-count-back {
  width: 40px;
  height: 40px;
  border-radius: 12px;
  border: 1px solid #e2e8f0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 1.4rem;
  text-decoration: none;
  color: inherit;
  background: #fff;
}
.lighting-count-card {
  background: #fff;
  border: 1px solid #f1f5f9;
  border-radius: 20px;
  box-shadow: 0 8px 24px rgba(15, 23, 42, 0.06);
  padding: 18px 16px 20px;
}
.lighting-count-label {
  display: block;
  font-size: 0.78rem;
  font-weight: 600;
  color: #64748b;
  margin-bottom: 8px;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
.lighting-count-code {
  width: 100%;
  height: 56px;
  font-size: 1.15rem;
  border-radius: 14px;
  border: 1px solid #e2e8f0;
  padding: 0 14px;
  margin-bottom: 0;
  transition: border-color .15s ease, box-shadow .15s ease;
}
.lighting-count-search-wrap {
  position: relative;
  margin-bottom: 12px;
}
.lighting-count-suggest {
  position: absolute;
  left: 0;
  right: 0;
  top: calc(100% + 6px);
  z-index: 50;
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 14px;
  box-shadow: 0 12px 32px rgba(15, 23, 42, 0.12);
  max-height: min(52vh, 320px);
  overflow: auto;
}
.lighting-count-suggest-item {
  display: flex;
  flex-direction: column;
  gap: 6px;
  width: 100%;
  text-align: left;
  border: 0;
  border-bottom: 1px solid #f1f5f9;
  background: #fff;
  padding: 12px 14px;
  cursor: pointer;
}
.lighting-count-suggest-item:last-child { border-bottom: 0; }
.lighting-count-suggest-item:hover,
.lighting-count-suggest-item:focus {
  background: #f8fafc;
  outline: none;
}
.lighting-count-suggest-main strong {
  display: block;
  font-size: 0.95rem;
  color: #0f172a;
}
.lighting-count-suggest-sub {
  display: block;
  font-size: 0.8rem;
  color: #64748b;
  font-style: italic;
}
.lighting-count-suggest-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  font-size: 0.75rem;
  color: #475569;
}
.lighting-count-suggest-badges span {
  padding: 2px 8px;
  border-radius: 999px;
  background: #f1f5f9;
}

.lighting-count-preview {
  margin-bottom: 14px;
  padding: 12px 14px;
  border-radius: 12px;
  background: linear-gradient(180deg, #eff6ff 0%, #f8fafc 100%);
  border: 1px solid #bfdbfe;
}
.lighting-count-preview-title {
  font-weight: 700;
  font-size: 1rem;
  color: #1e3a8a;
  margin-bottom: 2px;
}
.lighting-count-preview-sub {
  font-size: 0.82rem;
  color: #64748b;
  margin-bottom: 8px;
}
.lighting-count-preview-stock {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  font-size: 0.88rem;
  color: #334155;
}
.lighting-count-preview-stock strong { color: #0f172a; }
.lighting-count-preview-arrow { color: #94a3b8; font-weight: 700; }

.lighting-count-qty-row {
  display: grid;
  gap: 10px;
  margin-bottom: 16px;
}
.lighting-count-qty-quick {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 8px;
}
.lighting-qty-chip {
  height: 40px;
  border-radius: 10px;
  border: 1px solid #e2e8f0;
  background: #fff;
  font-weight: 700;
  font-size: 0.88rem;
  color: #2563eb;
  cursor: pointer;
  transition: background .15s ease, border-color .15s ease;
}
.lighting-qty-chip:hover {
  background: #eff6ff;
  border-color: #bfdbfe;
}
.lighting-count-qty {
  width: 100%;
  height: 48px;
  font-size: 1.1rem;
  border-radius: 12px;
  border: 1px solid #e2e8f0;
  padding: 0 14px;
  margin-bottom: 0;
}
.lighting-count-code:focus {
  outline: none;
  border-color: #2563eb;
  box-shadow: 0 0 0 4px rgba(37, 99, 235, 0.15);
}
.lighting-segment {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0;
  padding: 4px;
  background: #f1f5f9;
  border-radius: 14px;
  margin-bottom: 16px;
}
.lighting-segment-btn {
  border: 0;
  background: transparent;
  border-radius: 10px;
  padding: 12px 10px;
  font-weight: 600;
  font-size: 0.92rem;
  color: #475569;
  cursor: pointer;
}
.lighting-segment-btn.is-active {
  background: #fff;
  color: #1d4ed8;
  box-shadow: 0 2px 8px rgba(15, 23, 42, 0.08);
}
.lighting-count-submit {
  width: 100%;
  min-height: 52px;
  border-radius: 14px;
  font-size: 1rem;
  font-weight: 700;
}
.lighting-count-history {
  margin-top: 18px;
  padding: 14px 16px;
  background: #fff;
  border: 1px solid #f1f5f9;
  border-radius: 16px;
  box-shadow: 0 4px 16px rgba(15, 23, 42, 0.04);
}
.lighting-count-history-title {
  margin: 0 0 10px;
  font-size: 0.78rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: #64748b;
}
.lighting-count-history-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 8px;
}
.lighting-count-history-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 10px 12px;
  border-radius: 10px;
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  font-size: 0.82rem;
}
.lighting-count-history-text { flex: 1; min-width: 0; color: #334155; }
.lighting-count-undo {
  border: 0;
  background: transparent;
  color: #dc2626;
  font-weight: 600;
  font-size: 0.78rem;
  cursor: pointer;
  white-space: nowrap;
}
.lighting-count-undo:hover { text-decoration: underline; }
.lighting-count-product {
  margin-bottom: 14px;
  padding: 12px;
  border-radius: 12px;
  background: #f8fafc;
  border: 1px solid #e2e8f0;
}
.lighting-count-product-name { font-weight: 700; margin-bottom: 4px; }
.lighting-count-product-meta { font-size: 0.85rem; color: #64748b; }
.lighting-count-toast {
  position: fixed;
  left: 50%;
  bottom: calc(24px + env(safe-area-inset-bottom, 0px));
  transform: translateX(-50%) translateY(12px);
  opacity: 0;
  pointer-events: none;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 12px 18px;
  border-radius: 999px;
  background: #059669;
  color: #fff;
  font-weight: 600;
  box-shadow: 0 8px 24px rgba(5, 150, 105, 0.35);
  transition: opacity .25s ease, transform .25s ease;
  z-index: 1200;
}
.lighting-count-toast.is-visible {
  opacity: 1;
  transform: translateX(-50%) translateY(0);
}
.lighting-count-toast.is-err {
  background: #dc2626;
  box-shadow: 0 8px 24px rgba(220, 38, 38, 0.35);
}
.lighting-count-check {
  width: 22px;
  height: 22px;
  border-radius: 999px;
  background: rgba(255,255,255,.25);
  position: relative;
}
.lighting-count-check::after {
  content: '';
  position: absolute;
  left: 7px;
  top: 4px;
  width: 6px;
  height: 11px;
  border: solid #fff;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
  animation: lightingCheckPop .35s ease;
}
@keyframes lightingCheckPop {
  0% { transform: rotate(45deg) scale(0); opacity: 0; }
  100% { transform: rotate(45deg) scale(1); opacity: 1; }
}

.group-item-main--lighting { position: relative; }
.lighting-suggest {
  position: absolute;
  left: 0;
  right: 0;
  top: calc(100% + 4px);
  z-index: 40;
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 12px;
  box-shadow: 0 8px 24px rgba(15, 23, 42, 0.1);
  max-height: 220px;
  overflow: auto;
}
.lighting-suggest-item {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 2px;
  width: 100%;
  border: 0;
  background: transparent;
  text-align: left;
  padding: 10px 12px;
  cursor: pointer;
  border-bottom: 1px solid #f1f5f9;
}
.lighting-suggest-item:hover { background: #f8fafc; }
.lighting-suggest-item strong { font-size: 0.95rem; }
.lighting-suggest-item span { font-size: 0.82rem; color: #64748b; }
.lighting-item-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  margin-top: 6px;
  font-size: 0.82rem;
}
.lighting-meta-price { font-weight: 700; color: #0f766e; }
.lighting-meta-stock { color: #64748b; }

/* —— Yıllık izin (premium panel) —— */
.leave-page-intro { margin-bottom: 12px; }
.leave-info-banner,
.leave-publish-banner {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 0 0 24px;
  padding: 12px 16px;
  border-radius: 12px;
  background: #eff6ff;
  border: 1px solid #dbeafe;
  color: #1d4ed8;
  font-size: .875rem;
  font-weight: 550;
  line-height: 1.4;
}
.leave-info-banner-ico,
.leave-publish-banner-ico {
  display: flex;
  flex: 0 0 auto;
  color: #2563eb;
}
.leave-admin-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 24px;
}
@media (min-width: 768px) {
  .leave-admin-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (min-width: 1024px) {
  .leave-admin-grid { grid-template-columns: repeat(3, 1fr); }
}
@media (min-width: 1280px) {
  .leave-admin-grid { grid-template-columns: repeat(4, 1fr); }
}
.leave-staff-card {
  background: #fff;
  border: 1px solid #f3f4f6;
  border-radius: 16px;
  padding: 20px;
  display: flex;
  flex-direction: column;
  height: 100%;
  position: relative;
  overflow: visible;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
  transition: box-shadow .2s ease, border-color .2s ease;
}
.leave-staff-card:hover,
.leave-staff-card.is-open {
  box-shadow: 0 8px 20px rgba(15, 23, 42, 0.08);
  border-color: #e5e7eb;
}
.leave-card-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 10px;
}
.leave-card-who {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  min-width: 0;
}
.leave-card-avatar {
  width: 40px;
  height: 40px;
  flex: 0 0 auto;
  border-radius: 999px;
  background: #eff6ff;
  color: #2563eb;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  font-size: .82rem;
  letter-spacing: .02em;
}
.leave-card-id { min-width: 0; }
.leave-card-name {
  margin: 0;
  color: #1f2937;
  font-weight: 600;
  font-size: 1rem;
  line-height: 1.25;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.leave-card-role {
  margin: 3px 0 0;
  color: #9ca3af;
  font-size: .75rem;
  line-height: 1.3;
}
.leave-card-id .emp-consultant-badge { margin-top: 6px; }
.leave-vis-chip {
  flex: 0 0 auto;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  padding: 4px 10px;
  border-radius: 999px;
  background: #fffbeb;
  color: #d97706;
  line-height: 1.2;
}
.leave-vis-chip.is-on {
  background: #ecfdf5;
  color: #059669;
}
.leave-card-metrics {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-top: 24px;
  margin-bottom: 20px;
  padding-top: 16px;
  border-top: 1px solid #f9fafb;
}
.leave-card-metric {
  flex: 1;
  text-align: center;
  padding: 0 8px;
  position: relative;
}
.leave-card-metric + .leave-card-metric::before {
  content: '';
  position: absolute;
  left: 0;
  top: 4px;
  bottom: 4px;
  width: 1px;
  background: #f3f4f6;
}
.leave-card-metric span {
  display: block;
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: #9ca3af;
  font-weight: 500;
  margin-bottom: 4px;
}
.leave-card-metric strong {
  display: block;
  font-size: 1.25rem;
  font-weight: 800;
  color: #1f2937;
  letter-spacing: -0.02em;
  line-height: 1.2;
}
.leave-card-edit {
  width: 100%;
  margin-top: auto;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  background: #f9fafb;
  color: #4b5563;
  border: 1px solid #e5e7eb;
  font-family: inherit;
  font-weight: 500;
  font-size: .875rem;
  padding: 10px 12px;
  border-radius: 12px;
  cursor: pointer;
  appearance: none;
  -webkit-appearance: none;
  transition: background .15s ease, border-color .15s ease, color .15s ease;
}
.leave-card-edit:hover {
  background: #f3f4f6;
  color: #374151;
  border-color: #d1d5db;
}
.leave-card-edit svg { flex: 0 0 auto; }
.leave-proj-card {
  margin: 0 0 16px;
  background: linear-gradient(135deg, #eef2ff 0%, #eff6ff 55%, rgba(239, 246, 255, 0.5) 100%);
  border: 0;
  border-radius: 12px;
  padding: 16px;
  display: flex;
  align-items: flex-start;
  gap: 16px;
  box-shadow: 0 4px 14px rgba(99, 102, 241, 0.12);
}
.leave-proj-card[hidden] { display: none !important; }
.leave-proj-ico {
  width: 40px;
  height: 40px;
  flex: 0 0 auto;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.72);
  color: #4f46e5;
  display: flex;
  align-items: center;
  justify-content: center;
}
.leave-proj-copy { min-width: 0; }
.leave-proj-kicker {
  margin: 0;
  font-size: 11px;
  font-weight: 700;
  color: #4338ca;
  text-transform: uppercase;
  letter-spacing: .08em;
}
.leave-proj-text {
  margin: 4px 0 0;
  font-size: 14px;
  color: #1e3a8a;
  line-height: 1.45;
}
.leave-proj-text strong {
  font-weight: 700;
  color: #1d4ed8;
}
.qc-panel.leave-edit-panel {
  max-width: 560px;
  width: min(560px, 100%);
  max-height: min(90vh, 780px);
  padding: 0;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  border-radius: 20px;
}
.leave-edit-header {
  flex: 0 0 auto;
  padding: 22px 24px 14px;
  padding-right: 48px;
}
.leave-edit-header h2 { margin: 0 0 6px; }
.leave-edit-form {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  min-height: 0;
}
.leave-edit-body {
  flex: 1 1 auto;
  min-height: 0;
  overflow: auto;
  padding: 4px 20px 20px;
  background: rgba(249, 250, 251, 0.65);
}
.leave-edit-card {
  background: #fff;
  border: 1px solid #f3f4f6;
  border-radius: 12px;
  padding: 20px;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
  margin-bottom: 16px;
}
.leave-edit-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}
.leave-span-2, .leave-edit-grid .leave-span-2 { grid-column: 1 / -1; }
.leave-stat-box {
  height: 44px;
  display: flex;
  align-items: center;
  padding: 0 12px;
  border: 1px solid #e5e7eb;
  border-radius: 10px;
  background: #f8fafc;
  font-weight: 700;
  font-size: .9rem;
}
.leave-qty-input,
.leave-edit-panel input[type="number"] {
  -moz-appearance: textfield;
  appearance: textfield;
}
.leave-qty-input::-webkit-inner-spin-button,
.leave-qty-input::-webkit-outer-spin-button,
.leave-edit-panel input[type="number"]::-webkit-inner-spin-button,
.leave-edit-panel input[type="number"]::-webkit-outer-spin-button {
  -webkit-appearance: none;
  appearance: none;
  display: none;
  margin: 0;
}
.leave-remaining-label {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
}
.leave-advance-badge {
  display: inline-flex;
  align-items: center;
  background: #fef2f2;
  color: #dc2626;
  font-size: 10px;
  font-weight: 700;
  padding: 2px 8px;
  border-radius: 999px;
  text-transform: uppercase;
  letter-spacing: .08em;
  line-height: 1.4;
}
.leave-advance-badge[hidden] { display: none !important; }
.leave-qty-input.is-advance,
.leave-edit-panel input[type="number"].is-advance {
  border-color: #fca5a5;
  color: #b91c1c;
  background: #fff7ed;
  box-shadow: 0 0 0 1px rgba(249, 115, 22, 0.12);
}
.leave-qty-input.is-advance:focus,
.form-row input.leave-qty-input.is-advance:focus,
.leave-edit-panel input[type="number"].is-advance:focus {
  outline: none;
  border-color: #f97316;
  box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.22);
}
.leave-card-metric strong.is-advance { color: #dc2626; }
.leave-publish-toggle {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 12px;
  border: 1px solid #e5e7eb;
  border-radius: 14px;
  background: #fff;
  cursor: pointer;
}
.leave-publish-toggle input { position: absolute; opacity: 0; pointer-events: none; }
.leave-switch {
  width: 44px;
  height: 26px;
  border-radius: 999px;
  background: #e2e8f0;
  position: relative;
  flex: 0 0 auto;
  margin-top: 2px;
  transition: background .15s ease;
}
.leave-switch::after {
  content: '';
  position: absolute;
  top: 3px;
  left: 3px;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 1px 3px rgba(15,23,42,.2);
  transition: transform .15s ease;
}
.leave-publish-toggle input:checked + .leave-switch { background: #16a34a; }
.leave-publish-toggle input:checked + .leave-switch::after { transform: translateX(18px); }
.leave-publish-toggle strong { display: block; font-size: .92rem; }
.leave-publish-toggle em {
  display: block;
  font-style: normal;
  font-size: .8rem;
  color: #9a3412;
  margin-top: 2px;
}
.leave-edit-actions { display: none; }
.leave-edit-footer {
  position: sticky;
  bottom: 0;
  z-index: 10;
  flex: 0 0 auto;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 12px;
  padding: 16px 20px;
  background: rgba(255, 255, 255, 0.92);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border-top: 1px solid #f3f4f6;
}
.leave-edit-cancel {
  appearance: none;
  background: #fff;
  color: #374151;
  border: 1px solid #e5e7eb;
  font-family: inherit;
  font-weight: 500;
  font-size: .9rem;
  border-radius: 8px;
  padding: 8px 18px;
  cursor: pointer;
  transition: background .15s ease, border-color .15s ease;
}
.leave-edit-cancel:hover {
  background: #f9fafb;
  border-color: #d1d5db;
}
.leave-edit-save {
  appearance: none;
  background: #4f46e5;
  color: #fff;
  border: 0;
  font-family: inherit;
  font-weight: 500;
  font-size: .9rem;
  border-radius: 8px;
  padding: 8px 24px;
  cursor: pointer;
  box-shadow: 0 4px 14px rgba(99, 102, 241, 0.35);
  transition: background .15s ease, box-shadow .15s ease, transform .15s ease;
}
.leave-edit-save:hover {
  background: #4338ca;
  box-shadow: 0 6px 16px rgba(79, 70, 229, 0.4);
}
.leave-edit-save:disabled {
  opacity: .65;
  cursor: wait;
}
.leave-edit-msg { margin: 4px 0 14px; font-size: .85rem; font-weight: 650; }
.leave-edit-msg.is-err { color: #dc2626; }
.leave-timeline { margin-top: 8px; }
.leave-timeline h3 {
  margin: 0 0 14px;
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: #9ca3af;
}
.leave-timeline-list {
  list-style: none;
  margin: 0;
  padding: 0;
}
.leave-tl-empty { padding: 4px 0 8px; }
.leave-tl-item {
  display: flex;
  gap: 14px;
  position: relative;
  padding: 0 0 18px;
  border: 0;
}
.leave-tl-item:last-child { padding-bottom: 2px; }
.leave-tl-rail {
  position: relative;
  width: 12px;
  flex: 0 0 12px;
  display: flex;
  justify-content: center;
}
.leave-tl-item:not(:last-child) .leave-tl-rail::after {
  content: '';
  position: absolute;
  top: 14px;
  bottom: -4px;
  left: 50%;
  width: 1px;
  background: #e5e7eb;
  transform: translateX(-50%);
}
.leave-tl-dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #d1d5db;
  margin-top: 5px;
  flex: 0 0 auto;
  position: relative;
  z-index: 1;
  box-shadow: 0 0 0 3px #f9fafb;
}
.leave-tl-item.leave-tl-attendance .leave-tl-dot { background: #f97316; }
.leave-tl-item.is-latest .leave-tl-dot {
  background: #6366f1;
  box-shadow: 0 0 0 4px #eef2ff;
}
.leave-tl-body { min-width: 0; padding-top: 1px; }
.leave-tl-item strong { display: block; font-size: .84rem; font-weight: 650; color: #111827; }
.leave-tl-item p { margin: 3px 0 0; font-size: .75rem; color: #9ca3af; }
.leave-inline-card {
  margin-top: 8px;
  padding: 16px;
  border: 1px solid #e5e7eb;
  border-radius: 14px;
  background: #fff;
  overflow: visible;
}
.leave-inline-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 12px;
}
.leave-inline-head h3 { margin: 0; font-size: .95rem; color: #111827; }
.leave-inline-head-meta {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  justify-content: flex-end;
}
.emp-consultant-badge,
span.bg-orange-100.text-orange-800 {
  display: inline-flex;
  align-items: center;
  font-size: 0.75rem;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0.01em;
  padding: 0.25rem 0.5rem;
  border-radius: 0.25rem;
  background: #ffedd5;
  color: #9a3412;
  white-space: nowrap;
}
.leave-staff-head .emp-consultant-badge,
.leave-card-id .emp-consultant-badge { margin-top: 6px; }
.emp-col-name .emp-consultant-badge { margin-top: 4px; }
#leaveEditBadgeHost { margin-top: 8px; }
.leave-inline-warn { display: none; }
.leave-timeline-compact { max-height: 140px; margin-top: 10px; }
.leave-publish-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 16px;
  background: #fff;
  border-radius: 12px;
  border: 1px solid #f3f4f6;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
  margin-top: 0;
  margin-bottom: 16px;
}
.leave-publish-copy {
  min-width: 0;
  flex: 1 1 auto;
}
.leave-publish-copy strong {
  display: block;
  font-size: 0.9rem;
  font-weight: 700;
  color: #111827;
  letter-spacing: -0.01em;
}
.leave-publish-copy p {
  margin: 4px 0 0;
  font-size: 0.8rem;
  line-height: 1.4;
  color: #6b7280;
  font-weight: 500;
}
.leave-ios-switch {
  position: relative;
  display: inline-flex;
  flex: 0 0 auto;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}
.leave-ios-switch input {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  margin: 0;
  opacity: 0;
  cursor: pointer;
  z-index: 2;
}
.leave-ios-track {
  display: block;
  width: 51px;
  height: 31px;
  border-radius: 999px;
  background: #e5e7eb;
  position: relative;
  box-shadow: inset 0 0 0 1px rgba(15, 23, 42, 0.04);
  transition: background 0.22s ease;
}
.leave-ios-thumb {
  position: absolute;
  top: 2px;
  left: 2px;
  width: 27px;
  height: 27px;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 1px 3px rgba(15, 23, 42, 0.22), 0 1px 2px rgba(15, 23, 42, 0.12);
  transform: translateX(0);
  transition: transform 0.22s cubic-bezier(0.2, 0.8, 0.2, 1);
  pointer-events: none;
}
.leave-ios-switch input:checked + .leave-ios-track {
  background: #10b981;
}
.leave-ios-switch input:checked + .leave-ios-track .leave-ios-thumb {
  transform: translateX(20px);
}
.leave-ios-switch input:focus-visible + .leave-ios-track {
  box-shadow: 0 0 0 2px rgba(16, 185, 129, 0.35);
}
.emp-date-field {
  position: relative;
  width: 100%;
  min-width: 0;
}
.emp-date-input {
  display: block;
  width: 100%;
  height: 44px;
  min-height: 44px;
  padding: 0 42px 0 14px;
  box-sizing: border-box;
  font: inherit;
  font-size: 0.875rem;
  letter-spacing: 0.02em;
  color: #1f2937;
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 10px;
  cursor: text;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.emp-date-input::placeholder {
  color: #9ca3af;
  letter-spacing: 0;
}
.emp-date-input:hover {
  border-color: #d1d5db;
}
.emp-date-input:focus,
.emp-date-input:focus-visible {
  outline: none;
  border-color: #3b82f6;
  box-shadow: 0 0 0 2px rgba(59, 130, 246, 0.35);
}
.emp-date-field.is-open .emp-date-input {
  border-color: #3b82f6;
  box-shadow: 0 0 0 2px rgba(59, 130, 246, 0.35);
}
.emp-date-cal-btn {
  position: absolute;
  top: 50%;
  right: 6px;
  transform: translateY(-50%);
  width: 32px;
  height: 32px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 0;
  border-radius: 8px;
  background: transparent;
  color: #6b7280;
  cursor: pointer;
}
.emp-date-cal-btn:hover {
  background: #f3f4f6;
  color: #111827;
}
.emp-date-cal-btn svg {
  width: 16px;
  height: 16px;
}
.emp-date-pop {
  position: fixed;
  z-index: 6100;
  box-sizing: border-box;
  padding: 10px;
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  box-shadow: 0 18px 40px rgba(15, 23, 42, 0.16);
}
.emp-date-pop[hidden] { display: none !important; }
.emp-date-nav {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 8px;
}
.emp-date-nav strong {
  font-size: 0.88rem;
  font-weight: 700;
  color: #111827;
}
.emp-date-nav-btn {
  width: 28px;
  height: 28px;
  border: 0;
  border-radius: 8px;
  background: #f3f4f6;
  color: #374151;
  font-size: 1rem;
  line-height: 1;
  cursor: pointer;
}
.emp-date-nav-btn:hover { background: #e5e7eb; }
.emp-date-week {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  margin-bottom: 4px;
}
.emp-date-week span {
  text-align: center;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  color: #9ca3af;
  padding: 4px 0;
}
.emp-date-grid {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 2px;
}
.emp-date-day {
  height: 32px;
  border: 0;
  border-radius: 8px;
  background: transparent;
  color: #111827;
  font: inherit;
  font-size: 0.8rem;
  font-weight: 600;
  cursor: pointer;
}
.emp-date-day:hover { background: #f3f4f6; }
.emp-date-day.is-out { color: #d1d5db; font-weight: 500; }
.emp-date-day.is-today { box-shadow: inset 0 0 0 1px #93c5fd; }
.emp-date-day.is-selected {
  background: #e5e7eb;
  color: #111827;
}
.emp-date-day.is-selected:hover { background: #d1d5db; }
.leave-empty-card {
  max-width: 520px;
  margin: 12px auto;
  text-align: center;
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 20px;
  padding: 36px 28px;
  box-shadow: 0 10px 30px rgba(15,23,42,.06);
}
.leave-empty-ico {
  width: 64px;
  height: 64px;
  margin: 0 auto 14px;
  border-radius: 20px;
  display: grid;
  place-items: center;
  background: #fff7ed;
  color: #c2410c;
}
.leave-empty-card h3 { margin: 0 0 8px; }
.leave-empty-card p { margin: 0; color: #64748b; line-height: 1.5; }
.leave-dash {
  display: flex;
  flex-direction: column;
  gap: 28px;
  max-width: 560px;
  margin: 0 auto;
  background: #fff;
  border: 1px solid #f3f4f6;
  border-radius: 24px;
  padding: 36px 28px 28px;
  box-shadow: 0 8px 30px rgba(15, 23, 42, 0.05);
}
.leave-dash.is-reveal { animation: leaveReveal .45s ease; }
@keyframes leaveReveal {
  from { opacity: 0; transform: translateY(8px); }
  to { opacity: 1; transform: none; }
}
.leave-hero-ring {
  position: relative;
  width: 220px;
  height: 220px;
  margin: 0 auto;
}
.leave-hero-ring svg {
  width: 100%;
  height: 100%;
  transform: rotate(-90deg);
  overflow: visible;
}
.leave-hero-track {
  fill: none;
  stroke: #f3f4f6;
  stroke-width: 12;
}
.leave-hero-fill {
  fill: none;
  stroke: url(#leaveRingGrad);
  stroke-width: 12;
  stroke-linecap: round;
  transition: stroke-dashoffset .7s cubic-bezier(.22,1,.36,1);
}
.leave-hero-ring.is-zero .leave-hero-fill {
  stroke: #e5e7eb;
}
.leave-hero-ring.is-advance .leave-hero-fill {
  stroke: url(#leaveRingAdvance);
}
.leave-hero-core {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  pointer-events: none;
}
.leave-hero-core strong {
  font-size: 3.35rem;
  font-weight: 800;
  letter-spacing: -0.05em;
  color: #111827;
  line-height: 1;
}
.leave-hero-ring.is-zero .leave-hero-core strong { color: #9ca3af; }
.leave-hero-ring.is-advance .leave-hero-core strong {
  font-size: 2.45rem;
  color: #dc2626;
}
.leave-hero-ring.is-advance .leave-hero-core span {
  color: #ea580c;
  max-width: 7.8rem;
  letter-spacing: .08em;
}
.leave-hero-core span {
  margin-top: 10px;
  max-width: 8.5rem;
  font-size: 0.68rem;
  font-weight: 650;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: #9ca3af;
  line-height: 1.25;
}
.leave-me-proj {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  background: linear-gradient(90deg, #eff6ff 0%, #eef2ff 100%);
  border: 1px solid #e0e7ff;
  border-radius: 16px;
  padding: 20px;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
}
.leave-me-proj-ico {
  width: 44px;
  height: 44px;
  flex: 0 0 auto;
  border-radius: 14px;
  background: #e0e7ff;
  color: #4f46e5;
  display: flex;
  align-items: center;
  justify-content: center;
}
.leave-me-proj-kicker {
  margin: 0;
  font-size: 11px;
  font-weight: 700;
  color: #4f46e5;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.leave-me-proj-text {
  margin: 6px 0 0;
  font-size: 1.05rem;
  font-weight: 500;
  color: #1f2937;
  line-height: 1.4;
}
.leave-me-proj-text strong {
  font-weight: 700;
  color: #111827;
}
.leave-dash-stats {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 12px;
}
.leave-dash-stats article {
  background: #f9fafb;
  border: 1px solid #f3f4f6;
  border-radius: 16px;
  padding: 16px 14px;
  text-align: center;
}
.leave-dash-stats span {
  display: block;
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: #9ca3af;
  font-weight: 600;
}
.leave-dash-stats strong {
  display: block;
  margin-top: 6px;
  font-size: 1.12rem;
  font-weight: 700;
  color: #111827;
}
.leave-home-card {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 0 0 16px;
  padding: 14px 16px;
  border-radius: 16px;
  border: 1px solid #e5e7eb;
  background: #fff;
  text-decoration: none;
  color: inherit;
}
.leave-home-card.is-reveal { animation: leaveReveal .4s ease; }
.leave-home-card.is-empty { background: #fff7ed; border-color: #fed7aa; }
.leave-home-card.is-advance { background: #fef2f2; border-color: #fecaca; }
.leave-home-ico { color: #c2410c; display: flex; }
.leave-home-card.is-reveal .leave-home-ico { color: #15803d; }
.leave-home-card.is-advance .leave-home-ico { color: #dc2626; }
.leave-home-card strong { display: block; }
.leave-home-card span { font-size: .84rem; color: #64748b; }
@media (max-width: 640px) {
  .leave-edit-grid { grid-template-columns: 1fr; }
  .leave-dash-stats { grid-template-columns: 1fr 1fr; }
}

/* Personel düzenleme modalı: tam orta, overlay, iOS toggle, tarih seçici */
.qc-modal.emp-edit-modal {
  position: fixed !important;
  inset: 0 !important;
  z-index: 5000 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 24px !important;
  background: rgba(0, 0, 0, 0.5) !important;
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  margin: 0 !important;
  transform: none !important;
  filter: none !important;
}
.qc-modal.emp-edit-modal[hidden] {
  display: none !important;
}
.emp-edit-modal .qc-backdrop {
  position: absolute !important;
  inset: 0 !important;
  background: transparent !important;
  z-index: 0;
}
.qc-panel.emp-edit-panel {
  position: relative !important;
  z-index: 1 !important;
  width: 100% !important;
  max-width: 42rem !important;
  max-height: 90vh !important;
  overflow: hidden !important;
  margin: 0 auto !important;
  background: #fff !important;
  border-radius: 12px !important;
  box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25) !important;
  display: flex !important;
  flex-direction: column !important;
}
.emp-edit-modal .emp-edit-form {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  min-height: 0;
}
.emp-edit-modal .emp-edit-grid {
  overflow-y: auto;
  overflow-x: hidden;
  flex: 1 1 auto;
  min-height: 0;
}
.emp-edit-modal .emp-edit-footer {
  flex-shrink: 0;
  position: relative;
  z-index: 2;
}
@media (max-width: 900px) {
  .qc-modal.emp-edit-modal {
    align-items: center !important;
    justify-content: center !important;
    padding: 16px !important;
  }
  .qc-panel.emp-edit-panel {
    width: 100% !important;
    max-width: 42rem !important;
    max-height: 90vh !important;
    border-radius: 12px !important;
    padding-bottom: 0 !important;
  }
}

/* —— Akıllı İK: gün kapat / izin talebi / puantaj —— */
.att-close-banner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin: 0 0 18px;
  padding: 14px 16px;
  border-radius: 16px;
  background: linear-gradient(180deg, #ecfdf5 0%, #d1fae5 100%);
  border: 1px solid #a7f3d0;
}
.att-close-copy strong { display: block; color: #065f46; font-size: 0.95rem; }
.att-close-copy p { margin: 4px 0 0; color: #047857; font-size: 0.82rem; }
.att-close-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  height: 42px;
  padding: 0 20px;
  border: 0;
  border-radius: 12px;
  background: #059669;
  color: #fff;
  font-weight: 650;
  font-size: 0.875rem;
  box-shadow: 0 8px 20px rgba(5, 150, 105, 0.28);
  cursor: pointer;
  transition: background .15s ease, transform .12s ease;
  white-space: nowrap;
}
.att-close-btn:hover { background: #047857; }
.att-payroll-card { margin-bottom: 16px; padding: 18px 20px 12px; }
.att-payroll-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 16px;
  flex-wrap: wrap;
  margin-bottom: 14px;
}
.att-payroll-head h3 { margin: 0 0 4px; font-size: 1.05rem; }
.att-payroll-head p { margin: 0; color: #64748b; font-size: 0.84rem; max-width: 42ch; }
.att-payroll-form { display: flex; align-items: flex-end; gap: 10px; flex-wrap: wrap; }
.att-payroll-month { display: flex; flex-direction: column; gap: 4px; font-size: 0.78rem; color: #64748b; }
.att-payroll-month input { height: 40px; border-radius: 10px; border: 1px solid #e5e7eb; padding: 0 10px; }
.att-payroll-export {
  background: #111827 !important;
  color: #fff !important;
  border: 0 !important;
}
.att-payroll-table { width: 100%; border-collapse: collapse; font-size: 0.9rem; }
.att-payroll-table th, .att-payroll-table td { padding: 10px 12px; border-bottom: 1px solid #eef2f7; text-align: left; }
.att-payroll-table th { font-size: 0.75rem; text-transform: uppercase; letter-spacing: .04em; color: #64748b; }
.att-payroll-table td.is-cut { color: #b91c1c; font-weight: 700; }
.att-payroll-foot { margin: 10px 0 4px; font-size: 0.78rem; color: #94a3b8; }
.leave-req-open,
.leave-req-submit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 44px;
  padding: 0 18px;
  border: 0;
  border-radius: 12px;
  background: #111827;
  color: #fff;
  font-weight: 650;
  cursor: pointer;
}
.leave-req-open { margin: 4px auto 0; }
.leave-empty-card .leave-req-open { margin-top: 18px; }
.leave-req-list { max-width: 560px; margin: 20px auto 0; }
.leave-req-list h3 { margin: 0 0 10px; font-size: 1rem; }
.leave-req-ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.leave-req-item {
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  padding: 12px 14px;
}
.leave-req-item strong { display: block; }
.leave-req-item span { font-size: 0.82rem; color: #64748b; }
.leave-req-item.is-bekliyor { border-color: #fde68a; background: #fffbeb; }
.leave-req-item.is-onaylandi { border-color: #a7f3d0; background: #ecfdf5; }
.leave-req-item.is-reddedildi { border-color: #fecaca; background: #fef2f2; }
.leave-req-modal .leave-req-panel {
  width: min(440px, 100%);
  background: #fff;
  border-radius: 20px;
  padding: 22px 22px 18px;
}
.leave-req-dates { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin: 16px 0 12px; }
.leave-req-dates label, .leave-req-note { display: flex; flex-direction: column; gap: 6px; font-size: 0.82rem; color: #64748b; }
.leave-req-dates input, .leave-req-note textarea {
  height: 42px;
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  padding: 0 12px;
  color: #111827;
  background: #fff;
}
.leave-req-note textarea { height: auto; padding: 10px 12px; resize: vertical; }
.leave-req-smart {
  margin: 0 0 10px;
  padding: 10px 12px;
  border-radius: 10px;
  background: #eff6ff;
  color: #1d4ed8;
  font-size: 0.84rem;
}
.leave-req-msg { font-size: 0.84rem; margin: 0 0 10px; }
.leave-req-actions { display: flex; justify-content: flex-end; gap: 8px; margin-top: 8px; }
.leave-inbox {
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 16px;
  padding: 16px 18px;
  margin: 0 0 20px;
}
.leave-inbox-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; }
.leave-inbox-head h3 { margin: 0 0 4px; }
.leave-inbox-head p { margin: 0; color: #64748b; font-size: 0.84rem; }
.leave-inbox-badge {
  min-width: 28px;
  height: 28px;
  padding: 0 8px;
  border-radius: 999px;
  background: #ef4444;
  color: #fff;
  font-weight: 700;
  font-size: 0.82rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.leave-inbox-empty { margin: 12px 0 0; }
.leave-inbox-list { list-style: none; margin: 14px 0 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.leave-inbox-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  padding: 12px;
  border: 1px solid #f3f4f6;
  border-radius: 12px;
}
.leave-inbox-who strong { display: block; }
.leave-inbox-who span { font-size: 0.8rem; color: #64748b; }
.leave-inbox-actions { display: flex; gap: 8px; flex-shrink: 0; }
.leave-inbox-ok, .leave-inbox-no {
  height: 36px;
  padding: 0 12px;
  border-radius: 10px;
  border: 0;
  font-weight: 650;
  font-size: 0.82rem;
  cursor: pointer;
}
.leave-inbox-ok { background: #059669; color: #fff; }
.leave-inbox-no { background: #f3f4f6; color: #374151; }
@media (max-width: 720px) {
  .att-close-banner, .leave-inbox-item, .att-payroll-head { flex-direction: column; align-items: stretch; }
  .att-close-btn { width: 100%; justify-content: center; }
  .leave-req-dates { grid-template-columns: 1fr; }
}

/* —— Omni bildirim merkezi —— */
.nc-root { position: fixed; inset: 0; z-index: 1420; }
.nc-root[hidden] { display: none !important; }
.nc-backdrop { position: absolute; inset: 0; background: rgba(15, 23, 42, .42); backdrop-filter: blur(8px); }
.nc-drawer {
  position: absolute;
  top: 0; right: 0; bottom: 0;
  width: min(420px, 100%);
  background: #fff;
  box-shadow: -18px 0 40px rgba(15, 23, 42, .16);
  display: flex;
  flex-direction: column;
  transform: translateX(104%);
  transition: transform .28s cubic-bezier(.22, 1, .36, 1);
}
.nc-root.is-open .nc-drawer { transform: translateX(0); }
.nc-head {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding: 18px 18px 12px;
  border-bottom: 1px solid #eef2f7;
}
.nc-head h2 { margin: 0 0 4px; font-size: 1.05rem; }
.nc-head p { margin: 0; color: #64748b; font-size: .78rem; }
.nc-head-actions { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; justify-content: flex-end; }
.nc-icon-btn, .nc-send-open, .nc-send-submit {
  height: 34px;
  padding: 0 10px;
  border: 0;
  border-radius: 10px;
  font-size: .78rem;
  font-weight: 650;
  cursor: pointer;
}
.nc-icon-btn { background: #f3f4f6; color: #111827; }
.nc-close { width: 34px; padding: 0; font-size: 1.2rem; }
.nc-send-open, .nc-send-submit { background: #111827; color: #fff; }
.nc-list { flex: 1; overflow: auto; padding: 10px 12px 16px; display: flex; flex-direction: column; gap: 8px; }
.nc-item {
  border: 1px solid #eef2f7;
  border-radius: 14px;
  padding: 12px 12px 10px;
  background: #fff;
  cursor: pointer;
}
.nc-item.is-unread { background: #fff7ed; border-color: #fed7aa; }
.nc-item.nc-level-warning.is-unread { background: #fef2f2; border-color: #fecaca; }
.nc-item.nc-level-task.is-unread { background: #eff6ff; border-color: #bfdbfe; }
.nc-item-top { display: flex; justify-content: space-between; gap: 8px; margin-bottom: 4px; }
.nc-item-top time { color: #94a3b8; font-size: .72rem; }
.nc-item strong { display: block; font-size: .9rem; }
.nc-item p { margin: 6px 0 0; color: #475569; font-size: .82rem; }
.nc-actor { display: block; margin-top: 4px; color: #64748b; font-size: .75rem; }
.nc-chip {
  display: inline-flex;
  align-items: center;
  height: 20px;
  padding: 0 7px;
  border-radius: 999px;
  font-size: .68rem;
  font-style: normal;
  font-weight: 700;
}
.nc-chip--info { background: #e0f2fe; color: #0369a1; }
.nc-chip--warning { background: #fee2e2; color: #b91c1c; }
.nc-chip--task { background: #dbeafe; color: #1d4ed8; }
.nc-task-actions { display: flex; gap: 8px; margin-top: 10px; }
.nc-task-btn {
  height: 32px;
  padding: 0 12px;
  border: 0;
  border-radius: 9px;
  font-weight: 650;
  font-size: .78rem;
  cursor: pointer;
}
.nc-task-accept { background: #059669; color: #fff; }
.nc-task-done { background: #111827; color: #fff; }
.nc-item-link { display: inline-block; margin-top: 8px; font-size: .78rem; color: #2563eb; }
.nc-empty { text-align: center; color: #94a3b8; padding: 36px 12px; }
.nc-foot { padding: 12px 16px 16px; border-top: 1px solid #eef2f7; }
.nc-foot a { color: #111827; font-weight: 650; font-size: .85rem; }
.nc-send-panel { width: min(520px, 100%); background: #fff; border-radius: 22px; padding: 22px 22px 16px; }
.nc-bento { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 8px; margin: 14px 0 12px; }
.nc-bento-card {
  border: 1px solid #e5e7eb;
  border-radius: 14px;
  padding: 10px 10px 12px;
  background: #f8fafc;
  cursor: pointer;
}
.nc-bento-card input { position: absolute; opacity: 0; pointer-events: none; }
.nc-bento-card strong { display: block; font-size: .8rem; }
.nc-bento-card span { display: block; margin-top: 4px; color: #64748b; font-size: .7rem; }
.nc-bento-card.is-on { border-color: #111827; background: #111827; color: #fff; }
.nc-bento-card.is-on span { color: #d1d5db; }
.nc-field { display: flex; flex-direction: column; gap: 6px; margin: 0 0 10px; font-size: .8rem; color: #64748b; }
.nc-field input, .nc-field select, .nc-field textarea {
  height: 42px;
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  padding: 0 12px;
  color: #111827;
  background: #fff;
}
.nc-field textarea { height: auto; padding: 10px 12px; }
.nc-types { display: flex; gap: 8px; margin: 0 0 12px; }
.nc-types label {
  flex: 1;
  height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  border-radius: 10px;
  font-size: .78rem;
  font-weight: 650;
  cursor: pointer;
}
.nc-types .is-info { background: #e0f2fe; color: #0369a1; }
.nc-types .is-warn { background: #fee2e2; color: #b91c1c; }
.nc-types .is-task { background: #dbeafe; color: #1d4ed8; }
.nc-send-actions { display: flex; justify-content: flex-end; gap: 8px; margin-top: 8px; }
.nc-send-msg { font-size: .82rem; color: #b91c1c; }
.nc-meta { display: flex; align-items: center; gap: 8px; margin: 6px 0; font-size: .78rem; color: #64748b; }
#notifBellBtn.has-badge em { background: #ef4444; }
@media (max-width: 720px) {
  .nc-bento { grid-template-columns: 1fr; }
  .nc-drawer { width: 100%; }
}

