/* ============================================================
   layout.css — Uygulama iskeleti: giriş ekranı, panel kabuğu
   ============================================================ */

/* ---------- Giriş / kimlik ekranı ---------- */
.auth-sayfa {
  min-height: 100vh; display: flex; align-items: center; justify-content: center;
  padding: 24px;
  background:
    radial-gradient(1200px 600px at 10% -10%, rgba(37,99,235,.10), transparent),
    radial-gradient(1000px 500px at 110% 110%, rgba(249,115,22,.10), transparent),
    var(--zemin);
}
.auth-kutu { width: 100%; max-width: 430px; }
.auth-logo { text-align: center; margin-bottom: 22px; }
.auth-logo .isim { font-size: 26px; font-weight: 800; }
.auth-logo .isim .mavi { color: var(--mavi); }
.auth-logo .isim .turuncu { color: var(--turuncu); }
.auth-logo .slogan { color: var(--metin-2); font-size: 14px; margin-top: 4px; }
.auth-kart { background: #fff; border: 1px solid var(--cizgi); border-radius: var(--r); box-shadow: var(--golge-lg); padding: 26px; }
.auth-sekme {
  position: relative; display: flex; background: var(--zemin);
  padding: 5px; border-radius: 14px; margin-bottom: 20px; isolation: isolate;
}
.auth-sekme button {
  flex: 1; padding: 11px 8px; border: none; background: none; border-radius: 10px;
  font-family: inherit; font-weight: 700; font-size: 14px; cursor: pointer;
  color: var(--metin-3); transition: color .22s; position: relative;
}
.auth-sekme button.aktif {
  background: #fff; color: var(--mavi);
  box-shadow: 0 2px 6px rgba(15, 23, 42, .10), 0 1px 2px rgba(15, 23, 42, .06);
}
.auth-sekme button:not(.aktif):hover { color: var(--metin-2); }
.auth-sekme button:active { transform: scale(.98); }
.demo-kutu { margin-top: 18px; padding: 14px; background: var(--mavi-acik); border-radius: var(--r-sm); font-size: 13px; }
.demo-kutu .baslik { font-weight: 700; margin-bottom: 8px; color: var(--mavi-koyu); }
.demo-btnler { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.rol-sec { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-bottom: 6px; }
.rol-kart {
  border: 2px solid var(--cizgi); border-radius: var(--r-sm); padding: 14px; cursor: pointer; text-align: center; transition: .15s;
}
.rol-kart:hover { border-color: var(--mavi); }
.rol-kart.secili { border-color: var(--mavi); background: var(--mavi-acik); }
.rol-kart .ikon { font-size: 26px; }
.rol-kart .ad { font-weight: 700; font-size: 14px; margin-top: 4px; }
.rol-kart .aciklama { font-size: 12px; color: var(--metin-3); }

/* ---------- Panel kabuğu ---------- */
.kabuk { display: flex; min-height: 100vh; }
.yan-menu {
  width: 250px; background: #0f172a; color: #cbd5e1; flex-shrink: 0;
  display: flex; flex-direction: column; position: sticky; top: 0; height: 100vh;
}
.yan-menu .marka { padding: 20px 22px; font-size: 20px; font-weight: 800; color: #fff; border-bottom: 1px solid #1e293b; }
.yan-menu .marka .mavi { color: #60a5fa; } .yan-menu .marka .turuncu { color: #fb923c; }
.yan-menu .rol-etiket { padding: 12px 22px; font-size: 11.5px; text-transform: uppercase; letter-spacing: .06em; color: #64748b; }
.yan-menu nav { flex: 1; overflow-y: auto; padding: 4px 12px; }
.yan-menu .menu-grup { padding: 14px 14px 6px; font-size: 10.5px; font-weight: 700; text-transform: uppercase; letter-spacing: .07em; color: #64748b; }
.yan-menu nav a {
  display: flex; align-items: center; gap: 11px; padding: 10px 14px; border-radius: var(--r-sm);
  color: #cbd5e1; font-size: 14px; font-weight: 500; margin-bottom: 2px; cursor: pointer;
}
.yan-menu nav a .ik { width: 20px; text-align: center; }
.yan-menu nav a:hover { background: #1e293b; color: #fff; }
.yan-menu nav a.aktif { background: var(--mavi); color: #fff; }
.yan-menu .alt { padding: 14px; border-top: 1px solid #1e293b; }
.yan-menu .kullanici { display: flex; align-items: center; gap: 10px; padding: 6px 8px 12px; }
.yan-menu .avatar { width: 36px; height: 36px; border-radius: 50%; background: var(--turuncu); color: #fff; display: flex; align-items: center; justify-content: center; font-weight: 700; }
.yan-menu .kullanici .ad { color: #fff; font-size: 13.5px; font-weight: 600; }
.yan-menu .kullanici .mail { color: #64748b; font-size: 12px; }

.icerik { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.ust-bar {
  height: 62px; background: #fff; border-bottom: 1px solid var(--cizgi);
  display: flex; align-items: center; justify-content: space-between; padding: 0 26px;
  position: sticky; top: 0; z-index: 20;
}
.ust-bar .sayfa-baslik { font-size: 18px; font-weight: 700; }
.ust-bar .sag { display: flex; align-items: center; gap: 14px; }
.bakiye-rozet { background: var(--yesil-acik); color: var(--yesil); font-weight: 700; padding: 7px 14px; border-radius: 999px; font-size: 14px; }
.zil { position: relative; cursor: pointer; font-size: 20px; }
.zil .nokta { position: absolute; top: -2px; right: -3px; background: var(--kirmizi); color: #fff; font-size: 10px; font-weight: 700; min-width: 16px; height: 16px; border-radius: 999px; display: flex; align-items: center; justify-content: center; padding: 0 3px; }

.sayfa { padding: 26px; max-width: 1200px; width: 100%; }
.sayfa-ust { display: flex; justify-content: space-between; align-items: flex-end; margin-bottom: 20px; flex-wrap: wrap; gap: 12px; }
.sayfa-ust .baslik-alan h1 { margin-bottom: 3px; }
.sayfa-ust .baslik-alan p { margin: 0; }

.arac-cubugu { display: flex; gap: 10px; flex-wrap: wrap; margin-bottom: 16px; align-items: center; }

/* Header/Footer düzenleyici satırları */
.menu-satir { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.menu-satir .input, .menu-satir .select { margin: 0; }
.menu-satir .select { flex: 1; min-width: 190px; }
.menu-satir .tut { color: var(--metin-3); cursor: grab; user-select: none; font-size: 13px; }
.menu-satir .field { margin: 0; }
.arac-cubugu .buyut { flex: 1; }

/* mobil menü */
.menu-ac { display: none; background: none; border: none; font-size: 22px; cursor: pointer; }

@media (max-width: 860px) {
  .yan-menu { position: fixed; z-index: 60; left: -260px; transition: left .2s; }
  .yan-menu.acik { left: 0; }
  .menu-ac { display: block; }
  .sayfa { padding: 18px; }
  .grid-2 { grid-template-columns: 1fr; }
  .row { flex-direction: column; gap: 0; }
}
