/* EmlakVideo — KampusV1 kmp drawer/tabstack deseni (kullanıcı UI tercihi). Bootstrap --bs-* değişkenleri üzerine. */
:root { --kmp-sb-w: 250px; --kmp-topbar-h: 52px; --kmp-ease: cubic-bezier(.4,0,.2,1); }

body { margin:0; }

/* Topbar */
.kmp-topbar { display:flex; align-items:center; gap:.6rem; padding:.5rem .9rem; min-height:var(--kmp-topbar-h); border-bottom:1px solid var(--bs-border-color); position:sticky; top:0; background:var(--bs-body-bg); z-index:1050; }
.kmp-brand { display:flex; align-items:center; gap:.6rem; text-decoration:none; color:inherit; min-width:0; }
.kmp-brand__name { font-size:1rem; font-weight:700; color:var(--bs-emphasis-color); white-space:nowrap; }
.kmp-brand__sub { font-size:.72rem; font-weight:500; color:var(--bs-secondary-color); white-space:nowrap; }
.kmp-spacer { flex:1 1 auto; }
.kmp-userchip { display:flex; align-items:center; gap:.45rem; font-size:.82rem; color:var(--bs-secondary-color); }

/* Animasyonlu hamburger (mobilde açıkken X) */
.kmp-burger { flex:0 0 auto; width:38px; height:34px; display:inline-flex; align-items:center; justify-content:center; padding:0; cursor:pointer; color:var(--bs-body-color); background:var(--bs-body-bg); border:1px solid var(--bs-border-color); border-radius:.5rem; transition:background .18s, border-color .18s; }
.kmp-burger:hover { background:var(--bs-tertiary-bg); }
.kmp-burger:focus-visible { outline:2px solid var(--bs-primary); outline-offset:2px; }
.kmp-burger span, .kmp-burger span::before, .kmp-burger span::after { display:block; width:18px; height:2px; background:currentColor; border-radius:2px; transition:transform .3s var(--kmp-ease), opacity .2s var(--kmp-ease); }
.kmp-burger span { position:relative; }
.kmp-burger span::before { content:""; position:absolute; left:0; top:-6px; }
.kmp-burger span::after { content:""; position:absolute; left:0; top:6px; }

/* Gövde + ana içerik */
.kmp-body { display:flex; align-items:flex-start; position:relative; }
.kmp-main { flex:1 1 auto; min-width:0; padding:1.1rem 1.25rem; }

/* Drawer panel */
.kmp-sidebar { flex:0 0 var(--kmp-sb-w); width:var(--kmp-sb-w); position:sticky; top:var(--kmp-topbar-h); height:calc(100vh - var(--kmp-topbar-h)); overflow:hidden; border-right:1px solid var(--bs-border-color); background:var(--bs-body-bg); transition:flex-basis .32s var(--kmp-ease), width .32s var(--kmp-ease), border-color .32s var(--kmp-ease); }
.kmp-sidebar__inner { width:var(--kmp-sb-w); height:100%; overflow-y:auto; overflow-x:hidden; padding-top:.5rem; transition:transform .32s var(--kmp-ease), opacity .32s var(--kmp-ease); }
.kmp-sidebar__head { display:none; align-items:center; justify-content:space-between; padding:.7rem .9rem; border-bottom:1px solid var(--bs-border-color); }
.kmp-sidebar__close { border:none; background:transparent; color:var(--bs-secondary-color); font-size:1.1rem; line-height:1; cursor:pointer; padding:.25rem .45rem; border-radius:.4rem; }
.kmp-navgroup { font-size:.7rem; text-transform:uppercase; letter-spacing:.04em; color:var(--bs-secondary-color); padding:.8rem 1rem .25rem; }
.kmp-sidebar .nav-link { position:relative; display:flex; align-items:center; gap:.6rem; margin:.12rem .5rem; padding:.5rem .75rem; border-radius:.5rem; color:var(--bs-body-color); font-size:.9rem; text-decoration:none; transition:background .18s var(--kmp-ease), color .18s var(--kmp-ease), transform .18s var(--kmp-ease); }
.kmp-sidebar .nav-link:hover { background:var(--bs-tertiary-bg); transform:translateX(2px); }
.kmp-sidebar .nav-link.active { background:var(--bs-primary-bg-subtle); color:var(--bs-primary-text-emphasis); font-weight:600; }
.kmp-sidebar .nav-link.active::before { content:""; position:absolute; left:-.5rem; top:.35rem; bottom:.35rem; width:3px; border-radius:0 3px 3px 0; background:var(--bs-primary); }

/* Scrim (mobil overlay) */
.kmp-scrim { position:fixed; inset:var(--kmp-topbar-h) 0 0 0; background:rgba(15,18,25,.45); -webkit-backdrop-filter:blur(3px); backdrop-filter:blur(3px); opacity:0; visibility:hidden; transition:opacity .3s var(--kmp-ease), visibility .3s var(--kmp-ease); z-index:1040; }

/* Masaüstü: collapse = push */
@media (min-width: 992px) {
  .kmp-scrim { display:none; }
  html[data-drawer="closed"] .kmp-sidebar { flex-basis:0; width:0; border-right-color:transparent; }
  html[data-drawer="closed"] .kmp-sidebar__inner { transform:translateX(-24px); opacity:0; }
}
/* Mobil: soldan kayan overlay drawer + scrim */
@media (max-width: 991.98px) {
  .kmp-sidebar { position:fixed; top:var(--kmp-topbar-h); left:0; height:calc(100vh - var(--kmp-topbar-h)); width:min(82vw, 300px); flex-basis:auto; z-index:1045; border-right:none; border-radius:0 .9rem .9rem 0; box-shadow:.5rem 0 2.5rem rgba(0,0,0,.28); transform:translateX(-105%); transition:transform .34s var(--kmp-ease); }
  .kmp-sidebar__inner { width:100%; transform:none; opacity:1; }
  .kmp-sidebar__head { display:flex; }
  html[data-drawer="open"] .kmp-sidebar { transform:translateX(0); }
  html[data-drawer="open"] .kmp-scrim { opacity:1; visibility:visible; }
  html[data-drawer="open"] body { overflow:hidden; }
  html[data-drawer="open"] .kmp-burger span { background:transparent; }
  html[data-drawer="open"] .kmp-burger span::before { transform:translateY(6px) rotate(45deg); }
  html[data-drawer="open"] .kmp-burger span::after { transform:translateY(-6px) rotate(-45deg); }
}
@media (prefers-reduced-motion: reduce) {
  .kmp-sidebar, .kmp-sidebar__inner, .kmp-scrim, .kmp-burger span, .kmp-burger span::before, .kmp-burger span::after, .kmp-sidebar .nav-link { transition:none !important; }
}

/* Sabit-yükseklik sekmeli formlar (grid-stack) — kullanıcı tercihi: sekme değişince zıplama yok */
.kmp-tabstack { display:grid; }
.kmp-tabstack > * { grid-area:1 / 1; align-content:start; }
.kmp-tabstack > .kmp-tab-off { visibility:hidden; pointer-events:none; }

/* Giriş/Denied minimal ortalı kart */
.kmp-authwrap { min-height:100vh; display:flex; align-items:center; justify-content:center; padding:1.5rem; background:var(--bs-tertiary-bg); }
.kmp-authcard { width:min(400px,100%); background:var(--bs-body-bg); border:1px solid var(--bs-border-color); border-radius:1rem; box-shadow:0 1rem 2.5rem rgba(0,0,0,.10); padding:1.75rem; }

/* Yardımcılar */
.kmp-pagehead { display:flex; align-items:center; gap:.75rem; flex-wrap:wrap; margin-bottom:1rem; }
.kmp-pagehead h1 { font-size:1.35rem; font-weight:700; margin:0; }
.kmp-balance { font-weight:700; color:var(--bs-primary); }
