:root {
  /* ===== DARK MODE (default) ===== */
  --bg-primary: #0a0e17;
  --bg-secondary: #111827;
  --bg-card: #1a1f2e;
  --bg-card-hover: #222839;
  --bg-elevated: #252b3b;
  --bg-input: #1e2433;
  --bg-highlight-row: rgba(99, 102, 241, 0.06);
  --bg-highlight-col: rgba(99, 102, 241, 0.04);
  --bg-highlight-cell: rgba(99, 102, 241, 0.12);

  --accent-primary: #6366f1;
  --accent-primary-light: #818cf8;
  --accent-gradient: linear-gradient(135deg, #6366f1, #8b5cf6);

  --status-green: #10b981;
  --status-green-bg: rgba(16, 185, 129, 0.12);
  --status-green-border: rgba(16, 185, 129, 0.3);
  --status-yellow: #f59e0b;
  --status-yellow-bg: rgba(245, 158, 11, 0.12);
  --status-yellow-border: rgba(245, 158, 11, 0.3);
  --status-red: #ef4444;
  --status-red-bg: rgba(239, 68, 68, 0.12);
  --status-red-border: rgba(239, 68, 68, 0.3);

  --text-primary: #f1f5f9;
  --text-secondary: #94a3b8;
  --text-tertiary: #64748b;
  --text-accent: #818cf8;

  --border-primary: rgba(255, 255, 255, 0.06);
  --border-secondary: rgba(255, 255, 255, 0.1);
  --border-hover: rgba(255, 255, 255, 0.15);

  --shadow-sm: 0 1px 2px rgba(0,0,0,0.3);
  --shadow-md: 0 4px 12px rgba(0,0,0,0.4);
  --shadow-lg: 0 8px 32px rgba(0,0,0,0.5);
  --shadow-glow: 0 0 20px rgba(99,102,241,0.15);

  --radius-sm: 6px;
  --radius-md: 10px;
  --radius-lg: 16px;
  --radius-xl: 20px;
  --transition-fast: 150ms ease;
  --transition-normal: 250ms ease;
  --transition-smooth: 0.25s cubic-bezier(0.4, 0, 0.2, 1);
  --shadow-card: 0 2px 8px rgba(0,0,0,0.18), 0 0 0 1px rgba(255,255,255,0.04);
  --shadow-hover: 0 8px 24px rgba(0,0,0,0.35);
  --status-green-text: #34d399;
  --status-yellow-text: #fbbf24;
  --status-red-text: #f87171;
  --bg-glass: rgba(255,255,255,0.03);
  --border-glass: rgba(255,255,255,0.08);
}

/* ===== LIGHT MODE ===== */
[data-theme="light"] {
  --bg-primary: #f8fafc;
  --bg-secondary: #ffffff;
  --bg-card: #ffffff;
  --bg-card-hover: #f1f5f9;
  --bg-elevated: #f1f5f9;
  --bg-input: #f8fafc;
  --bg-highlight-row: rgba(99, 102, 241, 0.06);
  --bg-highlight-col: rgba(99, 102, 241, 0.04);
  --bg-highlight-cell: rgba(99, 102, 241, 0.12);

  --text-primary: #0f172a;
  --text-secondary: #475569;
  --text-tertiary: #94a3b8;
  --text-accent: #6366f1;

  --border-primary: rgba(0, 0, 0, 0.06);
  --border-secondary: rgba(0, 0, 0, 0.1);
  --border-hover: rgba(0, 0, 0, 0.15);

  --shadow-sm: 0 1px 2px rgba(0,0,0,0.05);
  --shadow-md: 0 4px 12px rgba(0,0,0,0.08);
  --shadow-lg: 0 8px 32px rgba(0,0,0,0.12);
  --shadow-glow: 0 0 20px rgba(99,102,241,0.1);
  --shadow-card: 0 1px 4px rgba(0,0,0,0.06), 0 0 0 1px rgba(0,0,0,0.04);
  --shadow-hover: 0 8px 24px rgba(0,0,0,0.12);

  --status-green-bg: rgba(16, 185, 129, 0.08);
  --status-yellow-bg: rgba(245, 158, 11, 0.08);
  --status-red-bg: rgba(239, 68, 68, 0.08);
  --status-green-text: #059669;
  --status-yellow-text: #d97706;
  --status-red-text: #dc2626;
  --bg-glass: rgba(0,0,0,0.02);
  --border-glass: rgba(0,0,0,0.06);
}

/* ===== RESET ===== */
*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
html { font-size:13px; scroll-behavior:smooth; }
body {
  font-family:'Inter',-apple-system,BlinkMacSystemFont,sans-serif;
  background:var(--bg-primary);
  color:var(--text-primary);
  min-height:100vh;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}

::-webkit-scrollbar { width:6px; height:6px; }
::-webkit-scrollbar-track { background:transparent; }
::-webkit-scrollbar-thumb { background:var(--text-tertiary); border-radius:3px; }

/* ===== LAYOUT ===== */
.app-container { display:flex; min-height:100vh; }

.sidebar {
  width:240px; background:var(--bg-secondary); border-right:1px solid var(--border-primary);
  display:flex; flex-direction:column; position:fixed; top:0; left:0; bottom:0; z-index:100;
}
.sidebar-header { padding:20px 16px; border-bottom:1px solid var(--border-primary); }
.sidebar-logo { display:flex; align-items:center; gap:10px; }
.sidebar-logo-icon {
  width:32px; height:32px; background:var(--accent-gradient); border-radius:var(--radius-sm);
  display:flex; align-items:center; justify-content:center; font-size:16px; box-shadow:var(--shadow-glow);
}
.sidebar-logo-text { font-size:15px; font-weight:700; letter-spacing:-0.3px; }
.sidebar-logo-text span { color:var(--accent-primary-light); }
.sidebar-version {
  font-size:9px; color:var(--text-tertiary); background:var(--bg-elevated);
  padding:2px 6px; border-radius:20px; margin-left:auto; font-weight:500;
}

.sidebar-nav { flex:1; padding:12px 8px; overflow-y:auto; }
.nav-section-title {
  font-size:9px; font-weight:600; text-transform:uppercase; letter-spacing:1.2px;
  color:var(--text-tertiary); padding:8px 10px 4px; margin-top:8px;
}
.nav-item {
  display:flex; align-items:center; gap:10px; padding:8px 10px; border-radius:var(--radius-sm);
  color:var(--text-secondary); cursor:pointer; font-size:12px; font-weight:500;
  transition:all var(--transition-fast); position:relative; user-select:none;
}
.nav-item:hover { background:var(--bg-card); color:var(--text-primary); }
.nav-item.active { background:rgba(99,102,241,0.12); color:var(--accent-primary-light); }
.nav-item.active::before {
  content:''; position:absolute; left:0; top:50%; transform:translateY(-50%);
  width:3px; height:18px; background:var(--accent-primary); border-radius:0 3px 3px 0;
}
.nav-item-icon { font-size:14px; width:18px; text-align:center; }

.main-content { flex:1; margin-left:240px; min-height:100vh; max-width: calc(100vw - 240px); overflow-x: hidden; }

.top-header {
  position:sticky; top:0; z-index:50; background:var(--bg-primary);
  backdrop-filter:blur(16px); border-bottom:1px solid var(--border-primary);
  padding:10px 20px; display:flex; align-items:center; justify-content:space-between;
}
.header-left { display:flex; align-items:center; gap:12px; }
.header-title { font-size:16px; font-weight:700; letter-spacing:-0.3px; }
.header-right { display:flex; align-items:center; gap:8px; }

.header-search { position:relative; }
.header-search input {
  background:var(--bg-input); border:1px solid var(--border-secondary); border-radius:var(--radius-sm);
  padding:6px 10px 6px 30px; color:var(--text-primary); font-size:12px; width:220px; outline:none;
  transition:all var(--transition-fast);
}
.header-search input:focus { border-color:var(--accent-primary); box-shadow:0 0 0 3px rgba(99,102,241,0.15); }
.header-search input::placeholder { color:var(--text-tertiary); }
.header-search-icon { position:absolute; left:10px; top:50%; transform:translateY(-50%); color:var(--text-tertiary); font-size:12px; }

.header-btn {
  background:var(--bg-input); border:1px solid var(--border-secondary); border-radius:var(--radius-sm);
  padding:6px 12px; color:var(--text-secondary); font-size:12px; cursor:pointer;
  transition:all var(--transition-fast); display:flex; align-items:center; gap:4px;
}
.header-btn:hover { background:var(--bg-elevated); color:var(--text-primary); border-color:var(--border-hover); }
.header-btn.primary { background:var(--accent-gradient); border:none; color:white; font-weight:600; }
.header-btn.primary:hover { opacity:0.9; box-shadow:var(--shadow-glow); }

.page-content { padding:16px 20px; animation:fadeIn 0.25s ease; }
.page-content[style*="display: none"] { animation:none; }

/* ===== DASHBOARD ===== */
.dashboard-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(160px,1fr)); gap:12px; margin-bottom:20px; }

.stat-card {
  background:var(--bg-card); border:1px solid var(--border-primary); border-radius:var(--radius-md);
  padding:16px; position:relative; overflow:hidden; transition:all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
}
.stat-card::before { content:''; position:absolute; top:0; left:0; right:0; height:3px; opacity:0; transition:opacity 0.3s ease; }
.stat-card:hover {
  border-color:var(--border-hover);
  transform:translateY(-2px) scale(1.01);
  background:var(--bg-card-hover);
}
.stat-card.green:hover { box-shadow:0 0 15px rgba(16, 185, 129, 0.15); border-color:var(--status-green); }
.stat-card.yellow:hover { box-shadow:0 0 15px rgba(245, 158, 11, 0.15); border-color:var(--status-yellow); }
.stat-card.red:hover { box-shadow:0 0 15px rgba(239, 68, 68, 0.15); border-color:var(--status-red); }
.stat-card.accent:hover { box-shadow:0 0 15px rgba(99, 102, 241, 0.15); border-color:var(--accent-primary); }

.stat-card:hover::before { opacity:1; }
.stat-card.green::before { opacity:1; background:var(--status-green); }
.stat-card.yellow::before { opacity:1; background:var(--status-yellow); }
.stat-card.red::before { opacity:1; background:var(--status-red); }
.stat-card.accent::before { opacity:1; background:var(--accent-primary); }
.stat-card-icon { width:32px; height:32px; border-radius:var(--radius-sm); display:flex; align-items:center; justify-content:center; font-size:16px; background:var(--bg-elevated); margin-bottom:8px; }
.stat-card-value { font-size:24px; font-weight:800; letter-spacing:-1px; line-height:1; margin-bottom:2px; }
.stat-card.green .stat-card-value { color:var(--status-green); }
.stat-card.yellow .stat-card-value { color:var(--status-yellow); }
.stat-card.red .stat-card-value { color:var(--status-red); }
.stat-card-label { font-size:11px; color:var(--text-secondary); font-weight:500; }
.stat-card-sub { font-size:10px; color:var(--text-tertiary); margin-top:4px; line-height:1.4; }

.dashboard-card {
  background:var(--bg-card); border:1px solid var(--border-primary); border-radius:var(--radius-md);
  box-shadow:var(--shadow-sm);
}
.dash-card-title {
  font-size:13px; font-weight:600; margin-bottom:12px; display:flex; align-items:center; gap:8px;
  color:var(--text-primary); padding-bottom:10px; border-bottom:1px solid var(--border-primary);
}

.dash-alert {
  display:flex; align-items:center; gap:10px;
  background:rgba(239,68,68,0.07); border:1px solid rgba(239,68,68,0.2);
  border-left:4px solid var(--status-red);
  border-radius:var(--radius-md); padding:10px 16px; cursor:pointer; font-size:13px;
  transition:all 0.2s cubic-bezier(0.4,0,0.2,1); color:var(--text-primary);
  animation:slideUpFade 0.3s ease 0.15s both;
}
.dash-alert:hover { background:rgba(239,68,68,0.13); transform:translateX(2px); }
.dash-alert-icon { font-size:16px; flex-shrink:0; }
.dash-alert strong { color:var(--status-red); }
.dash-alert-arrow { margin-left:auto; font-size:12px; font-weight:700; opacity:0.7; white-space:nowrap; color:var(--status-red); }

.platform-stat-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(180px,1fr)); gap:10px; }
.platform-stat-card {
  background:var(--bg-card); border:1px solid var(--border-primary); border-radius:var(--radius-sm);
  padding:12px; cursor:pointer; transition:all var(--transition-fast);
}
.platform-stat-card:hover { border-color:var(--accent-primary); transform:translateY(-1px); box-shadow:var(--shadow-md); }
.platform-stat-name { font-size:13px; font-weight:700; margin-bottom:8px; }
.platform-stat-bar { display:flex; height:8px; border-radius:4px; overflow:hidden; margin-bottom:8px; background:var(--bg-elevated); }
.platform-stat-bar .seg-green { background:var(--status-green); }
.platform-stat-bar .seg-yellow { background:var(--status-yellow); }
.platform-stat-bar .seg-red { background:var(--status-red); }
.platform-stat-bar .seg-gray { background:var(--text-tertiary); opacity:0.3; }
.platform-stat-counts { display:flex; gap:8px; font-size:10px; color:var(--text-secondary); }
.platform-stat-pct { font-size:10px; font-weight:700; color:var(--status-green); margin-top:4px; }

/* ===== KPI CARDS V2 (örnek-4 & örnek-2 style) ===== */
/* ===== ANIMATIONS (Framer Motion equivalent in vanilla CSS) ===== */
@keyframes slideUpFade {
  from { opacity:0; transform:translateY(16px); }
  to   { opacity:1; transform:translateY(0); }
}
@keyframes fadeIn {
  from { opacity:0; }
  to   { opacity:1; }
}
@keyframes scaleIn {
  from { opacity:0; transform:scale(0.97); }
  to   { opacity:1; transform:scale(1); }
}
@keyframes pulseGlow {
  0%, 100% { box-shadow: var(--shadow-card); }
  50%       { box-shadow: var(--shadow-hover); }
}
@keyframes matrixReveal {
  from { opacity:0; transform:scaleX(0.8); }
  to   { opacity:1; transform:scaleX(1); }
}
@keyframes barFill {
  from { width:0 !important; }
  to   { width:var(--bar-w); }
}

.kpi-grid {
  display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr));
  gap:16px; margin-bottom:20px;
}
.kpi-card {
  background:var(--bg-card); border:1px solid var(--border-glass);
  border-radius:var(--radius-lg); padding:20px;
  position:relative; overflow:hidden;
  transition:transform var(--transition-smooth), box-shadow var(--transition-smooth), border-color var(--transition-smooth);
  box-shadow:var(--shadow-card);
  animation:slideUpFade 0.4s cubic-bezier(0.4,0,0.2,1) both;
}
.kpi-card:nth-child(1) { animation-delay:0s; }
.kpi-card:nth-child(2) { animation-delay:0.06s; }
.kpi-card:nth-child(3) { animation-delay:0.12s; }
.kpi-card:nth-child(4) { animation-delay:0.18s; }
.kpi-card:nth-child(5) { animation-delay:0.24s; }
.kpi-card:hover { transform:translateY(-3px); box-shadow:var(--shadow-hover); }
.kpi-card::before {
  content:''; position:absolute; top:0; left:0; right:0; height:3px;
  background:var(--kpi-accent, var(--accent-primary));
  border-radius:var(--radius-lg) var(--radius-lg) 0 0;
}
.kpi-card.kpi-green  { --kpi-accent:var(--status-green); }
.kpi-card.kpi-red    { --kpi-accent:var(--status-red); }
.kpi-card.kpi-yellow { --kpi-accent:var(--status-yellow); }
.kpi-card.kpi-blue   { --kpi-accent:#3b82f6; }
.kpi-card.kpi-purple { --kpi-accent:var(--accent-primary); }
.kpi-card.kpi-green:hover  { border-color:rgba(16,185,129,0.35); }
.kpi-card.kpi-red:hover    { border-color:rgba(239,68,68,0.35); }
.kpi-card.kpi-yellow:hover { border-color:rgba(245,158,11,0.35); }
.kpi-card.kpi-blue:hover   { border-color:rgba(59,130,246,0.35); }
.kpi-card.kpi-purple:hover { border-color:rgba(99,102,241,0.35); }

.kpi-header { display:flex; justify-content:space-between; align-items:flex-start; margin-bottom:12px; }
.kpi-label { font-size:11px; font-weight:600; text-transform:uppercase; letter-spacing:0.6px; color:var(--text-tertiary); }
.kpi-icon {
  width:36px; height:36px; border-radius:10px;
  display:flex; align-items:center; justify-content:center;
  font-size:18px; background:rgba(99,102,241,0.1); flex-shrink:0;
}
.kpi-value {
  font-size:32px; font-weight:800; letter-spacing:-1.5px;
  line-height:1; color:var(--text-primary); margin-bottom:6px;
}
.kpi-card.kpi-green .kpi-value { color:var(--status-green-text); }
.kpi-card.kpi-red .kpi-value   { color:var(--status-red-text); }
.kpi-trend {
  display:inline-flex; align-items:center; gap:3px;
  font-size:11px; font-weight:600; padding:2px 6px; border-radius:6px; margin-right:4px;
}
.kpi-trend.up   { background:rgba(16,185,129,0.1); color:var(--status-green-text); }
.kpi-trend.down { background:rgba(239,68,68,0.1);  color:var(--status-red-text); }
.kpi-trend.neutral { background:var(--bg-elevated); color:var(--text-tertiary); }
.kpi-sub { font-size:11px; color:var(--text-tertiary); margin-top:4px; }

/* ===== STATUS BADGES (örnek-4 style) ===== */
.status-badge {
  display:inline-flex; align-items:center; gap:4px;
  padding:3px 9px; border-radius:20px;
  font-size:11px; font-weight:600; white-space:nowrap;
}
.status-badge::before { content:''; width:5px; height:5px; border-radius:50%; background:currentColor; }
.status-badge.badge-green  { background:rgba(16,185,129,0.1);  color:var(--status-green-text);  border:1px solid rgba(16,185,129,0.2); }
.status-badge.badge-red    { background:rgba(239,68,68,0.1);   color:var(--status-red-text);    border:1px solid rgba(239,68,68,0.2); }
.status-badge.badge-yellow { background:rgba(245,158,11,0.1);  color:var(--status-yellow-text); border:1px solid rgba(245,158,11,0.2); }
.status-badge.badge-gray   { background:var(--bg-elevated);    color:var(--text-tertiary);      border:1px solid var(--border-primary); }

/* ===== PLATFORM × MARKA MATRIX (örnek-6 style) ===== */
.platform-matrix-wrap {
  overflow-x:auto; border-radius:var(--radius-md);
  border:1px solid var(--border-primary);
  background:var(--bg-card); box-shadow:var(--shadow-card);
}
.platform-matrix { border-collapse:collapse; width:100%; min-width:900px; }
.platform-matrix th {
  background:var(--bg-secondary); padding:10px 12px;
  font-size:10px; font-weight:700; text-transform:uppercase;
  letter-spacing:0.5px; color:var(--text-secondary);
  border-bottom:1px solid var(--border-primary);
  text-align:center; white-space:nowrap;
}
.platform-matrix th.brand-col { text-align:left; min-width:110px; }
.platform-matrix td {
  padding:8px 10px; border-bottom:1px solid var(--border-primary);
  border-right:1px solid var(--border-primary);
  text-align:center; font-size:11px; font-weight:700;
}
.platform-matrix td.brand-name {
  text-align:left; font-size:12px; font-weight:600;
  color:var(--text-primary); background:var(--bg-secondary);
  position:sticky; left:0; z-index:1;
  border-right:2px solid var(--border-primary);
}
.platform-matrix td.mx-green  { background:rgba(16,185,129,0.12); color:#059669; }
.platform-matrix td.mx-yellow { background:rgba(245,158,11,0.12);  color:#d97706; }
.platform-matrix td.mx-red    { background:rgba(239,68,68,0.12);   color:#dc2626; }
.platform-matrix td.mx-none   { background:transparent; color:var(--text-tertiary); font-size:10px; font-weight:400; }
[data-theme="light"] .platform-matrix td.mx-green  { background:#d1fae5; color:#065f46; }
[data-theme="light"] .platform-matrix td.mx-yellow { background:#fef3c7; color:#92400e; }
[data-theme="light"] .platform-matrix td.mx-red    { background:#fee2e2; color:#991b1b; }
.platform-matrix td {
  transition: filter 0.15s ease, transform 0.15s ease;
}
.platform-matrix tbody tr:hover td { filter:brightness(1.15); }
.platform-matrix tbody tr { transition:background 0.15s; }
.platform-matrix-wrap { animation:fadeIn 0.5s ease 0.3s both; }
.platform-matrix tbody tr:hover td { filter:brightness(1.08); }

/* ===== SECTION CARD ===== */
.section-card {
  background:var(--bg-card); border:1px solid var(--border-glass);
  border-radius:var(--radius-lg); box-shadow:var(--shadow-card); overflow:hidden;
  animation:scaleIn 0.35s cubic-bezier(0.4,0,0.2,1) both;
}
.section-card:nth-of-type(1) { animation-delay:0.1s; }
.section-card:nth-of-type(2) { animation-delay:0.16s; }
.section-card:nth-of-type(3) { animation-delay:0.22s; }
.section-card-header {
  display:flex; align-items:center; justify-content:space-between;
  padding:14px 20px; border-bottom:1px solid var(--border-primary);
  background:var(--bg-secondary);
}
.section-card-title { font-size:13px; font-weight:700; color:var(--text-primary); display:flex; align-items:center; gap:8px; }
.section-card-body { padding:20px; }

/* ===== EXCEL GRID GLOBAL IMPROVEMENTS ===== */
.excel-grid thead th {
  font-size:10px !important; font-weight:700 !important;
  text-transform:uppercase !important; letter-spacing:0.4px !important;
  background:var(--bg-secondary) !important; padding:10px 8px !important;
}
.excel-grid tbody td { font-size:12px; padding:9px 8px !important; }
.excel-grid tbody tr:hover td { background:var(--bg-glass) !important; }
.cell-margin { font-size:11px !important; padding:4px 8px !important; border-radius:6px !important; }

/* ===== TRENDYOL ALETLERI PREMIUM COMPONENTS ===== */

/* Page header */
.ty-page-header {
  display:flex; justify-content:space-between; align-items:center;
  padding:12px 18px;
  background:var(--bg-card); border:1px solid var(--border-primary); border-radius:var(--radius-md);
  margin-bottom:12px; animation:slideUpFade 0.2s ease;
}
.ty-page-header-left { display:flex; flex-direction:column; gap:3px; }
.ty-page-title { font-size:15px; font-weight:800; color:var(--text-primary); display:flex; align-items:center; gap:8px; }
.ty-page-subtitle { font-size:11px; color:var(--text-tertiary); }
.ty-page-actions { display:flex; gap:8px; align-items:center; }

/* Tab navigation — pill style */
.ty-tab-nav {
  display:flex; gap:2px;
  background:var(--bg-elevated); border:1px solid var(--border-primary); border-radius:var(--radius-md);
  padding:3px; margin-bottom:12px; width:fit-content;
}
.ty-tab-btn {
  padding:5px 14px; border-radius:var(--radius-sm);
  font-size:12px; font-weight:600; color:var(--text-secondary);
  background:transparent; border:none; cursor:pointer;
  transition:all var(--transition-fast); white-space:nowrap;
}
.ty-tab-btn:hover { color:var(--text-primary); background:var(--bg-card-hover); }
.ty-tab-btn.active { background:var(--accent-gradient); color:white; box-shadow:0 2px 8px rgba(99,102,241,0.3); }

/* Config panel for settings/params */
.ty-config-panel {
  display:flex; align-items:flex-end; gap:14px; flex-wrap:wrap;
  padding:12px 16px;
  background:var(--bg-elevated); border:1px solid var(--border-secondary); border-radius:var(--radius-md);
  margin-bottom:12px;
}
.ty-config-field { display:flex; flex-direction:column; gap:4px; }
.ty-config-label { font-size:9px; font-weight:700; text-transform:uppercase; letter-spacing:0.5px; color:var(--text-tertiary); }
.ty-config-divider { width:1px; height:32px; background:var(--border-secondary); align-self:flex-end; margin-bottom:4px; }

/* Fixed-height grid for proper sticky headers */
.grid-container-sticky {
  background:var(--bg-card); border:1px solid var(--border-primary); border-radius:var(--radius-sm);
  overflow:auto; max-height:calc(100vh - 220px);
}

/* No-vertical-border table variant */
.excel-grid.ty-table tbody td { border-right:none !important; }
.excel-grid.ty-table thead th { border-right:none !important; }
.excel-grid.ty-table tbody td.col-sticky,
.excel-grid.ty-table thead th.col-sticky {
  border-right:1px solid var(--border-secondary) !important;
  box-shadow:2px 0 4px rgba(0,0,0,0.08);
}

/* Sticky column fix for horizontal scroll */
td.col-sticky { background:var(--bg-card) !important; }
.excel-grid tbody tr:hover td.col-sticky { background:var(--bg-card-hover) !important; }
.excel-grid tbody tr.row-active td.col-sticky { background:var(--bg-highlight-row) !important; }

/* Campaign page two-panel layout */
.ty-two-panel { display:grid; grid-template-columns:240px 1fr; gap:14px; }
.ty-panel-sidebar {
  background:var(--bg-card); border:1px solid var(--border-primary); border-radius:var(--radius-md);
  overflow:hidden;
}
.ty-panel-sidebar-header {
  padding:10px 14px; background:var(--bg-elevated); border-bottom:1px solid var(--border-primary);
  font-size:11px; font-weight:700; color:var(--text-primary);
}
.ty-panel-sidebar-body { padding:10px; }
.ty-panel-main {
  background:var(--bg-card); border:1px solid var(--border-primary); border-radius:var(--radius-md);
  padding:16px; min-width:0;
}

/* Status badge in tariff ranges */
.tariff-badge {
  display:inline-flex; align-items:center; gap:3px;
  padding:2px 8px; border-radius:10px; font-size:10px; font-weight:700; margin-top:4px;
}
.tariff-badge-best { background:linear-gradient(135deg,#f59e0b,#d97706); color:white; box-shadow:0 2px 6px rgba(245,158,11,0.3); }
.tariff-badge-good { background:rgba(16,185,129,0.12); color:var(--status-green-text); border:1px solid rgba(16,185,129,0.25); }
.tariff-badge-warn { background:rgba(245,158,11,0.12); color:var(--status-yellow-text); border:1px solid rgba(245,158,11,0.25); }
.tariff-badge-bad  { background:rgba(239,68,68,0.12);  color:var(--status-red-text);    border:1px solid rgba(239,68,68,0.25);  }

/* Tariff range cell */
.tariff-range-cell { padding:6px 4px; cursor:pointer; }
.tariff-range-cell:hover { background:rgba(99,102,241,0.04); }
.tariff-range-cell.selected { background:rgba(16,185,129,0.05); }
.tariff-range-price { font-size:13px; font-weight:700; color:var(--text-primary); }
.tariff-range-desc { font-size:10px; color:var(--text-tertiary); margin-bottom:4px; }
.tariff-range-meta { font-size:10px; color:var(--text-secondary); margin-top:3px; }

/* Buybox status indicators */
.buybox-own { color:var(--status-green-text); font-weight:700; }
.buybox-lost { color:var(--status-red-text); }
.buybox-none { color:var(--text-tertiary); }

/* Unmapped SKU warning panel */
.ty-warning-panel {
  background:rgba(245,158,11,0.06); border:1px solid rgba(245,158,11,0.25);
  border-radius:var(--radius-md); margin-bottom:12px; overflow:hidden;
}
.ty-warning-header {
  padding:10px 14px; background:rgba(245,158,11,0.1);
  display:flex; justify-content:space-between; align-items:center; cursor:pointer;
}
.ty-warning-title { font-size:12px; font-weight:700; color:#d97706; display:flex; align-items:center; gap:6px; }
.ty-warning-body { padding:12px 14px; }

/* ===== PRICING TOOLBAR ===== */
.pricing-toolbar {
  display:flex; align-items:center; gap:10px; flex-wrap:wrap;
  padding:10px 14px;
  background:var(--bg-card); border:1px solid var(--border-primary); border-radius:var(--radius-md);
  margin-bottom:10px;
}
.pricing-toolbar-right { margin-left:auto; display:flex; align-items:center; gap:12px; }
.filter-group { display:flex; flex-direction:column; gap:3px; }
.filter-label { font-size:9px; font-weight:700; text-transform:uppercase; letter-spacing:0.5px; color:var(--text-tertiary); }
.filter-divider { width:1px; height:32px; background:var(--border-secondary); margin:0 2px; }

/* Pricing summary pills */
.pricing-summary-bar { display:flex; gap:5px; align-items:center; }
.pricing-sum-pill { display:inline-flex; align-items:center; gap:3px; padding:2px 8px; border-radius:10px; font-size:11px; font-weight:700; }
.pricing-sum-pill.sp-green  { background:rgba(16,185,129,0.1);  color:var(--status-green-text);  }
.pricing-sum-pill.sp-yellow { background:rgba(245,158,11,0.1);  color:var(--status-yellow-text); }
.pricing-sum-pill.sp-red    { background:rgba(239,68,68,0.1);   color:var(--status-red-text);    }
.pricing-sum-pill.sp-gray   { background:var(--bg-elevated);    color:var(--text-tertiary);      }

/* Bulk ops panel */
.bulk-ops-panel { background:var(--bg-card); border:1px solid var(--border-primary); border-radius:var(--radius-md); margin-bottom:10px; overflow:hidden; }
.bulk-ops-header { display:flex; align-items:center; gap:8px; padding:8px 14px; background:var(--bg-elevated); cursor:pointer; user-select:none; transition:background var(--transition-fast); }
.bulk-ops-header:hover { background:var(--bg-card-hover); }
.bulk-ops-title { font-size:11px; font-weight:700; color:var(--text-secondary); }
.bulk-ops-body { display:none; padding:10px 14px; gap:14px; align-items:center; flex-wrap:wrap; font-size:11px; border-top:1px solid var(--border-primary); }
.bulk-ops-body.expanded { display:flex; }
.bulk-ops-divider { width:1px; height:24px; background:var(--border-secondary); }

/* Margin cell new style */
.margin-cell-inner { display:flex; flex-direction:column; align-items:flex-end; gap:2px; }
.margin-pct { font-size:10px; color:var(--text-secondary); font-weight:600; }
.cell-margin-td { text-align:right !important; padding:5px 8px !important; }

/* ===== FILTER BAR (legacy) ===== */
.filter-bar { display:flex; align-items:center; gap:8px; margin-bottom:10px; flex-wrap:wrap; }
.filter-select {
  background:var(--bg-input); border:1px solid var(--border-secondary); border-radius:var(--radius-sm);
  padding:5px 8px; color:var(--text-primary); font-size:12px; outline:none; min-width:100px;
}
.filter-select:focus { border-color:var(--accent-primary); }
.filter-select option { background:var(--bg-secondary); }

.selection-info {
  font-size:11px; color:var(--text-secondary); display:flex; align-items:center; gap:8px; margin-left:auto;
}
.selection-info button {
  background:none; border:1px solid var(--border-secondary); border-radius:var(--radius-sm);
  padding:3px 8px; color:var(--text-secondary); font-size:10px; cursor:pointer;
}
.selection-info button:hover { color:var(--text-primary); border-color:var(--border-hover); }

.toggle-cols-btn {
  background:var(--bg-elevated); border:1px solid var(--border-secondary); border-radius:var(--radius-sm);
  padding:5px 10px; color:var(--text-secondary); font-size:11px; cursor:pointer;
  display:flex; align-items:center; gap:4px; transition:all var(--transition-fast);
}
.toggle-cols-btn:hover { color:var(--text-primary); border-color:var(--border-hover); }
.toggle-cols-btn.active { background:rgba(99,102,241,0.12); color:var(--accent-primary-light); border-color:var(--accent-primary); }

/* ===== EXCEL GRID ===== */
.grid-container {
  background:var(--bg-card); border:1px solid var(--border-primary); border-radius:12px;
  overflow:auto; max-height:calc(100vh - 145px);
  box-shadow:0 1px 3px rgba(0,0,0,0.04);
}
.grid-full-height {
  max-height: none !important;
  overflow-y: visible !important;
}
.excel-grid { width:100%; border-collapse:collapse; font-size:11px; font-family:'JetBrains Mono','Inter',monospace; }
.excel-grid thead { position:sticky; top:0; z-index:20; }
.excel-grid thead th {
  background:var(--bg-elevated); padding:6px 8px; text-align:left; font-weight:600;
  font-size:9px; text-transform:uppercase; letter-spacing:0.4px; color:var(--text-secondary);
  border-bottom:2px solid var(--border-secondary); border-right:1px solid var(--border-primary);
  white-space:nowrap; user-select:none; cursor:pointer; position:sticky; top:0;
}
.excel-grid thead th:hover { color:var(--text-primary); background:var(--bg-card-hover); }
.excel-grid thead th.text-right { text-align:right; }
.excel-grid thead th.text-center { text-align:center; }

.col-group-header {
  text-align:center !important; font-size:10px !important; font-weight:700 !important;
  letter-spacing:0 !important; text-transform:none !important; color:var(--text-primary) !important;
  border-bottom:1px solid var(--border-secondary) !important;
}
.col-group-header.grp-product { background:rgba(99,102,241,0.08) !important; }
.col-group-header.grp-platform { background:rgba(16,185,129,0.08) !important; }
.col-group-header.grp-result { background:rgba(245,158,11,0.08) !important; }
.col-group-header.grp-extra { background:rgba(168,85,247,0.08) !important; }

.excel-grid tbody td {
  padding:5px 8px; border-bottom:1px solid var(--border-primary); border-right:1px solid var(--border-primary);
  white-space:nowrap; font-variant-numeric:tabular-nums; transition:background 0.08s;
}
.excel-grid tbody tr:hover td { background:var(--bg-card-hover); }

/* Sticky first columns */
.col-sticky { 
  position:sticky; 
  z-index:10; 
  background:var(--bg-card); 
  max-width:180px; 
  min-width:140px;
}
.col-sticky > div:not([style*="display:flex"]) {
  max-width:180px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.excel-grid thead th.col-sticky { z-index:25; background:var(--bg-elevated); }
.excel-grid tbody tr:hover td.col-sticky { background:var(--bg-card-hover); }

/* Active cell highlighting */
.excel-grid tbody tr.row-active td { background:var(--bg-highlight-row) !important; }
.excel-grid tbody td.col-active { background:var(--bg-highlight-col) !important; }
.excel-grid tbody tr.row-active td.col-active { background:var(--bg-highlight-cell) !important; }

/* Editable cells */
td.editable { cursor:pointer; position:relative; }
td.editable:hover { outline:1px solid var(--accent-primary); outline-offset:-1px; }
td.editable.editing { padding:0 !important; }
td.editable.editing input {
  width:100%; height:100%; border:2px solid var(--accent-primary); background:var(--bg-input);
  color:var(--text-primary); padding:4px 6px; font-family:'JetBrains Mono',monospace; font-size:11px;
  outline:none; box-shadow:0 0 0 3px rgba(99,102,241,0.2);
}

/* Cell types */
.cell-price { text-align:right; font-weight:600; }
.cell-price-main { text-align:right; font-weight:700; font-size:12px; }
.cell-dim { color:var(--text-tertiary); font-size:10px; text-align:right; }
.cell-pct { text-align:right; }
.cell-margin { text-align:right; font-weight:700; padding:3px 6px !important; border-radius:2px; }
.cell-margin.green { color:var(--status-green); background:var(--status-green-bg) !important; }
.cell-margin.yellow { color:var(--status-yellow); background:var(--status-yellow-bg) !important; }
.cell-margin.red { color:var(--status-red); background:var(--status-red-bg) !important; }
.cell-status { text-align:center; font-size:12px; }

.cell-brand { font-size:10px; font-weight:600; padding:2px 6px; border-radius:3px; display:inline-block; }
.cell-brand.electrolux { background:rgba(59,130,246,0.15); color:#60a5fa; }
.cell-brand.wahl { background:rgba(234,179,8,0.15); color:#facc15; }
.cell-brand.bester { background:rgba(168,85,247,0.15); color:#c084fc; }

td.hidden-col { display:none; }
th.hidden-col { display:none; }

/* Checkbox */
.row-checkbox { width:14px; height:14px; cursor:pointer; accent-color:var(--accent-primary); }

/* ===== SIMULATOR ===== */
.simulator-container { background:var(--bg-card); border:1px solid var(--border-primary); border-radius:var(--radius-md); padding:20px; margin-bottom:20px; }
.simulator-form { display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:12px; margin-bottom:16px; }

.karar-badge {
  display:inline-flex; align-items:center; gap:4px;
  padding:3px 10px; border-radius:12px; font-size:11px; font-weight:700; white-space:nowrap;
  transition:transform 0.15s ease, box-shadow 0.15s ease;
}
.karar-badge:hover { transform:scale(1.05); }
.karar-badge.gir { background:rgba(16,185,129,0.12); color:var(--status-green); border:1px solid rgba(16,185,129,0.25); }
.karar-badge.sinir { background:rgba(245,158,11,0.12); color:var(--status-yellow); border:1px solid rgba(245,158,11,0.25); }
.karar-badge.girme { background:rgba(239,68,68,0.12); color:var(--status-red); border:1px solid rgba(239,68,68,0.25); }

.camp-list-card {
  padding:10px 12px; border-radius:var(--radius-sm); border:1px solid var(--border-secondary);
  cursor:pointer; transition:all var(--transition-fast); position:relative; margin-bottom:6px;
}
.camp-list-card:hover { border-color:var(--accent-primary); background:var(--bg-card-hover); }
.camp-list-card.active { background:var(--accent-gradient); border-color:transparent; color:white; }
.camp-list-card .camp-name { font-size:12px; font-weight:600; padding-right:22px; }
.camp-list-card .camp-meta { display:flex; justify-content:space-between; font-size:10px; opacity:0.75; margin-top:4px; }
.camp-list-card .camp-del { position:absolute; right:6px; top:6px; border:none; background:transparent; color:#ef4444; cursor:pointer; font-size:11px; padding:2px 5px; opacity:0.7; }
.camp-list-card .camp-del:hover { opacity:1; }
.form-group { display:flex; flex-direction:column; gap:4px; }
.form-label { font-size:10px; font-weight:600; text-transform:uppercase; letter-spacing:0.5px; color:var(--text-secondary); }
.form-input,.form-select {
  background:var(--bg-input); border:1px solid var(--border-secondary); border-radius:var(--radius-sm);
  padding:8px 10px; color:var(--text-primary); font-size:13px; outline:none;
}
.form-input:focus,.form-select:focus { border-color:var(--accent-primary); box-shadow:0 0 0 3px rgba(99,102,241,0.15); }

.btn {
  padding:8px 16px; border-radius:var(--radius-sm); font-size:13px; font-weight:600;
  cursor:pointer; border:none; display:inline-flex; align-items:center; gap:6px;
  transition:all var(--transition-fast);
}
.btn-primary { background:var(--accent-gradient); color:white; }
.btn-primary:hover { opacity:0.9; box-shadow:var(--shadow-glow); }

.table-title { font-size:14px; font-weight:700; }
.mb-16 { margin-bottom:16px; }
.text-right { text-align:right !important; }
.text-center { text-align:center !important; }
.text-green { color:var(--status-green) !important; }
.text-red { color:var(--status-red) !important; }

/* ===== THEME TOGGLE ===== */
.theme-toggle {
  background:var(--bg-input); border:1px solid var(--border-secondary); border-radius:var(--radius-sm);
  width:32px; height:32px; display:flex; align-items:center; justify-content:center;
  cursor:pointer; font-size:14px; transition:all var(--transition-fast);
}
.theme-toggle:hover { background:var(--bg-elevated); border-color:var(--border-hover); }

/* ===== TOAST ===== */
.toast {
  position:fixed; bottom:20px; right:20px; background:var(--bg-elevated);
  border:1px solid var(--status-green); color:var(--text-primary); padding:10px 16px;
  border-radius:var(--radius-sm); font-size:12px; box-shadow:var(--shadow-lg); z-index:9999;
  animation:slideUp 0.3s ease; display:flex; align-items:center; gap:6px;
}
.toast.error { border-color:var(--status-red); }
@keyframes slideUp { from{transform:translateY(20px);opacity:0;} to{transform:translateY(0);opacity:1;} }

/* ===== EMPTY ===== */
.empty-state { text-align:center; padding:40px; color:var(--text-tertiary); }
.empty-state-icon { font-size:36px; margin-bottom:12px; }
.empty-state-title { font-size:16px; font-weight:600; color:var(--text-secondary); margin-bottom:6px; }

/* ==================== COLLAPSIBLE PANELS (TABLAR) ==================== */
.collapsible-panel {
  background: var(--bg-card);
  border: 1px solid var(--border-primary);
  border-radius: var(--radius-md);
  margin-bottom: 12px;
  overflow: hidden;
  transition: all var(--transition-fast);
}

.collapsible-panel-header {
  padding: 12px 16px;
  background: var(--bg-elevated);
  display: flex;
  justify-content: space-between;
  align-items: center;
  cursor: pointer;
  user-select: none;
  font-weight: 700;
  font-size: 13px;
  border-bottom: 1px solid var(--border-primary);
  transition: background var(--transition-fast);
}

.collapsible-panel-header:hover {
  background: var(--bg-card-hover);
}

.collapsible-panel-title {
  display: flex;
  align-items: center;
  gap: 8px;
}

.collapsible-panel-icon {
  font-size: 10px;
  color: var(--text-secondary);
  transition: transform var(--transition-normal);
}

.collapsible-panel.collapsed .collapsible-panel-icon {
  transform: rotate(-90deg);
}

.collapsible-panel.collapsed .collapsible-panel-header {
  border-bottom: none;
}

.collapsible-panel-content {
  padding: 16px;
  transition: max-height var(--transition-normal);
}

.collapsible-panel.collapsed .collapsible-panel-content {
  display: none;
}

/* ==================== SÜTUN TOGGLE BUTON GRUBU ==================== */
.col-group-toggles {
  display: flex;
  gap: 4px;
  background: var(--bg-input);
  border: 1px solid var(--border-secondary);
  border-radius: var(--radius-sm);
  padding: 2px;
}
.col-group-toggles .toggle-cols-btn {
  background: none;
  border: none;
  font-size: 11px;
  padding: 4px 10px;
  border-radius: 4px;
  color: var(--text-secondary);
  font-weight: 500;
  transition: all var(--transition-fast);
}
.col-group-toggles .toggle-cols-btn:hover {
  color: var(--text-primary);
  background: var(--bg-card-hover);
}
.col-group-toggles .toggle-cols-btn.active {
  background: var(--accent-gradient);
  color: white;
  font-weight: 600;
}

/* Inline input inside column group header */
.grp-inline-input {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  margin-left: 8px;
  font-size: 9px;
  opacity: 0.9;
  background: rgba(255, 255, 255, 0.08);
  padding: 2px 6px;
  border-radius: 4px;
}

/* ==================== EXCEL-STYLE COLUMN FILTERS ==================== */
.col-filter-trigger {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  cursor: pointer;
  padding: 2px 4px;
  border-radius: 3px;
  transition: all var(--transition-fast);
}
.col-filter-trigger:hover {
  background: rgba(255, 255, 255, 0.08);
  color: var(--text-primary);
}
.col-filter-trigger.col-fh-active {
  color: var(--accent-primary-light);
  font-weight: 700;
}
.col-fh-arrow {
  font-size: 7px;
  opacity: 0.6;
}
.col-filter-dot {
  color: var(--status-yellow);
  font-size: 10px;
  line-height: 1;
}

.col-filter-dropdown {
  position: absolute;
  z-index: 1500;
  width: 220px;
  background: var(--bg-secondary);
  border: 1px solid var(--border-secondary);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-lg);
  padding: 12px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  animation: slideUp 0.15s ease;
}
.col-filter-title {
  font-size: 11px;
  font-weight: 700;
  color: var(--text-primary);
  border-bottom: 1px solid var(--border-primary);
  padding-bottom: 6px;
}
.col-filter-search {
  background: var(--bg-input);
  border: 1px solid var(--border-secondary);
  border-radius: var(--radius-sm);
  padding: 5px 8px;
  color: var(--text-primary);
  font-size: 11px;
  outline: none;
}
.col-filter-search:focus {
  border-color: var(--accent-primary);
}
.col-filter-actions-top {
  display: flex;
  justify-content: space-between;
}
.col-filter-btn-sm {
  background: none;
  border: none;
  color: var(--text-accent);
  font-size: 10px;
  cursor: pointer;
  padding: 2px 4px;
}
.col-filter-btn-sm:hover {
  text-decoration: underline;
}
.col-filter-list {
  max-height: 140px;
  overflow-y: auto;
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 2px;
  border: 1px solid var(--border-primary);
  border-radius: var(--radius-sm);
  background: var(--bg-input);
}
.col-filter-item {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 4px 6px;
  cursor: pointer;
  font-size: 11px;
  border-radius: 3px;
  user-select: none;
}
.col-filter-item:hover {
  background: rgba(255, 255, 255, 0.04);
}
.col-filter-item input {
  cursor: pointer;
  accent-color: var(--accent-primary);
}
.col-filter-actions-bottom {
  display: flex;
  gap: 6px;
  justify-content: flex-end;
  border-top: 1px solid var(--border-primary);
  padding-top: 8px;
}
.col-filter-btn-apply {
  background: var(--accent-gradient);
  color: white;
  border: none;
  border-radius: var(--radius-sm);
  padding: 4px 10px;
  font-size: 11px;
  font-weight: 600;
  cursor: pointer;
}
.col-filter-btn-apply:hover {
  opacity: 0.9;
}
.col-filter-btn-cancel {
  background: var(--bg-elevated);
  color: var(--text-secondary);
  border: 1px solid var(--border-secondary);
  border-radius: var(--radius-sm);
  padding: 4px 10px;
  font-size: 11px;
  cursor: pointer;
}
.col-filter-btn-cancel:hover {
  color: var(--text-primary);
  border-color: var(--border-hover);
}

/* ==================== MALİYET TAKİBİ PAGE STYLES ==================== */
.row-active {
  background: var(--bg-elevated) !important;
  box-shadow: inset 4px 0 0 var(--accent-primary);
}

.mismatch-cost {
  color: var(--status-red) !important;
  font-weight: 700;
}

.kdv-toggle-btn.active {
  background: var(--accent-gradient) !important;
  color: white !important;
}

/* ── Fırsat Avcısı ── */
.quick-tag {
  background: var(--bg-elevated);
  border: 1px solid var(--border-secondary);
  color: var(--text-secondary);
  border-radius: 20px;
  padding: 3px 10px;
  font-size: 11px;
  cursor: pointer;
  transition: all 0.15s;
  white-space: nowrap;
}
.quick-tag:hover {
  background: rgba(255, 140, 0, 0.15);
  border-color: rgba(255, 140, 0, 0.4);
  color: #ff8c00;
}

@keyframes pulse {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.4; }
}

/* ===== MATERIAL SYMBOLS NAV ICONS ===== */
.nav-ms-icon {
  font-size: 18px;
  width: 18px;
  text-align: center;
  font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 20;
  line-height: 1;
}
.nav-item.active .nav-ms-icon {
  font-variation-settings: 'FILL' 1, 'wght' 500, 'GRAD' 0, 'opsz' 20;
}

/* ===== SIDEBAR USER FOOTER ===== */
.sidebar-user {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 12px;
  border-top: 1px solid var(--border-primary);
  flex-shrink: 0;
}
.sidebar-user-avatar {
  width: 28px; height: 28px; border-radius: 50%;
  background: var(--accent-gradient);
  display: flex; align-items: center; justify-content: center;
  font-size: 12px; font-weight: 700; color: #fff;
  flex-shrink: 0;
}

/* ===== BOTTOM STATUS BAR ===== */
.main-content { padding-bottom: 44px; }

.bottom-status-bar {
  position: fixed;
  bottom: 0;
  left: 240px;
  right: 0;
  height: 36px;
  background: var(--bg-secondary);
  border-top: 1px solid var(--border-primary);
  display: flex;
  align-items: center;
  padding: 0 20px;
  gap: 0;
  z-index: 90;
  font-size: 11px;
}
.bsb-item {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 0 16px;
}
.bsb-item:first-child { padding-left: 0; }
.bsb-divider {
  width: 1px;
  height: 18px;
  background: var(--border-primary);
  flex-shrink: 0;
}
.bsb-label {
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.8px;
  color: var(--text-tertiary);
  text-transform: uppercase;
  white-space: nowrap;
}
.bsb-value {
  font-size: 12px;
  font-weight: 700;
  color: var(--text-primary);
  white-space: nowrap;
}
.bsb-hedef-item { gap: 8px; }
.bsb-hedef-track {
  width: 80px;
  height: 6px;
  background: var(--bg-elevated);
  border-radius: 3px;
  overflow: hidden;
  flex-shrink: 0;
}
.bsb-hedef-fill {
  height: 100%;
  background: var(--accent-gradient);
  border-radius: 3px;
  transition: width 0.4s ease;
}

/* ===== TOGGLE SWITCH ===== */
.toggle-switch {
  position: relative;
  display: inline-block;
  width: 42px;
  height: 24px;
  flex-shrink: 0;
}
.toggle-switch input { opacity: 0; width: 0; height: 0; }
.toggle-slider {
  position: absolute;
  cursor: pointer;
  inset: 0;
  background: var(--bg-elevated);
  border: 1px solid var(--border-secondary);
  border-radius: 24px;
  transition: background 0.3s;
}
.toggle-slider::before {
  content: '';
  position: absolute;
  height: 16px;
  width: 16px;
  left: 3px;
  bottom: 3px;
  background: var(--text-tertiary);
  border-radius: 50%;
  transition: transform 0.3s, background 0.3s;
}
.toggle-switch input:checked + .toggle-slider { background: var(--accent-primary); border-color: var(--accent-primary); }
.toggle-switch input:checked + .toggle-slider::before {
  transform: translateX(18px);
  background: #fff;
}

/* ===== NOTIF TOGGLE ROW ===== */
.notif-toggle-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 10px 0;
  border-bottom: 1px solid var(--border-primary);
}
.notif-toggle-row:last-child { border-bottom: none; }

/* ===== LIGHT MODE REFINEMENTS ===== */
[data-theme="light"] .sidebar {
  background: #ffffff;
  border-right-color: rgba(0,0,0,0.08);
  box-shadow: 2px 0 8px rgba(0,0,0,0.06);
}
[data-theme="light"] .nav-item:hover { background: #f1f5f9; }
[data-theme="light"] .nav-item.active { background: rgba(99,102,241,0.08); }
[data-theme="light"] .top-header { background: rgba(248,250,252,0.9); border-bottom-color: rgba(0,0,0,0.08); }
[data-theme="light"] .bottom-status-bar { background: #ffffff; border-top-color: rgba(0,0,0,0.08); box-shadow: 0 -2px 8px rgba(0,0,0,0.04); }
[data-theme="light"] .section-card { box-shadow: 0 1px 4px rgba(0,0,0,0.06), 0 0 0 1px rgba(0,0,0,0.04); }
[data-theme="light"] .excel-grid th { background: #f8fafc; color: #475569; }

/* ===== LIGHT MODE: LEGACY CLASS OVERRIDES (make old classes look like v2) ===== */
[data-theme="light"] .excel-grid {
  width: 100%;
  border-collapse: collapse;
}
[data-theme="light"] .excel-grid thead tr {
  background: #f8fafc;
  border-bottom: 1px solid #e2e8f0;
}
[data-theme="light"] .excel-grid thead th {
  padding: 11px 14px;
  font-size: 10px;
  font-weight: 700;
  color: #94a3b8;
  text-transform: uppercase;
  letter-spacing: .06em;
  white-space: nowrap;
  border: none;
}
[data-theme="light"] .excel-grid tbody tr {
  border-bottom: 1px solid #f1f5f9;
  transition: background .12s;
  background: #fff;
}
[data-theme="light"] .excel-grid tbody tr:hover { background: #f8fafc; }
[data-theme="light"] .excel-grid tbody td {
  padding: 11px 14px;
  font-size: 12px;
  color: #334155;
  border: none;
  vertical-align: middle;
}
[data-theme="light"] .grid-container,
[data-theme="light"] .grid-container-sticky,
[data-theme="light"] .grid-container.grid-full-height {
  background: #fff;
  border-radius: 12px;
  border: 1px solid #e2e8f0;
  overflow: auto;
  box-shadow: 0 1px 4px rgba(0,0,0,.04);
}
[data-theme="light"] .dashboard-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}
[data-theme="light"] .stat-card {
  background: #fff;
  border-radius: 14px;
  border: 1px solid #e2e8f0;
  padding: 16px 18px;
  box-shadow: 0 1px 4px rgba(0,0,0,.04);
}
[data-theme="light"] .stat-card.accent { border-top: 3px solid #4f46e5; }
[data-theme="light"] .stat-card.green  { border-top: 3px solid #10b981; }
[data-theme="light"] .stat-card.red    { border-top: 3px solid #ef4444; }
[data-theme="light"] .stat-card-value { font-size: 22px; font-weight: 800; color: #0f172a; font-family: 'JetBrains Mono', monospace; }
[data-theme="light"] .stat-card-label { font-size: 11px; color: #64748b; font-weight: 600; margin-top: 4px; }
[data-theme="light"] .stat-card-icon  { font-size: 20px; margin-bottom: 8px; }
[data-theme="light"] .card {
  background: #fff !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 12px !important;
}
[data-theme="light"] .filter-bar {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 0 12px 0;
  flex-wrap: wrap;
}
[data-theme="light"] .btn {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 7px 14px; border-radius: 8px; font-size: 12px; font-weight: 700;
  cursor: pointer; border: 1px solid #e2e8f0; background: #fff; color: #475569;
  transition: all .15s; white-space: nowrap;
}
[data-theme="light"] .btn:hover { background: #f8fafc; }
[data-theme="light"] .btn.btn-primary { background: #4f46e5; color: #fff; border-color: #4f46e5; }
[data-theme="light"] .btn.btn-primary:hover { background: #4338ca; }
[data-theme="light"] .btn.btn-secondary { background: #fff; color: #475569; border-color: #e2e8f0; }
[data-theme="light"] .form-input {
  padding: 7px 10px; border: 1px solid #e2e8f0; border-radius: 8px;
  background: #f8fafc; font-size: 12px; color: #334155;
}
[data-theme="light"] .form-input:focus { outline: none; border-color: #6366f1; background: #fff; }
[data-theme="light"] .form-select {
  padding: 7px 10px; border: 1px solid #e2e8f0; border-radius: 8px;
  background: #f8fafc; font-size: 12px; color: #334155; font-weight: 600;
}
[data-theme="light"] .form-label { font-size: 10px; font-weight: 700; color: #64748b; text-transform: uppercase; letter-spacing: .06em; }
[data-theme="light"] .dashboard-card {
  background: #fff;
  border-radius: 12px;
  border: 1px solid #e2e8f0;
  box-shadow: 0 1px 4px rgba(0,0,0,.04);
}
[data-theme="light"] .ty-page-header {
  display: flex; align-items: flex-start; justify-content: space-between;
  padding-bottom: 14px; margin-bottom: 14px; border-bottom: 1px solid #f1f5f9;
}
[data-theme="light"] .ty-page-title { font-size: 18px; font-weight: 800; color: #0f172a; }
[data-theme="light"] .ty-page-subtitle { font-size: 11px; color: #64748b; margin-top: 2px; }
[data-theme="light"] .ty-page-actions { display: flex; align-items: center; gap: 8px; }
[data-theme="light"] .ty-tab-nav { display: flex; gap: 4px; margin-bottom: 14px; }
[data-theme="light"] .ty-tab-btn {
  padding: 6px 14px; border-radius: 8px; font-size: 12px; font-weight: 700;
  cursor: pointer; border: 1px solid #e2e8f0; background: #f8fafc; color: #64748b;
  transition: all .15s;
}
[data-theme="light"] .ty-tab-btn.active { background: #4f46e5; color: #fff; border-color: #4f46e5; }
[data-theme="light"] .ty-config-panel {
  display: flex; align-items: flex-end; gap: 16px; flex-wrap: wrap;
  background: #fff; border: 1px solid #e2e8f0; border-radius: 12px;
  padding: 14px 18px; margin-bottom: 14px;
}
[data-theme="light"] .ty-config-label { font-size: 10px; font-weight: 700; color: #94a3b8; text-transform: uppercase; letter-spacing: .06em; display: block; margin-bottom: 4px; }
[data-theme="light"] .ty-config-field { display: flex; flex-direction: column; }
[data-theme="light"] .ty-config-divider { width: 1px; height: 32px; background: #e2e8f0; align-self: flex-end; margin-bottom: 0; }
[data-theme="light"] .ty-two-panel { display: grid; grid-template-columns: 260px 1fr; gap: 0; }
[data-theme="light"] .ty-panel-sidebar { background: #fff; border: 1px solid #e2e8f0; border-right: none; overflow-y: auto; }
[data-theme="light"] .ty-panel-sidebar-header { padding: 12px 16px; font-size: 12px; font-weight: 700; color: #1e293b; border-bottom: 1px solid #f1f5f9; background: #f8fafc; }
[data-theme="light"] .ty-panel-sidebar-body { padding: 12px; }
[data-theme="light"] .ty-panel-main { background: #fff; border: 1px solid #e2e8f0; overflow: auto; padding: 16px; }
[data-theme="light"] .ty-warning-panel { background: #fffbeb; border: 1px solid #fde68a; border-radius: 10px; overflow: hidden; margin-bottom: 14px; }
[data-theme="light"] .ty-warning-header { padding: 10px 16px; display: flex; align-items: center; justify-content: space-between; cursor: pointer; }
[data-theme="light"] .ty-warning-title { font-size: 12px; font-weight: 700; color: #92400e; }
[data-theme="light"] .ty-warning-body { padding: 12px 16px; }
[data-theme="light"] .pricing-toolbar {
  display: flex; align-items: flex-end; gap: 12px; flex-wrap: wrap;
  background: #fff; border: 1px solid #e2e8f0; border-radius: 12px;
  padding: 12px 16px; margin-bottom: 12px;
}
[data-theme="light"] .toggle-cols-btn {
  padding: 6px 12px; border-radius: 8px; font-size: 11px; font-weight: 700;
  cursor: pointer; border: 1px solid #e2e8f0; background: #f8fafc; color: #64748b;
}
[data-theme="light"] .toggle-cols-btn.active { background: #4f46e5; color: #fff; border-color: #4f46e5; }
[data-theme="light"] .status-badge { display: inline-flex; align-items: center; gap: 3px; padding: 2px 8px; border-radius: 20px; font-size: 10px; font-weight: 700; }
[data-theme="light"] .badge-green { background: #dcfce7; color: #16a34a; border: 1px solid #bbf7d0; }
[data-theme="light"] .badge-yellow { background: #fef9c3; color: #ca8a04; border: 1px solid #fde68a; }
[data-theme="light"] .badge-red { background: #fee2e2; color: #dc2626; border: 1px solid #fecaca; }
[data-theme="light"] .kpi-card { background: #fff; border-radius: 14px; border: 1px solid #e2e8f0; padding: 16px; box-shadow: 0 1px 4px rgba(0,0,0,.04); }
[data-theme="light"] .kpi-card.kpi-purple { border-top: 3px solid #8b5cf6; }
[data-theme="light"] .kpi-card.kpi-blue   { border-top: 3px solid #3b82f6; }
[data-theme="light"] .kpi-card.kpi-green  { border-top: 3px solid #10b981; }
[data-theme="light"] .kpi-card.kpi-yellow { border-top: 3px solid #f59e0b; }
[data-theme="light"] .kpi-card.kpi-red    { border-top: 3px solid #ef4444; }
[data-theme="light"] .kpi-value { font-size: 26px; font-weight: 800; color: #0f172a; font-family: 'JetBrains Mono', monospace; }
[data-theme="light"] .kpi-label { font-size: 10px; font-weight: 700; color: #94a3b8; text-transform: uppercase; letter-spacing: .06em; }
[data-theme="light"] .kpi-sub { font-size: 11px; color: #64748b; }
[data-theme="light"] .kpi-trend.up { color: #16a34a; font-size: 11px; font-weight: 600; }
[data-theme="light"] .kpi-trend.down { color: #dc2626; font-size: 11px; font-weight: 600; }
[data-theme="light"] .kpi-trend.neutral { color: #64748b; font-size: 11px; font-weight: 600; }
[data-theme="light"] .collapsible-panel { background: #fff; border: 1px solid #e2e8f0; border-radius: 12px; overflow: hidden; margin-bottom: 12px; }
[data-theme="light"] .collapsible-panel-header { padding: 12px 16px; cursor: pointer; display: flex; align-items: center; justify-content: space-between; background: #f8fafc; }
[data-theme="light"] .collapsible-panel-header:hover { background: #f1f5f9; }
[data-theme="light"] .collapsible-panel-title { font-size: 13px; font-weight: 700; color: #1e293b; }
[data-theme="light"] .collapsible-panel-icon { color: #94a3b8; font-size: 10px; }
[data-theme="light"] .collapsible-panel-content { padding: 16px; border-top: 1px solid #f1f5f9; }
[data-theme="light"] .collapsible-panel.collapsed .collapsible-panel-content { display: none; }
[data-theme="light"] .bulk-ops-panel { background: #fff; border: 1px solid #e2e8f0; border-radius: 12px; overflow: hidden; margin-bottom: 12px; }
[data-theme="light"] .bulk-ops-header { padding: 10px 14px; cursor: pointer; display: flex; align-items: center; gap: 8px; background: #f8fafc; }
[data-theme="light"] .bulk-ops-title { font-size: 12px; font-weight: 700; color: #1e293b; }
[data-theme="light"] .section-card { background: #fff; border-radius: 12px; border: 1px solid #e2e8f0; box-shadow: 0 1px 4px rgba(0,0,0,.04); overflow: hidden; }
[data-theme="light"] .section-card-header { padding: 12px 16px; border-bottom: 1px solid #f1f5f9; background: rgba(248,250,252,.6); display: flex; align-items: center; justify-content: space-between; }
[data-theme="light"] .section-card-title { font-size: 13px; font-weight: 700; color: #1e293b; }
[data-theme="light"] .page-content { background: #f8fafc; }

/* ===== V2 DESIGN SYSTEM (stitch design patterns) ===== */

/* Accent dot */
.accent-dot { width:8px; height:8px; border-radius:50%; background:#f97316; flex-shrink:0; display:inline-block; }

/* Page scroll area */
.page-scroll-v2 { flex:1; overflow-y:auto; padding:28px 28px 8px; display:flex; flex-direction:column; gap:20px; }

/* Section card white */
.sc-white {
  background:#fff;
  border-radius:16px;
  border:1px solid #e2e8f0;
  box-shadow:0 1px 4px rgba(0,0,0,0.04);
  overflow:hidden;
}
.sc-header {
  padding:14px 20px;
  border-bottom:1px solid #f1f5f9;
  background:rgba(248,250,252,0.6);
  display:flex; align-items:center; justify-content:space-between;
}
.sc-title { font-size:13px; font-weight:700; color:#1e293b; display:flex; align-items:center; gap:6px; }

/* V2 Buttons */
.btn-v2 {
  display:inline-flex; align-items:center; gap:6px;
  padding:7px 14px; border-radius:10px; font-size:12px; font-weight:700;
  cursor:pointer; border:none; transition:all 0.15s; white-space:nowrap;
}
.btn-v2-primary { background:#4f46e5; color:#fff; }
.btn-v2-primary:hover { background:#4338ca; }
.btn-v2-secondary { background:#fff; color:#475569; border:1px solid #e2e8f0; }
.btn-v2-secondary:hover { background:#f8fafc; }
.btn-v2-danger { background:#ef4444; color:#fff; }
.btn-v2-danger:hover { background:#dc2626; }
.btn-v2-icon { padding:7px; }

/* V2 Filter bar */
.filter-bar-v2 {
  background:#fff; border-radius:16px; border:1px solid #e2e8f0;
  padding:16px 20px; display:flex; flex-wrap:wrap; align-items:flex-end; gap:16px;
}
.filter-group-v2 { display:flex; flex-direction:column; gap:4px; }
.filter-label-v2 { font-size:10px; font-weight:700; color:#94a3b8; text-transform:uppercase; letter-spacing:.08em; }
.filter-select-v2, .filter-input-v2 {
  min-width:130px; padding:7px 10px; border:1px solid #e2e8f0; border-radius:8px;
  background:#f8fafc; font-size:13px; color:#334155; font-weight:600;
}
.filter-select-v2:focus, .filter-input-v2:focus { outline:none; border-color:#6366f1; background:#fff; }

/* V2 Data table */
.dt-v2 { width:100%; border-collapse:collapse; }
.dt-v2 thead tr { background:#f8fafc; border-bottom:1px solid #e2e8f0; }
.dt-v2 thead th {
  padding:11px 16px; font-size:10px; font-weight:700; color:#94a3b8;
  text-transform:uppercase; letter-spacing:.08em; white-space:nowrap; user-select:none;
}
.dt-v2 tbody tr { border-bottom:1px solid #f1f5f9; transition:background .12s; }
.dt-v2 tbody tr:hover { background:#f8fafc; }
.dt-v2 tbody td { padding:12px 16px; font-size:13px; color:#334155; vertical-align:middle; }
.dt-v2 tbody tr:last-child { border-bottom:none; }

/* V2 KPI Card */
.kpi-v2 {
  background:#fff; border-radius:16px; border:1px solid #e2e8f0;
  padding:20px; box-shadow:0 1px 6px rgba(0,0,0,0.04);
  display:flex; flex-direction:column; gap:4px; position:relative; overflow:hidden;
}
.kpi-v2-icon {
  width:38px; height:38px; border-radius:10px; display:flex; align-items:center; justify-content:center;
  font-size:18px; margin-bottom:8px; flex-shrink:0;
}
.kpi-v2-label { font-size:10px; font-weight:700; color:#94a3b8; text-transform:uppercase; letter-spacing:.06em; }
.kpi-v2-value { font-size:26px; font-weight:800; color:#0f172a; font-family:'JetBrains Mono',monospace; line-height:1.1; }
.kpi-v2-sub { font-size:11px; color:#64748b; }
.kpi-v2-trend-up { color:#16a34a; font-size:11px; font-weight:600; }
.kpi-v2-trend-down { color:#dc2626; font-size:11px; font-weight:600; }
.kpi-v2-trend-neutral { color:#64748b; font-size:11px; font-weight:600; }
.kpi-v2::after {
  content:''; position:absolute; right:-12px; bottom:-12px;
  width:72px; height:72px; border-radius:50%; opacity:.06;
  background:currentColor;
}
.kpi-v2-indigo { color:#4f46e5; border-top:3px solid #4f46e5; }
.kpi-v2-green  { color:#10b981; border-top:3px solid #10b981; }
.kpi-v2-red    { color:#ef4444; border-top:3px solid #ef4444; }
.kpi-v2-yellow { color:#f59e0b; border-top:3px solid #f59e0b; }
.kpi-v2-blue   { color:#3b82f6; border-top:3px solid #3b82f6; }
.kpi-v2-orange { color:#f97316; border-top:3px solid #f97316; }

/* V2 Status badges */
.badge-v2 {
  display:inline-flex; align-items:center; gap:3px;
  padding:3px 9px; border-radius:20px; font-size:10px; font-weight:700;
}
.badge-green-v2  { background:#dcfce7; color:#16a34a; border:1px solid #bbf7d0; }
.badge-yellow-v2 { background:#fef9c3; color:#ca8a04; border:1px solid #fde68a; }
.badge-red-v2    { background:#fee2e2; color:#dc2626; border:1px solid #fecaca; }
.badge-blue-v2   { background:#ede9fe; color:#7c3aed; border:1px solid #ddd6fe; }
.badge-gray-v2   { background:#f1f5f9; color:#475569; border:1px solid #e2e8f0; }
.badge-orange-v2 { background:#fff7ed; color:#c2410c; border:1px solid #fed7aa; }

/* V2 Tab buttons — Stitch pill style */
.tab-bar-v2 {
  display:flex; gap:2px; align-items:center;
  background:#f1f5f9; border:1px solid #e2e8f0; border-radius:10px;
  padding:3px; width:fit-content;
}
.tab-btn-v2 {
  padding:6px 16px; border-radius:7px; font-size:12px; font-weight:600;
  cursor:pointer; border:none; background:transparent; color:#64748b;
  transition:all .15s; white-space:nowrap;
}
.tab-btn-v2.active { background:#4f46e5; color:#fff; box-shadow:0 2px 6px rgba(79,70,229,.25); }
.tab-btn-v2:hover:not(.active) { background:#e2e8f0; color:#334155; }

/* V2 Dashboard bento grid */
.dash-bento { display:grid; grid-template-columns:repeat(6,1fr); gap:14px; margin-bottom:16px; }
.dash-bento .span2 { grid-column:span 2; }
.dash-bento .span3 { grid-column:span 3; }
.dash-bento .span5 { grid-column:span 5; }
.dash-bento .span6 { grid-column:span 6; }

/* Stitch-inspired KPI card */
.kpi-s {
  background:#fff;
  border:1px solid #e8eef7;
  border-radius:14px;
  padding:18px 20px;
  box-shadow:0 1px 3px rgba(0,0,0,0.04),0 8px 16px -4px rgba(0,0,0,0.03);
  position:relative; overflow:hidden;
  transition:box-shadow .2s, transform .2s;
  display:flex; flex-direction:column; gap:6px;
}
.kpi-s:hover { box-shadow:0 4px 20px rgba(0,0,0,0.08); transform:translateY(-1px); }
.kpi-s-header { display:flex; justify-content:space-between; align-items:flex-start; }
.kpi-s-label {
  font-size:10px; font-weight:700; color:#94a3b8;
  text-transform:uppercase; letter-spacing:.07em;
}
.kpi-s-icon {
  width:32px; height:32px; border-radius:8px;
  display:flex; align-items:center; justify-content:center; font-size:16px;
  flex-shrink:0;
}
.kpi-s-val {
  font-size:22px; font-weight:800; color:#0f172a;
  font-family:'JetBrains Mono',monospace; line-height:1.2;
}
.kpi-s-sub { font-size:11px; color:#64748b; line-height:1.5; }
.kpi-s-trend-up   { color:#16a34a; font-weight:700; }
.kpi-s-trend-down { color:#dc2626; font-weight:700; }
.kpi-s-progress {
  height:3px; background:#f1f5f9; border-radius:99px; overflow:hidden; margin-top:2px;
}
.kpi-s-progress-fill { height:100%; border-radius:99px; transition:width .6s ease; }
/* Accent border variants */
.kpi-s-indigo { border-top:3px solid #6366f1; }
.kpi-s-green  { border-top:3px solid #10b981; }
.kpi-s-red    { border-top:3px solid #ef4444; }
.kpi-s-yellow { border-top:3px solid #f59e0b; }
.kpi-s-orange { border-top:3px solid #f97316; }
.kpi-s-blue   { border-top:3px solid #3b82f6; }
/* Dark mode */
:root .kpi-s { background:var(--bg-card); border-color:var(--border-secondary); }
:root .kpi-s-val { color:var(--text-primary); }
:root .kpi-s-sub, :root .kpi-s-label { color:var(--text-secondary); }
[data-theme="light"] .kpi-s { background:#fff; border-color:#e8eef7; }
[data-theme="light"] .kpi-s-val { color:#0f172a; }

/* V2 Collapsible form */
.collapsible-form-v2 { background:#fff; border-radius:16px; border:1px solid #e2e8f0; overflow:hidden; }
.collapsible-form-toggle-v2 {
  width:100%; padding:14px 20px; background:none; border:none; cursor:pointer;
  display:flex; align-items:center; justify-content:space-between;
  font-size:13px; font-weight:700; color:#1e293b; text-align:left;
}
.collapsible-form-toggle-v2:hover { background:#f8fafc; }
.collapsible-form-body-v2 { border-top:1px solid #f1f5f9; padding:20px; display:none; }
.collapsible-form-body-v2.open { display:block; }

/* V2 Form elements */
.form-grid-v2 { display:grid; grid-template-columns:repeat(auto-fill,minmax(180px,1fr)); gap:12px; }
.form-group-v2 { display:flex; flex-direction:column; gap:4px; }
.form-label-v2 { font-size:10px; font-weight:700; color:#64748b; text-transform:uppercase; letter-spacing:.06em; }
.form-input-v2 {
  padding:7px 10px; border:1px solid #e2e8f0; border-radius:8px;
  background:#f8fafc; font-size:13px; color:#334155; width:100%;
}
.form-input-v2:focus { outline:none; border-color:#6366f1; background:#fff; }

/* V2 Icon link buttons (marketplace) */
.mkt-btn-v2 {
  display:inline-flex; align-items:center; justify-content:center;
  width:26px; height:26px; border-radius:6px; border:1px solid #e2e8f0;
  background:#f8fafc; font-size:11px; font-weight:700; cursor:pointer;
  transition:all .15s; text-decoration:none; color:#334155;
}
.mkt-btn-v2:hover { background:#ede9fe; border-color:#a5b4fc; color:#4f46e5; }

/* V2 Alert banner */
.alert-banner-v2 {
  padding:12px 20px; border-radius:12px; display:flex; align-items:center; gap:12px;
  font-size:13px; font-weight:600; cursor:pointer;
}
.alert-banner-warning { background:#fff7ed; border:1px solid #fed7aa; color:#9a3412; }
.alert-banner-danger  { background:#fee2e2; border:1px solid #fecaca; color:#991b1b; }
.alert-banner-info    { background:#eff6ff; border:1px solid #bfdbfe; color:#1e40af; }

/* V2 Pagination */
.pagination-v2 { display:flex; align-items:center; gap:6px; padding:14px 20px; border-top:1px solid #f1f5f9; }
.page-btn-v2 {
  width:30px; height:30px; display:flex; align-items:center; justify-content:center;
  border:1px solid #e2e8f0; border-radius:8px; background:#fff; font-size:12px;
  font-weight:700; cursor:pointer; color:#64748b; transition:all .12s;
}
.page-btn-v2:hover { background:#f1f5f9; }
.page-btn-v2.active { background:#4f46e5; color:#fff; border-color:#4f46e5; }

/* V2 Summary stats pills */
.stat-pill-v2 {
  display:inline-flex; align-items:center; gap:8px;
  padding:6px 14px; background:#fff; border-radius:20px;
  font-size:12px; font-weight:700; box-shadow:0 1px 3px rgba(0,0,0,0.06);
}
.stat-pill-dot { width:18px; height:18px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:9px; font-weight:800; color:#fff; }

/* V2 Opportunity card */
.opp-card-v2 {
  padding:14px 16px; border-radius:12px; border:1px solid #e2e8f0; background:#fff;
  border-left:4px solid #4f46e5; cursor:pointer; transition:box-shadow .15s;
}
.opp-card-v2:hover { box-shadow:0 4px 12px rgba(0,0,0,0.08); }
.opp-card-v2.opp-green { border-left-color:#10b981; }
.opp-card-v2.opp-orange { border-left-color:#f97316; }

/* V2 Table overflow wrapper */
.table-wrap-v2 { overflow-x:auto; }

/* V2 Text helpers */
.text-indigo { color:#4f46e5; }
.text-mono { font-family:'JetBrains Mono',monospace; }
.fw-700 { font-weight:700; }
.fw-800 { font-weight:800; }
.text-xs { font-size:11px; }
.text-sm { font-size:13px; }
.text-muted { color:#94a3b8; }
.text-success { color:#16a34a; }
.text-danger { color:#dc2626; }
.text-warning { color:#ca8a04; }

/* V2 Quick action banner */
.quick-action-v2 {
  padding:14px 20px; border-radius:12px;
  background:#fffbeb; border:1px solid #fde68a;
  display:flex; align-items:center; justify-content:space-between; gap:16px;
}

/* V2 Progress bar */
.progress-bar-v2 { height:6px; background:#e2e8f0; border-radius:4px; overflow:hidden; }
.progress-fill-v2 { height:100%; border-radius:4px; transition:width .4s; }
.progress-fill-indigo { background:#4f46e5; }
.progress-fill-green  { background:#10b981; }
.progress-fill-red    { background:#ef4444; }

/* Fırsat widget row (on dashboard) */
.firsat-widget-row { display:flex; flex-direction:column; gap:8px; }

/* Platform perf table on dashboard */
.platform-perf-table { width:100%; border-collapse:collapse; }
.platform-perf-table th { font-size:9px; font-weight:700; color:#94a3b8; text-transform:uppercase; padding:8px 12px; border-bottom:1px solid #f1f5f9; }
.platform-perf-table td { font-size:12px; padding:8px 12px; border-bottom:1px solid #f8fafc; color:#334155; }
.platform-perf-table tr:last-child td { border-bottom:none; }
.platform-perf-table tr:hover td { background:#f8fafc; }
[data-theme="light"] .excel-grid tr:hover td { background: rgba(99,102,241,0.04); }

/* ===== STITCH DESIGN SYSTEM (Enterprise UI) ===== */
:root {
  --stitch-primary: #ff6b00;
  --stitch-primary-container: rgba(255, 107, 0, 0.1);
  --stitch-secondary: #6b38d4;
  --stitch-secondary-container: rgba(107, 56, 212, 0.1);
  --stitch-surface: #0b1c30;
  --stitch-surface-low: #112238;
}

.glass-card {
  background: var(--bg-card);
  border: 1px solid var(--border-secondary);
  border-radius: var(--radius-lg);
  backdrop-filter: blur(12px);
  box-shadow: var(--shadow-md);
  transition: all var(--transition-normal);
}

.glass-card:hover {
  border-color: var(--border-hover);
  box-shadow: var(--shadow-lg);
}

.font-data-mono {
  font-family: 'JetBrains Mono', monospace;
}

.font-label-caps {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--text-tertiary);
}

.text-headline-md {
  font-size: 22px;
  font-weight: 800;
  letter-spacing: -0.02em;
}

.stitch-badge {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 2px 8px;
  border-radius: 6px;
  font-size: 10px;
  font-weight: 700;
}

.stitch-badge-green { background: rgba(16, 185, 129, 0.12); color: #10b981; border: 1px solid rgba(16, 185, 129, 0.2); }
.stitch-badge-orange { background: rgba(255, 107, 0, 0.12); color: #ff6b00; border: 1px solid rgba(255, 107, 0, 0.2); }
.stitch-badge-purple { background: rgba(107, 56, 212, 0.12); color: #8b5cf6; border: 1px solid rgba(107, 56, 212, 0.2); }
.stitch-badge-red { background: rgba(239, 68, 68, 0.12); color: #ef4444; border: 1px solid rgba(239, 68, 68, 0.2); }

.animate-pulse-subtle {
  animation: pulseSubtle 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}

@keyframes pulseSubtle {
  0%, 100% { opacity: 1; }
  50% { opacity: .6; }
}

