:root {
  --red: #E31E24;
  --blue: #007AB8;
  --blue-dark: #004F75;
  --blue-darker: #003C5A;
  --blue-deepest: #002A3E;
  --purple: #6B21A8;
  --sky: #38BDF8;
  --gold: #c9a962;
  --gold-light: #dbc07a;
  --gold-dark: #a8893f;
  --sidebar-bg: #252527;
  --sidebar-bg-deep: #252527;
  --sidebar-brand-bg: #252527;
  --sidebar-w: 280px;
  --topbar-h: 60px;
  --bg: #f4f7fa;
  --card: #fff;
  --text: #1e293b;
  --muted: #64748b;
  --border: #e2e8f0;
  --primary: #007AB8;
  --surface: #f8fafc;
  --surface-2: #f1f5f9;
  --surface-inset: #ffffff;
  --surface-hover: #f1f5f9;
  --surface-warn: #fff7ed;
  --surface-warn-border: #fde68a;
  --surface-success: #f0fdf4;
  --surface-success-border: #bbf7d0;
  --surface-danger: #fef2f2;
  --surface-danger-border: #fecaca;
  --surface-info: #eff6ff;
  --input-bg: #ffffff;
  --modal-bg: #ffffff;
  --btn-secondary-bg: #e2e8f0;
  --btn-ghost-color: #007AB8;
  --shadow-color: rgba(15, 23, 42, 0.06);
  --ef-bg: #ffffff;
  --ef-surface: #fafafa;
  --ef-surface-2: #f3f3f3;
  --ef-border: #d4d4d4;
  --ef-text: #333333;
  --ef-text-muted: #888888;
  --ef-accent: #217346;
  --ef-row-even: #fafafa;
  --ef-row-hover: #e8f4ec;
  --ef-row-selected: #d4e8da;
}

* { box-sizing: border-box; margin: 0; padding: 0; }

body {
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  background: var(--bg);
  color: var(--text);
  -webkit-font-smoothing: antialiased;
}

.app { display: flex; min-height: 100vh; }

/* Sidebar */
.sidebar {
  width: var(--sidebar-w);
  background: var(--sidebar-bg);
  color: #f5f0e6;
  display: flex;
  flex-direction: column;
  position: fixed;
  inset: 0 auto 0 0;
  z-index: 100;
  transition: transform .25s;
  border-right: 1px solid rgba(201, 169, 98, 0.12);
  overflow: hidden;
}

.sidebar-brand {
  padding: 0.75rem 1rem 0.65rem;
  margin: 0;
  border-bottom: 1px solid rgba(201, 169, 98, 0.1);
  background: var(--sidebar-brand-bg);
  overflow: hidden;
  line-height: 0;
  flex-shrink: 0;
  display: flex;
  justify-content: center;
  align-items: center;
}

.sidebar-logo {
  width: 72%;
  max-width: 188px;
  height: auto;
  display: block;
}

.sidebar-nav {
  flex: 1;
  overflow-y: auto;
  padding: .75rem 0;
  scrollbar-width: none;
  -ms-overflow-style: none;
}

.sidebar-nav::-webkit-scrollbar {
  display: none;
  width: 0;
  height: 0;
}

.nav-section { margin-bottom: .5rem; }

.nav-section > p {
  padding: .5rem 1rem;
  font-size: .65rem;
  text-transform: uppercase;
  letter-spacing: .1em;
  color: rgba(201, 169, 98, 0.45);
}

.nav-item {
  display: flex;
  align-items: center;
  gap: .625rem;
  padding: .55rem 1rem;
  margin: 1px .5rem;
  border-radius: 8px;
  color: rgba(245, 240, 230, 0.72);
  text-decoration: none;
  font-size: .8125rem;
  transition: background .15s, color .15s, border-color .15s;
  border: 1px solid transparent;
}

.nav-item:hover {
  background: rgba(201, 169, 98, 0.08);
  color: var(--gold-light);
  border-color: rgba(201, 169, 98, 0.12);
}

.nav-item.active {
  background: rgba(201, 169, 98, 0.14);
  color: var(--gold-light);
  font-weight: 600;
  border-color: rgba(201, 169, 98, 0.25);
  box-shadow: inset 3px 0 0 var(--gold);
}

.nav-icon { font-size: 1rem; width: 1.25rem; text-align: center; filter: grayscale(0.2); }

.sidebar-footer { padding: 1rem; border-top: 1px solid rgba(201, 169, 98, 0.12); }

.sidebar-logout {
  width: 100%;
  padding: .5rem;
  border: 1px solid rgba(201, 169, 98, 0.28);
  border-radius: 6px;
  background: rgba(201, 169, 98, 0.06);
  color: var(--gold-light);
  font-family: inherit;
  font-size: .8125rem;
  cursor: pointer;
  transition: background .15s;
}

.sidebar-logout:hover { background: rgba(201, 169, 98, 0.14); }

/* Main */
.main-wrap {
  flex: 1;
  margin-left: var(--sidebar-w);
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}

.topbar {
  height: var(--topbar-h);
  background: var(--card);
  border-bottom: 1px solid var(--border);
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 1.25rem;
  position: sticky;
  top: 0;
  z-index: 50;
}

.menu-toggle {
  display: none;
  background: none;
  border: none;
  font-size: 1.25rem;
  cursor: pointer;
  padding: .25rem .5rem;
}

.topbar-left { display: flex; align-items: center; gap: 1rem; flex: 1; min-width: 0; }

.topbar-right { display: flex; align-items: center; gap: 1rem; flex-shrink: 0; }

.branch-select {
  padding: .4rem .75rem;
  border: 1px solid var(--border);
  border-radius: 6px;
  font-family: inherit;
  font-size: .8125rem;
  background: var(--input-bg);
  color: var(--text);
}

.topbar-date { font-size: .8125rem; color: var(--muted); }

.user-chip { text-align: right; }
.user-chip-name { display: block; font-size: .8125rem; font-weight: 600; }
.user-chip-role { display: block; font-size: .6875rem; color: var(--muted); }

.content {
  flex: 1;
  padding: 1.5rem;
  max-width: 1400px;
}

/* Page */
.page-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1.25rem;
}

.page-header h1 { font-size: 1.375rem; font-weight: 700; }
.page-header p { margin-top: .25rem; font-size: .875rem; color: var(--muted); }
.page-actions { display: flex; gap: .5rem; flex-shrink: 0; }

/* Stats */
.stat-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
  gap: .875rem;
  margin-bottom: 1.25rem;
}

.stat-card {
  background: var(--card);
  border: 1px solid var(--border);
  border-radius: 10px;
  padding: 1rem;
}

.stat-card span { display: block; font-size: .75rem; color: var(--muted); }
.stat-card strong { display: block; margin-top: .35rem; font-size: 1.375rem; font-weight: 700; }
.stat-card small { display: block; margin-top: .25rem; font-size: .6875rem; color: var(--muted); }

/* Cards */
.card {
  background: var(--card);
  border: 1px solid var(--border);
  border-radius: 10px;
  margin-bottom: 1rem;
  overflow: hidden;
}

.card-head {
  padding: .875rem 1rem;
  border-bottom: 1px solid var(--border);
}

.card-head h3 { font-size: .9375rem; font-weight: 600; }
.card-body { padding: 1rem; }
.card-foot { padding: .75rem 1rem; border-top: 1px solid var(--border); }

.grid-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.grid-2-1 { display: grid; grid-template-columns: 1fr 1.2fr; gap: 1rem; }

@media (max-width: 900px) {
  .grid-2, .grid-2-1 { grid-template-columns: 1fr; }
}

/* Table */
.table-wrap { overflow-x: auto; }

.data-table {
  width: 100%;
  border-collapse: collapse;
  font-size: .8125rem;
}

.data-table th {
  text-align: left;
  padding: .625rem .75rem;
  background: var(--surface);
  color: var(--muted);
  font-weight: 600;
  font-size: .75rem;
  border-bottom: 1px solid var(--border);
}

.data-table td {
  padding: .625rem .75rem;
  border-bottom: 1px solid var(--border);
  vertical-align: middle;
}

.data-table tr:hover td { background: var(--surface-hover); }
.row-warn td { background: var(--surface-warn) !important; }

.empty-state {
  padding: 2rem;
  text-align: center;
  color: var(--muted);
  font-size: .875rem;
}

/* Badges */
.badge {
  display: inline-block;
  padding: .2rem .5rem;
  border-radius: 999px;
  font-size: .6875rem;
  font-weight: 600;
}

.badge-blue { background: #dbeafe; color: #1d4ed8; }
.badge-green { background: #dcfce7; color: #15803d; }
.badge-orange { background: #ffedd5; color: #c2410c; }
.badge-red { background: #fee2e2; color: #b91c1c; }
.badge-gray { background: #f1f5f9; color: #475569; }

.text-red { color: #dc2626; font-weight: 600; }
.text-green { color: #16a34a; font-weight: 600; }

/* Buttons */
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .375rem;
  padding: .5rem 1rem;
  border-radius: 6px;
  border: none;
  font-family: inherit;
  font-size: .8125rem;
  font-weight: 500;
  cursor: pointer;
  transition: opacity .15s;
}

.btn:hover { opacity: .9; }
.btn-primary { background: linear-gradient(to right, var(--gold-dark), var(--gold)); color: #1a1a1a; font-weight: 600; }
.btn-secondary { background: var(--btn-secondary-bg); color: var(--text); }
.btn-danger { background: var(--surface-danger); color: #b91c1c; }
.btn-ghost { background: transparent; color: var(--btn-ghost-color); border: 1px solid var(--border); }
.btn-sm { padding: .3rem .625rem; font-size: .75rem; }

/* Forms */
.stack-form { display: flex; flex-direction: column; gap: .75rem; }

.form-row { display: flex; flex-direction: column; gap: .35rem; }
.form-row > span { font-size: .8125rem; font-weight: 500; color: var(--muted); }

.field {
  width: 100%;
  padding: .5rem .75rem;
  border: 1px solid var(--border);
  border-radius: 6px;
  font-family: inherit;
  font-size: .8125rem;
  background: var(--input-bg);
  color: var(--text);
}

.field:focus { outline: none; border-color: var(--blue); box-shadow: 0 0 0 2px rgba(0,122,184,.15); }

.check-row {
  display: flex;
  align-items: center;
  gap: .5rem;
  font-size: .8125rem;
}

.filter-bar {
  display: flex;
  gap: .5rem;
  margin-bottom: 1rem;
  flex-wrap: wrap;
}

.filter-bar .field { max-width: 240px; }

.muted { color: var(--muted); font-size: .875rem; line-height: 1.5; }

/* Tabs */
.tabs {
  display: flex;
  gap: .25rem;
  margin-bottom: 1rem;
  border-bottom: 1px solid var(--border);
}

.tab {
  padding: .5rem 1rem;
  border: none;
  background: none;
  font-family: inherit;
  font-size: .8125rem;
  color: var(--muted);
  cursor: pointer;
  border-bottom: 2px solid transparent;
  margin-bottom: -1px;
}

.tab.active { color: var(--primary); border-bottom-color: var(--primary); font-weight: 600; }

/* OCR / Akıllı Belge Okuma */
.ocr-panel { display: flex; flex-direction: column; gap: .75rem; }

.ocr-loading[hidden],
.ocr-dropzone-empty[hidden],
.ocr-preview-img[hidden],
.ocr-result-box[hidden] {
  display: none !important;
}

.ocr-dropzone {
  position: relative;
  min-height: 168px;
  border: 2px dashed rgba(201, 169, 98, 0.35);
  border-radius: 12px;
  background: linear-gradient(135deg, #fafbfc 0%, #f1f5f9 100%);
  cursor: pointer;
  overflow: hidden;
  transition: border-color .15s, background .15s, box-shadow .15s;
}

.ocr-dropzone:hover,
.ocr-dropzone.dragover {
  border-color: var(--gold);
  background: #fffbeb;
  box-shadow: 0 0 0 4px rgba(201, 169, 98, 0.1);
}

.ocr-dropzone.has-image { min-height: 140px; border-style: solid; border-color: var(--border); background: #0f172a; }

.ocr-dropzone-empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: .35rem;
  padding: 1.25rem 1rem;
  text-align: center;
  min-height: 168px;
}

.ocr-icon { font-size: 2rem; line-height: 1; }
.ocr-title { font-size: .875rem; font-weight: 600; color: var(--text); }
.ocr-hint { font-size: .75rem; color: var(--muted); max-width: 240px; line-height: 1.45; }
.ocr-cta { margin-top: .35rem; font-size: .6875rem; color: var(--gold-dark); font-weight: 600; text-transform: uppercase; letter-spacing: .04em; }

.ocr-preview-img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: .55;
}

.ocr-loading {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: .65rem;
  background: rgba(15, 23, 42, 0.72);
  color: #fff;
  font-size: .8125rem;
  z-index: 2;
}

.ocr-spinner {
  width: 28px;
  height: 28px;
  border: 3px solid rgba(255,255,255,.25);
  border-top-color: var(--gold);
  border-radius: 50%;
  animation: ocr-spin .8s linear infinite;
}

@keyframes ocr-spin { to { transform: rotate(360deg); } }

.ocr-result-box {
  padding: .875rem;
  background: #f0fdf4;
  border: 1px solid #bbf7d0;
  border-radius: 10px;
  font-size: .8125rem;
}

.ocr-result-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .5rem;
  margin-bottom: .65rem;
  flex-wrap: wrap;
}

.ocr-success-badge {
  display: inline-flex;
  align-items: center;
  gap: .25rem;
  padding: .2rem .55rem;
  border-radius: 999px;
  background: #dcfce7;
  color: #15803d;
  font-size: .6875rem;
  font-weight: 700;
}

.ocr-result-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
  gap: .5rem;
}

.ocr-result-row {
  padding: .45rem .55rem;
  background: #fff;
  border-radius: 6px;
  border: 1px solid #dcfce7;
}

.ocr-result-row span {
  display: block;
  font-size: .625rem;
  text-transform: uppercase;
  letter-spacing: .04em;
  color: var(--muted);
  margin-bottom: .15rem;
}

.ocr-result-row strong { font-size: .75rem; color: var(--text); word-break: break-word; }

.field.ocr-filled,
select.ocr-filled,
textarea.ocr-filled {
  animation: ocr-highlight 2.5s ease;
  border-color: #16a34a !important;
  box-shadow: 0 0 0 3px rgba(22, 163, 74, 0.15);
}

@keyframes ocr-highlight {
  0%, 15% { background: #ecfdf5; }
  100% { background: #fff; }
}

.modal-ocr-layout {
  display: grid;
  grid-template-columns: 1fr 1.2fr;
  gap: 1rem;
  align-items: start;
}

@media (max-width: 768px) {
  .modal-ocr-layout { grid-template-columns: 1fr; }
}

/* Calendar */
.calendar-placeholder {
  display: flex;
  gap: .5rem;
}

.cal-day {
  flex: 1;
  text-align: center;
  padding: .75rem .5rem;
  border: 1px solid var(--border);
  border-radius: 8px;
  font-size: .75rem;
}

.cal-day strong { display: block; font-size: 1.25rem; margin-top: .25rem; }
.cal-day.highlight { border-color: var(--blue); background: #eff6ff; }
.cal-day small { display: block; margin-top: .25rem; color: var(--blue); font-size: .625rem; }

/* Accounts */
.account-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
  gap: .875rem;
  margin-bottom: 1rem;
}

.account-card {
  background: var(--card);
  border: 1px solid var(--border);
  border-radius: 10px;
  padding: 1rem;
}

.account-card span { font-size: .6875rem; color: var(--muted); text-transform: uppercase; }
.account-card strong { display: block; margin-top: .25rem; font-size: .9375rem; }
.account-card p { margin-top: .5rem; font-size: 1.125rem; font-weight: 700; color: var(--blue); }

/* Feature grid */
.feature-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
  gap: .625rem;
}

.feature-pill {
  padding: .75rem;
  border: 1px solid var(--border);
  border-radius: 8px;
  display: flex;
  flex-direction: column;
  gap: .375rem;
}

.feature-pill strong { font-size: .8125rem; }

/* Reports */
.report-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 1rem;
}

/* WhatsApp */
.template-grid {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
}

.template-btn {
  padding: .4rem .75rem;
  border: 1px solid #25D366;
  border-radius: 999px;
  background: #f0fdf4;
  color: #15803d;
  font-family: inherit;
  font-size: .75rem;
  cursor: pointer;
}

.msg-cell { max-width: 200px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

/* Steps */
.steps {
  padding-left: 1.25rem;
  line-height: 2;
  font-size: .875rem;
  color: var(--muted);
}

.alert {
  padding: .75rem 1rem;
  border-radius: 8px;
  margin-bottom: 1rem;
  font-size: .8125rem;
}

.alert-warn { background: var(--surface-warn); color: #c2410c; border: 1px solid var(--surface-warn-border); }

/* Modal */
.modal-backdrop {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,.45);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 200;
  padding: 1rem;
}

.modal-backdrop[hidden] {
  display: none !important;
}

.modal {
  background: var(--modal-bg);
  color: var(--text);
  border-radius: 12px;
  width: 100%;
  max-width: 480px;
  max-height: 90vh;
  overflow: auto;
  box-shadow: 0 25px 50px rgba(0,0,0,.2);
  border: 1px solid var(--border);
}

.modal-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1rem 1.25rem;
  border-bottom: 1px solid var(--border);
}

.modal-header h3 { font-size: 1rem; font-weight: 600; }

.modal-close {
  background: none;
  border: none;
  font-size: 1.5rem;
  cursor: pointer;
  color: var(--muted);
  line-height: 1;
}

.modal-body { padding: 1.25rem; }
.modal-footer { padding: .75rem 1.25rem; border-top: 1px solid var(--border); display: flex; justify-content: flex-end; gap: .5rem; }

/* Toast */
.toast {
  position: fixed;
  bottom: 1.5rem;
  right: 1.5rem;
  padding: .75rem 1.25rem;
  border-radius: 8px;
  font-size: .8125rem;
  font-weight: 500;
  color: #fff;
  z-index: 300;
  box-shadow: 0 10px 25px rgba(0,0,0,.15);
}

.toast[hidden] {
  display: none !important;
}

.toast-success { background: #15803d; }
.toast-error { background: #b91c1c; }

.modal-lg { max-width: 820px; }
.form-actions { display: flex; gap: .5rem; flex-wrap: wrap; }
.actions-cell { display: flex; gap: .35rem; flex-wrap: wrap; }
.num { text-align: right; font-variant-numeric: tabular-nums; }
.etn-code { font-size: .75rem; background: var(--surface-2); color: var(--text); padding: .15rem .4rem; border-radius: 4px; }

/* E-Fatura / E-Arşiv Module */
.ef-quick-row { display: flex; gap: .75rem; flex-wrap: wrap; margin-bottom: 1.25rem; }

/* Finans Merkezi */
.finance-hub { max-width: 1180px; animation: pageEnter .35s ease; }

.finance-back-link {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  margin-bottom: .75rem;
  font-size: .8125rem;
  font-weight: 600;
  color: var(--muted);
  text-decoration: none;
  transition: color .15s;
}
.finance-back-link:hover { color: var(--primary); }

.finance-hub-hero {
  display: grid;
  grid-template-columns: 1.35fr 1fr;
  gap: 1.25rem;
  margin-bottom: 1.75rem;
  padding: 1.75rem 2rem;
  border-radius: 16px;
  border: 1px solid var(--border);
  background:
    radial-gradient(ellipse 80% 60% at 100% 0%, rgba(59, 130, 246, .08), transparent 55%),
    linear-gradient(145deg, var(--card) 0%, color-mix(in srgb, var(--card) 92%, #1e3a5f) 100%);
  box-shadow: 0 4px 24px rgba(15, 23, 42, .06);
}

.finance-hub-hero__badge {
  display: inline-block;
  padding: .3rem .7rem;
  margin-bottom: .85rem;
  font-size: .6875rem;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: #1d4ed8;
  background: rgba(59, 130, 246, .12);
  border: 1px solid rgba(59, 130, 246, .2);
  border-radius: 999px;
}

.finance-hub-hero__copy h2 {
  margin: 0 0 .65rem;
  font-size: 1.5rem;
  font-weight: 800;
  letter-spacing: -.02em;
  line-height: 1.25;
  color: var(--text);
}

.finance-hub-hero__copy > p {
  margin: 0 0 1.25rem;
  font-size: .9375rem;
  line-height: 1.6;
  color: var(--muted);
  max-width: 52ch;
}

.finance-hub-hero__metrics {
  display: flex;
  gap: 1.5rem;
  flex-wrap: wrap;
}
.finance-hub-hero__metrics div strong {
  display: block;
  font-size: 1.5rem;
  font-weight: 800;
  color: var(--text);
  line-height: 1.1;
}
.finance-hub-hero__metrics div span {
  display: block;
  margin-top: .2rem;
  font-size: .75rem;
  color: var(--muted);
}

.finance-hub-hero__panel {
  padding: 1.25rem 1.35rem;
  border-radius: 12px;
  background: rgba(255, 255, 255, .55);
  border: 1px solid var(--border);
  align-self: center;
}
[data-theme="dark"] .finance-hub-hero__panel { background: rgba(0, 0, 0, .2); }

.finance-hub-hero__panel strong {
  display: block;
  margin-bottom: .75rem;
  font-size: .875rem;
  color: var(--text);
}

.finance-hub-hero__panel ul {
  margin: 0;
  padding: 0;
  list-style: none;
}
.finance-hub-hero__panel li {
  position: relative;
  padding-left: 1.25rem;
  margin-bottom: .55rem;
  font-size: .8125rem;
  line-height: 1.45;
  color: var(--muted);
}
.finance-hub-hero__panel li::before {
  content: '';
  position: absolute;
  left: 0;
  top: .45em;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #3b82f6;
}

.finance-category-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.25rem;
  margin-bottom: 1.5rem;
}

.finance-category-card {
  position: relative;
  display: flex;
  gap: 1.15rem;
  padding: 1.35rem 1.4rem;
  border-radius: 14px;
  border: 1px solid var(--border);
  background: var(--card);
  text-decoration: none;
  color: inherit;
  overflow: hidden;
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
  box-shadow: 0 1px 3px rgba(0, 0, 0, .04);
}

.finance-category-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 12px 32px rgba(15, 23, 42, .1);
  border-color: color-mix(in srgb, var(--border) 50%, var(--accent, #3b82f6));
}

.finance-category-card__glow {
  position: absolute;
  top: -40%;
  right: -20%;
  width: 55%;
  height: 80%;
  border-radius: 50%;
  opacity: .35;
  pointer-events: none;
  transition: opacity .25s;
}
.finance-category-card:hover .finance-category-card__glow { opacity: .55; }

.finance-category-card--blue { --accent: #3b82f6; }
.finance-category-card--blue .finance-category-card__glow { background: radial-gradient(circle, rgba(59, 130, 246, .25), transparent 70%); }
.finance-category-card--blue .finance-category-card__icon { background: linear-gradient(135deg, #dbeafe, #bfdbfe); color: #1d4ed8; }

.finance-category-card--slate { --accent: #64748b; }
.finance-category-card--slate .finance-category-card__glow { background: radial-gradient(circle, rgba(100, 116, 139, .2), transparent 70%); }
.finance-category-card--slate .finance-category-card__icon { background: linear-gradient(135deg, #f1f5f9, #e2e8f0); color: #334155; }

.finance-category-card--emerald { --accent: #10b981; }
.finance-category-card--emerald .finance-category-card__glow { background: radial-gradient(circle, rgba(16, 185, 129, .22), transparent 70%); }
.finance-category-card--emerald .finance-category-card__icon { background: linear-gradient(135deg, #d1fae5, #a7f3d0); color: #047857; }

.finance-category-card--amber { --accent: #f59e0b; }
.finance-category-card--amber .finance-category-card__glow { background: radial-gradient(circle, rgba(245, 158, 11, .22), transparent 70%); }
.finance-category-card--amber .finance-category-card__icon { background: linear-gradient(135deg, #fef3c7, #fde68a); color: #b45309; }

.finance-category-card__icon {
  flex-shrink: 0;
  width: 52px;
  height: 52px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 12px;
}
.finance-category-card__icon svg { width: 26px; height: 26px; }

.finance-category-card__body { flex: 1; min-width: 0; }

.finance-category-card__eyebrow {
  display: block;
  font-size: .6875rem;
  font-weight: 700;
  letter-spacing: .05em;
  text-transform: uppercase;
  color: var(--muted);
  margin-bottom: .2rem;
}

.finance-category-card__body h3 {
  margin: 0 0 .45rem;
  font-size: 1.0625rem;
  font-weight: 800;
  letter-spacing: -.01em;
  color: var(--text);
}

.finance-category-card__body > p {
  margin: 0 0 .75rem;
  font-size: .8125rem;
  line-height: 1.55;
  color: var(--muted);
}

.finance-category-card__tags {
  display: flex;
  flex-wrap: wrap;
  gap: .35rem;
  margin-bottom: .85rem;
}
.finance-category-card__tags span {
  padding: .2rem .55rem;
  font-size: .6875rem;
  font-weight: 600;
  border-radius: 6px;
  background: color-mix(in srgb, var(--accent) 10%, var(--card));
  color: var(--accent);
  border: 1px solid color-mix(in srgb, var(--accent) 22%, transparent);
}

.finance-category-card__stats {
  display: flex;
  gap: 1.25rem;
  margin-bottom: .85rem;
  padding-top: .75rem;
  border-top: 1px solid var(--border);
}
.finance-category-card__stats strong {
  display: block;
  font-size: 1.125rem;
  font-weight: 800;
  color: var(--text);
}
.finance-category-card__stats span {
  display: block;
  margin-top: .1rem;
  font-size: .6875rem;
  color: var(--muted);
}

.finance-category-card__cta {
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  font-size: .8125rem;
  font-weight: 700;
  color: var(--accent);
  transition: gap .15s;
}
.finance-category-card:hover .finance-category-card__cta { gap: .6rem; }
.finance-category-card__cta svg { width: 16px; height: 16px; }

.finance-hub-footer-note {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: .5rem .75rem;
  padding: 1rem 1.25rem;
  border-radius: 10px;
  background: color-mix(in srgb, var(--primary) 6%, var(--card));
  border: 1px solid color-mix(in srgb, var(--primary) 15%, var(--border));
  font-size: .8125rem;
  color: var(--muted);
}
.finance-hub-footer-note strong { color: var(--text); font-size: .875rem; }

@media (max-width: 900px) {
  .finance-hub-hero { grid-template-columns: 1fr; padding: 1.25rem; }
  .finance-category-grid { grid-template-columns: 1fr; }
}

@media (max-width: 640px) {
  .finance-category-card { flex-direction: column; }
  .finance-hub-hero__metrics { gap: 1rem; }
}

.field-with-action {
  display: flex;
  gap: .5rem;
  align-items: center;
}
.field-with-action .field { flex: 1; min-width: 0; }
.field-with-action .btn { flex-shrink: 0; white-space: nowrap; }

.form-row .field-with-action { width: 100%; }
.ef-page { max-width: 100%; }

/* E-Fatura / E-Arşiv — Excel Workspace */
.ef-workspace { max-width: 100%; animation: pageEnter .35s ease; }
.ef-workspace-head {
  display: flex; align-items: flex-end; justify-content: space-between; gap: 1rem;
  flex-wrap: wrap; margin-bottom: 1rem;
}
.ef-workspace-head h1 { margin: 0 0 .25rem; font-size: 1.5rem; font-weight: 800; letter-spacing: -.02em; }
.ef-workspace-head p { margin: 0; font-size: .875rem; color: var(--muted); }
.ef-workspace-head__stats { display: flex; gap: 1.25rem; font-size: .8125rem; color: var(--muted); }
.ef-workspace-head__stats strong { color: var(--text); font-size: 1rem; display: block; }

.ef-connection-bar {
  display: flex; align-items: center; justify-content: space-between; gap: 1rem;
  padding: .65rem 1rem; margin-bottom: .75rem;
  background: linear-gradient(180deg, #f0fdf4 0%, #ecfdf5 100%);
  border: 1px solid #bbf7d0; border-radius: 6px; flex-wrap: wrap; font-size: .8125rem;
}
.ef-connection-bar__left { display: flex; align-items: center; gap: .65rem; }
.ef-connection-dot { width: 8px; height: 8px; border-radius: 50%; background: #16a34a; box-shadow: 0 0 0 3px rgba(22,163,74,.2); flex-shrink: 0; }
.ef-connection-bar__left strong { display: block; font-size: .8125rem; color: #14532d; }
.ef-connection-bar__left span { font-size: .75rem; color: #166534; }
.ef-connection-bar__meta { color: #166534; font-size: .75rem; }
.ef-connection-bar__sep { margin: 0 .35rem; opacity: .5; }

.ef-info-strip {
  padding: .55rem 1rem; margin-bottom: .75rem; font-size: .8125rem;
  background: #fffbeb; border: 1px solid #fde68a; border-radius: 6px; color: #92400e;
}

.ef-spreadsheet {
  border: 1px solid #c8c8c8; border-radius: 4px; overflow: hidden;
  background: #fff; box-shadow: 0 2px 8px rgba(0,0,0,.06); margin-bottom: 1.25rem;
}

.ef-ribbon {
  display: flex; align-items: center; justify-content: space-between; gap: .5rem; flex-wrap: wrap;
  padding: .5rem .65rem; background: linear-gradient(180deg, #fafafa 0%, #f0f0f0 100%);
  border-bottom: 1px solid #d4d4d4;
}
.ef-ribbon-group { display: flex; align-items: center; gap: .35rem; flex-wrap: wrap; }
.ef-ribbon-btn {
  display: inline-flex; align-items: center; gap: .4rem; padding: .4rem .7rem;
  font-size: .75rem; font-weight: 600; border: 1px solid transparent; border-radius: 4px;
  background: transparent; color: #333; cursor: pointer; transition: background .12s, border-color .12s;
}
.ef-ribbon-btn svg { width: 15px; height: 15px; flex-shrink: 0; }
.ef-ribbon-btn:hover { background: #e8e8e8; border-color: #ccc; }
.ef-ribbon-btn--primary { background: linear-gradient(180deg, #217346 0%, #1a5c38 100%); color: #fff; border-color: #185a34; }
.ef-ribbon-btn--primary:hover { background: linear-gradient(180deg, #1a5c38 0%, #14472c 100%); }
.ef-ribbon-btn--sm { padding: .3rem .55rem; font-size: .6875rem; }

.ef-formula-bar {
  display: flex; align-items: center; gap: .5rem; padding: .4rem .65rem;
  background: var(--ef-bg); border-bottom: 1px solid var(--ef-border);
}
.ef-formula-label {
  flex-shrink: 0; width: 28px; height: 26px; display: flex; align-items: center; justify-content: center;
  font-size: .75rem; font-weight: 700; font-style: italic; color: var(--ef-accent);
  border: 1px solid var(--ef-border); border-radius: 3px; background: var(--ef-surface);
}
.ef-formula-input { flex: 1; min-width: 120px; height: 28px; padding: 0 .6rem; font-size: .8125rem; border: 1px solid var(--ef-border); border-radius: 3px; background: var(--input-bg); color: var(--text); }
.ef-formula-select { height: 28px; padding: 0 .5rem; font-size: .75rem; border: 1px solid var(--ef-border); border-radius: 3px; min-width: 130px; background: var(--input-bg); color: var(--text); }
.ef-formula-hint { font-size: .6875rem; color: var(--ef-text-muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 200px; }

.ef-grid-scroll { overflow: auto; max-height: min(58vh, 520px); }
.ef-grid-scroll--preview { max-height: 240px; }
.ef-grid { width: 100%; border-collapse: collapse; font-size: .8125rem; font-variant-numeric: tabular-nums; }
.ef-grid th, .ef-grid td { border: 1px solid #d4d4d4; padding: .35rem .55rem; white-space: nowrap; }
.ef-grid thead { position: sticky; top: 0; z-index: 2; }
.ef-grid-th {
  background: linear-gradient(180deg, #f9f9f9 0%, #ececec 100%);
  font-size: .6875rem; font-weight: 700; text-transform: uppercase; letter-spacing: .03em; color: #333; text-align: left;
}
.ef-grid-th[data-ef-sort] { cursor: pointer; user-select: none; }
.ef-grid-th[data-ef-sort]:hover { background: #e4e4e4; }
.ef-grid-th--right { text-align: right; }
.ef-grid-th--rownum { width: 36px; text-align: center; background: #f3f3f3; color: #888; }
.ef-grid-th--check { width: 32px; text-align: center; }
.ef-grid-th--actions { width: 90px; text-align: center; }
.ef-sort-icon { margin-left: .25rem; opacity: .4; font-size: .625rem; }
.ef-sort-icon--active { opacity: 1; color: #217346; }
.ef-grid-row:nth-child(even) td { background: #fafafa; }
.ef-grid-row:hover td { background: #e8f4ec !important; }
.ef-grid-row--selected td { background: #d4e8da !important; }
.ef-grid-rownum { width: 36px; text-align: center; background: #f3f3f3 !important; color: #888; font-size: .6875rem; font-weight: 600; }
.ef-grid-check { text-align: center; background: #fafafa !important; }
.ef-grid-cell--code { font-family: ui-monospace, Consolas, monospace; font-size: .75rem; }
.ef-grid-cell--mono { font-family: ui-monospace, Consolas, monospace; font-size: .75rem; color: #555; }
.ef-grid-cell--num { text-align: right; font-weight: 500; }
.ef-grid-cell--total { font-weight: 700; color: #217346; }
.ef-grid-cell--small { font-size: .6875rem; color: #666; max-width: 120px; overflow: hidden; text-overflow: ellipsis; }
.ef-grid-cell--status, .ef-grid-cell--actions { text-align: center; }
.ef-grid-time { display: block; font-size: .625rem; color: #999; }
.ef-grid-total-row td {
  background: linear-gradient(180deg, #f0f0f0 0%, #e8e8e8 100%) !important;
  font-weight: 700; border-top: 2px solid #217346;
}
.ef-grid-total-label { font-size: .75rem; color: #217346; text-transform: uppercase; }
.ef-grid-total-meta { font-size: .75rem; color: #666; font-weight: 500; }

.ef-cell-badge { display: inline-block; padding: .15rem .45rem; border-radius: 3px; font-size: .625rem; font-weight: 700; text-transform: uppercase; }
.ef-cell-badge--green { background: #dcfce7; color: #15803d; }
.ef-cell-badge--orange { background: #ffedd5; color: #c2410c; }
.ef-cell-badge--blue { background: #dbeafe; color: #1d4ed8; }
.ef-cell-badge--red { background: #fee2e2; color: #b91c1c; }
.ef-cell-badge--gray { background: #f1f5f9; color: #64748b; }

.ef-link-btn { background: none; border: none; padding: 0; cursor: pointer; color: #1d4ed8; font-family: inherit; font-size: inherit; text-decoration: underline; }
.ef-link-btn:hover { color: #217346; }
.ef-icon-btn { width: 26px; height: 26px; padding: 0; border: 1px solid transparent; border-radius: 3px; background: transparent; cursor: pointer; font-size: .75rem; }
.ef-icon-btn:hover { background: #e8e8e8; border-color: #ccc; }
.ef-icon-btn--send:hover { background: #dcfce7; border-color: #86efac; }
.ef-muted { color: #999; font-size: .75rem; }

.ef-sheet-tabs { display: flex; align-items: flex-end; gap: 2px; padding: 0 .5rem; background: #f0f0f0; border-top: 1px solid #d4d4d4; min-height: 32px; }
.ef-sheet-tab {
  display: inline-flex; align-items: center; gap: .35rem; padding: .35rem .85rem; margin-top: 4px;
  font-size: .75rem; font-weight: 600; color: #555; background: #e8e8e8;
  border: 1px solid #d4d4d4; border-bottom: none; border-radius: 4px 4px 0 0; cursor: pointer;
}
.ef-sheet-tab em { font-style: normal; font-size: .625rem; padding: .1rem .35rem; background: rgba(0,0,0,.08); border-radius: 999px; }
.ef-sheet-tab--active { background: #fff; color: #217346; border-color: #217346; margin-bottom: -1px; z-index: 1; position: relative; }
.ef-sheet-tab--info { cursor: default; background: transparent; border: none; color: #888; font-weight: 500; }

.ef-grid-empty { text-align: center; padding: 3rem 1.5rem; }
.ef-grid-empty__icon svg { width: 48px; height: 48px; color: #ccc; margin-bottom: .75rem; }
.ef-grid-empty h3 { margin: 0 0 .35rem; font-size: 1rem; }
.ef-grid-empty p { color: var(--muted); font-size: .875rem; margin-bottom: 1rem; }

.ef-service-panel { border: 1px solid var(--ef-border); border-radius: 4px; overflow: hidden; background: var(--ef-bg); }
.ef-service-panel__head { display: flex; align-items: baseline; justify-content: space-between; gap: .5rem; padding: .75rem 1rem; background: var(--ef-surface); border-bottom: 1px solid var(--ef-border); }
.ef-service-panel__head h3 { margin: 0; font-size: .875rem; }
.ef-service-panel__head span { font-size: .75rem; color: var(--muted); }

.ef-new-form { font-size: .8125rem; }
.ef-new-form__header { display: grid; grid-template-columns: 1fr 1fr; gap: .75rem; margin-bottom: .75rem; }
.ef-line-editor { border: 1px solid #d4d4d4; border-radius: 4px; overflow: hidden; margin-bottom: 1rem; }
.ef-line-editor__head { display: flex; align-items: center; justify-content: space-between; padding: .5rem .75rem; background: #f9f9f9; border-bottom: 1px solid #d4d4d4; }
.ef-grid--lines .ef-line-field { width: 100%; border: 1px solid #e0e0e0; border-radius: 2px; padding: .25rem .4rem; font-size: .75rem; }
.ef-grid--lines .ef-line-field--num { text-align: right; }
.ef-line-total { text-align: right; font-weight: 600; color: #217346; }
.ef-new-form__totals { display: flex; justify-content: flex-end; gap: 1.5rem; padding: .65rem .75rem; background: #f9f9f9; border-top: 1px solid #d4d4d4; }
.ef-new-form__totals div { display: flex; flex-direction: column; align-items: flex-end; }
.ef-new-form__totals span { font-size: .6875rem; color: #888; text-transform: uppercase; }
.ef-new-form__grand strong { font-size: 1.0625rem; color: #217346; }
.ef-new-form__actions { display: flex; gap: .5rem; justify-content: flex-end; }

.ef-invoice-preview { font-size: .8125rem; }
.ef-invoice-preview__head { display: flex; justify-content: space-between; align-items: flex-start; gap: 1rem; margin-bottom: 1rem; padding-bottom: 1rem; border-bottom: 1px solid var(--border); }
.ef-invoice-preview__type { display: inline-block; font-size: .6875rem; font-weight: 700; text-transform: uppercase; color: #217346; margin-bottom: .25rem; }
.ef-invoice-preview__head h2 { margin: 0; font-size: 1.125rem; font-weight: 700; }
.ef-invoice-preview__badges { display: flex; gap: .35rem; flex-wrap: wrap; }
.ef-invoice-preview__parties { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; margin-bottom: 1rem; }
.ef-party-card { padding: .75rem; background: #f9f9f9; border: 1px solid #e8e8e8; border-radius: 4px; }
.ef-party-card h4 { margin: 0 0 .5rem; font-size: .6875rem; text-transform: uppercase; color: #888; }
.ef-invoice-preview__meta { display: flex; flex-wrap: wrap; gap: 1rem; padding: .65rem .75rem; background: #f9f9f9; border-radius: 4px; margin-bottom: 1rem; font-size: .75rem; }
.ef-invoice-preview__totals { margin-top: 1rem; margin-left: auto; max-width: 280px; border-top: 2px solid #217346; padding-top: .75rem; }
.ef-invoice-preview__totals div { display: flex; justify-content: space-between; padding: .3rem 0; }
.ef-invoice-preview__grand { font-weight: 700; font-size: 1rem; border-top: 1px solid #ddd; margin-top: .35rem; padding-top: .5rem; }
.ef-invoice-note { margin-top: 1rem; padding: .65rem; background: #fffbeb; border-radius: 4px; }
.ef-form-hint { font-size: .8125rem; color: var(--muted); padding: .5rem .75rem; background: #f8fafc; border-radius: 6px; margin: 0 0 .75rem; }

@media (max-width: 900px) {
  .ef-formula-hint { display: none; }
  .ef-new-form__header { grid-template-columns: 1fr; }
  .ef-invoice-preview__parties { grid-template-columns: 1fr; }
  .ef-workspace-head { flex-direction: column; align-items: flex-start; }
}
@media (max-width: 640px) {
  .ef-ribbon { flex-direction: column; align-items: stretch; }
  .ef-formula-bar { flex-wrap: wrap; }
}

/* Legacy e-fatura (compat) */
.efatura-status-bar { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1rem 1.25rem; border-radius: 12px; margin-bottom: 1rem; border: 1px solid var(--border); background: var(--card); flex-wrap: wrap; }
.efatura-status-bar.connected { border-left: 4px solid #16a34a; }
.ef-kpi-row { display: grid; grid-template-columns: repeat(auto-fill, minmax(130px, 1fr)); gap: .75rem; margin-bottom: 1rem; }
.ef-kpi { background: var(--card); border: 1px solid var(--border); border-radius: 10px; padding: .875rem 1rem; }
.ef-panel { background: var(--card); border: 1px solid var(--border); border-radius: 12px; overflow: hidden; margin-bottom: 1rem; }
.efatura-preview { font-size: .8125rem; }
.efatura-preview-parties { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; margin-bottom: 1rem; }

/* ── Global Search ── */
.global-search-wrap { position: relative; flex: 1; max-width: 360px; min-width: 180px; }
.search-icon { position: absolute; left: .75rem; top: 50%; transform: translateY(-50%); font-size: .875rem; opacity: .45; pointer-events: none; }
.global-search {
  width: 100%; padding: .45rem .75rem .45rem 2.25rem; border: 1px solid var(--border);
  border-radius: 8px; font-family: inherit; font-size: .8125rem; background: var(--surface);
  color: var(--text);
  transition: border-color .2s, box-shadow .2s, background .2s;
}
.global-search:focus { outline: none; border-color: var(--gold); background: var(--input-bg); box-shadow: 0 0 0 3px rgba(201,169,98,.12); }
.global-search-results {
  position: absolute; top: calc(100% + 4px); left: 0; right: 0; background: var(--card);
  border: 1px solid var(--border); border-radius: 10px; box-shadow: 0 12px 32px rgba(0,0,0,.12);
  z-index: 200; overflow: hidden; max-height: 320px; overflow-y: auto;
}
.search-result-item {
  display: flex; align-items: center; gap: .75rem; width: 100%; padding: .65rem .875rem;
  border: none; background: none; text-align: left; cursor: pointer; font-family: inherit;
  transition: background .15s;
}
.search-result-item:hover { background: var(--surface-hover); }
.search-result-item strong { display: block; font-size: .8125rem; }
.search-result-item small { display: block; font-size: .6875rem; color: var(--muted); margin-top: .1rem; }
.search-result-icon { font-size: 1.125rem; width: 1.75rem; text-align: center; }

/* ── Timeline ── */
.timeline { display: flex; align-items: flex-start; gap: 0; margin: 1.25rem 0; overflow-x: auto; padding-bottom: .5rem; }
.timeline-step { display: flex; flex-direction: column; align-items: center; gap: .35rem; min-width: 64px; flex-shrink: 0; }
.timeline-dot {
  width: 36px; height: 36px; border-radius: 50%; display: flex; align-items: center; justify-content: center;
  font-size: .875rem; background: var(--surface-2); border: 2px solid var(--border);
  transition: all .35s cubic-bezier(.4,0,.2,1);
}
.timeline-step.done .timeline-dot { background: #dcfce7; border-color: #16a34a; }
.timeline-step.active .timeline-dot { background: linear-gradient(135deg, #f5edd8, #e8d5a3); border-color: var(--gold); box-shadow: 0 0 0 4px rgba(201,169,98,.2); transform: scale(1.08); }
.timeline-label { font-size: .625rem; color: var(--muted); text-transform: uppercase; letter-spacing: .04em; white-space: nowrap; }
.timeline-step.active .timeline-label { color: var(--gold-dark); font-weight: 600; }
.timeline-line { flex: 1; height: 2px; background: var(--border); margin-top: 18px; min-width: 20px; transition: background .35s; }
.timeline-line.done { background: #16a34a; }

/* ── Customer 360 ── */
.customer-360 { font-size: .875rem; }
.c360-head { display: flex; justify-content: space-between; gap: 1rem; margin-bottom: 1rem; padding-bottom: 1rem; border-bottom: 1px solid var(--border); }
.c360-balance { text-align: right; padding: .5rem .75rem; background: var(--surface); border-radius: 8px; }
.c360-balance.debt { background: var(--surface-danger); }
.c360-balance span { display: block; font-size: .6875rem; color: var(--muted); }
.c360-stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: .5rem; margin-bottom: 1rem; }
.c360-stats > div { padding: .65rem; background: var(--surface); border-radius: 8px; text-align: center; }
.c360-stats span { display: block; font-size: .625rem; color: var(--muted); text-transform: uppercase; }
.c360-stats strong { font-size: 1rem; }
.c360-section { margin-bottom: .875rem; }
.c360-section h5 { font-size: .6875rem; text-transform: uppercase; color: var(--muted); margin-bottom: .35rem; }
.c360-row { padding: .4rem 0; border-bottom: 1px solid var(--border); font-size: .8125rem; display: flex; align-items: center; gap: .5rem; flex-wrap: wrap; }
.c360-statement { margin-top: 1rem; padding-top: 1rem; border-top: 1px solid var(--border); }

/* ── Delivery ── */
.delivery-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 1rem; }
.delivery-card {
  background: var(--card); border: 1px solid var(--border); border-radius: 12px; padding: 1.125rem;
  box-shadow: 0 1px 3px rgba(0,0,0,.04); transition: transform .2s, box-shadow .2s;
}
.delivery-card:hover { transform: translateY(-2px); box-shadow: 0 8px 24px rgba(0,0,0,.08); }
.delivery-head { display: flex; justify-content: space-between; align-items: flex-start; margin-bottom: .5rem; }
.delivery-head strong { display: block; font-size: 1rem; }
.delivery-totals { display: flex; gap: 1rem; margin: .75rem 0; font-size: .8125rem; }
.delivery-actions { display: flex; flex-wrap: wrap; gap: .35rem; }

/* ── Maintenance ── */
.maint-list { display: flex; flex-direction: column; gap: .5rem; }
.maint-item {
  display: flex; align-items: center; justify-content: space-between; gap: .75rem; flex-wrap: wrap;
  padding: .65rem .75rem; border-radius: 8px; background: var(--surface); border: 1px solid var(--border);
  transition: background .15s;
}
.maint-item.maint-urgent { background: var(--surface-warn); border-color: var(--surface-warn-border); }
.maint-item strong { display: block; }
.maint-item .muted { font-size: .75rem; }
.maint-meta { text-align: right; }

/* ── Payment plan / Detail ── */
.service-detail .detail-head { display: flex; justify-content: space-between; align-items: flex-start; margin-bottom: .5rem; }
.detail-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: .75rem; margin: 1rem 0; }
.detail-label { display: block; font-size: .6875rem; color: var(--muted); text-transform: uppercase; margin-bottom: .15rem; }
.payment-plan { margin-top: 1rem; padding: .875rem; background: var(--surface); border-radius: 8px; }
.payment-plan h4 { font-size: .8125rem; margin-bottom: .5rem; }
.plan-row { display: flex; align-items: center; gap: .5rem; padding: .35rem 0; font-size: .8125rem; border-bottom: 1px solid var(--border); }
.plan-row strong { margin-left: auto; }
.detail-actions { display: flex; gap: .5rem; flex-wrap: wrap; margin-top: 1rem; }

/* ── Daily cash ── */
.daily-cash-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: .75rem; }
.daily-stat { padding: .875rem; background: var(--surface); border-radius: 8px; text-align: center; }
.daily-stat span { display: block; font-size: .6875rem; color: var(--muted); margin-bottom: .25rem; }
.daily-stat strong { font-size: 1.125rem; }
.daily-stat small { display: block; margin-top: .2rem; font-size: .625rem; color: var(--muted); }

.kasa-filter-bar {
  display: grid;
  grid-template-columns: repeat(4, minmax(120px, 1fr)) auto;
  gap: .75rem;
  align-items: end;
  margin-bottom: 1rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid var(--border);
}
.kasa-filter-actions { display: flex; gap: .35rem; flex-wrap: wrap; align-items: center; }

.biz-alert-card .card-head { display: flex; align-items: center; justify-content: space-between; gap: .75rem; }
.biz-due-list { display: flex; flex-direction: column; gap: .5rem; }
.biz-due-item {
  display: flex; align-items: center; justify-content: space-between; gap: .75rem; flex-wrap: wrap;
  padding: .65rem .75rem; border: 1px solid var(--border); border-radius: 8px; background: var(--surface-warn);
}
.biz-due-item strong { display: block; }
.biz-due-item .muted { font-size: .75rem; }
.biz-due-meta { display: flex; align-items: center; gap: .5rem; }

.payroll-summary-grid {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: .75rem; margin-bottom: 1rem;
}
.payroll-stat {
  background: var(--card); border: 1px solid var(--border); border-radius: 10px; padding: .85rem 1rem;
  display: flex; flex-direction: column; gap: .25rem;
}
.payroll-stat span { font-size: .75rem; color: var(--muted); }
.payroll-stat strong { font-size: 1.1rem; }
.payroll-stat-total { background: linear-gradient(135deg, var(--surface-info), var(--surface-success)); border-color: var(--border); }
.payroll-stat-total strong { color: var(--primary); font-size: 1.25rem; }
.payroll-action-card { margin-top: 1rem; }
.payroll-action-btns { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: .75rem; }
.payroll-ge-btns { display: flex; flex-wrap: wrap; gap: .5rem; margin: .5rem 0; }
.payroll-ge-btn { justify-content: flex-start; }
.payroll-ge-empty { font-size: .85rem; padding: .35rem 0; }
.badge-xs { font-size: .65rem; padding: .1rem .35rem; vertical-align: middle; }
.payroll-recent { display: flex; flex-direction: column; gap: .35rem; margin: .75rem 0; }
.payroll-post-item {
  display: flex; align-items: center; gap: .75rem; padding: .45rem .6rem; border-radius: 6px; background: var(--bg);
  font-size: .85rem;
}
.payroll-post-item strong { margin-left: auto; }
.form-section-label {
  font-size: .8rem; font-weight: 600; text-transform: uppercase; letter-spacing: .04em;
  color: var(--muted); margin: .5rem 0 .25rem; padding-top: .5rem; border-top: 1px solid var(--border);
}
.payroll-check-group {
  border: 1px solid var(--border); border-radius: 8px; padding: .65rem .75rem; margin: 0;
}
.payroll-check-group legend { font-size: .8rem; font-weight: 600; padding: 0 .25rem; }
.payroll-preview {
  padding: .65rem .75rem; background: var(--surface-success); border: 1px solid var(--surface-success-border); border-radius: 8px; font-size: .9rem;
}
.form-warn { color: #b45309; background: var(--surface-warn); border: 1px solid var(--surface-warn-border); border-radius: 8px; padding: .5rem .65rem; font-size: .85rem; }
.text-sm { font-size: .8rem; }
.row-muted td { opacity: .55; }
.payroll-kasa-row.hidden { display: none; }
.ge-sync-kasa.hidden, .ge-sync-account.hidden { display: none; }

.owner-kpi-row {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: .75rem; margin-bottom: 1rem;
}
.owner-kpi {
  background: var(--card); border: 1px solid var(--border); border-radius: 10px; padding: .85rem 1rem;
  display: flex; flex-direction: column; gap: .2rem;
}
.owner-kpi span { font-size: .72rem; color: var(--muted); text-transform: uppercase; letter-spacing: .03em; }
.owner-kpi strong { font-size: 1.15rem; }
.owner-kpi small { font-size: .72rem; color: var(--muted); }

.budget-bars { display: flex; flex-direction: column; gap: .65rem; }
.budget-row-head { display: flex; justify-content: space-between; font-size: .85rem; margin-bottom: .25rem; }
.budget-track { height: 8px; background: var(--surface-2); border-radius: 99px; overflow: hidden; }
.budget-fill { height: 100%; background: linear-gradient(90deg, #3b82f6, #22c55e); border-radius: 99px; }
.budget-row.budget-warn .budget-fill { background: linear-gradient(90deg, #f59e0b, #f97316); }
.budget-row.budget-over .budget-fill { background: linear-gradient(90deg, #ef4444, #dc2626); }
.budget-summary-grid {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: .75rem;
}
.budget-summary-grid > div {
  padding: .75rem; border: 1px solid var(--border); border-radius: 8px; background: var(--bg);
}
.budget-summary-grid span { display: block; font-size: .75rem; color: var(--muted); }
.owner-settings-stack { display: flex; flex-direction: column; gap: 1rem; }
.owner-backup-card, .gib-api-card { margin-top: 0; }
.backup-import-btn { cursor: pointer; display: inline-flex; align-items: center; }

.cal-weekdays, .cal-grid { display: grid; grid-template-columns: repeat(7, 1fr); gap: .35rem; }
.cal-weekdays span { text-align: center; font-size: .7rem; color: var(--muted); font-weight: 600; }
.cal-cell {
  min-height: 72px; border: 1px solid var(--border); border-radius: 8px; padding: .35rem;
  display: flex; flex-direction: column; gap: .15rem; font-size: .7rem; background: var(--surface-inset);
}
.cal-cell.cal-empty { background: transparent; border-color: transparent; }
.cal-cell.cal-today { border-color: #3b82f6; box-shadow: 0 0 0 1px rgba(59, 130, 246, 0.45); }
.cal-cell.cal-has-events { background: var(--surface); }
.cal-ev { display: block; padding: .1rem .2rem; border-radius: 4px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.cal-ev-green { background: #dcfce7; color: #166534; }
.cal-ev-red { background: #fee2e2; color: #991b1b; }
.cal-ev-blue { background: #dbeafe; color: #1e40af; }
.cal-ev-orange { background: #ffedd5; color: #9a3412; }

.delivery-actions--primary { margin-bottom: .35rem; }
.delivery-card .delivery-actions--primary .btn { width: 100%; justify-content: center; }

@media (max-width: 900px) {
  .kasa-filter-bar { grid-template-columns: 1fr 1fr; }
}

/* ── E-fatura tracking ── */
.ef-tracking { margin-top: 1rem; padding-top: 1rem; border-top: 1px solid var(--border); }
.ef-tracking h4 { font-size: .8125rem; margin-bottom: .65rem; }
.tracking-log { display: flex; flex-direction: column; gap: .35rem; }
.track-item { display: flex; gap: .75rem; padding: .5rem .65rem; border-radius: 6px; font-size: .8125rem; background: var(--surface); }
.track-time { font-size: .6875rem; color: var(--muted); white-space: nowrap; min-width: 110px; }
.track-success { background: var(--surface-success); border-left: 3px solid #16a34a; }
.track-error { background: var(--surface-danger); border-left: 3px solid #dc2626; }
.track-warn { background: var(--surface-warn); border-left: 3px solid #f59e0b; }
.ef-reject-reason { margin: .65rem 0; padding: .65rem; background: var(--surface-danger); border-radius: 6px; font-size: .8125rem; }
.ef-tracking-actions { display: flex; gap: .35rem; flex-wrap: wrap; margin-top: .65rem; }

/* ── Animations ── */
@media (prefers-reduced-motion: no-preference) {
  .page-enter { animation: pageEnter .35s cubic-bezier(.4,0,.2,1) both; }
  .modal-enter { animation: modalEnter .28s cubic-bezier(.4,0,.2,1) both; }
  .anim-fade-in { animation: fadeIn .4s cubic-bezier(.4,0,.2,1) both; }
  .anim-fade-up { animation: fadeUp .45s cubic-bezier(.4,0,.2,1) both; }
  .anim-stagger { animation: fadeUp .4s cubic-bezier(.4,0,.2,1) both; animation-delay: calc(var(--i, 0) * 60ms); }
  .timeline-animate .timeline-step { animation: fadeUp .4s cubic-bezier(.4,0,.2,1) both; }
  .timeline-animate .timeline-step:nth-child(1) { animation-delay: 0ms; }
  .timeline-animate .timeline-step:nth-child(3) { animation-delay: 80ms; }
  .timeline-animate .timeline-step:nth-child(5) { animation-delay: 160ms; }
  .timeline-animate .timeline-step:nth-child(7) { animation-delay: 240ms; }
  .timeline-animate .timeline-step:nth-child(9) { animation-delay: 320ms; }
  .card { transition: transform .2s ease, box-shadow .2s ease; }
  .card:hover { transform: translateY(-1px); box-shadow: 0 4px 16px rgba(0,0,0,.06); }
  .stat-card { transition: transform .2s ease, box-shadow .2s ease; }
  .stat-card:hover { transform: translateY(-2px); box-shadow: 0 6px 20px rgba(0,0,0,.07); }
  .btn { transition: transform .12s ease, box-shadow .12s ease, background .15s; }
  .btn:active { transform: scale(.97); }
}
@keyframes pageEnter { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: translateY(0); } }
@keyframes modalEnter { from { opacity: 0; transform: scale(.96) translateY(8px); } to { opacity: 1; transform: scale(1) translateY(0); } }
@keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } }
@keyframes fadeUp { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }

/* Mobile */
@media (max-width: 1024px) {
  .sidebar { transform: translateX(-100%); }
  .sidebar.open { transform: translateX(0); }
  .main-wrap { margin-left: 0; }
  .menu-toggle { display: block; }
  .topbar-date { display: none; }
  .global-search-wrap { max-width: none; }
  .c360-stats { grid-template-columns: repeat(2, 1fr); }
  .daily-cash-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 640px) {
  .content { padding: 1rem; }
  .page-header { flex-direction: column; }
  .topbar-left { flex-wrap: wrap; }
  .branch-select { min-width: 0; flex: 1 1 120px; }
  .global-search-wrap { flex: 1 1 100%; order: 3; }
  .user-chip-role { display: none; }
  .filter-bar { flex-direction: column; align-items: stretch; }
  .table-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; }
  .data-table { min-width: 640px; }
}

/* Platform: loading, offline, tema, kısayollar */
.app-loading {
  display: flex; align-items: center; justify-content: center; gap: .75rem;
  min-height: 200px; color: var(--muted); font-size: .9rem;
}
.app-loading::before {
  content: ''; width: 22px; height: 22px; border: 2px solid var(--border);
  border-top-color: var(--gold); border-radius: 50%; animation: spin .7s linear infinite;
}
@keyframes spin { to { transform: rotate(360deg); } }

.offline-banner {
  position: sticky; top: 0; z-index: 300; background: #fef3c7; color: #92400e;
  border-bottom: 1px solid #fde68a; padding: .55rem 1rem; font-size: .8125rem; text-align: center;
}
body.server-offline .topbar { border-bottom-color: #fde68a; }

.sidebar-backdrop {
  position: fixed; inset: 0; background: rgba(0,0,0,.45); z-index: 90;
}
.icon-btn {
  border: 1px solid var(--border); background: var(--card); border-radius: 8px;
  width: 34px; height: 34px; cursor: pointer; font-size: .9rem; line-height: 1;
}
.icon-btn:hover { background: var(--surface-hover); }
.shortcut-hint { font-weight: 700; font-size: .8rem; }
.search-result-item.active { background: #fef9ee; outline: 2px solid rgba(201,169,98,.35); }
.filter-hint { font-size: .75rem; align-self: center; white-space: nowrap; }
.filter-bar { display: flex; flex-wrap: wrap; gap: .65rem; align-items: end; margin-bottom: 1rem; }
.page-section .filter-bar { margin-bottom: .75rem; }

.shortcut-list { display: flex; flex-direction: column; gap: .65rem; }
.shortcut-row { display: flex; align-items: center; gap: .5rem; font-size: .875rem; flex-wrap: wrap; }
.shortcut-row span { margin-left: auto; color: var(--muted); }
kbd {
  display: inline-block; padding: .15rem .4rem; border: 1px solid var(--border);
  border-radius: 4px; background: var(--surface); color: var(--text); font-size: .75rem; font-family: inherit;
}

[data-theme="dark"] {
  --bg: #0b1220;
  --card: #151f32;
  --text: #e8eef7;
  --muted: #94a3b8;
  --border: #2a3749;
  --primary: #38bdf8;
  --surface: #111827;
  --surface-2: #1a2438;
  --surface-inset: #0f172a;
  --surface-hover: #1e293b;
  --surface-warn: rgba(245, 158, 11, 0.14);
  --surface-warn-border: rgba(245, 158, 11, 0.38);
  --surface-success: rgba(16, 185, 129, 0.14);
  --surface-success-border: rgba(16, 185, 129, 0.38);
  --surface-danger: rgba(239, 68, 68, 0.14);
  --surface-danger-border: rgba(239, 68, 68, 0.38);
  --surface-info: rgba(59, 130, 246, 0.14);
  --input-bg: #0f172a;
  --modal-bg: #1a2438;
  --btn-secondary-bg: #334155;
  --btn-ghost-color: #7dd3fc;
  --shadow-color: rgba(0, 0, 0, 0.35);
  --ef-bg: #152238;
  --ef-surface: #1a2c47;
  --ef-surface-2: #223552;
  --ef-border: #3d4f68;
  --ef-text: #e2e8f0;
  --ef-text-muted: #94a3b8;
  --ef-accent: #4ade80;
  --ef-row-even: #172a44;
  --ef-row-hover: #1e3a31;
  --ef-row-selected: #1a3d32;
  color-scheme: dark;
}

[data-theme="dark"] body { background: var(--bg); color: var(--text); }
[data-theme="dark"] .topbar,
[data-theme="dark"] .modal,
[data-theme="dark"] .card,
[data-theme="dark"] .stat-card,
[data-theme="dark"] .account-card,
[data-theme="dark"] .owner-kpi,
[data-theme="dark"] .payroll-stat,
[data-theme="dark"] .delivery-card,
[data-theme="dark"] .finance-category-card,
[data-theme="dark"] .ef-kpi,
[data-theme="dark"] .ef-panel,
[data-theme="dark"] .efatura-status-bar {
  background: var(--card);
  border-color: var(--border);
  color: var(--text);
}

[data-theme="dark"] .field,
[data-theme="dark"] .branch-select,
[data-theme="dark"] .global-search,
[data-theme="dark"] .ef-formula-input,
[data-theme="dark"] .ef-formula-select,
[data-theme="dark"] .ef-grid--lines .ef-line-field {
  background: var(--input-bg);
  color: var(--text);
  border-color: var(--border);
}

[data-theme="dark"] .global-search:focus { background: var(--input-bg); box-shadow: 0 0 0 3px rgba(201, 169, 98, 0.18); }
[data-theme="dark"] .global-search-results { background: var(--card); border-color: var(--border); }
[data-theme="dark"] .search-result-item:hover,
[data-theme="dark"] .search-result-item.active { background: var(--surface-hover); }
[data-theme="dark"] .search-result-item.active { outline-color: rgba(201, 169, 98, 0.45); }

[data-theme="dark"] .data-table th { background: var(--surface); color: var(--muted); }
[data-theme="dark"] .data-table td { border-color: var(--border); color: var(--text); }
[data-theme="dark"] .data-table tr:hover td { background: var(--surface-hover); }
[data-theme="dark"] .row-warn td { background: var(--surface-warn) !important; }

[data-theme="dark"] .badge-blue { background: rgba(59, 130, 246, 0.22); color: #93c5fd; }
[data-theme="dark"] .badge-green { background: rgba(34, 197, 94, 0.2); color: #86efac; }
[data-theme="dark"] .badge-orange { background: rgba(249, 115, 22, 0.2); color: #fdba74; }
[data-theme="dark"] .badge-red { background: rgba(239, 68, 68, 0.2); color: #fca5a5; }
[data-theme="dark"] .badge-gray { background: rgba(148, 163, 184, 0.18); color: #cbd5e1; }

[data-theme="dark"] .text-red { color: #f87171; }
[data-theme="dark"] .text-green { color: #4ade80; }
[data-theme="dark"] .btn-secondary { background: var(--btn-secondary-bg); color: var(--text); }
[data-theme="dark"] .btn-ghost { color: var(--btn-ghost-color); border-color: var(--border); }
[data-theme="dark"] .btn-danger { background: var(--surface-danger); color: #fca5a5; }
[data-theme="dark"] .btn-primary { color: #111827; }

[data-theme="dark"] .tab.active { color: var(--primary); border-bottom-color: var(--primary); }
[data-theme="dark"] .icon-btn { background: var(--surface); color: var(--text); border-color: var(--border); }
[data-theme="dark"] .icon-btn:hover { background: var(--surface-hover); }
[data-theme="dark"] .offline-banner { background: #422006; color: #fde68a; border-color: #78350f; }

[data-theme="dark"] .finance-hub-hero {
  background:
    radial-gradient(ellipse 80% 60% at 100% 0%, rgba(56, 189, 248, 0.12), transparent 55%),
    linear-gradient(145deg, var(--card) 0%, #101a2e 100%);
  box-shadow: 0 4px 24px rgba(0, 0, 0, 0.25);
}
[data-theme="dark"] .finance-hub-hero__badge { color: #93c5fd; background: rgba(59, 130, 246, 0.18); border-color: rgba(59, 130, 246, 0.35); }
[data-theme="dark"] .finance-hub-hero__panel { background: rgba(0, 0, 0, 0.22); }
[data-theme="dark"] .finance-category-card { box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2); }
[data-theme="dark"] .finance-category-card:hover { box-shadow: 0 12px 32px rgba(0, 0, 0, 0.35); }
[data-theme="dark"] .finance-category-card--blue .finance-category-card__icon { background: rgba(59, 130, 246, 0.2); color: #93c5fd; }
[data-theme="dark"] .finance-category-card--slate .finance-category-card__icon { background: rgba(148, 163, 184, 0.18); color: #cbd5e1; }
[data-theme="dark"] .finance-category-card--emerald .finance-category-card__icon { background: rgba(16, 185, 129, 0.18); color: #6ee7b7; }
[data-theme="dark"] .finance-category-card--amber .finance-category-card__icon { background: rgba(245, 158, 11, 0.18); color: #fcd34d; }

[data-theme="dark"] .ocr-dropzone {
  background: linear-gradient(135deg, var(--surface) 0%, var(--surface-2) 100%);
  border-color: rgba(201, 169, 98, 0.35);
}
[data-theme="dark"] .ocr-dropzone:hover,
[data-theme="dark"] .ocr-dropzone.dragover { background: rgba(245, 158, 11, 0.08); }
[data-theme="dark"] .ocr-result-box { background: var(--surface-success); border-color: var(--surface-success-border); }
[data-theme="dark"] .ocr-result-row { background: var(--card); border-color: var(--surface-success-border); }
[data-theme="dark"] .ocr-success-badge { background: rgba(34, 197, 94, 0.2); color: #86efac; }
[data-theme="dark"] .field.ocr-filled,
[data-theme="dark"] select.ocr-filled,
[data-theme="dark"] textarea.ocr-filled {
  background: var(--input-bg);
  border-color: #4ade80 !important;
  box-shadow: 0 0 0 3px rgba(74, 222, 128, 0.15);
}

[data-theme="dark"] .template-btn { background: var(--surface-success); color: #86efac; }
[data-theme="dark"] .alert-warn,
[data-theme="dark"] .form-warn { color: #fcd34d; }
[data-theme="dark"] .cal-ev-green { background: rgba(34, 197, 94, 0.2); color: #86efac; }
[data-theme="dark"] .cal-ev-red { background: rgba(239, 68, 68, 0.2); color: #fca5a5; }
[data-theme="dark"] .cal-ev-blue { background: rgba(59, 130, 246, 0.2); color: #93c5fd; }
[data-theme="dark"] .cal-ev-orange { background: rgba(249, 115, 22, 0.2); color: #fdba74; }

[data-theme="dark"] .ef-connection-bar {
  background: var(--surface-success);
  border-color: var(--surface-success-border);
}
[data-theme="dark"] .ef-connection-bar__left strong,
[data-theme="dark"] .ef-connection-bar__left span,
[data-theme="dark"] .ef-connection-bar__meta { color: var(--text); }
[data-theme="dark"] .ef-info-strip { background: var(--surface-warn); border-color: var(--surface-warn-border); color: var(--text); }
[data-theme="dark"] .ef-spreadsheet { background: var(--ef-bg); border-color: var(--ef-border); box-shadow: 0 2px 8px var(--shadow-color); }
[data-theme="dark"] .ef-ribbon { background: var(--ef-surface); border-bottom-color: var(--ef-border); }
[data-theme="dark"] .ef-ribbon-btn { color: var(--ef-text); }
[data-theme="dark"] .ef-ribbon-btn:hover { background: var(--ef-surface-2); border-color: var(--ef-border); }
[data-theme="dark"] .ef-grid th,
[data-theme="dark"] .ef-grid td { border-color: var(--ef-border); color: var(--ef-text); }
[data-theme="dark"] .ef-grid-th { background: var(--ef-surface); color: var(--ef-text); }
[data-theme="dark"] .ef-grid-th[data-ef-sort]:hover { background: var(--ef-surface-2); }
[data-theme="dark"] .ef-grid-th--rownum,
[data-theme="dark"] .ef-grid-rownum { background: var(--ef-surface-2) !important; color: var(--ef-text-muted); }
[data-theme="dark"] .ef-grid-row:nth-child(even) td { background: var(--ef-row-even); }
[data-theme="dark"] .ef-grid-row:hover td { background: var(--ef-row-hover) !important; }
[data-theme="dark"] .ef-grid-row--selected td { background: var(--ef-row-selected) !important; }
[data-theme="dark"] .ef-grid-check { background: var(--ef-row-even) !important; }
[data-theme="dark"] .ef-grid-cell--mono,
[data-theme="dark"] .ef-grid-cell--small,
[data-theme="dark"] .ef-grid-time,
[data-theme="dark"] .ef-grid-total-meta,
[data-theme="dark"] .ef-muted { color: var(--ef-text-muted); }
[data-theme="dark"] .ef-grid-cell--total,
[data-theme="dark"] .ef-grid-total-label,
[data-theme="dark"] .ef-sort-icon--active,
[data-theme="dark"] .ef-line-total,
[data-theme="dark"] .ef-new-form__grand strong,
[data-theme="dark"] .ef-invoice-preview__type { color: var(--ef-accent); }
[data-theme="dark"] .ef-grid-total-row td { background: var(--ef-surface) !important; border-top-color: var(--ef-accent); }
[data-theme="dark"] .ef-cell-badge--green { background: rgba(34, 197, 94, 0.2); color: #86efac; }
[data-theme="dark"] .ef-cell-badge--orange { background: rgba(249, 115, 22, 0.2); color: #fdba74; }
[data-theme="dark"] .ef-cell-badge--blue { background: rgba(59, 130, 246, 0.2); color: #93c5fd; }
[data-theme="dark"] .ef-cell-badge--red { background: rgba(239, 68, 68, 0.2); color: #fca5a5; }
[data-theme="dark"] .ef-cell-badge--gray { background: rgba(148, 163, 184, 0.18); color: #cbd5e1; }
[data-theme="dark"] .ef-link-btn { color: var(--primary); }
[data-theme="dark"] .ef-link-btn:hover { color: var(--ef-accent); }
[data-theme="dark"] .ef-icon-btn:hover { background: var(--ef-surface-2); border-color: var(--ef-border); }
[data-theme="dark"] .ef-sheet-tabs { background: var(--ef-surface); border-top-color: var(--ef-border); }
[data-theme="dark"] .ef-sheet-tab { background: var(--ef-surface-2); color: var(--ef-text-muted); border-color: var(--ef-border); }
[data-theme="dark"] .ef-sheet-tab--active { background: var(--ef-bg); color: var(--ef-accent); border-color: var(--ef-accent); }
[data-theme="dark"] .ef-line-editor,
[data-theme="dark"] .ef-line-editor__head,
[data-theme="dark"] .ef-new-form__totals { background: var(--ef-surface); border-color: var(--ef-border); }
[data-theme="dark"] .ef-party-card,
[data-theme="dark"] .ef-invoice-preview__meta,
[data-theme="dark"] .ef-form-hint { background: var(--surface); border-color: var(--border); color: var(--text); }
[data-theme="dark"] .ef-party-card h4 { color: var(--muted); }
[data-theme="dark"] .ef-invoice-preview__grand { border-top-color: var(--border); }
[data-theme="dark"] .ef-invoice-note { background: var(--surface-warn); }

[data-theme="dark"] .timeline-step.done .timeline-dot { background: rgba(34, 197, 94, 0.2); border-color: #4ade80; }
[data-theme="dark"] .timeline-step.active .timeline-label { color: var(--gold-light); }
[data-theme="dark"] .card:hover,
[data-theme="dark"] .stat-card:hover,
[data-theme="dark"] .delivery-card:hover { box-shadow: 0 8px 24px rgba(0, 0, 0, 0.35); }

[data-theme="dark"] select option { background: var(--card); color: var(--text); }

@media (max-width: 1024px) {
  .sidebar.open + .sidebar-backdrop { display: block; }
  .sidebar-backdrop:not([hidden]) { display: block; }
}
