/* Modern kurumsal stil — FIX: footer sabitlendi ve içerik footer'ın altında kalmayacak şekilde düzeltildi.
   Düzeltilen kısım: daha önce .container padding-bottom'u sonradan yeniden tanımlanarak iptal ediliyordu.
   Bu sürümde .container tanımı padding-bottom ile birlikte tek yerde bırakıldı ve gereksiz tekrarlar kaldırıldı.
*/

/* Vars */
:root{
  --primary:#0b6efd;
  --muted:#6b7280;
  --text:#0f172a;
  --bg:#fff;
  --shadow:0 10px 30px rgba(15,23,42,0.08);
  --radius:12px;
  --header-height:72px; /* header yüksekliği */
  --nav-height:48px;
  --footer-height:56px; /* default footer yüksekliği; JS ile dinamik güncellenir */
}

/* Reset */
*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family:"Inter", system-ui, -apple-system, "Segoe UI", Roboto, Arial;
  color:var(--text);
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  background: linear-gradient(180deg,#f1f6ff 0%,#eef9f4 60%,#f7fbff 100%);
  min-height:100%;
  width:100%;
  /* fallback padding: footer yüksekliğine + ekstra boşluk (görünümü engellememek için) */
  padding-top: calc(var(--header-height) + 8px);
  padding-bottom: calc(var(--footer-height) + 24px);
}

/* auth-page (unchanged) */
.auth-page{ display:flex; align-items:center; justify-content:center; padding:40px; min-height:100vh; }

/* ===== HEADER ===== */
.site-header{
  position:fixed; top:0; left:0; right:0; height:var(--header-height);
  background:var(--bg); border-bottom:1px solid rgba(229,231,235,1); z-index:1400;
  box-shadow:0 1px 6px rgba(2,6,23,0.03);
}

/* Header inner container (used for centering nav) */
.header-inner{
  position:relative;
  width:100%;
  height:100%;
  max-width:1200px;
  margin:0 auto;
  padding:0 8px;
  display:block;
}

/* BRAND (logo) - fixed relative to viewport and vertically centred to header */
.brand{
  position:fixed;
  left:16px;
  top: calc(var(--header-height) / 2);
  transform: translateY(-50%);
  display:inline-flex;
  align-items:center;
  text-decoration:none;
  z-index:1500;
}
.brand-logo{
  height:98px;
  width:auto;
  display:block;
}

/* HAMBURGER - fixed near left (visible only on mobile), vertically centered to header */
.hamburger{
  position:fixed;
  left:16px;
  top: calc(var(--header-height) / 2);
  transform: translateY(-50%);
  display:none;
  align-items:center;
  justify-content:center;
  width:40px; height:40px; border:0; background:transparent; cursor:pointer; border-radius:8px;
  z-index:1505;
}
.hamburger span{ display:block; width:18px; height:2px; background:var(--muted); margin:3px 0; border-radius:2px; }

/* NAV CENTER - centered in viewport (separate container so it stays centered) */
.nav-center{
  width:100%;
  display:flex;
  justify-content:center;
  align-items:center;
  height:var(--nav-height);
  margin:0 auto;
  box-sizing:border-box;
  padding-top: 0;
}
.main-nav{
  max-width:900px;
  margin:0 auto;
}

/* ===== CORPORATE MENU STYLES (GÜNCELLENDİ): daha belirgin, biraz daha büyük ve kurumsal ===== */
.main-nav ul{
  display:flex;
  gap:20px; /* biraz daha geniş aralık */
  align-items:center;
  margin:0;
  padding:0;
  list-style:none;
  justify-content:center;
}

/* Menü öğesinin yeni kurumsal görünümü */
.main-nav a{
  display:inline-block;
  padding:12px 18px; /* üstü daha rahat, tıklanması daha kolay */
  border-radius:10px;
  color: #243044; /* daha koyu, kurumsal mavi-gri tonu */
  text-decoration:none;
  font-weight:700; /* daha ciddi/vurgu */
  font-size:16px; /* biraz daha büyük (kullanıcının istediği üzere) */
  letter-spacing:0.02em; /* daha profesyonel görünüm */
  transition: color .14s ease, background .14s ease, transform .08s ease, box-shadow .12s ease;
  box-shadow: none;
  background: transparent;
  border-bottom: 3px solid transparent; /* alt çizgi ile aktif durumu göstereceğiz */
  padding-bottom:10px; /* alt çizgi için boşluk */
  line-height:1;
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
}

/* Hover: hafif yükselme ve alt çizgiyle vurgu */
.main-nav a:hover{
  color: var(--primary);
  transform: translateY(-2px);
  box-shadow: 0 6px 18px rgba(11,110,253,0.06);
  background: rgba(11,110,253,0.03);
  border-bottom-color: rgba(11,110,253,0.12);
}

/* Aktif sayfa: belirgin alt çizgi ve hafif arka plan */
.main-nav a.active{
  color: var(--primary);
  background: rgba(11,110,253,0.05);
  border-bottom-color: var(--primary);
  box-shadow: 0 6px 18px rgba(11,110,253,0.06);
}

/* Daha küçük ekranlarda menü yazısı da hafif küçülür */
@media (max-width: 1200px) {
  .main-nav a { font-size:15px; padding:10px 16px; }
}
@media (max-width: 900px) {
  .main-nav a { font-size:15px; padding:10px 12px; }
}

/* USER - fixed to right of viewport and vertically centered to header */
.header-right{
  position:fixed;
  right:16px;
  top: calc(var(--header-height) / 2);
  transform: translateY(-50%);
  z-index:1500;
  display:flex;
  align-items:center;
  gap:12px;
}
.user-block{ position:relative; display:flex; align-items:center; gap:10px; }
.user-info{ display:flex; flex-direction:column; align-items:flex-end; cursor:pointer; padding:6px 10px; border-radius:8px; }
.user-name{ font-weight:700; font-size:14px; color:var(--text); }
.user-role{ font-size:11px; color:var(--muted); margin-top:2px; }

/* user dropdown */
.user-actions{
  position:absolute; right:0; top: calc(100% + 8px);
  min-width:180px; background:#fff; border:1px solid rgba(229,231,235,1); border-radius:8px;
  box-shadow:0 8px 24px rgba(2,6,23,0.08); padding:8px 6px; display:none; flex-direction:column; gap:6px; z-index:1600;
}
.user-actions.open, .user-actions[aria-hidden="false"]{ display:flex; }
.user-action-link{ padding:8px 12px; color:var(--text); text-decoration:none; border-radius:6px; }
.user-action-link:hover{ background:#f3f4f6; }

/* MOBILE */
@media (max-width:900px){
  /* show hamburger; move logo right to make room for hamburger */
  .hamburger{ display:flex; }
  .brand{ left:56px; }
  .brand-logo{ height:88px; }

  /* Mobile nav: full-width panel under header */
  .main-nav{
    display:none;
    position:fixed;
    left:0; right:0;
    top: calc(var(--header-height));
    background:#fff;
    padding:10px 12px;
    box-shadow:0 8px 24px rgba(2,6,23,0.06);
    z-index:1300;
  }
  .main-nav.open{ display:block; }
  .main-nav ul{ flex-direction:column; gap:8px; align-items:center; }
  .main-nav a{ width:100%; text-align:center; padding:12px 14px; border-radius:8px; font-size:15px; }

  /* header-right stays accessible */
  .header-right{ right:16px; top: calc(var(--header-height) / 2); transform:translateY(-50%); }
}

/* prevent content hidden under fixed header/footer */
body{ padding-top: calc(var(--header-height) + 8px); padding-bottom: calc(var(--footer-height) + 8px); }

/* --- rest of your styles (tables/forms etc.) should remain below unchanged --- */