:root {
  --hb-sidebar: 236px;
  --hb-sidebar-mini: 72px;
  --hb-topbar: 56px;
  --hb-content: 1680px;
  --hb-bg: #f3f6fa;
  --hb-card: #ffffff;
  --hb-soft: #f8fafc;
  --hb-soft-blue: #f2f6fc;
  --hb-text: #1a273b;
  --hb-text-2: #3a4960;
  --hb-muted: #75829a;
  --hb-line: #dce5ef;
  --hb-line-strong: #c7d4e3;
  --hb-navy-950: #0b1d32;
  --hb-navy-900: #102a43;
  --hb-navy-800: #173a61;
  --hb-blue: #2d67b2;
  --hb-green: #18784f;
  --hb-red: #bd3d3d;
  --hb-amber: #956411;
  --hb-radius: 10px;
  --hb-radius-lg: 14px;
  --hb-shadow: 0 5px 18px rgba(15, 42, 72, .045);
  --hb-shadow-lg: 0 22px 64px rgba(8, 27, 48, .18);
  --hb-control: 38px;

  /* Eski sınıflarla uyumluluk */
  --lacivert-950: var(--hb-navy-950);
  --lacivert-900: var(--hb-navy-900);
  --lacivert-800: var(--hb-navy-800);
  --mavi-600: var(--hb-blue);
  --mavi-500: #3b82f6;
  --mavi-100: #eaf2ff;
  --zemin: var(--hb-bg);
  --kart: var(--hb-card);
  --metin: var(--hb-text);
  --metin-2: var(--hb-text-2);
  --soluk: var(--hb-muted);
  --cizgi: var(--hb-line);
  --cizgi-koyu: var(--hb-line-strong);
  --yesil: var(--hb-green);
  --yesil-bg: #ecf8f1;
  --kirmizi: var(--hb-red);
  --kirmizi-bg: #fff2f2;
  --sari: var(--hb-amber);
  --sari-bg: #fff8e8;
  --golge: var(--hb-shadow);
  --golge-2: var(--hb-shadow-lg);
  --r: var(--hb-radius);
  --r2: var(--hb-radius-lg);
  --yan: var(--hb-sidebar);
  --ust: var(--hb-topbar);
  --icerik: var(--hb-content);
  --navy: var(--hb-navy-800);
  --navy2: var(--hb-navy-950);
  --blue: var(--hb-blue);
  --bg: var(--hb-bg);
  --card: var(--hb-card);
  --text: var(--hb-text);
  --muted: var(--hb-muted);
  --line: var(--hb-line);
  --danger: var(--hb-red);
  --success: var(--hb-green);
  --warn: var(--hb-amber);
  --shadow: var(--hb-shadow);
  --radius: var(--hb-radius);
}

* { box-sizing: border-box; }
html { font-size: 14px; overflow-x: hidden; scrollbar-gutter: stable; }
body {
  margin: 0;
  background: var(--hb-bg);
  color: var(--hb-text);
  font-family: "Segoe UI Variable", "Segoe UI", Inter, system-ui, -apple-system, BlinkMacSystemFont, Arial, sans-serif;
  font-size: 13px;
  line-height: 1.45;
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
a { color: #1c5fa7; text-decoration: none; }
a:hover { color: #123f71; }
button, input, select, textarea { font: inherit; color: inherit; }
button { border: 0; }
img, svg { max-width: 100%; }
svg { display: block; }
[hidden] { display: none !important; }
::selection { background: #dbeafe; color: #172235; }
.app { min-height: 100vh; }

/* =========================
   ANA İSKELET / MENÜ
   ========================= */
.sidebar {
  position: fixed;
  inset: 0 auto 0 0;
  z-index: 90;
  width: var(--hb-sidebar);
  padding: 12px 10px 18px;
  overflow-y: auto;
  overflow-x: hidden;
  color: #fff;
  background: linear-gradient(180deg, #0b1e34 0%, #102d4e 58%, #173a61 100%);
  box-shadow: 1px 0 0 rgba(255, 255, 255, .03);
  scrollbar-width: thin;
  scrollbar-color: rgba(255, 255, 255, .22) transparent;
  transition: width .2s ease, transform .2s ease;
}
.sidebar::-webkit-scrollbar { width: 5px; }
.sidebar::-webkit-scrollbar-thumb { background: rgba(255, 255, 255, .22); border-radius: 999px; }
.brand {
  height: 48px;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 0 8px 10px;
  color: #fff;
  font-size: 15px;
  font-weight: 800;
  letter-spacing: -.01em;
  white-space: nowrap;
}
.brand-badge {
  width: 34px;
  height: 34px;
  flex: 0 0 34px;
  display: grid;
  place-items: center;
  border-radius: 9px;
  background: #fff;
  color: #163755;
  font-size: 12px;
  font-weight: 900;
  box-shadow: 0 8px 20px rgba(0, 0, 0, .15);
}
.brand-text { overflow: hidden; text-overflow: ellipsis; }
.nav-section {
  padding: 14px 10px 5px;
  color: #a7bed7;
  font-size: 9px;
  line-height: 1;
  letter-spacing: .13em;
  text-transform: uppercase;
  font-weight: 800;
  white-space: nowrap;
}
.nav-link {
  min-height: 37px;
  display: flex;
  align-items: center;
  gap: 9px;
  margin: 2px 0;
  padding: 7px 9px;
  border-radius: 9px;
  color: #e6eef8;
  font-size: 12px;
  font-weight: 650;
  white-space: nowrap;
  transition: background .15s ease, color .15s ease, transform .15s ease;
}
.nav-link:hover { background: rgba(255, 255, 255, .085); color: #fff; transform: translateX(1px); }
.nav-link.active {
  background: linear-gradient(90deg, rgba(255, 255, 255, .17), rgba(255, 255, 255, .08));
  color: #fff;
  box-shadow: inset 3px 0 0 #d8eafe;
}
.nav-icon { width: 20px; height: 20px; flex: 0 0 20px; display: grid; place-items: center; color: #cfe0f3; }
.nav-icon svg { width: 17px; height: 17px; stroke: currentColor; }
.nav-label { overflow: hidden; text-overflow: ellipsis; }
.sidebar-footer { margin-top: 14px; padding: 10px 8px 0; border-top: 1px solid rgba(255,255,255,.09); font-size: 9.5px; color: #9fb6cf; }
.sidebar-overlay { display: none; position: fixed; inset: 0; z-index: 85; background: rgba(7, 20, 36, .38); backdrop-filter: blur(2px); }

.content { margin-left: var(--hb-sidebar); min-height: 100vh; transition: margin-left .2s ease; }
.topbar {
  position: sticky;
  top: 0;
  z-index: 70;
  height: var(--hb-topbar);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 0 18px;
  background: rgba(255, 255, 255, .96);
  border-bottom: 1px solid var(--hb-line);
  box-shadow: 0 1px 0 rgba(15, 42, 72, .02);
  backdrop-filter: blur(14px);
}
.topbar-left { display: flex; align-items: center; gap: 9px; min-width: 0; }
.top-title { color: #25374f; font-size: 12.5px; font-weight: 800; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.top-kicker { color: var(--hb-muted); font-size: 9px; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; }
.sidebar-toggle, .mobile-menu {
  width: 34px;
  height: 34px;
  min-width: 34px;
  padding: 0;
  display: inline-grid;
  place-items: center;
  background: #fff;
  border: 1px solid var(--hb-line-strong);
  border-radius: 9px;
  color: #33445c;
  cursor: pointer;
  transition: .15s ease;
}
.sidebar-toggle:hover, .mobile-menu:hover { background: #f7f9fc; border-color: #b9c8da; }
.sidebar-toggle svg, .mobile-menu svg { width: 17px; height: 17px; }
.mobile-menu { display: none; }
.user-chip { display: flex; align-items: center; gap: 8px; min-width: 0; color: var(--hb-muted); font-size: 10.5px; }
.user-avatar { width: 32px; height: 32px; flex: 0 0 32px; display: grid; place-items: center; border-radius: 9px; background: #eaf2fd; color: #173b63; font-size: 12px; font-weight: 900; }
.user-chip-copy { min-width: 0; }
.user-chip b { display: block; max-width: 180px; color: #39495f; font-size: 11.5px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.user-links { display: flex; align-items: center; gap: 5px; margin-top: 1px; white-space: nowrap; }
.user-links a { color: #617087; font-size: 9.5px; font-weight: 700; }
.user-links a:hover { color: #1b5ea9; }
.user-links .dot { color: #b2bdca; }
.main { padding: 18px 20px 32px; }
.page-shell { width: min(100%, var(--hb-content)); margin: 0 auto; }
.app.sidebar-collapsed .sidebar { width: var(--hb-sidebar-mini); }
.app.sidebar-collapsed .content { margin-left: var(--hb-sidebar-mini); }
.app.sidebar-collapsed .brand-text,
.app.sidebar-collapsed .nav-label,
.app.sidebar-collapsed .nav-section,
.app.sidebar-collapsed .sidebar-footer { display: none; }
.app.sidebar-collapsed .brand { justify-content: center; padding-left: 0; padding-right: 0; }
.app.sidebar-collapsed .nav-link { justify-content: center; padding-left: 0; padding-right: 0; }
.app.sidebar-collapsed .nav-icon { width: 34px; flex-basis: 34px; }

/* =========================
   SAYFA BAŞLIĞI
   ========================= */
.page-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
  margin: 0 0 14px;
}
.page-head > div:first-child { min-width: 0; }
.page-head h1 {
  margin: 0;
  color: #14233a;
  font-size: 20px;
  line-height: 1.2;
  font-weight: 800;
  letter-spacing: -.02em;
}
.page-head p { max-width: 860px; margin: 4px 0 0; color: var(--hb-muted); font-size: 11.5px; line-height: 1.5; }
.actions { display: flex; align-items: center; gap: 7px; flex-wrap: wrap; }
.actions-end { justify-content: flex-end; }
.right { text-align: right; }
.nowrap { white-space: nowrap; }
.muted { color: var(--hb-muted); }
.mono { font-family: "Cascadia Mono", Consolas, "SFMono-Regular", monospace; }
.num { text-align: right; font-variant-numeric: tabular-nums; }
.text-center { text-align: center; }
.kpi-positive { color: var(--hb-green) !important; }
.kpi-negative { color: var(--hb-red) !important; }
.overdue { color: var(--hb-red); font-weight: 800; }

/* =========================
   KART / GRID
   ========================= */
.grid { display: grid; gap: 12px; min-width: 0; }
.grid > * { min-width: 0; }
.grid-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.grid-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.grid-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.card, .form-section {
  min-width: 0;
  background: var(--hb-card);
  border: 1px solid var(--hb-line);
  border-radius: var(--hb-radius-lg);
  box-shadow: var(--hb-shadow);
  padding: 14px;
}
.card-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; margin-bottom: 11px; }
.card-head > div { min-width: 0; }
.section-title { margin: 0; color: #1d2d43; font-size: 14px; line-height: 1.3; font-weight: 800; letter-spacing: -.01em; }
.section-sub, .form-note { color: var(--hb-muted); font-size: 10px; line-height: 1.45; }
.section-sub { margin-top: 3px; }
.divider, .hr-soft { height: 1px; border: 0; background: var(--hb-line); margin: 13px 0; }
.split, .module-grid { display: grid; grid-template-columns: minmax(0, 1fr) 360px; gap: 12px; align-items: start; }
.section-card { margin-bottom: 12px; }
.panel-start, .align-self-start { align-self: start; }

/* =========================
   FORM SİSTEMİ
   ========================= */
.form-grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 10px 12px; }
.col-2 { grid-column: span 2; }
.col-3 { grid-column: span 3; }
.col-4 { grid-column: span 4; }
.col-6 { grid-column: span 6; }
.col-8 { grid-column: span 8; }
.col-12, .col-all, .full-span { grid-column: 1 / -1; }
.col-span-2, .span-2 { grid-column: span 2; }
.form-stack { display: flex; flex-direction: column; gap: 10px; }
.form-row-gap { row-gap: 10px; }
.form-toolbar { display: flex; align-items: flex-end; gap: 8px; flex-wrap: wrap; }
.form-narrow { max-width: 560px; }
.field { display: flex; flex-direction: column; gap: 5px; min-width: 0; }
.field > * { min-width: 0; }
.field label, label.field { color: #3b4c63; font-size: 10.5px; line-height: 1.25; font-weight: 760; }
.field-hint { color: var(--hb-muted); font-size: 9.5px; line-height: 1.4; }

/* type belirtilmeyen inputlar dahil tüm gerçek form kontrolleri */
input:not([type]),
input[type="text"],
input[type="password"],
input[type="date"],
input[type="datetime-local"],
input[type="number"],
input[type="email"],
input[type="tel"],
input[type="search"],
input[type="url"],
input[type="time"],
input[type="month"],
select,
textarea,
.input {
  width: 100%;
  min-width: 0;
  height: var(--hb-control);
  min-height: var(--hb-control);
  padding: 8px 11px;
  border: 1px solid var(--hb-line-strong);
  border-radius: 9px;
  background: #fff;
  color: var(--hb-text);
  font-size: 12px;
  line-height: 1.2;
  outline: none;
  box-shadow: 0 0 0 0 rgba(45, 103, 178, 0);
  transition: border-color .14s ease, box-shadow .14s ease, background .14s ease;
}
input:not([type]):hover,
input[type="text"]:hover,
input[type="password"]:hover,
input[type="date"]:hover,
input[type="datetime-local"]:hover,
input[type="number"]:hover,
input[type="email"]:hover,
input[type="tel"]:hover,
input[type="search"]:hover,
input[type="url"]:hover,
input[type="time"]:hover,
select:hover,
textarea:hover,
.input:hover { border-color: #afc0d3; }
input:not([type]):focus,
input[type="text"]:focus,
input[type="password"]:focus,
input[type="date"]:focus,
input[type="datetime-local"]:focus,
input[type="number"]:focus,
input[type="email"]:focus,
input[type="tel"]:focus,
input[type="search"]:focus,
input[type="url"]:focus,
input[type="time"]:focus,
select:focus,
textarea:focus,
.input:focus { border-color: #6f9bcf; box-shadow: 0 0 0 3px rgba(45, 103, 178, .10); }
input::placeholder, textarea::placeholder { color: #929dae; opacity: 1; }
input[readonly], textarea[readonly], select[disabled], input[disabled], textarea[disabled] {
  background: #f5f7fa;
  color: #5e6c80;
  border-color: #d6dee8;
  cursor: default;
}
input[type="hidden"] { display: none; }
input[type="checkbox"], input[type="radio"] { accent-color: var(--hb-blue); }
select {
  padding-right: 32px;
  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='%23627084' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 10px center;
  background-size: 14px 14px;
}
select[disabled] { background-image: none; }
textarea { height: auto; min-height: 92px; resize: vertical; line-height: 1.5; padding-top: 10px; padding-bottom: 10px; }
.num-input, .money-input, .qty-input { text-align: right; font-variant-numeric: tabular-nums; }
.readonly-amount {
  height: var(--hb-control);
  min-height: var(--hb-control);
  display: flex;
  align-items: center;
  justify-content: flex-end;
  padding: 0 11px;
  border: 1px solid #d6e0ea;
  border-radius: 9px;
  background: #f7f9fc;
  color: #1f2e44;
  font-size: 12px;
  font-weight: 800;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}
.readonly-panel {
  min-height: var(--hb-control);
  display: flex;
  align-items: center;
  padding: 8px 11px;
  border: 1px solid #d8e2ed;
  border-radius: 9px;
  background: #f7f9fc;
  color: #516079;
  font-size: 11px;
  font-weight: 700;
}
.checkbox-line, .check-line { display: flex; align-items: center; gap: 8px; min-height: var(--hb-control); color: #415169; font-size: 11px; font-weight: 650; }
.checkbox-line input, .check-line input { width: 16px; height: 16px; min-height: 16px; flex: 0 0 16px; }
.check-list { display: flex; flex-direction: column; }
.check-item { display: flex; align-items: flex-start; gap: 8px; padding: 9px 0; border-bottom: 1px solid #edf1f5; }
.check-item:last-child { border-bottom: 0; }
.check-item input { width: 16px; height: 16px; margin-top: 2px; }
.check-item-title { font-size: 11px; font-weight: 760; }
.check-item-sub { margin-top: 1px; color: var(--hb-muted); font-size: 9.5px; }

/* =========================
   BUTONLAR
   ========================= */
.btn {
  min-height: 36px;
  padding: 7px 12px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  border: 1px solid transparent;
  border-radius: 9px;
  background: var(--hb-navy-800);
  color: #fff;
  font-size: 10.8px;
  line-height: 1.15;
  font-weight: 780;
  cursor: pointer;
  white-space: nowrap;
  text-decoration: none;
  transition: transform .12s ease, box-shadow .12s ease, filter .12s ease, background .12s ease;
}
.btn:hover { color: #fff; transform: translateY(-1px); box-shadow: 0 5px 13px rgba(17, 48, 82, .13); filter: brightness(1.03); }
.btn:active { transform: none; }
.btn:focus-visible { outline: 3px solid rgba(40, 103, 199, .18); outline-offset: 2px; }
.btn:disabled, .btn.is-loading { opacity: .58; cursor: not-allowed; transform: none; box-shadow: none; pointer-events: none; }
.btn-secondary { background: #fff; color: #26466e; border-color: #cbd7e5; box-shadow: none; }
.btn-secondary:hover { color: #173b63; background: #f7f9fc; }
.btn-success { background: var(--hb-green); }
.btn-danger { background: var(--hb-red); }
.btn-warn { background: var(--hb-amber); }
.btn-sm { min-height: 32px; padding: 5px 9px; border-radius: 8px; font-size: 10px; }
.btn-block { width: 100%; }
.btn-icon { width: 36px; min-width: 36px; height: 36px; padding: 0; }
.btn-icon svg { width: 14px; height: 14px; }
.btn .spinner-mini { width: 12px; height: 12px; border: 2px solid rgba(255,255,255,.35); border-top-color: #fff; border-radius: 50%; animation: spin .75s linear infinite; }

/* =========================
   ARAÇ ÇUBUĞU / FİLTRELER
   ========================= */
.toolbar { display: flex; align-items: flex-end; gap: 8px; flex-wrap: wrap; min-width: 0; }
.toolbar .field { min-width: 140px; }
.filter-card { padding: 11px 12px; margin-bottom: 12px; }
.filter-card .search-field { flex: 1 1 360px; }
.filter-card .field.compact { flex: 0 1 190px; }
.toolbar-actions { display: flex; gap: 7px; align-items: flex-end; flex-wrap: wrap; }
.sync-panel { display: flex; align-items: flex-end; gap: 8px; padding: 10px 11px; background: #fff; border: 1px solid var(--hb-line); border-radius: 11px; box-shadow: var(--hb-shadow); }
.sync-panel .field { width: 145px; }

/* =========================
   TABLOLAR
   ========================= */
.table-wrap {
  width: 100%;
  overflow: auto;
  background: #fff;
  border: 1px solid var(--hb-line);
  border-radius: 11px;
  box-shadow: 0 3px 12px rgba(19, 49, 83, .028);
  overscroll-behavior-inline: contain;
  scrollbar-width: thin;
  scrollbar-color: #c8d3e0 transparent;
}
.table-wrap::-webkit-scrollbar { height: 8px; width: 8px; }
.table-wrap::-webkit-scrollbar-thumb { background: #c8d3e0; border-radius: 999px; }
.table { width: 100%; min-width: 760px; border-collapse: separate; border-spacing: 0; }
.table.compact, .table-min-0 { min-width: 0 !important; }
.table th {
  position: sticky;
  top: 0;
  z-index: 2;
  padding: 9px 10px;
  background: #f7f9fc;
  border-bottom: 1px solid var(--hb-line);
  color: #607087;
  font-size: 9.5px;
  font-weight: 820;
  text-align: left;
  white-space: nowrap;
  letter-spacing: .012em;
}
.table td { padding: 9px 10px; border-bottom: 1px solid #edf1f6; color: #29384d; font-size: 11px; vertical-align: middle; }
.table tr:last-child td { border-bottom: 0; }
.table tbody tr { transition: background .12s ease; }
.table tbody tr:hover td { background: #fbfcfe; }
.table td.wrap { white-space: normal; overflow-wrap: anywhere; }
.table .cell-main { font-weight: 760; color: #1f2d43; }
.table .cell-sub { margin-top: 2px; color: var(--hb-muted); font-size: 9.4px; line-height: 1.35; }
.table-actions { display: flex; align-items: center; gap: 5px; flex-wrap: wrap; }
.table-link { font-weight: 760; }
.document-cell .mono { margin-top: 2px; color: #8793a4; font-size: 8.9px; }
.empty-state { text-align: center; padding: 30px 18px !important; color: var(--hb-muted) !important; font-size: 10.8px; }
.empty-state strong { display: block; color: #4a5a70; font-size: 11.5px; margin-bottom: 3px; }

/* =========================
   BADGE / UYARI
   ========================= */
.badge { display: inline-flex; align-items: center; min-height: 23px; padding: 3px 7px; border-radius: 999px; background: #eef2f6; color: #56657a; font-size: 9px; font-weight: 800; white-space: nowrap; }
.badge-blue { background: #eaf2fd; color: #235b9e; }
.badge-success { background: #eaf7f0; color: #167249; }
.badge-danger { background: #fff0f0; color: #a93434; }
.badge-warn { background: #fff6df; color: #86580a; }
.alert { padding: 10px 12px; border: 1px solid #dce5ef; border-radius: 10px; background: #f8fafc; color: #44556b; font-size: 10.5px; line-height: 1.5; }
.alert + .alert { margin-top: 8px; }
.alert-info { background: #eef5ff; border-color: #cbdcf4; color: #28558d; }
.alert-success { background: #edf8f2; border-color: #cce9d9; color: #1c6a48; }
.alert-danger { background: #fff1f1; border-color: #efcccc; color: #963737; }
.alert-warning { background: #fff8e9; border-color: #eed7a2; color: #7a5713; }
.inline-note { min-height: var(--hb-control); display: flex; align-items: center; padding: 9px 11px; border: 1px solid #dbe5ef; border-radius: 9px; background: #f8fafc; color: #607087; font-size: 10px; line-height: 1.45; }
.compact-note { margin: 0; color: var(--hb-muted); font-size: 10px; line-height: 1.5; }
.status-note { color: var(--hb-muted); font-size: 10px; }

/* =========================
   DASHBOARD / ÖZET
   ========================= */
.dashboard-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin-bottom: 12px; }
.dashboard-lower { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(320px, .6fr); gap: 12px; }
.quick-action-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; }
.stat { min-height: 80px; display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.stat-label { color: #6d7c91; font-size: 9.5px; font-weight: 800; letter-spacing: .035em; text-transform: uppercase; }
.stat-value { margin-top: 4px; color: #1a2b43; font-size: 18px; line-height: 1.12; font-weight: 850; letter-spacing: -.02em; overflow-wrap: anywhere; font-variant-numeric: tabular-nums; }
.stat-sub { margin-top: 4px; color: var(--hb-muted); font-size: 9.5px; line-height: 1.35; }
.metric-card { position: relative; overflow: hidden; }
.metric-card::after { content: ""; position: absolute; right: -24px; top: -30px; width: 84px; height: 84px; border-radius: 50%; background: linear-gradient(145deg, rgba(40,103,199,.07), rgba(40,103,199,0)); pointer-events: none; }
.metric-icon { width: 30px; height: 30px; flex: 0 0 30px; border-radius: 8px; display: grid; place-items: center; background: #edf4fd; color: #235b9e; font-size: 11px; font-weight: 900; }
.invoice-summary { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; }
.invoice-summary.five { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.summary-box { min-width: 0; padding: 9px 10px; border: 1px solid #e0e7f0; border-radius: 9px; background: #f9fbfd; }
.summary-box span { display: block; color: #738199; font-size: 9.5px; line-height: 1.3; }
.summary-box b { display: block; margin-top: 4px; color: #15253d; font-size: 14px; line-height: 1.15; font-weight: 850; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.summary-box.highlight { background: #eef5ff; border-color: #cddff5; }
.summary-box.warning { grid-column: 1 / -1; background: #fff8e9; border-color: #edd49a; }
.detail-main { margin-top: 5px; color: #24354c; font-size: 12.5px; font-weight: 800; line-height: 1.35; overflow-wrap: anywhere; }
.detail-emphasis { margin-top: 6px; color: #1d2f47; font-size: 13px; font-weight: 850; font-variant-numeric: tabular-nums; }

/* =========================
   HIZLI SATIŞ / ALIŞ
   ========================= */
.sale-meta-grid, .purchase-meta { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.line-items-card { margin-bottom: 12px; }
.line-items-head {
  display: grid;
  grid-template-columns: minmax(280px, 2.4fr) 90px 118px 100px 76px 120px 38px;
  gap: 8px;
  padding: 0 8px 6px;
  color: #728097;
  font-size: 8.8px;
  font-weight: 820;
  text-transform: uppercase;
  letter-spacing: .04em;
}
.sale-row, .purchase-row {
  display: grid;
  grid-template-columns: minmax(280px, 2.4fr) 90px 118px 100px 76px 120px 38px;
  gap: 8px;
  align-items: start;
  width: 100%;
  padding: 8px;
  margin-bottom: 7px;
  border: 1px solid #e0e7f0;
  border-radius: 10px;
  background: #fbfcfe;
}
.sale-row > *, .purchase-row > * { min-width: 0; }
.sale-row .field label, .purchase-row .field label { display: none; }
.sale-row input, .sale-row select, .purchase-row input, .purchase-row select, .sale-row .readonly-amount, .purchase-row .readonly-amount { height: 38px; min-height: 38px; }
.sale-row .qty, .sale-row .price, .sale-row .disc, .sale-row .tax,
.purchase-row .qty, .purchase-row .price, .purchase-row .disc, .purchase-row .tax { text-align: right; font-variant-numeric: tabular-nums; }
.sale-row .rowStock, .purchase-row .productMeta { min-height: 16px; padding: 2px 2px 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; font-size: 9px; }
.sale-row > .removeRow, .purchase-row > button { margin-top: 1px; }
.sale-bottom-grid { display: grid; grid-template-columns: minmax(0, 1fr) 350px; gap: 12px; align-items: start; }
.sticky-summary { position: sticky; top: calc(var(--hb-topbar) + 12px); }
.cari-info { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 7px; margin-top: 8px; }
.mini-info { padding: 8px 9px; border: 1px solid #e0e7f0; border-radius: 9px; background: #f8fafc; }
.mini-info span { display: block; color: #7b8798; font-size: 8.8px; }
.mini-info b { display: block; margin-top: 2px; font-size: 10.5px; font-variant-numeric: tabular-nums; }
.payment-mode-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 7px; margin: 7px 0 11px; }
.payment-mode { position: relative; min-width: 0; }
.payment-mode input { position: absolute; opacity: 0; pointer-events: none; }
.payment-mode label { min-height: 62px; display: flex; flex-direction: column; justify-content: center; padding: 9px 10px; border: 1px solid #d7e1ec; border-radius: 9px; background: #fff; color: #2c3d54; font-size: 10.5px; font-weight: 800; cursor: pointer; transition: .14s ease; }
.payment-mode label small { display: block; margin-top: 3px; color: #79869a; font-size: 8.8px; font-weight: 500; line-height: 1.32; }
.payment-mode input:checked + label { border-color: #75a0d4; background: #f0f6ff; box-shadow: 0 0 0 2px rgba(40,103,199,.06); }
.payment-list-head {
  display: grid;
  grid-template-columns: minmax(170px, 1.05fr) 118px minmax(150px, .92fr) minmax(180px, 1.2fr) 38px;
  gap: 8px;
  padding: 0 8px 6px;
  color: #728097;
  font-size: 8.8px;
  font-weight: 820;
  text-transform: uppercase;
  letter-spacing: .04em;
}
.payment-list-head > * { min-width: 0; }
.payment-row {
  display: grid;
  grid-template-columns: minmax(170px, 1.05fr) 118px minmax(150px, .92fr) minmax(180px, 1.2fr) 38px;
  gap: 8px;
  align-items: start;
  width: 100%;
  padding: 8px;
  margin-bottom: 7px;
  border: 1px solid #e1e8f1;
  border-radius: 10px;
  background: #fbfcfe;
  overflow: visible;
}
.payment-row > * { min-width: 0; }
.payment-row .field label { display: none; }
.payment-row input, .payment-row select { height: 38px; min-height: 38px; }
.payment-row .pay { text-align: right; font-variant-numeric: tabular-nums; }
.payment-row > button { margin-top: 1px; }
.payment-actions { display: flex; gap: 7px; align-items: center; flex-wrap: wrap; margin-top: 8px; }
.purchase-summary-note { margin-top: 8px; }

/* =========================
   AJAX LOOKUP
   ========================= */
.lookup { position: relative; min-width: 0; }
.lookup-control { position: relative; }
.lookup-control input { padding-right: 34px; }
.lookup-clear { position: absolute; right: 6px; top: 50%; transform: translateY(-50%); width: 26px; height: 26px; display: grid; place-items: center; border-radius: 7px; background: transparent; color: #7d899a; cursor: pointer; font-size: 15px; }
.lookup-clear:hover { background: #edf2f7; color: #44536a; }
.lookup-menu { position: absolute; left: 0; right: 0; top: calc(100% + 5px); z-index: 120; max-height: 310px; overflow: auto; padding: 4px; border: 1px solid #ccd7e4; border-radius: 10px; background: #fff; box-shadow: 0 16px 38px rgba(15,42,72,.17); }
.lookup-item { width: 100%; display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 8px 9px; border-radius: 8px; background: #fff; color: #25364c; text-align: left; cursor: pointer; }
.lookup-item:hover, .lookup-item.active { background: #f0f6ff; }
.lookup-main { min-width: 0; font-size: 10.8px; font-weight: 760; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.lookup-sub { margin-top: 1px; color: #7b8798; font-size: 9px; font-weight: 500; }
.lookup-meta { flex: 0 0 auto; color: #526179; font-size: 9px; font-variant-numeric: tabular-nums; }
.lookup-empty, .lookup-loading { padding: 12px; text-align: center; color: #6e7b8e; font-size: 10px; }
.product-field .lookup-menu { min-width: min(520px, calc(100vw - 48px)); }
.product-field .form-note { min-height: 16px; padding: 2px 2px 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; font-size: 9px; }

/* =========================
   STOK SAYIMI
   ========================= */
.count-page-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 12px; }
.count-toolbar { display: flex; align-items: flex-end; justify-content: space-between; gap: 10px; margin-bottom: 10px; }
.count-toolbar .toolbar { flex: 1; justify-content: flex-end; }
.count-summary-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 9px; margin-bottom: 12px; }
.count-summary { padding: 10px 11px; border: 1px solid #e2e8f0; border-radius: 10px; background: #fff; box-shadow: 0 2px 8px rgba(15,42,72,.025); }
.count-summary span { display: block; color: #728097; font-size: 9.2px; font-weight: 700; }
.count-summary b { display: block; margin-top: 3px; font-size: 14px; font-variant-numeric: tabular-nums; }
.count-input { width: 110px !important; text-align: right; font-weight: 800; background: #fffef9 !important; border-color: #d9c994 !important; }
.count-row-diff td { background: #fffaf3 !important; }
.count-row-legacy td { background: #fff7f7 !important; }
.count-modal-grid { display: grid; grid-template-columns: 1fr; gap: 10px; }

/* =========================
   GELEN FATURA / ALIŞA AKTARIM
   ========================= */
.incoming-product-lookup { min-width: 280px; }
.incoming-product-lookup .lookup-menu { min-width: 420px; }
.incomingProductNote.ok { color: var(--hb-green); font-weight: 700; }

/* =========================
   STOK DURUMLARI
   ========================= */
.stock-row-critical td { background: #fffafa; }

/* =========================
   MODAL
   ========================= */
.ui-modal-backdrop { position: fixed; inset: 0; z-index: 220; display: none; align-items: center; justify-content: center; padding: 18px; background: rgba(7,20,36,.46); backdrop-filter: blur(3px); }
.ui-modal-backdrop.open { display: flex; }
.ui-modal {
  width: min(720px, calc(100vw - 36px));
  max-height: min(90vh, 820px);
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.55);
  border-radius: 14px;
  background: #fff;
  box-shadow: var(--hb-shadow-lg);
  animation: modalIn .16s ease;
}
.ui-modal.wide { width: min(1100px, calc(100vw - 36px)); }
.ui-modal.small { width: min(460px, calc(100vw - 28px)); }
.ui-modal-head { min-height: 52px; display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 0 14px; border-bottom: 1px solid var(--hb-line); background: #fff; }
.ui-modal-title { font-size: 13px; font-weight: 820; color: #1d2d43; }
.ui-modal-close { width: 30px; height: 30px; display: grid; place-items: center; border-radius: 8px; background: #f1f4f8; color: #46566d; cursor: pointer; font-size: 17px; }
.ui-modal-close:hover { background: #e8edf4; }
.ui-modal-body { padding: 14px; overflow: auto; }
.ui-modal-body.flush { padding: 0; }
.ui-modal iframe { display: block; width: 100%; height: min(76vh, 820px); border: 0; background: #fff; }
.ui-modal-foot { display: none; justify-content: flex-end; gap: 7px; padding: 11px 14px; border-top: 1px solid var(--hb-line); background: #fbfcfe; }
.ui-modal-foot.visible { display: flex; }
.ui-spinner { width: 26px; height: 26px; border: 3px solid #d8e3f0; border-top-color: var(--hb-blue); border-radius: 50%; animation: spin .8s linear infinite; margin: 38px auto; }
.confirm-copy { color: #46566d; font-size: 11px; line-height: 1.55; }
.confirm-copy strong { color: #24364e; }
.modal-form-actions { display: flex; justify-content: flex-end; gap: 7px; margin-top: 12px; }
.modal-info-note { margin-top: 10px; margin-bottom: 0; }
@keyframes modalIn { from { opacity: 0; transform: translateY(5px) scale(.992); } to { opacity: 1; transform: none; } }
@keyframes spin { to { transform: rotate(360deg); } }

/* =========================
   TOAST
   ========================= */
.ui-toast-stack { position: fixed; right: 16px; top: 70px; z-index: 270; display: flex; flex-direction: column; gap: 7px; pointer-events: none; }
.ui-toast { min-width: 250px; max-width: 390px; padding: 10px 12px; border-radius: 9px; background: #183451; color: #fff; box-shadow: 0 15px 36px rgba(9,27,48,.22); font-size: 10.5px; line-height: 1.42; animation: toastIn .17s ease; pointer-events: auto; }
.ui-toast.success { background: #176744; }
.ui-toast.danger { background: #983535; }
.ui-toast.warning { background: #876013; }
.ui-toast.fade-out { opacity: 0; transform: translateY(-4px); transition: .18s; }
@keyframes toastIn { from { opacity: 0; transform: translateY(-5px); } to { opacity: 1; transform: none; } }

/* =========================
   GİRİŞ
   ========================= */
.login-page { min-height: 100vh; display: grid; place-items: center; padding: 18px; background: radial-gradient(circle at 25% 5%, #25527f 0, #102a43 38%, #091a2c 100%); }
.login-card { width: min(390px, calc(100vw - 28px)); padding: 23px; background: #fff; border: 1px solid rgba(255,255,255,.22); border-radius: 18px; box-shadow: 0 28px 82px rgba(0,0,0,.30); }
.login-brand { display: flex; align-items: center; gap: 10px; padding-bottom: 14px; color: #17345c; font-size: 15px; font-weight: 820; }
.login-brand .brand-badge { background: #17345c; color: #fff; }
.login-card h1 { margin: 0; font-size: 21px; letter-spacing: -.02em; }
.login-card .field { margin-top: 10px; }
.login-card .btn { width: 100%; margin-top: 14px; min-height: 40px; }
.login-foot { margin: 15px 0 0; color: var(--hb-muted); font-size: 9.5px; line-height: 1.45; }

/* =========================
   YARDIMCILAR
   ========================= */
.block-gap-top { margin-top: 12px; }
.block-gap-bottom { margin-bottom: 12px; }
.summary-gap-top { margin-top: 10px; }
.summary-submit { margin-top: 12px; }
.summary-note { margin-top: 8px; }
.compact-alert { margin-top: 10px; margin-bottom: 0; }
.card-gap-bottom { margin-bottom: 12px; }
.field-gap-top { margin-top: 9px; }
.section-gap-top { margin-top: 11px; }
.section-gap-top-lg { margin-top: 14px; }
.soft-separator { border: 0; border-top: 1px solid var(--hb-line); margin: 12px 0; }
.muted-row { margin-top: 4px; color: var(--hb-muted); }
.w-full, .w-100 { width: 100%; }
.flex-grow { flex: 1 1 auto; }
.mb-0 { margin-bottom: 0 !important; }
.mb-8 { margin-bottom: 8px !important; }
.mb-10 { margin-bottom: 10px !important; }
.mb-12 { margin-bottom: 12px !important; }
.mb-14 { margin-bottom: 14px !important; }
.mt-0 { margin-top: 0 !important; }
.mt-4 { margin-top: 4px !important; }
.mt-6 { margin-top: 6px !important; }
.mt-8 { margin-top: 8px !important; }
.mt-10 { margin-top: 10px !important; }
.mt-12 { margin-top: 12px !important; }
.mt-14 { margin-top: 14px !important; }
.mt-16 { margin-top: 16px !important; }

/* =========================
   RESPONSIVE
   ========================= */
@media (max-width: 1450px) {
  :root { --hb-sidebar: 224px; --hb-content: 1440px; }
  .main { padding: 16px; }
  .dashboard-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .sale-meta-grid, .purchase-meta { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .line-items-head, .sale-row, .purchase-row { grid-template-columns: minmax(230px, 2.1fr) 82px 108px 94px 70px 110px 36px; }
  .payment-list-head, .payment-row { grid-template-columns: minmax(150px, 1fr) 108px minmax(130px, .85fr) minmax(150px, 1fr) 36px; }
  .sale-bottom-grid { grid-template-columns: minmax(0, 1fr) 330px; }
}

@media (max-width: 1180px) {
  .grid-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .split, .module-grid, .dashboard-lower, .sale-bottom-grid { grid-template-columns: 1fr; }
  .sticky-summary { position: static; }
  .line-items-head, .payment-list-head { display: none; }
  .sale-row, .purchase-row { grid-template-columns: minmax(0, 1.7fr) minmax(90px, .55fr) minmax(105px, .7fr); gap: 8px; }
  .sale-row .field label, .purchase-row .field label { display: block; }
  .sale-row .field:first-child, .purchase-row .field:first-child { grid-column: 1 / -1; }
  .sale-row > .removeRow, .purchase-row > button { grid-column: 3; justify-self: end; }
  .payment-row { grid-template-columns: minmax(0, 1fr) 128px; align-items: end; }
  .payment-row .field label { display: block; }
  .payment-row .field:nth-child(3), .payment-row .field:nth-child(4) { grid-column: 1 / -1; }
  .payment-row > button { grid-column: 2; justify-self: end; }
  .form-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .col-2, .col-3, .col-4, .col-6, .col-8 { grid-column: span 1; }
  .col-12, .col-all, .full-span { grid-column: 1 / -1; }
  .count-summary-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .product-field .lookup-menu { min-width: 100%; }
}

@media (max-width: 820px) {
  :root { --hb-topbar: 56px; }
  .sidebar { width: 266px; transform: translateX(-102%); box-shadow: 14px 0 42px rgba(0,0,0,.20); }
  .sidebar.open { transform: translateX(0); }
  .sidebar-overlay.open { display: block; }
  .content, .app.sidebar-collapsed .content { margin-left: 0; }
  .app.sidebar-collapsed .sidebar { width: 266px; }
  .app.sidebar-collapsed .brand-text, .app.sidebar-collapsed .nav-label, .app.sidebar-collapsed .nav-section, .app.sidebar-collapsed .sidebar-footer { display: block; }
  .app.sidebar-collapsed .brand { justify-content: flex-start; padding-left: 8px; padding-right: 8px; }
  .app.sidebar-collapsed .nav-link { justify-content: flex-start; padding-left: 9px; padding-right: 9px; }
  .app.sidebar-collapsed .nav-icon { width: 20px; flex-basis: 20px; }
  .sidebar-toggle { display: none; }
  .mobile-menu { display: inline-grid; }
  .topbar { padding: 0 10px; }
  .main { padding: 11px; }
  .page-head { flex-direction: column; align-items: stretch; }
  .page-head h1 { font-size: 19px; }
  .page-head .actions { width: 100%; }
  .page-head .actions .btn { flex: 1; }
  .user-chip b { max-width: 120px; }
  .grid-2, .grid-3, .grid-4, .dashboard-grid, .sale-meta-grid, .purchase-meta { grid-template-columns: 1fr; }
  .toolbar { align-items: stretch; }
  .toolbar .field, .filter-card .search-field, .filter-card .field.compact { flex: 1 1 100%; width: auto; }
  .toolbar-actions { width: 100%; }
  .toolbar-actions .btn, .toolbar > .btn { flex: 1; }
  .sync-panel { width: 100%; flex-wrap: wrap; }
  .sync-panel .field { flex: 1; min-width: 125px; }
  .sale-row, .purchase-row, .payment-row { grid-template-columns: 1fr 1fr; }
  .sale-row .field:first-child, .purchase-row .field:first-child, .payment-row .field:first-child, .payment-row .field:nth-child(3), .payment-row .field:nth-child(4) { grid-column: 1 / -1 !important; }
  .sale-row > .removeRow, .purchase-row > button, .payment-row > button { grid-column: 2; justify-self: end; }
  .payment-mode-grid { grid-template-columns: 1fr 1fr 1fr; }
  .cari-info { grid-template-columns: 1fr 1fr 1fr; }
  .count-toolbar { align-items: stretch; flex-direction: column; }
  .count-toolbar .toolbar { justify-content: flex-start; width: 100%; }
  .count-modal-grid { grid-template-columns: 1fr; }
  .table { min-width: 700px; }
  .table.compact { min-width: 640px !important; }
  .incoming-product-lookup .lookup-menu { min-width: 100%; }
  .col-span-2, .span-2 { grid-column: 1 / -1; }
}

@media (max-width: 560px) {
  .main { padding: 8px; }
  .card, .form-section { padding: 11px; border-radius: 12px; }
  .page-head { margin-bottom: 10px; }
  .page-head h1 { font-size: 18px; }
  .top-kicker { display: none; }
  .user-chip-copy { display: none; }
  .stat { min-height: 68px; }
  .stat-value { font-size: 16px; }
  .form-grid { grid-template-columns: 1fr; }
  .col-2, .col-3, .col-4, .col-6, .col-8, .col-12, .col-all, .full-span { grid-column: 1 / -1; }
  .sale-row, .purchase-row, .payment-row { grid-template-columns: 1fr; }
  .sale-row > .removeRow, .purchase-row > button, .payment-row > button { grid-column: 1; width: 100%; justify-self: stretch; }
  .payment-mode-grid { grid-template-columns: 1fr; }
  .cari-info { grid-template-columns: 1fr; }
  .invoice-summary, .invoice-summary.five { grid-template-columns: 1fr 1fr; }
  .count-summary-grid { grid-template-columns: 1fr 1fr; }
  .count-input { width: 100% !important; }
  .ui-modal-backdrop { padding: 7px; }
  .ui-modal, .ui-modal.wide, .ui-modal.small { width: calc(100vw - 14px); max-height: 96vh; border-radius: 12px; }
  .ui-modal-foot { flex-wrap: wrap; }
  .ui-modal-foot .btn { flex: 1; }
  .ui-toast-stack { left: 8px; right: 8px; top: 64px; }
  .ui-toast { min-width: 0; max-width: none; width: 100%; }
}

@media (max-width: 380px) {
  .invoice-summary, .invoice-summary.five, .count-summary-grid { grid-template-columns: 1fr; }
  .top-title { max-width: 150px; }
}

/* =========================
   V12 ALIŞ / CARİ / HAREKET DETAYLARI
   ========================= */
.eyebrow { margin-bottom: 4px; color: #718198; font-size: 9px; line-height: 1.2; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.row-actions { display: flex; align-items: center; justify-content: flex-end; gap: 5px; flex-wrap: wrap; }
.actions-col { width: 1%; min-width: 150px; white-space: nowrap; }
.row-muted { opacity: .72; }
.row-muted td { background: #f8fafc; }
.toolbar-note { flex: 1 1 100%; margin: 0; padding-top: 2px; }
.modal-summary-grid { align-items: stretch; }
.summary-box.danger { background: #fff3f3; border-color: #efc9c9; }
.summary-box.danger b { color: var(--hb-red); }
.invoice-totals { margin-left: auto; width: min(100%, 410px); display: grid; gap: 5px; }
.invoice-totals > div { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 6px 9px; border-radius: 8px; color: #66758a; font-size: 10px; }
.invoice-totals > div b { color: #24364d; font-size: 11px; font-variant-numeric: tabular-nums; }
.invoice-totals > .total { margin-top: 2px; padding-top: 9px; border-top: 1px solid var(--hb-line); border-radius: 0; color: #24364d; font-weight: 800; }
.invoice-totals > .total b { font-size: 13px; }
.section-gap-bottom { margin-bottom: 11px; }

/* Ortak UI: tarayıcıya göre değişen sayı/search kontrol parçalarını nötrleştir. */
input[type="number"] { appearance: textfield; -moz-appearance: textfield; }
input[type="number"]::-webkit-outer-spin-button,
input[type="number"]::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
input[type="search"] { appearance: none; -webkit-appearance: none; }
input[type="search"]::-webkit-search-cancel-button { -webkit-appearance: none; }

/* =========================
   V12 PROFESYONEL ERP AKIŞLARI
   ========================= */
.field-label-row { display: flex; align-items: center; justify-content: space-between; gap: 8px; min-height: 18px; }
.field-label-row > label { margin: 0; }
.link-button { padding: 0; background: transparent; color: #245f9e; font-size: 10px; font-weight: 800; line-height: 1.25; cursor: pointer; }
.link-button:hover { color: #163f70; text-decoration: underline; }
.danger-link { color: var(--hb-red); margin-left: 5px; }
.control-height { height: var(--hb-control); }

.quick-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 12px; }
.quick-form-grid .span-2 { grid-column: 1 / -1; }
.quick-modal-note { margin-top: 12px; padding: 9px 10px; border: 1px solid #d9e4ef; border-radius: 9px; background: #f7f9fc; color: #68768a; font-size: 9.5px; line-height: 1.45; }
.quick-form-actions { display: flex; justify-content: flex-end; gap: 8px; margin-top: 12px; padding-top: 11px; border-top: 1px solid var(--hb-line); }
.quick-price-note { margin-top: 10px; }

.purchase-items-head {
  display: grid;
  grid-template-columns: 118px minmax(210px, 1.75fr) 64px 96px 100px 96px 72px 58px 102px 34px;
  gap: 6px;
  padding: 0 7px 5px;
  color: #728097;
  font-size: 8.2px;
  font-weight: 820;
  text-transform: uppercase;
  letter-spacing: .025em;
  align-items: end;
}
.purchase-items-head > span:not(:nth-child(2)) { text-align: center; }
.purchase-row {
  grid-template-columns: 118px minmax(210px, 1.75fr) 64px 96px 100px 96px 72px 58px 102px 34px;
  gap: 6px;
  padding: 7px;
  align-items: start;
}
.purchase-row .field { min-width: 0; }
.purchase-row input, .purchase-row select, .purchase-row .readonly-amount { height: 36px; min-height: 36px; }
.purchase-row .stockCode { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: 9.6px; font-weight: 750; text-align: center; }
.purchase-row .qty, .purchase-row .price, .purchase-row .grossPrice, .purchase-row .salePrice, .purchase-row .disc, .purchase-row .tax { text-align: center; font-variant-numeric: tabular-nums; }
.purchase-row .grossPrice { border-color: #cfe3d8; background: #f3faf6; color: #176b48; font-weight: 800; cursor: default; }
.purchase-row .total { display: flex; align-items: center; justify-content: center; padding-inline: 6px; font-size: 10px; font-weight: 850; text-align: center; }
.purchase-row .productSearch { text-align: left; }
.purchase-row .productMeta { min-height: 13px; padding: 2px 2px 0; color: #718096; font-size: 8px; line-height: 1.2; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.purchase-row > .removeRow { align-self: start; margin-top: 0; width: 34px; height: 36px; min-height: 36px; }
.source-invoice-strip { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 10px 12px; border-color: #cfe0f5; background: #f4f8fd; }
.source-invoice-strip > div { min-width: 0; display: grid; gap: 2px; }
.source-invoice-strip .eyebrow { margin: 0; font-size: 8px; }
.source-invoice-strip b { color: #183a63; font-size: 12px; }
.source-invoice-strip small { color: #65758b; font-size: 9px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

.choice-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.choice-card { min-width: 0; display: flex; align-items: flex-start; gap: 9px; padding: 10px; border: 1px solid var(--hb-line-strong); border-radius: 10px; background: #fff; cursor: pointer; }
.choice-card:hover { border-color: #9eb7d3; background: #f9fbfe; }
.choice-card input { width: 16px; height: 16px; min-height: 16px; flex: 0 0 16px; margin: 2px 0 0; }
.choice-card span { min-width: 0; }
.choice-card b { display: block; color: #263850; font-size: 10.5px; }
.choice-card small { display: block; margin-top: 3px; color: var(--hb-muted); font-size: 9.2px; line-height: 1.4; }
.count-scope-grid { margin-top: 1px; }
.count-method-note { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; padding: 10px; border: 1px solid #d8e5f2; border-radius: 10px; background: #f5f9fe; }
.count-method-note > div { min-width: 0; }
.count-method-note b { display: block; color: #244f7f; font-size: 10px; }
.count-method-note span { display: block; margin-top: 2px; color: #627188; font-size: 9.5px; line-height: 1.45; }
.count-add-product { display: flex; align-items: flex-end; gap: 8px; padding: 10px; border: 1px dashed #c9d7e6; border-radius: 10px; background: #fbfcfe; }
.count-add-product > .btn { flex: 0 0 auto; }
.count-table .current { font-variant-numeric: tabular-nums; }
.count-row-added td { background: #f7fbff !important; }
.count-footer { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.count-footer > .form-note { max-width: 720px; }

.pdf-modal-loading { min-height: 360px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 10px; color: var(--hb-muted); }
.pdf-viewer-shell { height: min(78vh, 860px); min-height: 520px; display: flex; flex-direction: column; background: #eef2f6; }
.pdf-viewer-frame { width: 100%; flex: 1 1 auto; min-height: 0; border: 0; background: #fff; }
.pdf-viewer-fallback { flex: 0 0 auto; padding: 7px 10px; border-top: 1px solid var(--hb-line); background: #fff; color: var(--hb-muted); font-size: 9.5px; text-align: center; }

@media (max-width: 1450px) {
  .purchase-items-head, .purchase-row { grid-template-columns: 104px minmax(180px,1.55fr) 58px 88px 92px 88px 66px 54px 92px 32px; gap: 5px; }
}
@media (max-width: 1180px) {
  .purchase-items-head { display: none; }
  .purchase-row { grid-template-columns: minmax(120px,.75fr) minmax(0,1.7fr) minmax(78px,.5fr); gap: 8px; }
  .purchase-row .product-field { grid-column: span 2; }
  .purchase-row .price-field, .purchase-row .gross-price-field { grid-column: span 1; }
  .count-add-product { align-items: stretch; flex-direction: column; }
  .count-add-product > .btn { align-self: flex-end; }
}
@media (max-width: 820px) {
  .quick-form-grid, .choice-grid, .count-method-note { grid-template-columns: 1fr; }
  .source-invoice-strip { align-items: stretch; flex-direction: column; }
  .source-invoice-strip .btn { align-self: flex-start; }
  .quick-form-grid .span-2 { grid-column: 1; }
  .purchase-row { grid-template-columns: 1fr 1fr; }
  .purchase-row .stock-code-field, .purchase-row .product-field { grid-column: 1 / -1; }
  .count-footer { align-items: stretch; flex-direction: column; }
  .count-footer .actions { width: 100%; }
  .count-footer .actions .btn { flex: 1; }
  .pdf-viewer-shell { min-height: 460px; height: 78vh; }
}
@media (max-width: 560px) {
  .purchase-row { grid-template-columns: 1fr; }
  .purchase-row .stock-code-field, .purchase-row .product-field, .purchase-row .price-field, .purchase-row .gross-price-field { grid-column: 1; }
  .quick-form-actions { flex-direction: column-reverse; }
  .quick-form-actions .btn { width: 100%; }
  .field-label-row { align-items: flex-start; }
  .count-add-product > .btn { width: 100%; }
  .pdf-viewer-shell { min-height: 420px; height: 80vh; }
}

/* =========================
   GELEN FATURA -> ALIŞA AKTAR / KOMPAKT ERP
   ========================= */

/* =========================================================
   ERP PRO COMPACT - Alış / Gelen Fatura / Kasa
   ========================================================= */
.erp-page .compact-page-head { margin-bottom: 10px; }
.compact-page-head h1 { margin-bottom: 2px; }
.compact-page-head p { max-width: 840px; margin-top: 2px; }
.compact-actions { gap: 6px; }
.compact-actions .btn { min-height: 34px; padding: 6px 10px; }

.erp-summary-strip {
  display: flex; align-items: stretch; gap: 0; margin-bottom: 10px; overflow: hidden;
  background: #fff; border: 1px solid var(--hb-line); border-radius: 11px; box-shadow: var(--hb-shadow);
}
.erp-summary-item { min-width: 0; flex: 1 1 0; padding: 10px 14px; border-right: 1px solid #edf1f6; }
.erp-summary-item:last-child { border-right: 0; }
.erp-summary-item span { display: block; color: #75829a; font-size: 9px; font-weight: 800; text-transform: uppercase; letter-spacing: .045em; }
.erp-summary-item b { display: block; margin-top: 2px; color: #1b2c43; font-size: 16px; line-height: 1.18; font-weight: 850; font-variant-numeric: tabular-nums; }
.erp-summary-item small { display: block; margin-top: 2px; color: #8490a2; font-size: 9px; }
.erp-summary-item.positive b { color: var(--hb-green); }
.erp-summary-item.negative b { color: var(--hb-red); }
.erp-summary-item.warning b { color: var(--hb-amber); }

.compact-filter-bar { gap: 7px; padding: 9px 10px; }
.compact-filter-bar .field label { margin-bottom: 3px; font-size: 9px; }
.compact-filter-bar input, .compact-filter-bar select { min-height: 34px; height: 34px; }
.compact-filter-bar .date-field { flex: 0 0 142px; }
.compact-filter-bar .field.compact { flex: 0 0 145px; }
.compact-filter-bar .sort-field { flex-basis: 155px !important; }
.compact-filter-bar .search-field { min-width: 250px; }
.compact-filter-bar .btn { min-height: 34px; padding: 5px 9px; }
.erp-table th { padding-top: 8px; padding-bottom: 8px; }
.erp-table td { padding-top: 7px; padding-bottom: 7px; }
.clip-sub { max-width: 220px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.status-stack { display: flex; align-items: center; gap: 4px; flex-wrap: wrap; }
.compact-row-actions { flex-wrap: nowrap; gap: 4px; }
.compact-row-actions .btn { min-height: 29px; padding: 4px 7px; font-size: 9.4px; }

/* Alış faturaları */
.purchase-table { min-width: 1160px; }
.purchase-table th:nth-child(1) { width: 86px; }
.purchase-table th:nth-child(2) { width: 155px; }
.purchase-table th:nth-child(4) { width: 105px; }
.purchase-table th:nth-child(5) { width: 95px; }
.purchase-table th:nth-child(6), .purchase-table th:nth-child(7), .purchase-table th:nth-child(8) { width: 110px; }
.purchase-table th:nth-child(9) { width: 140px; }
.purchase-table th:nth-child(10) { width: 125px; }

.purchase-detail-layout { display: grid; grid-template-columns: minmax(0, 1fr) 330px; gap: 10px; align-items: start; }
.compact-card { padding: 11px; }
.compact-card-head { margin-bottom: 8px; }
.purchase-detail-table { min-width: 780px; }
.purchase-detail-side { display: grid; gap: 10px; position: sticky; top: calc(var(--hb-topbar) + 10px); }
.compact-totals { gap: 0; margin-top: 8px; }
.compact-totals > div { min-height: 34px; padding: 7px 0; border-bottom: 1px solid #edf1f6; }
.compact-totals > div:last-child { border-bottom: 0; }
.compact-totals .total { margin-top: 2px; padding-top: 9px; }
.payment-detail-table { min-width: 0 !important; }
.compact-note-block { display: grid; gap: 2px; margin-top: 9px; padding: 8px 9px; border-radius: 8px; background: #f8fafc; color: #66768b; font-size: 9.5px; line-height: 1.4; }
.compact-note-block b { color: #35465c; font-size: 9.5px; }
.compact-note-block.info { background: #f0f6ff; color: #46678e; }

/* Gelen faturalar */
.compact-sync-panel { padding: 7px 8px; gap: 6px; box-shadow: none; }
.compact-sync-panel .field { width: 130px; }
.compact-sync-panel input { min-height: 34px; height: 34px; }
.compact-sync-panel .btn { min-height: 34px; padding: 5px 9px; }
.incoming-summary-strip .erp-summary-item { flex: 0 1 220px; }
.incoming-summary-strip .erp-summary-item:last-child { flex: 1 1 auto; }
.incoming-table { min-width: 1010px; }
.incoming-table th:nth-child(1) { width: 88px; }
.incoming-table th:nth-child(2) { width: 210px; }
.incoming-table th:nth-child(4) { width: 112px; }
.incoming-table th:nth-child(5) { width: 115px; }
.incoming-table th:nth-child(6) { width: 120px; }
.incoming-table th:nth-child(7) { width: 220px; }

/* Kasa / finans */
.cash-account-strip { display: flex; gap: 7px; overflow-x: auto; padding-bottom: 2px; margin-bottom: 9px; scrollbar-width: thin; }
.cash-account-chip { min-width: 205px; flex: 0 0 auto; display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 8px 10px; background: #fff; border: 1px solid var(--hb-line); border-radius: 10px; box-shadow: 0 2px 9px rgba(19,49,83,.025); }
.cash-account-chip span { display: block; max-width: 120px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: #374961; font-size: 10px; font-weight: 800; }
.cash-account-chip small { display: block; margin-top: 1px; color: #8a95a5; font-size: 8.5px; }
.cash-account-chip b { white-space: nowrap; color: #1b2c43; font-size: 13px; font-variant-numeric: tabular-nums; }
.finance-day-bar { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 10px; padding: 7px 9px; background: #fff; border: 1px solid var(--hb-line); border-radius: 10px; }
.finance-date-form { display: flex; align-items: center; gap: 6px; }
.finance-date-form label { color: #6f7e92; font-size: 9px; font-weight: 800; }
.finance-date-form input { width: 140px; min-height: 32px; height: 32px; }
.finance-day-stats { display: flex; align-items: center; gap: 18px; }
.finance-day-stats span { display: flex; align-items: baseline; gap: 6px; }
.finance-day-stats small { color: #7c899b; font-size: 8.8px; font-weight: 700; }
.finance-day-stats b { font-size: 12px; font-variant-numeric: tabular-nums; }
.finance-layout { display: grid; grid-template-columns: minmax(0, 1fr) 350px; gap: 10px; align-items: start; }
.section-bar { min-height: 38px; display: flex; align-items: center; justify-content: space-between; padding: 0 2px 6px; }
.section-bar h3 { display: inline; margin: 0; font-size: 12px; }
.section-bar span { margin-left: 6px; color: #8793a4; font-size: 9px; }
.finance-table { min-width: 850px; }
.finance-table td { padding-top: 7px; padding-bottom: 7px; }
.finance-desc { max-width: 300px; }
.finance-actions-panel { display: grid; gap: 9px; position: sticky; top: calc(var(--hb-topbar) + 10px); }
.finance-entry-card { padding: 11px; }
.finance-type-tabs { display: grid; grid-template-columns: repeat(4, 1fr); gap: 5px; margin: 4px 0 10px; }
.finance-type-btn { min-height: 34px; padding: 5px 4px; border: 1px solid #d5dfeb; border-radius: 8px; background: #fff; color: #526279; font-size: 9.5px; font-weight: 800; cursor: pointer; }
.finance-type-btn:hover { background: #f7f9fc; border-color: #bdcada; }
.finance-type-btn.active { background: #eef5ff; border-color: #8fb1dc; color: #174f8d; box-shadow: inset 0 0 0 1px rgba(45,103,178,.05); }
.finance-entry-card[data-fin-mode="ODEME"] .finance-type-btn.active { background: #fff6e9; border-color: #e3c078; color: #7d5814; }
.finance-entry-card[data-fin-mode="GELIR"] .finance-type-btn.active { background: #edf8f2; border-color: #9ccfb6; color: #166d48; }
.finance-entry-card[data-fin-mode="GIDER"] .finance-type-btn.active { background: #fff1f1; border-color: #e6aaaa; color: #993737; }
.visually-hidden-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; }
.finance-amount-row { display: grid; grid-template-columns: 1fr 1fr; gap: 7px; }
.finance-entry-card input, .finance-entry-card select, .finance-transfer-card input, .finance-transfer-card select { min-height: 36px; height: 36px; }
.finance-entry-card .amount-field input { font-size: 15px; font-weight: 800; text-align: right; }
.finance-form-note { padding: 7px 8px; border-radius: 7px; background: #f8fafc; }
.finance-transfer-card { padding: 0; overflow: hidden; }
.finance-transfer-card summary { list-style: none; display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 10px 11px; cursor: pointer; }
.finance-transfer-card summary::-webkit-details-marker { display: none; }
.finance-transfer-card summary b { display: block; color: #31435a; font-size: 10.5px; }
.finance-transfer-card summary small { display: block; margin-top: 2px; color: #8591a2; font-size: 8.8px; }
.finance-transfer-card .summary-chevron { color: #8190a3; font-size: 14px; transition: transform .15s ease; }
.finance-transfer-card[open] .summary-chevron { transform: rotate(180deg); }
.transfer-form { padding: 0 11px 11px; border-top: 1px solid #edf1f6; padding-top: 10px; }

@media (max-width: 1180px) {
  .purchase-detail-layout, .finance-layout { grid-template-columns: 1fr; }
  .purchase-detail-side, .finance-actions-panel { position: static; }
  .purchase-detail-side { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .finance-actions-panel { grid-template-columns: minmax(0,1fr) minmax(0,1fr); }
}
@media (max-width: 820px) {
  .erp-summary-strip { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); }
  .erp-summary-item { border-right: 0; border-bottom: 1px solid #edf1f6; }
  .erp-summary-item:nth-child(odd) { border-right: 1px solid #edf1f6; }
  .incoming-summary-strip { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .incoming-summary-strip .erp-summary-item { min-width: 0; }
  .compact-sync-panel { width: 100%; flex-wrap: wrap; }
  .finance-day-bar { align-items: stretch; flex-direction: column; }
  .finance-day-stats { justify-content: space-between; }
  .finance-actions-panel, .purchase-detail-side { grid-template-columns: 1fr; }
}
@media (max-width: 560px) {
  .erp-summary-strip, .incoming-summary-strip { grid-template-columns: 1fr 1fr; }
  .compact-filter-bar .date-field, .compact-filter-bar .field.compact, .compact-filter-bar .sort-field { flex: 1 1 calc(50% - 7px) !important; }
  .finance-type-tabs { grid-template-columns: repeat(2,1fr); }
  .finance-amount-row { grid-template-columns: 1fr; }
  .finance-day-stats { gap: 8px; }
  .finance-day-stats span { display: grid; gap: 1px; }
}

/* V13 - sade cari, alış ve teklif çalışma yüzeyi */
.clean-cari-table th:nth-child(1){width:28%}.clean-cari-table th:nth-child(2){width:17%}.clean-cari-table th:nth-child(3),.clean-cari-table th:nth-child(4){width:12%}.clean-cari-table th:nth-child(5){width:12%}.clean-cari-table td{padding-top:8px;padding-bottom:8px}
.clean-purchase-table{min-width:1080px}.clean-purchase-table td{padding-top:7px;padding-bottom:7px}.clean-purchase-table th:nth-child(1){width:150px}.clean-purchase-table th:nth-child(3),.clean-purchase-table th:nth-child(4){width:90px}.clean-purchase-table th:nth-child(5),.clean-purchase-table th:nth-child(6),.clean-purchase-table th:nth-child(7){width:112px}.clean-purchase-table th:nth-child(8){width:130px}.clean-purchase-table th:nth-child(9){width:245px}
.cari-summary-strip .erp-summary-item{min-width:180px}.cari-document-grid{display:grid;grid-template-columns:1fr;gap:10px;margin-bottom:10px}.cari-document-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.cari-ledger-card{padding:0;overflow:hidden}.cari-ledger-card .card-head{padding:10px 12px}.cari-ledger-table{min-width:850px}.cari-ledger-table td{padding-top:8px;padding-bottom:8px}.ledger-kind{display:inline-flex;align-items:center;min-height:24px;padding:3px 8px;border:1px solid #dce4ed;border-radius:999px;background:#f8fafc;color:#42546b;font-size:9.5px;font-weight:850;white-space:nowrap}.ledger-sale{background:#eef5ff;border-color:#bfd4ed;color:#1e5a99}.ledger-purchase{background:#fff7e9;border-color:#ead09a;color:#765314}.ledger-payment{background:#eef8f3;border-color:#b8dcc9;color:#176b48}.ledger-cancel{background:#fff0f0;border-color:#e8bcbc;color:#9c3a3a}
.offer-list-page .erp-table{min-width:850px}.offer-detail-page{max-width:1180px;margin:0 auto}.document-sheet{background:#fff;border:1px solid #dbe3ed;border-radius:14px;padding:28px;box-shadow:0 10px 28px rgba(20,43,70,.06)}.document-head{display:flex;justify-content:space-between;gap:24px;padding-bottom:18px;border-bottom:2px solid #183d67}.document-brand{color:#687992;font-size:11px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.document-head h2{margin:5px 0 2px;color:#102a43;font-size:24px;letter-spacing:.02em}.document-meta{min-width:230px;display:grid;gap:7px}.document-meta>div{display:flex;justify-content:space-between;gap:18px;font-size:11px}.document-meta span{color:#7f8da0}.document-party{display:grid;grid-template-columns:1fr 1fr;gap:22px;padding:16px 0}.document-party>div{display:grid;gap:3px}.document-party span{color:#7a899d;font-size:9.5px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.document-party b{color:#20344f;font-size:13px}.document-party small{color:#718096;font-size:10px}.document-table{width:100%;border-collapse:collapse}.document-table th{padding:8px 7px;border-top:1px solid #dfe6ee;border-bottom:1px solid #dfe6ee;background:#f7f9fc;color:#52647b;font-size:9.5px;text-align:left}.document-table td{padding:9px 7px;border-bottom:1px solid #edf1f5;color:#263950;font-size:10.5px;vertical-align:top}.document-table td small{display:block;margin-top:2px;color:#8490a1}.document-table .num{text-align:right;white-space:nowrap}.document-bottom{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:28px;padding-top:18px}.document-note{color:#596a80;font-size:10.5px}.document-note b{display:block;color:#263950;margin-bottom:5px}.document-note p{margin:0;line-height:1.55}.document-totals{display:grid;gap:7px}.document-totals>div{display:flex;justify-content:space-between;gap:16px;color:#52637a;font-size:10.5px}.document-totals .grand{margin-top:4px;padding-top:9px;border-top:2px solid #183d67;color:#102a43;font-size:13px}.document-totals .grand b{font-size:16px}.document-toolbar{display:flex;justify-content:flex-end;gap:8px;margin-bottom:10px}.standalone-document-page{margin:0;background:#eef3f8;color:#24364d;font-family:inherit}.standalone-document-wrap{max-width:1100px;margin:24px auto;padding:0 18px}.standalone-document-page .document-sheet{border-radius:10px}
.sale-bottom-grid .sticky-summary .summary-submit+ .summary-submit{margin-top:7px}.sale-bottom-grid .payment-mode-grid{gap:7px}.sale-bottom-grid .payment-mode label{padding:9px 11px}.sale-bottom-grid .payment-mode label small{margin-top:2px;line-height:1.25}.sale-bottom-grid .card{padding:12px}.sale-bottom-grid .invoice-summary{gap:6px}.sale-bottom-grid .summary-box{padding:9px 10px}.sale-bottom-grid .summary-box span{font-size:9px}.sale-bottom-grid .summary-box b{font-size:14px}
@media(max-width:1100px){.cari-document-grid.two{grid-template-columns:1fr}.document-bottom{grid-template-columns:1fr}.document-party{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.document-sheet{padding:16px}.document-head{display:grid}.document-meta{min-width:0}.document-party{grid-template-columns:1fr}.document-table{min-width:760px}.standalone-document-wrap{padding:0 8px;margin:8px auto}.offer-detail-page .document-sheet{overflow-x:auto}}
@media print{.sidebar,.sidebar-overlay,.topbar,.page-head,.no-print,.flash,.toast-container{display:none!important}.content,.main,.page-shell,.erp-page,.offer-detail-page{margin:0!important;padding:0!important;max-width:none!important;width:100%!important}.document-sheet{box-shadow:none!important;border:0!important;border-radius:0!important;padding:0!important}.standalone-document-page{background:#fff!important}.document-table{min-width:0!important}body{background:#fff!important}}

/* =========================================================
   V14 - Sade Finans / Cari / Tahsilat Mimarisi
   ========================================================= */
.finance-modal-form{display:grid;gap:14px}.finance-modal-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:10px;border:1px solid var(--border);border-radius:12px;background:var(--surface-soft,#f8fafc)}
.finance-modal-summary>div{min-width:0;padding:7px 9px}.finance-modal-summary span{display:block;font-size:11px;color:var(--muted);margin-bottom:3px}.finance-modal-summary b{display:block;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.finance-modal-summary .emphasis{background:#eef6ff;border-radius:9px}.finance-modal-summary .emphasis b{font-size:18px}
.finance-modal-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:10px}.finance-modal-actions{display:flex;justify-content:flex-end;gap:8px;padding-top:3px}.inline-note.compact{padding:9px 11px;margin:0;font-size:12px;line-height:1.45}
.finance-ledger-page .compact-cash-strip{margin-bottom:10px}.clean-finance-day-bar{margin-bottom:10px}.clean-finance-layout{grid-template-columns:minmax(0,1fr) 300px;align-items:start}.clean-finance-actions{display:grid;gap:10px}.finance-guide-card{padding:14px}.finance-route-list{display:grid;gap:7px;margin-top:8px}.finance-route-list a{display:flex;flex-direction:column;gap:2px;padding:9px 10px;border:1px solid var(--border);border-radius:9px;text-decoration:none;color:inherit;background:#fff}.finance-route-list a:hover{border-color:#9dbbe0;background:#f8fbff}.finance-route-list b{font-size:12px}.finance-route-list span{font-size:11px;color:var(--muted)}.finance-type-tabs.two{grid-template-columns:1fr 1fr}.finance-ledger-page .finance-entry-card,.finance-ledger-page .finance-transfer-card{padding:14px}.finance-ledger-page .finance-table th,.finance-ledger-page .finance-table td{padding-top:9px;padding-bottom:9px}.finance-ledger-page .finance-day-stats{gap:16px;flex-wrap:wrap}.finance-ledger-page .finance-day-stats span{min-width:88px}
.cari-document-grid .actions-col{width:90px}.cari-document-grid td:last-child{text-align:right}.purchase-detail-page .actions,.page-head .actions{align-items:center}
@media(max-width:980px){.clean-finance-layout{grid-template-columns:1fr}.clean-finance-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.finance-guide-card{grid-column:1/-1}}
@media(max-width:700px){.finance-modal-summary{grid-template-columns:1fr}.finance-modal-grid{grid-template-columns:1fr}.finance-modal-actions{position:sticky;bottom:0;background:#fff;padding:10px 0 0}.clean-finance-actions{grid-template-columns:1fr}.finance-ledger-page .finance-day-stats{display:grid;grid-template-columns:repeat(2,1fr);width:100%}.finance-ledger-page .finance-day-stats span{min-width:0}}

/* V16.2 - Alis faturasi listesi: kaymasiz, kompakt ERP gorunumu */
.purchase-list-page{min-width:0;overflow-x:hidden}
.purchase-list-page .compact-filter-bar{grid-template-columns:110px 110px minmax(220px,1fr) 150px 135px auto;gap:8px;align-items:end}
.purchase-list-page .compact-filter-bar .field{min-width:0}
.purchase-list-page .compact-filter-bar input,
.purchase-list-page .compact-filter-bar select{height:36px;min-height:36px}
.purchase-list-page .compact-filter-bar .toolbar-actions{align-self:end}
.purchase-list-page .compact-filter-bar .toolbar-actions .btn{height:36px;min-height:36px;padding:0 14px}
.purchase-list-shell{width:100%;min-width:0;border:1px solid #dbe5ef;border-radius:16px;background:#fff;overflow:hidden}
.purchase-desktop-table{width:100%;min-width:0;overflow:hidden}
.purchase-table-pro{width:100%;min-width:0;table-layout:fixed;margin:0;border-collapse:collapse}
.purchase-table-pro th,.purchase-table-pro td{padding:9px 10px;vertical-align:middle;border-bottom:1px solid #e7edf4;overflow:hidden}
.purchase-table-pro thead th{height:38px;background:#f7f9fc;color:#52637a;font-size:10px;font-weight:850;text-transform:none;letter-spacing:.01em;white-space:nowrap}
.purchase-table-pro tbody tr:last-child td{border-bottom:0}
.purchase-table-pro tbody tr:hover{background:#fbfdff}
.purchase-table-pro .col-invoice{width:14%}
.purchase-table-pro .col-supplier{width:25%}
.purchase-table-pro .col-dates{width:12%}
.purchase-table-pro .col-total{width:10%}
.purchase-table-pro .col-payment{width:14%}
.purchase-table-pro .col-status{width:11%}
.purchase-table-pro .col-actions{width:14%}
.purchase-invoice-no{display:block;font-size:11px;font-weight:850;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.purchase-supplier{display:block;font-size:10.5px;font-weight:800;color:#1f2f44;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.date-stack{display:grid;gap:3px;font-size:9.5px;line-height:1.2}
.date-stack>b{font-size:10.5px;color:#25354a}
.date-stack>span{color:#718096;white-space:nowrap}
.payment-stack{display:grid;grid-template-columns:1fr 1fr;gap:6px;align-items:center}
.payment-stack span{min-width:0;display:grid;gap:2px}
.payment-stack small{font-size:8px;color:#7a889b;text-transform:uppercase;font-weight:800;letter-spacing:.03em}
.payment-stack b{font-size:9.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.horizontal-status{display:flex;flex-wrap:wrap;gap:4px}
.purchase-actions{display:flex;align-items:center;justify-content:flex-end;gap:4px;flex-wrap:nowrap}
.purchase-actions .btn{height:30px;min-height:30px;padding:0 8px;border-radius:9px;font-size:9px;white-space:nowrap}
.purchase-mobile-list{display:none}

@media (max-width:1320px){
  .purchase-list-page .compact-filter-bar{grid-template-columns:100px 100px minmax(180px,1fr) 135px 125px auto}
  .purchase-table-pro .col-invoice{width:15%}.purchase-table-pro .col-supplier{width:23%}.purchase-table-pro .col-dates{width:13%}.purchase-table-pro .col-total{width:10%}.purchase-table-pro .col-payment{width:15%}.purchase-table-pro .col-status{width:11%}.purchase-table-pro .col-actions{width:13%}
  .purchase-table-pro th,.purchase-table-pro td{padding-left:7px;padding-right:7px}
  .purchase-actions .btn{padding:0 6px;font-size:8.5px}
}
@media (max-width:1080px){
  .purchase-list-page .compact-filter-bar{grid-template-columns:repeat(2,110px) minmax(220px,1fr) 145px 135px}
  .purchase-list-page .compact-filter-bar .toolbar-actions{grid-column:1/-1;justify-self:start}
  .purchase-table-pro .col-supplier{width:24%}.purchase-table-pro .col-dates{width:14%}.purchase-table-pro .col-payment{width:16%}.purchase-table-pro .col-actions{width:12%}
  .purchase-actions{flex-direction:column;align-items:stretch}.purchase-actions .btn{width:100%}
}
@media (max-width:820px){
  .purchase-list-page .erp-summary-strip{grid-template-columns:repeat(2,minmax(0,1fr))}
  .purchase-list-page .compact-filter-bar{grid-template-columns:1fr 1fr}
  .purchase-list-page .compact-filter-bar .search-field{grid-column:1/-1}
  .purchase-desktop-table{display:none}
  .purchase-mobile-list{display:grid;gap:8px;padding:8px}
  .purchase-mobile-card{border:1px solid #e0e8f1;border-radius:13px;background:#fff;padding:11px;box-shadow:0 2px 8px rgba(31,47,68,.035)}
  .purchase-mobile-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:8px}
  .purchase-mobile-top>div:first-child{min-width:0}
  .purchase-mobile-supplier{display:block;margin:2px 0 9px;color:#1f2f44;font-size:11px;font-weight:850;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .purchase-mobile-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;padding:8px 0;border-top:1px solid #edf1f5;border-bottom:1px solid #edf1f5}
  .purchase-mobile-grid>div{min-width:0;display:grid;gap:2px}
  .purchase-mobile-grid span{font-size:8px;color:#7a889b;text-transform:uppercase;font-weight:800}
  .purchase-mobile-grid b{font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .purchase-actions.mobile{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:9px}
  .purchase-actions.mobile .btn{width:100%;height:34px;min-height:34px;font-size:9.5px}
}
@media (max-width:560px){
  .purchase-list-page .compact-page-head{align-items:flex-start}
  .purchase-list-page .compact-page-head .actions{width:100%;display:grid;grid-template-columns:1fr 1fr}
  .purchase-list-page .compact-page-head .actions .btn{width:100%}
  .purchase-list-page .compact-filter-bar{grid-template-columns:1fr}
  .purchase-list-page .compact-filter-bar .search-field,.purchase-list-page .compact-filter-bar .toolbar-actions{grid-column:auto}
  .purchase-list-page .compact-filter-bar .toolbar-actions .btn{width:100%}
  .purchase-mobile-grid{grid-template-columns:1fr 1fr}
  .purchase-actions.mobile{grid-template-columns:1fr}
}

/* V16.3 - Alis faturasi kolon dengesi ve islem grubu */
.purchase-table-pro .col-invoice{width:14%}
.purchase-table-pro .col-supplier{width:22%}
.purchase-table-pro .col-dates{width:12%}
.purchase-table-pro .col-total{width:11%}
.purchase-table-pro .col-payment{width:16%}
.purchase-table-pro .col-status{width:9%}
.purchase-table-pro .col-actions{width:16%}
.purchase-table-pro th.col-dates,
.purchase-table-pro td:nth-child(3){text-align:center}
.purchase-table-pro th.col-payment,
.purchase-table-pro td:nth-child(5){text-align:center}
.purchase-table-pro th.col-status,
.purchase-table-pro td:nth-child(6){text-align:center}
.purchase-table-pro th.col-actions,
.purchase-table-pro td:nth-child(7){text-align:center}
.purchase-table-pro td:nth-child(4){text-align:right}
.purchase-table-pro .date-stack{justify-items:center}
.purchase-table-pro .payment-stack{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;text-align:center}
.purchase-table-pro .payment-stack span{justify-items:center}
.purchase-table-pro .horizontal-status{justify-content:center;align-items:center}
.purchase-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;width:100%;min-width:0}
.purchase-actions .btn{width:100%;min-width:0;height:30px;min-height:30px;padding:0 5px;border-radius:8px;font-size:9px;line-height:1;display:inline-flex;align-items:center;justify-content:center;overflow:hidden;text-overflow:ellipsis}
.purchase-supplier{max-width:100%}
.purchase-table-pro tbody td{height:66px}

@media (max-width:1320px){
  .purchase-table-pro .col-invoice{width:14%}
  .purchase-table-pro .col-supplier{width:21%}
  .purchase-table-pro .col-dates{width:12%}
  .purchase-table-pro .col-total{width:11%}
  .purchase-table-pro .col-payment{width:16%}
  .purchase-table-pro .col-status{width:9%}
  .purchase-table-pro .col-actions{width:17%}
  .purchase-actions{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px}
  .purchase-actions .btn{padding:0 4px;font-size:8.5px}
}
@media (max-width:1080px) and (min-width:821px){
  .purchase-table-pro .col-invoice{width:15%}
  .purchase-table-pro .col-supplier{width:20%}
  .purchase-table-pro .col-dates{width:12%}
  .purchase-table-pro .col-total{width:11%}
  .purchase-table-pro .col-payment{width:16%}
  .purchase-table-pro .col-status{width:9%}
  .purchase-table-pro .col-actions{width:17%}
  .purchase-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch}
  .purchase-actions .btn{width:100%;font-size:8px}
}
@media (max-width:1080px) and (min-width:821px){
  .purchase-table-pro .col-supplier{width:19%}
  .purchase-table-pro .col-actions{width:18%}
}

/* =========================================================
   GLOBAL AKILLI GUVENLIK - FULL MOBILE / TOUCH HARDENING
   Tum ekranlarda tek mobil davranis standardi.
   ========================================================= */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{min-width:0}
input,select,textarea,button{max-width:100%}
.table-wrap{max-width:100%;min-width:0;overflow-x:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-inline:contain}
.card,.form-section,.page-shell,.content,.main{min-width:0}
.actions,.table-actions,.row-actions{min-width:0}
.user-logout-form{display:inline;margin:0;padding:0}
.user-logout-btn{appearance:none;border:0;background:transparent;padding:0;color:#617087;font:inherit;font-size:9.5px;font-weight:700;cursor:pointer}
.user-logout-btn:hover{color:#1b5ea9}

@media (max-width:820px){
  :root{--hb-topbar:58px}
  body{font-size:13px}
  .sidebar{width:min(86vw,290px);height:100dvh;padding-top:max(12px,env(safe-area-inset-top));padding-bottom:max(16px,env(safe-area-inset-bottom))}
  .sidebar-overlay{inset:0;height:100dvh}
  .topbar{height:58px;padding-left:max(10px,env(safe-area-inset-left));padding-right:max(10px,env(safe-area-inset-right));gap:8px}
  .topbar-left{flex:1 1 auto;overflow:hidden}
  .topbar-left>div:last-child{min-width:0}
  .top-title{max-width:min(58vw,360px);font-size:12px}
  .main{padding:10px max(9px,env(safe-area-inset-right)) max(22px,env(safe-area-inset-bottom)) max(9px,env(safe-area-inset-left))}
  .page-shell{width:100%;max-width:none}
  .page-head{gap:9px}
  .page-head>div:first-child{min-width:0}
  .page-head h1{line-height:1.15;overflow-wrap:anywhere}
  .page-head p{line-height:1.4;overflow-wrap:anywhere}
  .page-head .actions,.actions{display:flex;flex-wrap:wrap;gap:6px}
  .page-head .actions .btn{flex:1 1 auto;min-width:120px}
  .card,.form-section{max-width:100%}
  .toolbar,.filter-card{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px!important;width:100%}
  .toolbar>.field,.filter-card>.field,.toolbar .field,.filter-card .field{width:100%!important;min-width:0!important;max-width:none!important;flex:none!important}
  .toolbar .search-field,.filter-card .search-field,.toolbar-note,.toolbar-actions{grid-column:1/-1}
  .toolbar-actions{display:flex;gap:6px}
  .toolbar-actions>.btn{flex:1 1 0}
  input:not([type=checkbox]):not([type=radio]),select,textarea{font-size:16px;min-height:44px}
  textarea{min-height:92px}
  .btn{min-height:42px;padding-left:12px;padding-right:12px;touch-action:manipulation}
  .btn-sm{min-height:36px}
  .lookup-menu{max-width:calc(100vw - 24px);max-height:42vh;overflow:auto;-webkit-overflow-scrolling:touch}
  .ui-modal-backdrop{align-items:flex-end;padding:0}
  .ui-modal,.ui-modal.wide,.ui-modal.small{width:100%;max-width:none;max-height:94dvh;border-radius:16px 16px 0 0;margin:0}
  .ui-modal-head{min-height:52px;padding:10px 12px}
  .ui-modal-title{font-size:13px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .ui-modal-close{width:40px;height:40px;min-width:40px}
  .ui-modal-body{padding:12px;overflow:auto;-webkit-overflow-scrolling:touch}
  .ui-modal-body.flush{padding:0}
  .ui-modal-foot{padding:10px 12px max(10px,env(safe-area-inset-bottom));gap:7px}
  .ui-modal-foot .btn{flex:1 1 120px}
  .pdf-viewer-shell,.pdf-viewer-frame{min-height:72dvh;height:72dvh}
  .grid,.grid-2,.grid-3,.grid-4,.split,.module-grid,.dashboard-lower,.sale-bottom-grid,.quick-form-grid{min-width:0}
  .stat,.summary-box,.count-summary{min-width:0}
  .stat-value,.detail-main,.detail-emphasis{overflow-wrap:anywhere}
  .compact-actions,.row-actions,.table-actions{flex-wrap:wrap!important;justify-content:flex-start!important}
  .compact-actions .btn,.row-actions .btn,.table-actions .btn{flex:1 1 auto}
  .document-toolbar{display:flex;flex-wrap:wrap;gap:6px}
}

@media (max-width:640px){
  .top-kicker{display:none}
  .top-title{max-width:52vw;font-size:11.5px}
  .user-avatar{width:34px;height:34px;flex-basis:34px}
  .toolbar,.filter-card{grid-template-columns:1fr}
  .toolbar .search-field,.filter-card .search-field,.toolbar-note,.toolbar-actions{grid-column:auto}
  .erp-summary-strip,.invoice-summary,.invoice-summary.five,.count-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}

  /* Genel ERP tablolari telefonda kart gorunumune doner. JS basliklari data-label'a tasir. */
  .table-wrap{overflow:visible}
  .table-wrap table.table[data-mobile-ready="1"]{display:block!important;width:100%!important;min-width:0!important;border:0!important;background:transparent!important}
  .table-wrap table.table[data-mobile-ready="1"] thead{display:none!important}
  .table-wrap table.table[data-mobile-ready="1"] tbody{display:grid!important;gap:9px!important;width:100%!important}
  .table-wrap table.table[data-mobile-ready="1"] tbody tr{display:grid!important;width:100%!important;min-width:0!important;padding:9px 11px!important;border:1px solid var(--hb-line)!important;border-radius:12px!important;background:#fff!important;box-shadow:0 2px 8px rgba(15,42,72,.035)!important}
  .table-wrap table.table[data-mobile-ready="1"] tbody tr[hidden]{display:none!important}
  .table-wrap table.table[data-mobile-ready="1"] tbody td{display:grid!important;grid-template-columns:minmax(92px,34%) minmax(0,1fr)!important;align-items:center!important;gap:8px!important;width:100%!important;min-width:0!important;height:auto!important;padding:6px 0!important;border:0!important;border-bottom:1px solid #edf2f7!important;text-align:right!important;white-space:normal!important;overflow:visible!important}
  .table-wrap table.table[data-mobile-ready="1"] tbody td:last-child{border-bottom:0!important}
  .table-wrap table.table[data-mobile-ready="1"] tbody td::before{content:attr(data-label);min-width:0;color:#75839a;font-size:9px;font-weight:850;letter-spacing:.025em;text-transform:uppercase;text-align:left}
  .table-wrap table.table[data-mobile-ready="1"] tbody td>*{min-width:0;max-width:100%}
  .table-wrap table.table[data-mobile-ready="1"] tbody td .btn{width:auto;min-width:0}
  .table-wrap table.table[data-mobile-ready="1"] tbody td .table-actions,.table-wrap table.table[data-mobile-ready="1"] tbody td .row-actions{justify-content:flex-end!important;width:100%}
  .table-wrap table.table[data-mobile-ready="1"] tbody td[colspan]{display:block!important;text-align:center!important;padding:14px!important}
  .table-wrap table.table[data-mobile-ready="1"] tbody td[colspan]::before{content:none}
  .table-wrap table.table[data-mobile-ready="1"] .num{text-align:right!important}
  .table-wrap table.table[data-mobile-ready="1"] input,.table-wrap table.table[data-mobile-ready="1"] select{width:100%!important}

  .sale-row,.purchase-row,.payment-row{padding:10px;border-radius:12px}
  .payment-mode-grid{grid-template-columns:1fr!important}
  .cari-info{grid-template-columns:1fr!important}
  .form-narrow{width:100%;max-width:none}
  .login-page{padding:max(12px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));align-items:center}
  .login-card{width:100%;max-width:430px;padding:18px;border-radius:16px}
  .login-card h1{font-size:22px}
}

@media (max-width:420px){
  .main{padding-left:7px;padding-right:7px}
  .card,.form-section{padding:10px}
  .erp-summary-strip,.invoice-summary,.invoice-summary.five,.count-summary-grid{grid-template-columns:1fr!important}
  .page-head .actions{display:grid;grid-template-columns:1fr;width:100%}
  .page-head .actions .btn{width:100%;min-width:0}
  .top-title{max-width:48vw}
}

body.modal-open{overflow:hidden!important}

/* Hızlı Satış - stoktan ürün seçimi */
.stock-picker-shell{display:grid;gap:12px}
.stock-picker-toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:12px;position:sticky;top:-14px;z-index:2;padding:2px 0 10px;background:#fff;border-bottom:1px solid var(--hb-line)}
.stock-picker-toolbar .field{margin:0}
.stock-picker-summary{padding:9px 11px;border:1px solid var(--hb-line);border-radius:9px;background:#f7f9fc;color:var(--hb-muted);font-size:10px;font-weight:700;white-space:nowrap}
.stock-picker-list{display:grid;gap:7px;min-height:160px}
.stock-picker-item{width:100%;display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:10px 11px;border:1px solid var(--hb-line);border-radius:11px;background:#fff;text-align:left;cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}
.stock-picker-item:hover{border-color:#a7c5e6;box-shadow:0 8px 22px rgba(15,42,72,.08);transform:translateY(-1px)}
.stock-picker-main,.stock-picker-meta{min-width:0;display:grid;gap:2px}
.stock-picker-main b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#20324a;font-size:11.5px}
.stock-picker-main small,.stock-picker-meta small{color:var(--hb-muted);font-size:9.5px}
.stock-picker-meta{text-align:right;white-space:nowrap}
.stock-picker-meta b{color:#176744;font-size:11px}
.stock-picker-add{padding:7px 10px;border-radius:8px;background:#eef6ff;color:#205a92;font-size:10px;font-weight:800}
.stock-picker-loading,.stock-picker-empty{padding:32px 14px;text-align:center;color:var(--hb-muted);font-size:11px;border:1px dashed var(--hb-line);border-radius:11px;background:#fbfcfe}
@media(max-width:700px){.stock-picker-toolbar{grid-template-columns:1fr;top:-12px}.stock-picker-summary{white-space:normal}.stock-picker-item{grid-template-columns:minmax(0,1fr) auto;gap:8px}.stock-picker-add{grid-column:1/-1;text-align:center}.stock-picker-main b{white-space:normal}.stock-picker-meta{align-self:start}}
