:root { --gap: 12px; }

/* Sayfa yapısı */
html, body { height: 100%; }

body {
  font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  margin: 0;
  background: #e9ecf1;
  color: #111827;
}

/* Genel container */
.container {
  max-width: 1100px;
  margin: 0 auto;
  padding: 18px;
  min-height: calc(100vh - 110px);
}

/* Header / Navbar */
.nav {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: var(--gap);
  padding: 14px 18px;
  background:#111827;
  color:#fff;
}

.nav a {
  color:#fff;
  text-decoration:none;
  margin-right: 12px;
}

.nav .right {
  display:flex;
  align-items:center;
  gap: var(--gap);
}

/* Kartlar */
.card {
  background:#fff;
  border-radius: 12px;
  box-shadow: 0 2px 10px rgba(0,0,0,.06);
  padding: 14px;
  margin: 12px 0;
}

/* Grid */
.grid { display:grid; gap: var(--gap); }
.grid-2 { grid-template-columns: 1fr 1fr; }

@media (max-width: 900px) {
  .grid-2 { grid-template-columns: 1fr; }
}

/* Form */
label { display:block; margin: 8px 0 6px; font-weight: 600; }
input, textarea, select {
  width: 100%;
  padding: 10px;
  border: 1px solid #d1d5db;
  border-radius: 10px;
  box-sizing: border-box;
}

/* Butonlar */
button {
  padding: 10px 14px;
  border: 0;
  border-radius: 10px;
  background:#111827;
  color:#fff;
  cursor:pointer;
}

button.secondary { background:#374151; }
button.danger { background:#b91c1c; }

/* Link butonlar */
a.btn {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:9px 12px;
  border-radius:10px;
  font-weight:600;
  text-decoration:none;
  border:1px solid transparent;
}

a.btn.primary { background:#111827; color:#fff; }
a.btn.secondary { background:#374151; color:#fff; }
a.btn.light { background:#d1d5db; color:#111827; }
a.btn.danger { background:#b91c1c; color:#fff; }

a.btn:hover { filter: brightness(.95); }

/* Tablo */
table { width:100%; border-collapse:collapse; }
th, td {
  padding:10px;
  border-bottom:1px solid #e5e7eb;
  text-align:left;
}

/* Bildirim */
.flash {
  padding:10px 12px;
  border-radius:10px;
  margin:10px 0;
}

.flash.success { background:#ecfdf5; border:1px solid #10b98133; }
.flash.danger  { background:#fef2f2; border:1px solid #ef444433; }
.flash.warning { background:#fffbeb; border:1px solid #f59e0b33; }

.badge {
  display:inline-block;
  padding:3px 8px;
  border-radius:999px;
  background:#eef2ff;
  color:#111827;
}

small.muted { color:#6b7280; }


/* En alt tam genişlik footer bar */
.footer-bar {
  width: 100%;
  background: #0b1220;
  color: #ffffff;
  text-align: left;              /* sola yasla */
  padding: 10px 24px;            /* soldan boşluk */
  font-size: 13px;
  border-top: 1px solid rgba(255,255,255,0.15);
  box-sizing: border-box;
}

/* Footer link */
.footer-bar a {
  color: #ffffff;
  font-weight: 700;
  text-decoration: none;
  letter-spacing: .3px;
  width: 100%;
  display: block;
  margin: 0;
}

.footer-bar a:hover {
  text-decoration: underline;
}

.footer-text {
  white-space: nowrap;   /* alt satıra düşmeyi engeller */
}


/* =========================
   Sidebar Layout (Dikey Menü)
   ========================= */

.app{
  display:flex;
  min-height:100vh;
}

.sidebar{
  width:260px;
  background:#111827;
  color:#fff;
  padding:14px 12px;
  box-sizing:border-box;
}

.sidebar-header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-bottom:10px;
}

.brand{
  display:flex;
  align-items:center;
  gap:10px;
  color:#fff;
  text-decoration:none;
  font-weight:800;
  letter-spacing:.2px;
}

.brand-dot{
  width:10px;
  height:10px;
  border-radius:999px;
  background:#ffffff;
  display:inline-block;
}

.sidebar-close{
  display:none;
  width:34px;
  height:34px;
  border-radius:10px;
  border:0;
  background:#374151;
  color:#fff;
  cursor:pointer;
}

.sidebar-user{
  margin:10px 0 14px;
}

.sidebar-nav, .sidebar-footer{
  display:flex;
  flex-direction:column;
  gap:6px;
}

.sidebar-footer{
  margin-top:14px;
  padding-top:12px;
  border-top:1px solid rgba(255,255,255,.12);
}

.sidebar .nav-item{
  display:flex;
  align-items:center;
  gap:10px;
  width:100%;
  padding:10px 12px;
  border-radius:12px;
  color:#e5e7eb;
  text-decoration:none;
  background:transparent;
  border:0;
  cursor:pointer;
  font-weight:600;
  box-sizing:border-box;
}

.sidebar .nav-item .ico{
  width:18px;
  height:18px;
  display:inline-flex;
}

.sidebar .nav-item .ico svg{
  width:18px;
  height:18px;
  fill:currentColor;
  opacity:.95;
}

.sidebar .nav-item:hover{
  background:rgba(255,255,255,.08);
  color:#fff;
}

.sidebar .nav-item.active{
  background:rgba(255,255,255,.14);
  color:#fff;
}

.sidebar .nav-item.small{
  padding:9px 12px;
  font-weight:700;
}

.sidebar .nav-item.danger{
  background:rgba(185,28,28,.16);
  color:#fee2e2;
}

.sidebar .nav-item.danger:hover{
  background:rgba(185,28,28,.28);
  color:#fff;
}

.main{
  flex:1;
  display:flex;
  flex-direction:column;
  min-width:0;
}

.topbar{
  display:none;
  align-items:center;
  gap:12px;
  padding:12px 14px;
  background:#111827;
  color:#fff;
}

.topbar-title{
  font-weight:800;
  letter-spacing:.2px;
}

.menu-toggle{
  display:inline-flex;
  flex-direction:column;
  justify-content:center;
  gap:4px;
  width:40px;
  height:40px;
  border-radius:12px;
  border:0;
  background:#374151;
  cursor:pointer;
}

.menu-toggle span{
  display:block;
  height:2px;
  width:18px;
  background:#fff;
  margin:0 auto;
  border-radius:2px;
}

.backdrop{
  display:none;
}

/* Footer bar artık main içinde */
.footer-bar{
  margin-top:auto;
}

/* Responsive: mobilde sidebar slide-in */
@media (max-width: 900px){
  .app{ display:block; }
  .topbar{ display:flex; }
  .sidebar{
    position:fixed;
    top:0; left:0;
    height:100vh;
    z-index:50;
    transform:translateX(-105%);
    transition:transform .2s ease;
    box-shadow: 0 10px 30px rgba(0,0,0,.35);
  }
  .sidebar.open{ transform:translateX(0); }
  .sidebar-close{ display:inline-flex; align-items:center; justify-content:center; }
  .backdrop{
    position:fixed;
    inset:0;
    background:rgba(0,0,0,.35);
    z-index:40;
    display:none;
  }
  .backdrop.show{ display:block; }
}
/* Sidebar varken ana içerik genişliği */
.layout.with-sidebar .container {
  max-width: 1400px;   /* istersen 1600px yapabiliriz */
  margin-left: 0;      /* ortaya kilitleme */
}
