/* ============================================
   LENO - DARK MODE TEMA (lacivert + zeytin yesili)
   + 4 Breakpoint Responsive Sistemi (CSS variables)
   Tum sayfalara <link> ile yuklenir.
   ============================================ */

:root {
  /* === BACKGROUNDS (koyu lacivert tonlari) === */
  --bg-app:        #0F1419;
  --bg-surface:    #161B22;
  --bg-sidebar:    #131820;
  --bg-muted:      #1F2937;
  --bg-elevated:   #2D3748;

  /* === BORDERS === */
  --border-default: #1F2937;
  --border-strong:  #2D3748;
  --border-divider: #1F2937;

  /* === TEXT === */
  --text-primary:    #E5E7EB;
  --text-secondary:  #9CA3AF;
  --text-tertiary:   #6B7585;
  --text-quaternary: #4A5260;

  /* === BRAND (zeytin yesili) === */
  --brand-50:  #DCE9D9;
  --brand-100: #1F3329;
  --brand-300: #2A4537;
  --brand-500: #5B8A6F;
  --brand-700: #3E6B52;
  --brand-900: #1A2922;
  --brand-light: #2A4537;
  --brand-soft:  #5B8A6F;

  /* === SEMANTIC === */
  --success-bg:        #1F3329;     --success-text:        #5B8A6F;
  --success-strong-bg: #1A2922;     --success-strong-text: #DCE9D9;
  --success-border:    #2A4537;

  --warning-bg:     #2A1F0E;        --warning-text:    #D9A055;
  --warning-strong: #DCE9D9;        --warning-soft:    #1F1505;
  --warning-border: #4A3A1C;

  --danger-bg:  #2A1416;            --danger-text:  #E08783;

  --info-bg:    #14233E;            --info-text:    #6B8FCB;

  /* === MODULE ACCENTS — hepsi NOTR (varyasyon kalkti) === */
  --accent-warm-bg:    var(--bg-muted);
  --accent-warm-text:  var(--brand-50);
  --accent-warm-soft:  var(--bg-surface);
  --accent-warm-border:var(--border-strong);

  --accent-teal-bg:    var(--bg-muted);
  --accent-teal-text:  var(--brand-50);
  --accent-coral-bg:   var(--bg-muted);
  --accent-coral-text: var(--brand-50);

  /* Legacy purple -> brand (AI yesil, mor tamamen kalkti) */
  --accent-purple-bg:    #1F3329;
  --accent-purple-text:  #5B8A6F;
  --accent-purple-soft:  #1A2922;
  --accent-purple-border:#2A4537;

  /* === RADIUS === */
  --radius-sm: 6px;
  --radius-md: 8px;
  --radius-lg: 12px;
  --radius-xl: 14px;
  --radius-card: 12px;

  /* === TYPOGRAPHY (responsive — sm default) === */
  --font-sans: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;

  --fz-h1:        22px;
  --fz-stat:      26px;
  --fz-h2:        11px;
  --fz-body:      13px;
  --fz-caption:   11px;
  --fz-sidebar:   13px;
  --fz-button:    12px;

  /* === SPACING (responsive — sm default) === */
  --pad-card:     14px;
  --pad-card-lg:  16px;
  --gap-card:     10px;
  --gap-section:  20px;
  --pad-page:     20px;
  --pad-header-x: 24px;
  --pad-header-y: 12px;

  /* === COMPONENT BOYUTLARI (responsive) === */
  --sidebar-w:    256px;
  --rightpanel-w: 320px;
  --logo-size:    30px;
  --modicon-size: 32px;
  --staticon-size:28px;
  --avatar-size:  28px;

  /* === LEGACY (eski sayfalar bu degiskenleri kullaniyor) === */
  --bg-deep:      var(--bg-app);
  --bg-card:      var(--bg-surface);
  --bg-card-2:    var(--bg-elevated);
  --bg-card2:     var(--bg-elevated);
  --bg-base:      var(--bg-app);
  --surface:      var(--bg-surface);
  --bg:           var(--bg-app);
  --panel:        var(--bg-surface);
  --panel2:       var(--bg-muted);
  --border:       var(--border-default);
  --border-soft:  var(--border-divider);
  --border-hover: var(--border-strong);
  --text:         var(--text-primary);
  --text-muted:   var(--text-tertiary);
  --muted:        var(--text-tertiary);
  --warn:         var(--warning-text);
  --danger:       var(--danger-text);
  --success:      var(--success-text);
  --accent:       var(--brand-500);
  --accent-hover: var(--brand-700);
  --accent-soft:  rgba(91,138,111,.15);
  --accent-bg:    var(--brand-100);
}

/* === md: standart desktop (>=1440px) === */
@media (min-width: 1440px) {
  :root {
    --fz-h1: 24px;        --fz-stat: 28px;
    --fz-h2: 11px;        --fz-body: 13px;
    --fz-caption: 11px;   --fz-sidebar: 13px;
    --fz-button: 12px;

    --pad-card: 16px;     --pad-card-lg: 18px;
    --gap-card: 12px;     --gap-section: 22px;
    --pad-page: 24px;     --pad-header-x: 28px;
    --pad-header-y: 12px;

    --sidebar-w: 268px;   --rightpanel-w: 344px;
    --logo-size: 32px;    --modicon-size: 34px;
    --staticon-size: 30px;--avatar-size: 30px;
  }
}

/* === lg: genis desktop / 1080p (>=1600px) === */
@media (min-width: 1600px) {
  :root {
    --fz-h1: 26px;        --fz-stat: 32px;
    --fz-h2: 12px;        --fz-body: 14px;
    --fz-caption: 12px;   --fz-sidebar: 14px;
    --fz-button: 13px;

    --pad-card: 20px;     --pad-card-lg: 22px;
    --gap-card: 14px;     --gap-section: 26px;
    --pad-page: 28px;     --pad-header-x: 30px;
    --pad-header-y: 14px;

    --sidebar-w: 288px;   --rightpanel-w: 368px;
    --logo-size: 34px;    --modicon-size: 36px;
    --staticon-size: 32px;--avatar-size: 32px;
    --radius-card: 13px;
  }
}

/* === xl: 1080p+ / 2K (>=1920px) === */
@media (min-width: 1920px) {
  :root {
    --fz-h1: 30px;        --fz-stat: 36px;
    --fz-h2: 12px;        --fz-body: 14px;
    --fz-caption: 12px;   --fz-sidebar: 14px;
    --fz-button: 13px;

    --pad-card: 22px;     --pad-card-lg: 26px;
    --gap-card: 16px;     --gap-section: 28px;
    --pad-page: 32px;     --pad-header-x: 32px;
    --pad-header-y: 16px;

    --sidebar-w: 300px;   --rightpanel-w: 384px;
    --logo-size: 36px;    --modicon-size: 38px;
    --staticon-size: 32px;--avatar-size: 34px;
    --radius-card: 14px;
  }
}

/* === GLOBAL RESET / BODY === */
*  { box-sizing: border-box; }
html, body {
  background: var(--bg-app) !important;
  color: var(--text-primary) !important;
  font-family: var(--font-sans) !important;
  -webkit-font-smoothing: antialiased;
  font-size: var(--fz-body);
  line-height: 1.5;
}
body { margin: 0; }

/* === SCROLLBAR (dark) === */
::-webkit-scrollbar         { width: 10px; height: 10px; }
::-webkit-scrollbar-track   { background: transparent; }
::-webkit-scrollbar-thumb   { background: var(--bg-muted); border-radius: 5px; border: 2px solid var(--bg-app); }
::-webkit-scrollbar-thumb:hover { background: var(--bg-elevated); }

/* === ESKI .nav (eski mavi/mor top-nav) GIZLE === */
.nav, .top-nav, .nv-top-nav { display: none !important; }
.nv-space-layer, .spotlight-top, .spotlight-bottom, [id^="space-"] { display: none !important; }
.nv-pill-nav, .pill-nav { display: none !important; }

/* === BODY ANIMATION (yumusak) === */
@keyframes nv-pageEnter { from { opacity: .85; } to { opacity: 1; } }
body { animation: nv-pageEnter .25s ease; }
body.leaving { animation: none !important; opacity: .85; }

/* === LAYOUT === */
body[data-leno-shim="1"] { padding-left: var(--sidebar-w) !important; }
body[data-leno-shim="1"].has-rightpanel { padding-right: var(--rightpanel-w) !important; }

/* === SIDEBAR (sticky + scrollable, footer dipte) === */
.nv-sidebar {
  position: fixed; left: 0; top: 0;
  height: 100vh; width: var(--sidebar-w);
  background: var(--bg-sidebar);
  border-right: 0.5px solid var(--border-default);
  padding: 14px 12px;
  display: flex; flex-direction: column; gap: 2px;
  z-index: 100;
  overflow: hidden;
}
.nv-sb-brand {
  display: flex; align-items: center; gap: 10px;
  padding: 8px; margin-bottom: 14px;
  cursor: pointer; flex-shrink: 0;
}
.nv-sb-logo {
  width: var(--logo-size); height: var(--logo-size);
  background: var(--brand-500);
  border-radius: 8px;
  display: flex; align-items: center; justify-content: center;
  color: var(--bg-app); font-weight: 500; font-size: 14px; letter-spacing: -0.02em;
  flex-shrink: 0;
}
.nv-sb-brand-text { flex: 1; min-width: 0; }
.nv-sb-brand-name {
  font-weight: 500; font-size: 15px; color: var(--text-primary);
  letter-spacing: -0.01em; line-height: 1.2;
}
.nv-sb-brand-sub { font-size: 11px; color: var(--text-tertiary); }
.nv-sb-search {
  background: var(--bg-muted); border-radius: 8px; padding: 9px 11px;
  display: flex; align-items: center; gap: 8px; margin-bottom: 16px;
  font-size: 13px; color: var(--text-tertiary); cursor: text;
  border: none; width: 100%; text-align: left; font-family: inherit;
  flex-shrink: 0;
}
.nv-sb-search-key {
  background: var(--bg-elevated); padding: 2px 7px; border-radius: 4px;
  font-size: 11px; border: 0.5px solid var(--border-strong);
  color: var(--text-secondary); margin-left: auto;
}
.nv-sb-section {
  font-size: 11px; color: var(--text-quaternary); letter-spacing: 0.08em;
  padding: 14px 10px 6px; text-transform: uppercase; font-weight: 500;
  flex-shrink: 0;
}

/* sidebar-menu wrapper'i kullanmiyoruz; ortadaki itemlar
   flex auto -> overflow auto ile scroll edilebilir */
.nv-sb-menu {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  overflow-x: hidden;
  display: flex; flex-direction: column; gap: 2px;
}

.nv-sb-item {
  padding: 9px 11px; color: #B8BEC9; font-size: var(--fz-sidebar);
  display: flex; align-items: center; gap: 10px;
  border-radius: 7px; cursor: pointer; margin-bottom: 1px;
  transition: background .15s ease;
  text-decoration: none;
  font-weight: 400;
  flex-shrink: 0;
}
.nv-sb-item:hover { background: var(--bg-muted); color: var(--text-primary); }
.nv-sb-item.active {
  background: var(--brand-100); color: var(--brand-50); font-weight: 500;
}
.nv-sb-item.active .nv-sb-ico { opacity: 1; color: var(--brand-500); }
.nv-sb-ico { opacity: 0.55; flex-shrink: 0; width: 14px; text-align: center; }
.nv-sb-badge {
  margin-left: auto; background: var(--bg-muted);
  font-size: 11px; padding: 2px 7px; border-radius: 4px;
  color: var(--text-secondary); font-weight: 500;
}
.nv-sb-dot {
  margin-left: auto; width: 6px; height: 6px;
  background: var(--warning-text); border-radius: 50%;
}
.nv-sb-ai-badge {
  margin-left: auto; background: var(--brand-100);
  color: var(--brand-500); font-size: 10px;
  padding: 2px 6px; border-radius: 3px; font-weight: 500;
  letter-spacing: 0.04em;
}

.nv-sb-bottom { margin-top: auto; flex-shrink: 0; padding-top: 10px; }
.nv-sb-promo {
  background: var(--brand-900);
  border: 0.5px solid var(--brand-300);
  border-radius: 10px; padding: 12px; margin-bottom: 10px;
}
.nv-sb-promo-row { display: flex; align-items: center; gap: 6px; margin-bottom: 6px; }
.nv-sb-promo-icon { color: var(--brand-500); font-size: 14px; }
.nv-sb-promo-title { font-size: 13px; font-weight: 500; color: var(--brand-50); }
.nv-sb-promo-pill {
  margin-left: auto; background: var(--brand-500); color: var(--bg-app);
  font-size: 10px; padding: 2px 6px; border-radius: 3px; font-weight: 500;
  letter-spacing: 0.04em;
}
.nv-sb-promo-desc { font-size: 12px; color: var(--text-secondary); line-height: 1.4; }

.nv-sb-userchip {
  padding: 6px 8px; display: flex; align-items: center; gap: 10px;
  border-radius: 8px; cursor: pointer;
  transition: background .15s ease;
}
.nv-sb-userchip:hover { background: var(--bg-muted); }
.nv-sb-avatar {
  width: var(--avatar-size); height: var(--avatar-size); border-radius: 50%;
  background: var(--brand-100); color: var(--brand-500);
  display: flex; align-items: center; justify-content: center;
  font-size: 12px; font-weight: 500;
}
.nv-sb-user-info { flex: 1; min-width: 0; }
.nv-sb-user-name {
  font-size: 13px; font-weight: 500; color: var(--text-primary);
  line-height: 1.2; white-space: nowrap;
  overflow: hidden; text-overflow: ellipsis;
}
.nv-sb-user-mail {
  font-size: 11px; color: var(--text-tertiary);
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.nv-sb-user-more { color: var(--text-tertiary); font-size: 12px; }

/* Sidebar user menu (acilir popup — sidebar dipinde) */
.nv-sb-usermenu {
  position: absolute;
  bottom: calc(100% + 6px);
  left: 0; right: 0;
  background: var(--bg-surface);
  border: 0.5px solid var(--border-strong);
  border-radius: 10px;
  padding: 6px;
  display: none;
  flex-direction: column;
  gap: 1px;
  box-shadow: 0 8px 32px rgba(0,0,0,.45);
  z-index: 200;
}
.nv-sb-usermenu.open { display: flex; }
.nv-sb-um-item {
  display: flex; align-items: center; gap: 10px;
  padding: 9px 11px;
  background: transparent; border: none;
  color: var(--text-primary);
  font-size: 13px; font-family: inherit;
  text-align: left; cursor: pointer;
  border-radius: 6px;
  transition: background .12s ease;
}
.nv-sb-um-item:hover { background: var(--bg-muted); }
.nv-sb-um-item span { width: 16px; text-align: center; opacity: 0.7; flex-shrink: 0; }
.nv-sb-um-item.danger { color: var(--danger-text); }
.nv-sb-um-item.danger:hover { background: var(--danger-bg); }
.nv-sb-um-sep { height: 0.5px; background: var(--border-divider); margin: 4px 0; }
.nv-sb-um-badge {
  margin-left: auto; background: var(--brand-500); color: var(--bg-app);
  font-size: 10px; font-weight: 500; padding: 1px 6px; border-radius: 10px;
}

/* === RIGHT PANEL === */
.nv-rightpanel {
  position: fixed; right: 0; top: 0; bottom: 0;
  width: var(--rightpanel-w);
  background: var(--bg-sidebar);
  border-left: 0.5px solid var(--border-default);
  padding: 20px 18px;
  overflow-y: auto;
  display: flex; flex-direction: column;
  z-index: 100;
}
.nv-rp-header {
  display: flex; align-items: center; justify-content: space-between;
  margin-bottom: 14px;
}
.nv-rp-title {
  font-size: 12px; color: var(--text-tertiary);
  letter-spacing: 0.06em; text-transform: uppercase; font-weight: 500;
}
.nv-rp-tab-row {
  display: flex; gap: 4px; padding: 3px;
  background: var(--bg-muted); border-radius: 7px;
  margin-bottom: 14px; font-size: 12px;
}
.nv-rp-tab {
  flex: 1; text-align: center; padding: 6px;
  color: var(--text-secondary); cursor: pointer;
  border-radius: 5px; font-family: inherit;
  background: transparent; border: none;
}
.nv-rp-tab.active {
  background: var(--bg-elevated); color: var(--text-primary); font-weight: 500;
}
.nv-rp-list { display: flex; flex-direction: column; gap: 8px; flex: 1; }
.nv-rp-item {
  padding: 10px 12px; border-bottom: 0.5px solid var(--border-divider);
  cursor: pointer;
}
.nv-rp-item.urgent {
  background: var(--warning-bg);
  border: 0.5px solid var(--warning-border);
  border-radius: 10px; padding: 12px;
}
.nv-rp-row { display: flex; align-items: center; gap: 10px; margin-bottom: 6px; }
.nv-rp-datebox {
  text-align: center; min-width: 34px;
  background: var(--bg-muted); border-radius: 6px; padding: 4px 0;
}
.nv-rp-datebox-mon {
  font-size: 9px; color: var(--text-secondary);
  font-weight: 500; letter-spacing: 0.04em;
}
.nv-rp-datebox-day {
  font-size: 15px; font-weight: 500; color: var(--text-primary); line-height: 1;
}
.nv-rp-datebox.warn  { background: var(--warning-border); }
.nv-rp-datebox.warn .nv-rp-datebox-mon, .nv-rp-datebox.warn .nv-rp-datebox-day { color: var(--warning-text); }
.nv-rp-datebox.ok    { background: var(--brand-300); }
.nv-rp-datebox.ok .nv-rp-datebox-mon, .nv-rp-datebox.ok .nv-rp-datebox-day { color: var(--brand-500); }
.nv-rp-meta { flex: 1; }
.nv-rp-meta-pri { font-size: 12px; color: var(--text-tertiary); }
.nv-rp-meta-pri.warn {
  color: var(--warning-text); font-weight: 500;
  display: flex; align-items: center; gap: 4px;
}
.nv-rp-meta-pri.warn::before {
  content: ''; width: 5px; height: 5px;
  background: var(--warning-text); border-radius: 50%;
}
.nv-rp-title-text {
  font-size: 13px; font-weight: 500;
  color: var(--text-primary); line-height: 1.4;
}
.nv-rp-cta {
  margin-top: 14px; padding-top: 14px;
  border-top: 0.5px solid var(--border-default);
}
.nv-rp-cta-btn {
  background: var(--bg-muted); border: 0.5px solid var(--border-strong);
  border-radius: 8px; padding: 11px 14px;
  display: flex; align-items: center; justify-content: center; gap: 6px;
  font-size: 13px; color: var(--brand-500); font-weight: 500;
  cursor: pointer; width: 100%; font-family: inherit;
}
.nv-rp-cta-btn:hover { background: var(--bg-elevated); }

/* === HEADER === */
.nv-page-header {
  display: flex; align-items: center; justify-content: space-between;
  padding: var(--pad-header-y) var(--pad-header-x);
  border-bottom: 0.5px solid var(--border-default);
  background: rgba(15, 20, 25, 0.7);
  backdrop-filter: blur(8px);
  position: sticky; top: 0; z-index: 50;
}
.nv-bc { display: flex; align-items: center; gap: 8px; font-size: 13px; color: var(--text-tertiary); }
.nv-bc-current { color: var(--text-primary); font-weight: 500; }
.nv-bc-sep { color: var(--text-quaternary); }
.nv-page-actions { display: flex; align-items: center; gap: 10px; }
.nv-pro-pill {
  background: var(--brand-100); color: var(--brand-500);
  padding: 6px 12px; border-radius: 6px;
  font-size: 12px; font-weight: 500;
  display: flex; align-items: center; gap: 4px;
}
.nv-icon-btn-light {
  width: 28px; height: 28px; display: flex;
  align-items: center; justify-content: center;
  color: var(--text-secondary); font-size: 13px;
  background: none; border: none; cursor: pointer; position: relative;
}
.nv-icon-btn-light:hover { color: var(--text-primary); }
.nv-icon-btn-light .nv-dot {
  position: absolute; top: 4px; right: 4px;
  width: 6px; height: 6px; background: var(--warning-text);
  border-radius: 50%; border: 1.5px solid var(--bg-app);
}
.nv-new-btn {
  background: var(--brand-500); border: none;
  padding: 7px 14px; border-radius: 7px;
  font-size: var(--fz-button); color: var(--bg-app); font-weight: 500;
  display: flex; align-items: center; gap: 5px;
  cursor: pointer; font-family: inherit;
}
.nv-new-btn:hover { background: var(--brand-700); }

/* === KART/SURFACE OVERRIDE (51 sayfa icin) === */
.card, .kart, .tool-card, .upload-card, .result-card,
.kpi-card, .ai-card, .modul-card, .dashboard-card, .metric-card,
.beyanname-card, .info-card, .hero-card, .panel-card,
.checkout-card, .status-card, .son-islem-kart, .section,
.plan-kart, .panel.aktif, .panel.on {
  background: var(--bg-surface) !important;
  border: 0.5px solid var(--border-default) !important;
  color: var(--text-primary) !important;
  box-shadow: none !important;
  border-radius: var(--radius-card) !important;
}

/* Form elemanlari */
input, select, textarea {
  background: var(--bg-muted) !important;
  color: var(--text-primary) !important;
  border-color: var(--border-strong) !important;
}
input::placeholder, textarea::placeholder { color: var(--text-tertiary) !important; }
input:focus, select:focus, textarea:focus {
  outline: none !important;
  border-color: var(--brand-500) !important;
  box-shadow: 0 0 0 3px rgba(91,138,111,.15) !important;
}

/* Butonlar — primary olive yesil, dark text uzerinde */
.btn-primary, button.btn-primary {
  background: var(--brand-500) !important;
  color: var(--bg-app) !important;
  border: none !important;
  border-radius: 8px !important;
  font-family: inherit !important;
  box-shadow: none !important;
  font-weight: 500 !important;
}
.btn-primary:hover, button.btn-primary:hover { background: var(--brand-700) !important; }
.btn-secondary, button.btn-secondary {
  background: var(--bg-muted) !important;
  color: var(--text-primary) !important;
  border: 0.5px solid var(--border-strong) !important;
  border-radius: 8px !important;
  font-family: inherit !important;
  font-weight: 500 !important;
}
.btn-secondary:hover { background: var(--bg-elevated) !important; }
.btn-mavi, button.btn-mavi, .btn-login, button.btn-login {
  background: var(--brand-500) !important;
  color: var(--bg-app) !important;
  border: none !important;
  border-radius: 8px !important;
  font-family: inherit !important;
  box-shadow: none !important;
}
.btn-mavi:hover, .btn-login:hover { background: var(--brand-700) !important; }

/* Eski hardcoded inline degerleri yakala (light mode renkleri -> dark) */
[style*="background:#FAFAF7"], [style*="background: #FAFAF7"],
[style*="background:#F7F4ED"], [style*="background: #F7F4ED"],
[style*="background:#FFFFFF"], [style*="background: #FFFFFF"],
[style*="background:#fff;"],   [style*="background: #fff;"],
[style*="background:#fff "],   [style*="background: #fff "],
[style*="background:#0a0d12"], [style*="background: #0a0d12"],
[style*="background:rgba(255,255,255,.02)"],
[style*="background: rgba(255,255,255,.02)"] {
  background: var(--bg-surface) !important;
}
[style*="background:#F1EFE8"], [style*="background: #F1EFE8"],
[style*="background:#F4F1E8"], [style*="background: #F4F1E8"] {
  background: var(--bg-muted) !important;
}
[style*="border:1px solid #1e3a5f"], [style*="border: 1px solid #1e3a5f"],
[style*="border-color:#1e3a5f"], [style*="border-color: #1e3a5f"],
[style*="border:1px solid rgba(255,255,255,.08)"],
[style*="border: 1px solid rgba(255,255,255,.08)"],
[style*="border:0.5px solid #EDEAE0"], [style*="border: 0.5px solid #EDEAE0"],
[style*="border:0.5px solid #E8E2D2"], [style*="border: 0.5px solid #E8E2D2"] {
  border-color: var(--border-default) !important;
}
[style*="color:#1A1A18"], [style*="color: #1A1A18"] { color: var(--text-primary) !important; }
[style*="color:#5F5E5A"], [style*="color: #5F5E5A"],
[style*="color:#4A4945"], [style*="color: #4A4945"] { color: var(--text-secondary) !important; }
[style*="color:#888780"], [style*="color: #888780"],
[style*="color:#74726B"], [style*="color: #74726B"] { color: var(--text-tertiary) !important; }
[style*="color:#A09E96"], [style*="color: #A09E96"],
[style*="color:#908E86"], [style*="color: #908E86"] { color: var(--text-quaternary) !important; }

/* Inline color (eski koyu tema light text degerleri) */
[style*="color:#94a3b8"], [style*="color: #94a3b8"],
[style*="color:#9ca3af"], [style*="color: #9ca3af"],
[style*="color:#64748b"], [style*="color: #64748b"],
[style*="color:#6b7280"], [style*="color: #6b7280"] {
  color: var(--text-tertiary) !important;
}
[style*="color:#8b5cf6"], [style*="color: #8b5cf6"],
[style*="color:#a78bfa"], [style*="color: #a78bfa"],
[style*="color:#c4b5fd"], [style*="color: #c4b5fd"] {
  color: var(--brand-500) !important;
}

/* Sayfa-icinde tanimlanmis light text class'lari -> primary */
.kpi-value, .kpi-baslik, .kpi-label,
.page-title, .page-subtitle, .page-meta,
.brand-name, .nv-brand-name,
.welcome-title, .hero-title,
.modal-title, .form-title,
.section-label, .section-title,
.mod-title, .upcoming-title,
.son-islem-title, .plan-kart-baslik,
.metric-value, .stat-value,
.user-chip-name, .user-menu-item,
.firma-adi, .firma-baslik,
.toplam-tutar, .sonuc-tutar,
.tab.aktif, .pill-btn.active {
  color: var(--text-primary) !important;
}
/* KPI/Stat tipografi (responsive) */
.kpi-value, .metric-value, .stat-value {
  font-size: var(--fz-stat) !important; font-weight: 500 !important;
  letter-spacing: -0.02em !important; line-height: 1.1 !important;
}
.kpi-label, .kpi-baslik {
  font-size: var(--fz-caption) !important; font-weight: 500 !important;
  text-transform: uppercase !important; letter-spacing: 0.04em !important;
  color: var(--text-tertiary) !important;
}
.kpi-sub { font-size: var(--fz-caption) !important; color: var(--text-tertiary) !important; }
/* Muted text classes */
.kpi-sub, .meta-text, .mod-desc,
.upcoming-meta:not(.urgent),
.section-badge, .form-hint,
.plan-kart-desc {
  color: var(--text-tertiary) !important;
}

/* Tablolar */
table { color: var(--text-primary); }
th { background: var(--bg-muted) !important; color: var(--text-secondary) !important; border-color: var(--border-strong) !important; }
td { border-color: var(--border-divider) !important; color: var(--text-primary) !important; }

/* Yardimci sinflar */
.t-card        { background: var(--bg-surface); border: 0.5px solid var(--border-default); border-radius: var(--radius-card); padding: var(--pad-card); }
.t-card-pad-lg { padding: var(--pad-card-lg); }
.t-h1          { font-size: var(--fz-h1); font-weight: 500; color: var(--text-primary); letter-spacing: -0.02em; line-height: 1.2; }
.t-section-label {
  font-size: var(--fz-h2); color: var(--text-tertiary);
  letter-spacing: 0.06em; text-transform: uppercase; font-weight: 500;
}
.t-badge {
  background: var(--bg-muted); color: var(--text-secondary);
  padding: 3px 9px; border-radius: 4px; font-size: var(--fz-caption); font-weight: 500;
}
.t-badge.success { background: var(--success-bg); color: var(--success-text); }
.t-badge.warning { background: var(--warning-bg); color: var(--warning-text); }
.t-badge.danger  { background: var(--danger-bg);  color: var(--danger-text); }
.t-badge.info    { background: var(--info-bg);    color: var(--info-text); }
.t-badge.ai      { background: var(--brand-100); color: var(--brand-500); }
.t-grid-3       { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--gap-card); }
.t-grid-3-lg    { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--gap-card); }
.t-row-between  { display: flex; align-items: center; justify-content: space-between; }

/* === LEGACY: existing yaklasan (.upcoming-*) - dark mode'a uyarla === */
.upcoming-item {
  padding: 10px 12px;
  border-bottom: 0.5px solid var(--border-divider);
  cursor: pointer;
  display: flex; gap: 10px; align-items: center;
}
.upcoming-item.urgent {
  background: var(--warning-bg) !important;
  border: 0.5px solid var(--warning-border) !important;
  border-radius: 10px;
  padding: 12px;
  margin-bottom: 6px;
}
.date-block {
  text-align: center; min-width: 36px;
  background: var(--bg-muted); border-radius: 6px;
  padding: 5px 0; flex-shrink: 0;
}
.date-month { font-size: 9px; font-weight: 500; letter-spacing: 0.04em; line-height: 1; color: var(--text-secondary); }
.date-day   { font-size: 15px; font-weight: 500; line-height: 1; margin-top: 2px; color: var(--text-primary); }
.upcoming-info { flex: 1; min-width: 0; }
.upcoming-title {
  font-size: var(--fz-body); font-weight: 500;
  color: var(--text-primary); line-height: 1.4;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.upcoming-meta {
  font-size: var(--fz-caption); color: var(--text-tertiary);
  margin-top: 4px; display: flex; align-items: center; gap: 4px;
}
.upcoming-meta.urgent { color: var(--warning-text); font-weight: 500; }
.upcoming-empty {
  padding: 20px; text-align: center;
  color: var(--text-tertiary); font-size: var(--fz-caption);
}
.upcoming-empty-ic { font-size: 24px; margin-bottom: 8px; }
.dot-urgent, .dot-warn {
  width: 5px; height: 5px; border-radius: 50%;
  display: inline-block;
}
.dot-urgent { background: var(--danger-text); }
.dot-warn   { background: var(--warning-text); }

/* === MOBIL === */
@media (max-width: 980px) {
  .nv-rightpanel { display: none !important; }
  body[data-leno-shim="1"].has-rightpanel { padding-right: 0 !important; }
}
@media (max-width: 760px) {
  body[data-leno-shim="1"] { padding-left: 0 !important; }
  .nv-sidebar {
    transform: translateX(-100%);
    transition: transform .25s ease;
  }
  .nv-sidebar.open { transform: translateX(0); }
  .nv-mobile-toggle { display: flex !important; }
}
.nv-mobile-toggle {
  display: none;
  position: fixed; top: 12px; left: 12px; z-index: 200;
  width: 36px; height: 36px;
  background: var(--bg-surface); border: 0.5px solid var(--border-strong);
  border-radius: 8px;
  align-items: center; justify-content: center;
  cursor: pointer; font-size: 16px; color: var(--text-primary);
}

/* === MOBILE HEADER FIX (telefon ekraninda sikismayi engelle) === */
@media (max-width: 768px) {
  .nv-page-header {
    padding-left: 56px; /* hamburger ikonuna yer */
    gap: 8px;
  }
  .nv-bc { font-size: 12px; gap: 6px; flex-wrap: nowrap; min-width: 0; }
  .nv-bc-current { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .nv-bc > span:first-child, .nv-bc-sep { display: none; } /* "Çalışma /" kısmını gizle */
  .nv-page-actions { gap: 6px; flex-shrink: 0; }
  .nv-pro-pill {
    padding: 4px 8px; font-size: 11px;
  }
  .nv-new-btn {
    padding: 6px 10px; font-size: 12px;
  }
}
@media (max-width: 480px) {
  /* Çok küçük ekranda Pro pill'i tamamen sakla */
  .nv-pro-pill { display: none; }
  /* + Yeni butonunun textini sadece + ile gösteren JS-free yol */
  .nv-new-btn { font-size: 0; padding: 6px 10px; }
  .nv-new-btn::before { content: '+'; font-size: 16px; font-weight: 600; }
}
