/* ====== MODALS: overlay, container, header, lightbox, crop ====== */
.modal-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;height:100dvh;background:var(--modal-container-bg);z-index:10000;display:flex;justify-content:center;align-items:flex-start;opacity:0;visibility:hidden;transition:opacity .3s,visibility .3s;padding:0;pointer-events:none;overflow:hidden}
.modal-overlay.active{opacity:1;visibility:visible;pointer-events:auto}
.modal-overlay.admin-z{z-index:18000}
.modal-overlay.chat-z{z-index:19000}
.modal-overlay.profile-view-z{z-index:20000}
.modal-container{background:var(--modal-container-bg);border:none;border-radius:0;width:100%;max-width:100%;min-height:100vh;min-height:100dvh;height:100vh;height:100dvh;padding:20px 16px;position:relative;transform:translateY(15px);transition:transform .3s,opacity .3s;opacity:0;max-height:100vh;max-height:100dvh;overflow-y:auto;display:flex;flex-direction:column}
.modal-overlay.active .modal-container{transform:translateY(0);opacity:1}
.modal-header{display:flex;justify-content:space-between;align-items:center;padding:8px 0 16px;border-bottom:1px solid var(--line-color);gap:10px;margin-bottom:18px;flex-shrink:0;position:sticky;top:0;background:var(--modal-container-bg);z-index:5}
.modal-header-left{display:flex;flex-direction:row;align-items:center;gap:8px;flex:1;min-width:0;order:1}
.modal-header-actions{display:flex;align-items:center;gap:8px;order:3;margin-left:auto}
.modal-title{flex:1;text-align:center;font-size:.95rem;font-weight:600;color:var(--text-secondary);margin:0;order:2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.modal-close-btn{background:var(--box-bg);border:1px solid var(--line-color);color:var(--text-secondary);width:34px;height:34px;border-radius:10px;font-size:.9rem;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .2s}
.modal-close-btn:hover{border-color:var(--accent);color:var(--accent)}
.modal-container > form,
.modal-container > div:not(.modal-header):not(.admin-tabs):not(.admin-panel-content),
.modal-container > #publicUserProfileContent,
.modal-container > #adminUserProfileContent,
.modal-container > #userDetailContent{max-width:560px;width:100%;margin:0 auto;flex:1}
html body .admin-z .modal-container{max-width:100vw !important;width:100vw !important;padding:20px 16px !important;display:flex !important;flex-direction:column !important}
html body .admin-z .admin-panel-content{flex:1 1 auto !important;overflow-y:auto !important;padding-right:6px !important;min-height:0 !important;max-height:none !important}
html body .admin-z .admin-tabs{flex-shrink:0;position:sticky;top:60px;background:var(--modal-container-bg);z-index:4;padding-top:8px}
@media (min-width:641px){
  .modal-container{padding:24px 28px}
  html body .admin-z .modal-container{padding:24px 28px !important}
  .modal-container > form,.modal-container > div:not(.modal-header):not(.admin-tabs):not(.admin-panel-content),.modal-container > #publicUserProfileContent,.modal-container > #adminUserProfileContent,.modal-container > #userDetailContent{max-width:640px}
}
@media (min-width:1025px){
  .modal-container{padding:28px clamp(40px,8vw,180px)}
  html body .admin-z .modal-container{padding:28px clamp(40px,6vw,120px) !important}
  .modal-header{padding:12px 0 20px;margin-bottom:24px}
  .modal-title{font-size:1rem}
  .modal-close-btn{width:38px;height:38px;font-size:1rem}
  .modal-container > form,.modal-container > div:not(.modal-header):not(.admin-tabs):not(.admin-panel-content),.modal-container > #publicUserProfileContent,.modal-container > #adminUserProfileContent,.modal-container > #userDetailContent{max-width:720px}
  html body .admin-z .admin-tabs{top:80px}
}
@media (min-width:1600px){
  .modal-container{padding:32px clamp(80px,12vw,260px)}
  html body .admin-z .modal-container{padding:32px clamp(60px,10vw,200px) !important}
  .modal-container > form,.modal-container > div:not(.modal-header):not(.admin-tabs):not(.admin-panel-content),.modal-container > #publicUserProfileContent,.modal-container > #adminUserProfileContent,.modal-container > #userDetailContent{max-width:780px}
}
.chat-container{padding:0 !important;overflow:hidden}
.chat-container .modal-header{padding:14px 16px 12px;margin-bottom:0;border-bottom:1px solid var(--line-color);position:sticky;top:0}
/* Lightbox */
.lightbox-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:rgba(5,5,10,.85);z-index:100000;display:flex;justify-content:center;align-items:center;opacity:0;visibility:hidden;transition:opacity .3s;padding:20px;pointer-events:none}
.lightbox-overlay.active{opacity:1;visibility:visible;pointer-events:auto}
.lightbox-content-box{background:var(--modal-container-bg);border:1px solid var(--line-color);border-radius:20px;width:100%;max-width:440px;padding:16px;position:relative}
.lightbox-image-wrapper{width:100%;aspect-ratio:1/1;border-radius:14px;overflow:hidden;border:2px solid rgba(var(--accent-rgb),.4);background:var(--box-bg)}
.lightbox-image-wrapper img{width:100%;height:100%;object-fit:cover}
.lightbox-close-btn{position:absolute;top:-14px;right:-14px;background:var(--modal-container-bg);border:1px solid var(--line-color);color:var(--text-secondary);width:38px;height:38px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center}
/* Crop */
.crop-container-wrapper{width:100%;height:300px;background:#000;border-radius:14px;overflow:hidden;margin-bottom:12px;display:flex;align-items:center;justify-content:center}
@media (min-width:641px){.crop-container-wrapper{height:380px}}
.crop-container-wrapper img{max-width:100%;max-height:100%}
.crop-ratio-buttons{display:flex;gap:6px;margin-bottom:12px;flex-wrap:wrap;justify-content:center}
.ratio-btn{flex:1;min-width:56px;padding:9px 8px;border-radius:10px;background:var(--box-bg);border:1px solid var(--line-color);color:var(--text-secondary);font-size:.74rem;font-weight:700;cursor:pointer;transition:all .2s}
.ratio-btn.active{background:linear-gradient(135deg,var(--accent),var(--accent-2));color:#fff;border-color:transparent}
.crop-action-buttons{display:flex;gap:10px;width:100%}
.crop-action-buttons button{flex:1;padding:13px 10px;border-radius:12px;font-weight:600;font-size:.82rem;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:6px}
.btn-crop-cancel{background:var(--box-bg);color:var(--text-color-override);border:1px solid var(--line-color) !important}
.btn-crop-apply{background:linear-gradient(135deg,var(--accent),var(--accent-2));color:#fff}


/* Modal overlay dokunmatik scroll engelle — body'ye DOKUNMA */
.modal-overlay.active{
  touch-action: none !important;
  overscroll-behavior: contain !important;
}
.modal-overlay.active .modal-container{
  touch-action: auto !important;
  overflow-y: auto !important;
  -webkit-overflow-scrolling: touch !important;
  overscroll-behavior: contain !important;
}
.custom-alert-overlay.active,
.lightbox-overlay.active{
  touch-action: none !important;
}



/* Modal stacking — aktif olan en üstte */
.modal-overlay.active ~ .modal-overlay.active{
  z-index:100001 !important;
}
.modal-overlay.active{
  z-index:100000 !important;
}
.custom-alert-overlay.active{
  z-index:100002 !important;
}
.lightbox-overlay.active{
  z-index:100003 !important;
}


/* ============================================================
   MODAL STACKING FIX — Yeni modal her zaman en üstte
   ============================================================ */

/* Z-index sıralaması */
.modal-overlay{z-index:10000}
.modal-overlay.admin-z{z-index:18000}
.modal-overlay.chat-z{z-index:19000}
.modal-overlay.profile-view-z{z-index:20000}

/* Custom alert en üstte */
.custom-alert-overlay{z-index:99999 !important}

/* Lightbox */
.lightbox-overlay{z-index:100000 !important}

/* Dinamik olarak en son açılan modal öne gelsin */
.modal-overlay.active{
  z-index:50000 !important;
}
.modal-overlay.active.admin-z{
  z-index:60000 !important;
}
.modal-overlay.active.profile-view-z{
  z-index:70000 !important;
}


/* Modal stacking — en son açılan en üstte */
body > .modal-overlay.active{ z-index: 50000 !important; }
body > .modal-overlay.active.admin-z{ z-index: 60000 !important; }
body > .modal-overlay.active.profile-view-z{ z-index: 70000 !important; }
body > .custom-alert-overlay.active{ z-index: 99999 !important; }
body > .lightbox-overlay.active{ z-index: 100000 !important; }

/* Admin modal'leri içindeki ikincil modaller */
.modal-overlay.active + .modal-overlay.active,
.modal-overlay.active ~ .modal-overlay.active{ z-index: 70000 !important; }


/* ============================================================
   MODAL STACKING — Kesin çözüm
   ============================================================ */
body > .modal-overlay.active{ z-index: 50000 !important; }
body > .modal-overlay.active.admin-z{ z-index: 60000 !important; }
body > .modal-overlay.active.chat-z{ z-index: 65000 !important; }
body > .modal-overlay.active.profile-view-z{ z-index: 70000 !important; }
body > .custom-alert-overlay.active{ z-index: 99999 !important; }
body > .lightbox-overlay.active{ z-index: 100000 !important; }

/* Yeni açılan modal öne gelsin */
.modal-overlay.active:last-of-type{ z-index: 55000 !important; }