/* DcBot panel — yeni görünüm katmanı (tokens.css + components.css üzerine) */
body { animation: page-in var(--t-slow) var(--ease) both; }
@keyframes page-in { from { opacity: 0; } to { opacity: 1; } }

/* Sol şerit + menü */
.server-rail { background: var(--c-bg); border-right: 1px solid var(--c-line); }
.rail-server-icon { border-radius: 14px; transition: border-radius var(--t-base) var(--ease), border-color var(--t-base) var(--ease), background var(--t-base) var(--ease); }
.rail-server-icon:hover, .rail-server-icon.active { border-radius: 10px; }
.module-nav { background: rgba(10,10,10,.96); border-right: 1px solid var(--c-line); box-shadow: none; }
.module-nav-item { border-radius: var(--r-btn); transition: background var(--t-fast) var(--ease), color var(--t-fast) var(--ease); }
.module-nav-item:hover { transform: none; background: rgba(255,255,255,.04); }
.module-nav-item.active { background: var(--c-accent-soft); box-shadow: inset 3px 0 0 var(--c-accent); }
.module-nav-icon { background: var(--c-card); border-color: var(--c-line); }
.module-nav-group-label { background: transparent; color: var(--c-muted); letter-spacing: .08em; padding-left: 12px; }
.mn-collapse { margin-left: auto; flex: none; width: 32px; height: 32px; display: grid; place-items: center; border-radius: 8px; border: 1px solid var(--c-line); background: transparent; color: var(--c-body); cursor: pointer; transition: border-color var(--t-fast), transform var(--t-base) var(--ease); }
.mn-collapse:hover { border-color: var(--c-line-hover); color: var(--c-text); }
.mn-burger, .mn-backdrop { display: none; }

/* Menü daraltılmış: sadece ikon (masaüstü) */
@media (min-width: 1024px) {
  body.mn-collapsed .module-nav { width: 76px; padding-inline: 10px; }
  body.mn-collapsed .module-nav-header { flex-direction: column; padding: 4px 0 12px; }
  body.mn-collapsed .module-nav-header span:not(.mn-collapse) , body.mn-collapsed .module-nav-header > span { display: none; }
  body.mn-collapsed .mn-collapse { margin: 0; transform: rotate(180deg); }
  body.mn-collapsed .module-nav-group-label { font-size: 0; padding: 0; margin: 6px 8px; height: 1px; background: var(--c-line); }
  body.mn-collapsed .module-nav-item { justify-content: center; padding: 6px 0; }
  body.mn-collapsed .module-nav-item > span:nth-child(2) { display: none; }
  body.mn-collapsed .module-nav-item .module-status { position: absolute; top: 6px; right: 12px; }
  body.mn-collapsed .module-nav-item { position: relative; }
}

/* Tablet + mobil: menü soldan kayan çekmece */
@media (max-width: 1023px) {
  .settings-shell { flex-direction: column; }
  .module-nav { position: fixed; z-index: 400; top: 0; left: 0; bottom: 0; width: min(300px, 86vw); height: 100dvh; max-height: none; min-height: 0; overflow-y: auto; display: block; padding: 14px 12px 24px; transform: translateX(-102%); transition: transform var(--t-base) var(--ease); background: #0A0A0A; border-right: 1px solid var(--c-line); box-shadow: 20px 0 60px rgba(0,0,0,.6); }
  body.mn-open .module-nav { transform: none; }
  .mn-backdrop { display: block; position: fixed; inset: 0; z-index: 390; background: rgba(0,0,0,.6); opacity: 0; pointer-events: none; transition: opacity var(--t-base) var(--ease); }
  body.mn-open .mn-backdrop { opacity: 1; pointer-events: auto; }
  body.has-settings .mn-burger { display: grid; place-items: center; width: var(--tap); height: var(--tap); border-radius: var(--r-btn); border: 1px solid var(--c-line-strong); background: rgba(10,10,10,.9); color: var(--c-text); cursor: pointer; }
  .mn-collapse { display: none; }
  .module-nav-item { display: flex; border: 0; background: none; padding: 10px 12px; font-size: 14.5px; }
  .module-nav-item.active { background: var(--c-accent-soft); }
  .module-nav-item > span:nth-child(2) { white-space: normal; }
  .module-nav-header, .module-nav-group-label { margin: 0 0 8px; }
  body.mn-open { overflow: hidden; }
}

/* İçerik: en fazla ~1280px, ortalı */
.module-content.container { max-width: var(--max-w); }

/* Karşılama + sunucu kartları */
.welcome-view { gap: var(--s-3); }
.guild-cards { width: 100%; max-width: 760px; margin-top: var(--s-5); display: grid; grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); gap: var(--s-3); padding: 0 var(--s-4); }
.guild-card { display: flex; align-items: center; gap: var(--s-3); min-height: 64px; padding: var(--s-3) var(--s-4); text-align: left; cursor: pointer; font-family: inherit; color: var(--c-text); background: var(--c-card); border: 1px solid var(--c-line); border-radius: var(--r-card); transition: border-color var(--t-base) var(--ease), transform var(--t-fast) var(--ease), background var(--t-base) var(--ease); }
.guild-card:hover { border-color: var(--c-accent); background: var(--c-card-hover); transform: translateY(-2px); }
.guild-card:active { transform: scale(.98); }
.guild-card-ico { width: 44px; height: 44px; flex: none; border-radius: 12px; display: grid; place-items: center; background: var(--c-surface); border: 1px solid var(--c-line-strong); font-weight: 700; color: var(--c-accent); object-fit: cover; }
.guild-card-name { font-weight: 600; font-size: 14.5px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; min-width: 0; }
.guild-card-skel { height: 64px; border-radius: var(--r-card); }

/* Listeler: dar ekranda kart gibi yığılır, taşmaz */
.list-item, .botguard-row, .giveaway-list-item, .banner-admin-header { border-radius: 12px; }
@media (max-width: 640px) {
  .list-item, .botguard-row, .giveaway-list-item { flex-wrap: wrap; gap: var(--s-2); }
  .feature-window { padding: 16px; }
  .module-content.container { padding: 20px 14px 40px; }
}

/* Kaydet satırı toast'a çevrildiği için satır-içi metin gizlenir (ekran okuyucu için DOM'da kalır) */
.status-toasted { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

/* Onay penceresi + yasal sayfalar */
.consent-modal, .onboarding-card { background: var(--c-card); border: 1px solid var(--c-line-strong); border-radius: 16px; }
.site-nav { background: rgba(5,5,5,.8); }
.legal-page { max-width: 780px; }
.site-footer { border-top: 1px solid var(--c-line); background: var(--c-bg); }

/* Sağ üstteki sabit çubuk (dil + profil) içeriğin üstüne binmesin */
.module-content.container { padding-top: 76px; }
@media (max-width: 640px) { .module-content.container { padding-top: 72px; } }

/* Yasal sayfalar: başlık yazı tipi tokenlardan, yeşil sadece vurgu */
.legal-page h1 { font-family: var(--f-head); font-size: var(--fs-h2); }
.legal-page .legal-updated { font-family: var(--f-body); }
.legal-page h2 { color: var(--c-text); font-family: var(--f-head); }
.legal-page h2::before { content: ''; display: inline-block; width: 3px; height: 1em; margin-right: 10px; vertical-align: -0.12em; border-radius: 2px; background: var(--c-accent); }
.legal-page h2.legal-placeholder-flag::before { display: none; }

/* ---------- Menü: rahat boyutlar + açılır/kapanır gruplar ---------- */
.module-nav { width: 272px; padding: 16px 12px 24px; }
.module-nav-item { padding: 11px 12px; gap: 13px; font-size: 14.5px; margin-bottom: 4px; min-height: 48px; }
.module-nav-icon { width: 34px; height: 34px; border-radius: 10px; }
.module-nav-icon svg { width: 18px; height: 18px; }
.module-nav-header { padding: 4px 8px 16px; margin-bottom: 10px; }
.mn-group { margin-bottom: 8px; }
.mn-group-toggle { display: flex; align-items: center; justify-content: space-between; gap: 8px; width: 100%; min-height: 40px; margin: 0; padding: 8px 10px; border: 0; border-radius: var(--r-btn); background: transparent; cursor: pointer; font-family: inherit; font-size: 11.5px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--c-muted); text-align: left; transition: background var(--t-fast) var(--ease), color var(--t-fast) var(--ease); }
.mn-group-toggle:hover { background: rgba(255,255,255,.04); color: var(--c-text); }
.mn-chev { display: grid; place-items: center; flex: none; transition: transform var(--t-base) var(--ease); transform: rotate(180deg); }   /* açık: ok yukarı */
.mn-group.closed .mn-chev { transform: none; }                                                                                   /* kapalı: ok aşağı = "aşağı doğru açılır" */
.mn-group-body { display: grid; grid-template-rows: 1fr; transition: grid-template-rows var(--t-base) var(--ease); }
.mn-group.closed .mn-group-body { grid-template-rows: 0fr; }
.mn-group-inner { min-height: 0; overflow: hidden; padding-top: 2px; }
.mn-group.closed .mn-group-inner { visibility: hidden; transition: visibility 0s var(--t-base); }

/* Sadece-ikon modunda tüm gruplar açık kalır, başlıklar ince ayraca döner */
@media (min-width: 1024px) {
  body.mn-collapsed .module-nav { width: 76px; }
  body.mn-collapsed .mn-group.closed .mn-group-body { grid-template-rows: 1fr; }
  body.mn-collapsed .mn-group.closed .mn-group-inner { visibility: visible; }
  body.mn-collapsed .mn-group-toggle { min-height: 0; height: 1px; padding: 0; margin: 6px 8px; background: var(--c-line); pointer-events: none; font-size: 0; }
  body.mn-collapsed .mn-chev { display: none; }
  body.mn-collapsed .module-nav-item { padding: 6px 0; min-height: 44px; }
}
@media (max-width: 1023px) { .module-nav { width: min(300px, 86vw); } }

/* ===== Bildirim (SweetAlert) butonları — net, görünür ===== */
.swal2-actions { gap: 10px !important; }
.swal2-actions button.swal2-styled { min-height: 42px; padding: 0 22px !important; font-size: 14.5px !important; font-weight: 700 !important; border-radius: 8px !important; border: 1px solid transparent !important; cursor: pointer; }
.swal2-actions button.swal2-confirm { background: #EAB308 !important; color: #0B0B0C !important; box-shadow: none !important; }
.swal2-actions button.swal2-confirm:hover { filter: brightness(1.08); }
.swal2-actions button.swal2-cancel { background: transparent !important; color: #fff !important; border-color: rgba(255,255,255,.28) !important; }
.swal2-actions button.swal2-cancel:hover { background: rgba(255,255,255,.08) !important; border-color: rgba(255,255,255,.5) !important; }
.swal2-actions button.swal2-deny { background: #FF4D4F !important; color: #fff !important; box-shadow: none !important; }
.swal2-actions button.swal2-styled:focus-visible { outline: 2px solid #fff !important; outline-offset: 2px; }
