
  /* ============ TOKENS ============ */
  :root{
    --radius-sm:8px;
    --radius-md:14px;
    --radius-lg:22px;
    --font-body:'Poppins',sans-serif;
    --panel-w:300px;
  }

  [data-theme="dark"]{
    --bg-app: #12151f;
    --bg-panel: #171b28;
    --bg-elevated: #1e2333;
    --bg-hover: #242a3d;
    --border-soft: rgba(255,255,255,0.06);
    --border-strong: rgba(255,255,255,0.12);
    --text-primary: #eef1f8;
    --text-secondary: #8d94ac;
    --text-faint: #5c6483;
    --accent-pink: #ff5f96;
    --accent-teal: #21e6c1;
    --accent-amber: #ffb648;
    --accent-violet: #8c7bff;
    --bubble-self: linear-gradient(135deg,#ff5f96,#8c7bff);
    --bubble-other: #1e2333;
    --status-online: #21e6c1;
    --chat-pattern: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='140' height='140'><g fill='none' stroke='white' stroke-width='1.4' stroke-linecap='round' opacity='0.045'><circle cx='20' cy='20' r='6'/><path d='M70 14 q7 9 0 18 q-7 9 -14 0 q-7 -9 0 -18 q7 -9 14 0z'/><path d='M15 70 q10 -5 20 0'/><circle cx='95' cy='80' r='4'/><path d='M60 100 l7 7 -7 7 -7 -7z'/><path d='M115 30 l0 12 M109 36 l12 0'/><path d='M35 110 q6 8 12 0'/></g></svg>");
  }

  /* daha yumuşak, göz yormayan gündüz modu */
  [data-theme="light"]{
    --bg-app: #eceef4;
    --bg-panel: #f6f7fb;
    --bg-elevated: #eef0f6;
    --bg-hover: #e5e8f1;
    --border-soft: rgba(24,29,54,0.07);
    --border-strong: rgba(24,29,54,0.12);
    --text-primary: #262c45;
    --text-secondary: #626a8a;
    --text-faint: #9aa0bd;
    --accent-pink: #e0508a;
    --accent-teal: #109c86;
    --accent-amber: #c9821f;
    --accent-violet: #6c5ce0;
    --bubble-self: linear-gradient(135deg,#e0508a,#6c5ce0);
    --bubble-other: #ffffff;
    --status-online: #109c86;
    --chat-pattern: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='140' height='140'><g fill='none' stroke='%23262c45' stroke-width='1.4' stroke-linecap='round' opacity='0.05'><circle cx='20' cy='20' r='6'/><path d='M70 14 q7 9 0 18 q-7 9 -14 0 q-7 -9 0 -18 q7 -9 14 0z'/><path d='M15 70 q10 -5 20 0'/><circle cx='95' cy='80' r='4'/><path d='M60 100 l7 7 -7 7 -7 -7z'/><path d='M115 30 l0 12 M109 36 l12 0'/><path d='M35 110 q6 8 12 0'/></g></svg>");
  }

  *{box-sizing:border-box; margin:0; padding:0;}
  html,body{height:100%;}
  body{
    font-family:var(--font-body);
    background:var(--bg-app);
    color:var(--text-primary);
    min-height:100vh;
    overflow:hidden;
    transition:background .3s ease, color .3s ease;
  }
  button{ font-family:inherit; cursor:pointer; border:none; background:none; color:inherit; }
  input{ font-family:inherit; color:inherit; }
  ul{ list-style:none; }

  ::-webkit-scrollbar{ width:7px; height:7px; }
  ::-webkit-scrollbar-thumb{ background:var(--border-strong); border-radius:10px; }
  ::-webkit-scrollbar-track{ background:transparent; }

  /* ============ APP SHELL (flex: panel gerçekten daralt/genişlet) ============ */
  .app-shell{
    display:flex;
    flex-direction:column;
    height:100vh;
    width:100vw;
  }

  /* ============ TOPBAR ============ */
  .topbar{
    flex-shrink:0;
    height:60px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:0 18px;
    background:var(--bg-panel);
    border-bottom:1px solid var(--border-soft);
    z-index:40;
    position:relative;
    gap:16px;
  }
  .topbar-left{ display:flex; align-items:center; gap:10px; min-width:0; flex:1; }
  .room-thumb{
    width:36px; height:36px; border-radius:10px;
    background:linear-gradient(135deg,var(--accent-violet),var(--accent-teal));
    flex-shrink:0;
    display:flex; align-items:center; justify-content:center;
  }
  #roomThumbCount{
    font-size:10px;
    font-weight:700;
    color:#fff;
    line-height:1;
  }
  #roomThumbCount{
    font-size:10px;
    font-weight:700;
    color:#fff;
    line-height:1;
  }
  .room-text{ min-width:0; overflow:hidden; }
  .room-name{ font-weight:600; font-size:15px; line-height:1.2; }
  .room-subline{
    display:flex; align-items:center; gap:6px;
    font-size:11.5px; color:var(--text-faint);
    white-space:nowrap; overflow:hidden;
  }
  .room-subline .room-topic{
    color:var(--text-primary);
    opacity:.8;
    font-weight:500;
  }
  .room-subline .room-owner{ flex-shrink:0; }
  .room-subline .dot-sep{ opacity:.5; flex-shrink:0; }
  .room-subline .room-topic{ overflow:hidden; text-overflow:ellipsis; white-space:nowrap; min-width:0; }

  .topbar-right{ display:flex; align-items:center; gap:6px; flex-shrink:0; }

  .icon-btn{
    width:38px; height:38px;
    display:flex; align-items:center; justify-content:center;
    border-radius:var(--radius-sm);
    color:var(--text-secondary);
    transition:background .2s, color .2s;
    flex-shrink:0;
    position:relative;
  }
  .icon-btn:hover{ background:var(--bg-hover); color:var(--text-primary); }
  .icon-btn svg{ width:19px; height:19px; }

  .theme-toggle{
    width:46px; height:27px;
    border-radius:20px;
    background:var(--bg-elevated);
    border:1px solid var(--border-soft);
    position:relative;
    display:flex; align-items:center;
    padding:3px;
    flex-shrink:0;
  }
  .theme-toggle .knob{
    width:19px; height:19px; border-radius:50%;
    background:linear-gradient(135deg,var(--accent-amber),var(--accent-pink));
    display:flex; align-items:center; justify-content:center;
    transition: transform .3s ease;
    font-size:10px;
  }
  [data-theme="dark"] .theme-toggle .knob{ transform:translateX(19px); }

  /* ---- dropdown wrapper (status / profil / emoji / renk) ---- */
  .dropdown-wrap{ position:relative; }

  .status-pill{
    display:flex; align-items:center; gap:6px;
    padding:7px 10px;
    border-radius:20px;
    background:var(--bg-elevated);
    border:1px solid var(--border-soft);
    font-size:12.5px;
    color:var(--text-secondary);
    font-weight:500;
  }
  .status-pill .signal-dot{
    width:7px; height:7px; border-radius:50%;
    background:var(--status-online);
    box-shadow:0 0 0 3px color-mix(in srgb, var(--status-online) 25%, transparent);
  }
  .status-pill .chev, .profile-pill .chev{ width:12px; height:12px; color:var(--text-faint); transition:transform .2s; }
  .dropdown-wrap.open .chev{ transform:rotate(180deg); }

  .profile-pill{
    display:flex; align-items:center; gap:8px;
    padding:5px 10px 5px 5px;
    border-radius:24px;
    background:var(--bg-elevated);
    border:1px solid var(--border-soft);
  }
  .avatar-sm{
  width:28px; height:28px; border-radius:50%;
  background:linear-gradient(135deg,var(--accent-teal),var(--accent-violet));
  background-size:cover;
  background-position:center;
  display:flex; align-items:center; justify-content:center;
  font-weight:600; font-size:11.5px; color:#fff;
  flex-shrink:0;
}
  .profile-name{ font-size:13px; font-weight:500; white-space:nowrap; }

  .dropdown-panel{
    position:absolute;
    top:calc(100% + 8px);
    right:0;
    min-width:240px;
    background:var(--bg-panel);
    border:1px solid var(--border-soft);
    border-radius:var(--radius-md);
    box-shadow:0 16px 40px rgba(0,0,0,.28);
    padding:14px;
    display:none;
    flex-direction:column;
    gap:10px;
    z-index:120;
  }
  .dropdown-wrap.open .dropdown-panel{ display:flex; }
  /* input çubuğu alt kısımda olduğu için bu dropdown'lar YUKARI açılır */
  .dropdown-panel.dropdown-up{ top:auto; bottom:calc(100% + 8px); right:auto; left:0; }

  .status-grid{ display:grid; grid-template-columns:auto 1fr; gap:7px 14px; font-size:12.5px; }
  .status-grid dt{ color:var(--text-faint); }
  .status-grid dd{ color:var(--text-primary); text-align:right; font-weight:500; }
  .status-grid dd.secure{ color:var(--accent-teal); }

  .profile-dropdown .profile-head{ display:flex; align-items:center; gap:12px; }
 .avatar-lg{
  width:46px; height:46px; border-radius:14px;
  background:linear-gradient(135deg,var(--accent-teal),var(--accent-violet));
  background-size:cover;
  background-position:center;
  display:flex; align-items:center; justify-content:center;
  font-weight:600; font-size:16px; color:#fff;
  flex-shrink:0;
}
  .profile-nick{ font-weight:600; font-size:14.5px; }
  .profile-sub{ font-size:11.5px; color:var(--text-faint); }
  .profile-badges{ display:flex; flex-wrap:wrap; gap:6px; }
  .feature-badge{ font-size:10.5px; padding:4px 9px; border-radius:8px; background:var(--bg-elevated); border:1px solid var(--border-soft); color:var(--text-secondary); }
  .profile-action{ text-align:left; padding:9px 10px; border-radius:var(--radius-sm); font-size:13px; color:var(--text-secondary); }
  .profile-action:hover{ background:var(--bg-hover); color:var(--text-primary); }

  /* ============ İÇERİK SATIRI: sohbet + panel ============ */
  .content-row{ flex:1; min-height:0; display:flex; }

  /* ============ CHAT COLUMN ============ */
  .chat-col{ flex:1; min-width:0; display:flex; flex-direction:column; background:var(--bg-app); }

  .message-stream{
    flex:1; overflow-y:auto; padding:20px; display:flex; flex-direction:column; gap:12px;
    background-color:var(--bg-app);
    background-image:var(--chat-pattern);
    background-size:140px 140px;
    background-repeat:repeat;
  }

  .msg-row{ display:flex; gap:10px; max-width:74%; }
  .msg-row.self{ align-self:flex-end; flex-direction:row-reverse; }
  .msg-avatar{
    width:32px; height:32px; border-radius:50%; flex-shrink:0;
    background:linear-gradient(135deg,var(--accent-violet),var(--accent-teal));
    display:flex; align-items:center; justify-content:center;
    font-weight:600; font-size:12px; color:#fff;
  }
.msg-body{ display:flex; flex-direction:column; gap:2px; }
  .msg-row.self .msg-body{ align-items:flex-end; }
  .msg-meta{ display:flex; align-items:center; gap:6px; font-size:11.5px; color:var(--text-faint); margin-bottom:1px; }
  .nick-tag{ font-weight:600; font-size:11px; padding:2px 7px; border-radius:6px; color:#fff; }
  .nick-tag.op{ background:var(--accent-amber); color:#2a1c00; }
  .nick-tag.vip{ background:linear-gradient(135deg,var(--accent-pink),var(--accent-violet)); }
  .nick-tag.member{ background:var(--accent-teal); color:#04211c; }

  .bubble{
    display:inline-flex;
    flex-wrap:wrap;
    align-items:flex-end;
    gap:7px;
    padding:8px 12px;
    border-radius:var(--radius-md);
    font-size:13.5px;
    line-height:1.45;
    background:var(--bubble-other);
    box-shadow:0 1px 3px rgba(0,0,0,.06);
    max-width:100%;
  }
  .bubble .msg-text{ flex:1 1 auto; word-break:break-word; font-size:var(--chat-font-size, 13.5px); }
  .bubble .msg-time{ font-size:10px; color:var(--text-faint); opacity:.75; flex-shrink:0; align-self:flex-end; white-space:nowrap; }
  .msg-row.self .bubble{ background:var(--bubble-self); color:#fff; }
  .msg-row.self .bubble .msg-time{ color:rgba(255,255,255,.75); }
  .msg-body .bubble ~ .bubble{ margin-top:2px; }

  .system-msg{ display:flex; align-items:center; gap:6px; align-self:center; font-size:11px; color:var(--text-faint); background:var(--bg-elevated); padding:6px 14px; border-radius:20px; }
  .system-msg svg{ width:13px; height:13px; opacity:.7; flex-shrink:0; }

  /* ============ INPUT BAR ============ */
  .input-bar{ padding:10px 20px 16px; background:var(--bg-panel); border-top:1px solid var(--border-soft); position:relative; }

  .typing-indicator{ display:flex; align-items:center; gap:8px; font-size:11.5px; color:var(--text-faint); padding:0 6px 8px; min-height:16px; }
  .typing-indicator.hidden{ display:none; }
  .typing-dots{ display:inline-flex; gap:3px; }
  .typing-dots i{ width:5px; height:5px; border-radius:50%; background:var(--accent-teal); display:inline-block; animation: typingBounce 1.2s infinite ease-in-out; }
  .typing-dots i:nth-child(2){ animation-delay:.15s; }
  .typing-dots i:nth-child(3){ animation-delay:.3s; }
  @keyframes typingBounce{ 0%,60%,100%{ transform:translateY(0); opacity:.45; } 30%{ transform:translateY(-4px); opacity:1; } }
  .typing-indicator strong{ color:var(--text-secondary); font-weight:600; }

  .input-shell{ display:flex; align-items:center; gap:4px; background:var(--bg-elevated); border:1px solid var(--border-soft); border-radius:var(--radius-lg); padding:6px 8px; }
  .input-tools-left, .input-tools-right{ display:flex; align-items:center; gap:2px; flex-shrink:0; }
  .input-shell input{ flex:1; min-width:0; background:transparent; border:none; outline:none; font-size:var(--chat-font-size, 13.5px); color:var(--text-primary); padding:8px 10px; transition:font-size .15s ease; }
  .input-shell input::placeholder{ color:var(--text-faint); }

  .font-btn{ font-weight:700; font-size:12px; width:34px; height:34px; }
  .format-btn{ font-size:13px; width:34px; height:34px; }
  .format-btn.active{ background:var(--bg-hover); color:var(--accent-violet); }
  .send-btn{ width:36px; height:36px; border-radius:50%; background:linear-gradient(135deg,var(--accent-pink),var(--accent-violet)); display:flex; align-items:center; justify-content:center; color:#fff; flex-shrink:0; }
  .send-btn svg{ width:16px; height:16px; }

  .radio-btn svg{ width:28px; height:28px; }
  .radio-btn .icon-pause{ display:none; }
  .radio-btn[data-playing="true"]{ color:var(--accent-teal); }
  .radio-btn[data-playing="true"] .icon-play{ display:none; }
  .radio-btn[data-playing="true"] .icon-pause{ display:block; }

  .color-dropdown{ min-width:auto; padding:10px; }
  .color-dropdown .dd-label{ font-size:11px; color:var(--text-faint); margin-bottom:2px; }
  .color-swatches{ display:flex; gap:8px; }
  .swatch{ width:22px; height:22px; border-radius:50%; border:2px solid var(--border-soft); transition:transform .15s ease; }
  .swatch:hover{ transform:scale(1.15); }

  .emoji-dropdown{ min-width:216px; }
  .emoji-grid{ display:grid; grid-template-columns:repeat(6,1fr); gap:2px; }
  .emoji-item{ font-size:18px; padding:6px 0; border-radius:8px; text-align:center; line-height:1; }
  .emoji-item:hover{ background:var(--bg-hover); }

  /* ============ SAĞ PANEL ============ */
  .side-panel{
    width:var(--panel-w);
    flex-shrink:0;
    min-width:0;
    overflow:hidden;
    background:var(--bg-panel);
    border-left:1px solid var(--border-soft);
    display:flex;
    flex-direction:column;
    transition: width .3s ease, border-color .3s ease;
  }
  body.panel-collapsed .side-panel{ width:0; border-left-color:transparent; }

  /* panel göster/gizle tutamacı */
  .panel-handle{
    position:fixed;
    top:50%;
    transform:translateY(-50%);
    right:var(--panel-w);
    width:22px;
    height:64px;
    background:var(--bg-elevated);
    border:1px solid var(--border-soft);
    border-right:none;
    border-radius:12px 0 0 12px;
    display:flex; align-items:center; justify-content:center;
    color:var(--text-secondary);
    transition: right .3s ease, background .2s;
    z-index:150;
  }
  .panel-handle:hover{ color:var(--text-primary); background:var(--bg-hover); }
  .panel-handle svg{ width:13px; height:13px; transition:transform .3s ease; }
  body.panel-collapsed .panel-handle{ right:0; }
  body.panel-collapsed .panel-handle svg{ transform:rotate(180deg); }

  .panel-search-row{ padding:14px 14px 4px; }
  .nick-search{ display:flex; align-items:center; gap:8px; background:var(--bg-elevated); border:1px solid var(--border-soft); border-radius:var(--radius-sm); padding:8px 10px; }
  .nick-search input{ background:transparent; border:none; outline:none; font-size:12.5px; color:var(--text-primary); flex:1; }
  .nick-search svg{ width:14px; height:14px; color:var(--text-faint); flex-shrink:0; }

  .mobile-close{ display:none; align-items:center; justify-content:center; gap:8px; margin:0 14px 4px; padding:11px; border-radius:var(--radius-sm); background:var(--bg-elevated); font-weight:500; font-size:13px; }

  .panel-scroll{ flex:1; overflow-y:auto; padding:8px 6px 16px; }

  .panel-block{ padding:6px 8px; }
  .panel-block-header{ width:100%; display:flex; align-items:center; justify-content:space-between; padding:10px 8px; border-radius:var(--radius-sm); font-weight:600; font-size:13px; }
  .panel-block-header:hover{ background:var(--bg-hover); }
  .panel-block-header .count{ font-size:11.5px; color:var(--text-faint); font-weight:400; margin-left:auto; margin-right:8px; }
  .panel-block-header .count.pulse{ color:var(--accent-pink); font-weight:600; }
  .panel-block-header .chevron{ width:14px; height:14px; color:var(--text-faint); transition:transform .25s ease; }
  .panel-block.closed .chevron{ transform:rotate(-90deg); }
  .panel-block-body{ padding:2px 4px 6px; }
  .panel-block.closed .panel-block-body{ display:none; }

  /* kullanıcı avatarı (fotoğraf yoksa nick harfleri) */
  .user-avatar{
    position:relative;
    width:26px; height:26px; border-radius:50%; flex-shrink:0;
    background:linear-gradient(135deg,var(--accent-violet),var(--accent-teal));
    display:flex; align-items:center; justify-content:center;
    font-size:10px; font-weight:600; color:#fff;
    overflow:hidden;
  }
  .user-avatar img{ width:100%; height:100%; object-fit:cover; }
  .user-avatar .user-status-dot{ position:absolute; right:-1px; bottom:-1px; border:2px solid var(--bg-panel); }

  /* nick listesi: daraltılmış boşluk + ince scroll, uzayınca görünür */
 .user-list{ display:flex; flex-direction:column; gap:0; max-height:42vh; overflow-y:auto; padding-right:3px; }
  .user-list::-webkit-scrollbar{ width:4px; }
  .user-list::-webkit-scrollbar-thumb{ background:var(--border-strong); border-radius:10px; }
  .user-list li, .channel-list li, .pm-list li{ display:flex; align-items:center; gap:8px; padding:5px 6px; border-radius:var(--radius-sm); font-size:12.5px; cursor:pointer; }
  .user-list li:hover, .channel-list li:hover, .pm-list li:hover{ background:var(--bg-hover); }
  .user-status-dot{ width:7px; height:7px; border-radius:50%; background:var(--status-online); flex-shrink:0; }
  .user-status-dot.away{ background:var(--accent-amber); }
  .user-name{ flex:1; color:var(--text-primary); }
  .op-menu-trigger{ color:var(--text-faint); padding:4px; }
  .no-results{ padding:14px 10px; text-align:center; font-size:12px; color:var(--text-faint); display:none; }
  .no-results.show{ display:block; }

  .channel-list li.active{ background:color-mix(in srgb, var(--accent-violet) 14%, transparent); color:var(--text-primary); font-weight:500; }
  .channel-list li .ch-hash{ color:var(--text-faint); }
  .channel-list li .ch-count{ margin-left:auto; font-size:11px; color:var(--text-faint); }
  /* kanalda yazışma olunca kanal rengi değişir (sabit renk, satır yanıp sönmez) */
  .channel-list li.has-activity{ color:var(--accent-teal); font-weight:600; }
  .channel-list li.has-activity .ch-hash{ color:var(--accent-teal); }

  /* yanıp sönen küçük ikonlar: hem kanallarda hem kullanıcı listesinde */
  .blink-dot{ animation: dotBlink 1.2s ease-in-out infinite; }
  @keyframes dotBlink{ 0%,100%{ opacity:1; transform:scale(1); } 50%{ opacity:.35; transform:scale(.7); } }
  .ch-activity-dot{ width:6px; height:6px; border-radius:50%; background:var(--accent-teal); flex-shrink:0; }

  /* listelerde kapatma / ayrılma butonu */
  .list-close{
    width:20px; height:20px; flex-shrink:0; border-radius:50%;
    display:flex; align-items:center; justify-content:center;
    color:var(--text-faint); font-size:15px; line-height:1;
    opacity:.6; transition:opacity .15s, background .15s, color .15s;
  }
  li:hover .list-close{ opacity:1; }
  .list-close:hover{ background:var(--bg-hover); color:var(--accent-pink); }

  /* özel mesajlar */
  .pm-list li{ cursor:pointer; }
  .pm-info{ display:flex; flex-direction:column; min-width:0; flex:1; gap:1px; }
  .pm-name{ font-size:12.5px; font-weight:500; color:var(--text-primary); transition:color .2s; }
  .pm-preview{ font-size:11px; color:var(--text-faint); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
  .pm-dot{ width:8px; height:8px; border-radius:50%; background:var(--accent-pink); flex-shrink:0; }
  /* yeni mesaj gelince nick yanar (glow) */
  .pm-item.unread .pm-name{ color:var(--accent-pink); animation: pmGlow 1.6s ease-in-out infinite; }
  @keyframes pmGlow{
    0%,100%{ text-shadow:0 0 0 transparent; }
    50%{ text-shadow:0 0 8px color-mix(in srgb, var(--accent-pink) 65%, transparent); }
  }

  /* ============ MOBILE ============ */
  @media (max-width: 880px){
    .content-row{ position:relative; }
    .room-subline{ display:none; }

    .side-panel{
      position:fixed; inset:0; left:auto; width:86%; max-width:340px;
      z-index:100;
      transform:translateX(0);
      transition:transform .3s ease;
      box-shadow:-16px 0 40px rgba(0,0,0,.25);
    }
    body.panel-collapsed .side-panel{ transform:translateX(100%); width:86%; }
    .mobile-close{ display:flex; }

    .panel-handle{ right:min(86vw, 340px); top:74px; transform:none; height:52px; }
    body.panel-collapsed .panel-handle{ right:0; }

    .profile-name{ display:none; }
    .msg-row{ max-width:88%; }
  }


  /* ============ GİRİŞ EKRANI ============ */
.login-overlay{
  position:fixed; inset:0; z-index:500;
  background:var(--bg-app);
  display:flex; align-items:center; justify-content:center;
  padding:20px;
}
.login-card{
  width:100%; max-width:360px;
  background:var(--bg-panel);
  border:1px solid var(--border-soft);
  border-radius:var(--radius-lg);
  padding:32px 28px;
  text-align:center;
  box-shadow:0 24px 60px rgba(0,0,0,.35);
}
.login-logo{
  width:56px; height:56px; border-radius:16px;
  margin:0 auto 18px;
  background:linear-gradient(135deg,var(--accent-violet),var(--accent-teal));
}
.login-card h1{ font-size:20px; font-weight:700; margin-bottom:6px; }
.login-card p{ font-size:13px; color:var(--text-faint); margin-bottom:22px; }
.login-card input{
  width:100%;
  background:var(--bg-elevated);
  border:1px solid var(--border-soft);
  border-radius:var(--radius-sm);
  padding:12px 14px;
  font-size:14px;
  font-family:var(--font-body);
  color:var(--text-primary);
  outline:none;
  margin-bottom:12px;
  transition:border-color .2s;
}
.login-card input:focus{ border-color:var(--accent-violet); }
.login-card button{
  width:100%;
  background:linear-gradient(135deg,var(--accent-pink),var(--accent-violet));
  color:#fff;
  font-weight:600;
  font-size:14px;
  padding:12px;
  border-radius:var(--radius-sm);
}
.login-card button:hover{ filter:brightness(1.08); }
.login-error{
  margin-top:10px; font-size:12px; color:var(--accent-pink);
  min-height:14px;
}
.login-overlay.hidden{ display:none; }

.login-card button:disabled{
  opacity:.7;
  cursor:default;
  filter:none;
}
.login-card button .spinner{
  display:inline-block;
  width:14px; height:14px;
  border:2px solid rgba(255,255,255,.4);
  border-top-color:#fff;
  border-radius:50%;
  margin-right:8px;
  vertical-align:-2px;
  animation: spin .7s linear infinite;
}
@keyframes spin{ to{ transform:rotate(360deg); } }

.rank-badge{
  font-size:11px;
  font-weight:700;
  min-width:18px; height:18px;
  padding:0 4px;
  border-radius:6px;
  display:flex; align-items:center; justify-content:center;
  flex-shrink:0;
}
.rank-badge.founder{ background:var(--accent-pink); color:#fff; }
.rank-badge.sop{ background:var(--accent-violet); color:#fff; }
.rank-badge.op{ background:var(--accent-amber); color:#2a1c00; }
.rank-badge.halfop{ background:var(--accent-teal); color:#04211c; }
.rank-badge.voice{ background:var(--bg-hover); color:var(--text-secondary); border:1px solid var(--border-strong); }

/* rütbeli kullanıcının avatarına renkli halka */
.user-avatar.ring-founder{ box-shadow:0 0 0 2px var(--accent-pink); }
.user-avatar.ring-sop{ box-shadow:0 0 0 2px var(--accent-violet); }
.user-avatar.ring-op{ box-shadow:0 0 0 2px var(--accent-amber); }
.user-avatar.ring-halfop{ box-shadow:0 0 0 2px var(--accent-teal); }
.user-avatar.ring-voice{ box-shadow:0 0 0 2px var(--border-strong); }

/* yetkililer / üyeler ayracı */
.user-list-divider{
  font-size:10.5px;
  font-weight:600;
  color:var(--text-faint);
  text-transform:uppercase;
  letter-spacing:.5px;
  padding:8px 8px 4px;
}

.room-owner.offline{ opacity:.7; }

/* ============ SAĞ TIK MENÜSÜ ============ */
.ctx-menu{
  position:fixed;
  z-index:300;
  min-width:180px;
  background:var(--bg-panel);
  border:1px solid var(--border-soft);
  border-radius:var(--radius-md);
  box-shadow:0 16px 40px rgba(0,0,0,.28);
  padding:6px;
  display:none;
  flex-direction:column;
  gap:2px;
}
.ctx-menu.open{ display:flex; }
.ctx-item{
  display:flex; align-items:center; gap:10px;
  padding:5px 10px;
  border-radius:var(--radius-sm);
  font-size:13px;
  color:var(--text-secondary);
  text-align:left;
  width:100%;
}
.ctx-item svg{ width:16px; height:16px; flex-shrink:0; }
.ctx-item:hover{ background:var(--bg-hover); color:var(--text-primary); }
.ctx-item.danger:hover{ color:var(--accent-pink); }
.ctx-item.disabled{ opacity:.4; cursor:default; }
.ctx-divider{ height:1px; background:var(--border-soft); margin:4px 2px; }
.ctx-header{
  display:flex; align-items:center; gap:8px;
  padding:8px 10px 6px;
}
.ctx-avatar{
  width:26px; height:26px; border-radius:50%; flex-shrink:0;
  background:linear-gradient(135deg,var(--accent-violet),var(--accent-teal));
  display:flex; align-items:center; justify-content:center;
  font-size:10.5px; font-weight:600; color:#fff;
}
.ctx-nick{ font-size:13.5px; font-weight:600; color:var(--text-primary); }


/* açık modda balon arka planı görünmüyordu, garantiye alıyoruz */
.msg-row .bubble{
  background-color: var(--bubble-other) !important;
}
.msg-row.self .bubble{
  background-image: var(--bubble-self) !important;
  background-color: transparent !important;
}

/* ============ WHOIS POPUP ============ */
.whois-overlay{
  position:fixed; inset:0; z-index:400;
  background:rgba(0,0,0,.45);
  display:none;
  align-items:center; justify-content:center;
  padding:20px;
}
.whois-overlay.open{ display:flex; }
.whois-card{
  width:100%; max-width:340px;
  background:var(--bg-panel);
  border:1px solid var(--border-soft);
  border-radius:var(--radius-lg);
  padding:24px;
  position:relative;
  box-shadow:0 24px 60px rgba(0,0,0,.35);
}
.whois-close{
  position:absolute; top:14px; right:14px;
  width:30px; height:30px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  color:var(--text-faint);
}
.whois-close:hover{ background:var(--bg-hover); color:var(--text-primary); }
.whois-close svg{ width:16px; height:16px; }
.whois-head{ display:flex; align-items:center; gap:12px; margin-bottom:16px; }
.whois-avatar{
  width:48px; height:48px; border-radius:14px; flex-shrink:0;
  background:linear-gradient(135deg,var(--accent-violet),var(--accent-teal));
  display:flex; align-items:center; justify-content:center;
  font-weight:700; font-size:16px; color:#fff;
}
.whois-nick{ font-size:16px; font-weight:700; }
.whois-hostmask{ font-size:11px; color:var(--text-faint); word-break:break-all; }
.whois-body{ display:flex; flex-direction:column; gap:10px; }
.whois-row{ display:flex; flex-direction:column; gap:2px; }
.whois-row .label{ font-size:10.5px; color:var(--text-faint); text-transform:uppercase; letter-spacing:.4px; }
.whois-row .value{ font-size:13px; color:var(--text-primary); line-height:1.5; word-break:break-word; }
.whois-empty{ font-size:13px; color:var(--text-faint); text-align:center; padding:20px 0; }


/* ============ ENGELLEME ONAY BİLDİRİMİ ============ */
.block-toast{
  position:fixed;
  top:76px;
  left:50%;
  transform:translateX(-50%) translateY(-12px);
  z-index:400;
  display:flex; align-items:center; gap:10px;
  background:var(--bg-panel);
  border:1px solid var(--border-soft);
  border-left:3px solid var(--accent-pink);
  border-radius:var(--radius-md);
  padding:12px 18px;
  box-shadow:0 16px 40px rgba(0,0,0,.28);
  font-size:13px;
  font-weight:500;
  color:var(--text-primary);
  opacity:0;
  pointer-events:none;
  transition:opacity .25s ease, transform .25s ease;
}
.block-toast.show{
  opacity:1;
  transform:translateX(-50%) translateY(0);
}
.block-toast svg{ width:18px; height:18px; color:var(--accent-pink); flex-shrink:0; }
.block-toast-text-wrap{ display:flex; flex-direction:column; gap:2px; }
.block-toast-sub{ font-size:11.5px; color:var(--text-faint); font-weight:400; }


/* ============ AYARLAR PENCERESİ ============ */
.settings-overlay{
  position:fixed; inset:0; z-index:400;
  background:rgba(0,0,0,.45);
  display:none;
  align-items:center; justify-content:center;
  padding:20px;
}
.settings-overlay.open{ display:flex; }
.settings-card{
  width:100%; max-width:380px;
  max-height:85vh;
  overflow-y:auto;
  background:var(--bg-panel);
  border:1px solid var(--border-soft);
  border-radius:var(--radius-lg);
  padding:24px;
  box-shadow:0 24px 60px rgba(0,0,0,.35);
}
.settings-head{
  display:flex; align-items:center; gap:10px;
  font-size:16px; font-weight:700;
  margin-bottom:6px;
}
.settings-head svg{ width:20px; height:20px; color:var(--accent-violet); }
.settings-close{
  margin-left:auto;
  width:30px; height:30px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  color:var(--text-faint);
}
.settings-close:hover{ background:var(--bg-hover); color:var(--text-primary); }
.settings-close svg{ width:16px; height:16px; }
.settings-sub{ font-size:12.5px; color:var(--text-faint); margin-bottom:16px; }

.settings-list{ display:flex; flex-direction:column; gap:4px; margin-bottom:20px; }
.settings-item{
  display:flex; align-items:center; gap:10px;
  padding:5px 8px;
  border-radius:var(--radius-sm);
  font-size:13.5px;
  color:var(--text-primary);
  cursor:pointer;
}
.settings-item:hover{ background:var(--bg-hover); }
.settings-item input{
  width:17px; height:17px;
  accent-color:var(--accent-violet);
  cursor:pointer;
}

.settings-actions{ display:flex; gap:10px; }
.settings-btn{
  flex:1;
  padding:11px;
  border-radius:var(--radius-sm);
  font-weight:600;
  font-size:13.5px;
}
.settings-btn.primary{
  background:linear-gradient(135deg,var(--accent-pink),var(--accent-violet));
  color:#fff;
}
.settings-btn.primary:hover{ filter:brightness(1.08); }
.settings-btn.ghost{
  background:var(--bg-elevated);
  color:var(--text-secondary);
  border:1px solid var(--border-soft);
}
.settings-btn.ghost:hover{ background:var(--bg-hover); color:var(--text-primary); }
body.hide-timestamps .msg-time{ display:none; }
body.hide-pm #pmListBlock{ display:none; }

/* ============ DURUM (Notice/Sistem) PANELİ ============ */
.status-log-block{
  margin:0 14px 10px;
  background:var(--bg-elevated);
  border:1px solid var(--border-soft);
  border-radius:var(--radius-md);
  overflow:hidden;
}
.status-log-header{
  display:flex; align-items:center; justify-content:space-between;
  padding:8px 10px;
  font-size:11.5px;
  font-weight:600;
  color:var(--text-secondary);
  border-bottom:1px solid var(--border-soft);
  cursor:pointer;
}
.status-log-header-right{ display:flex; align-items:center; gap:6px; }
.status-log-header .chevron{ width:13px; height:13px; color:var(--text-faint); transition:transform .25s ease; }
.status-log-block.closed .status-log-header{ border-bottom-color:transparent; }
.status-log-block.closed .chevron{ transform:rotate(-90deg); }
.status-log-block.closed .status-log-body{ display:none; }
.status-log-clear{
  font-size:10.5px;
  color:var(--text-faint);
  padding:2px 6px;
  border-radius:6px;
}
.status-log-clear:hover{ background:var(--bg-hover); color:var(--accent-pink); }
.status-log-body{
  max-height:120px;
  overflow-y:auto;
  padding:6px 8px;
  display:flex;
  flex-direction:column;
  gap:4px;
}
.status-log-body::-webkit-scrollbar{ width:4px; }
.status-log-body::-webkit-scrollbar-thumb{ background:var(--border-strong); border-radius:10px; }
.status-log-item{
  font-size:11px;
  line-height:1.4;
  color:var(--text-faint);
  padding:3px 4px;
  border-radius:6px;
}
.status-log-item:hover{ background:var(--bg-hover); }
.status-log-empty{
  font-size:11px;
  color:var(--text-faint);
  text-align:center;
  padding:10px 0;
}

/* ============ AYARLAR: Hakkımızda butonu ============ */
.settings-about-btn{
  width:100%;
  display:flex; align-items:center; gap:8px;
  padding:10px 8px;
  border-radius:var(--radius-sm);
  font-size:13px;
  font-weight:500;
  color:var(--accent-violet);
  margin-bottom:14px;
  border:1px solid color-mix(in srgb, var(--accent-violet) 30%, transparent);
  background:color-mix(in srgb, var(--accent-violet) 8%, transparent);
}
.settings-about-btn:hover{
  background:color-mix(in srgb, var(--accent-violet) 15%, transparent);
  color:var(--accent-violet);
}
.settings-about-btn svg{ width:16px; height:16px; color:var(--accent-violet); }

/* ============ HAKKIMIZDA POPUP ============ */
.about-overlay{
  position:fixed; inset:0; z-index:450;
  background:rgba(0,0,0,.5);
  display:none;
  align-items:center; justify-content:center;
  padding:20px;
}
.about-overlay.open{ display:flex; }
.about-card{
  width:100%; max-width:400px;
  max-height:85vh;
  overflow-y:auto;
  background:var(--bg-panel);
  border:1px solid var(--border-soft);
  border-radius:var(--radius-lg);
  padding:28px;
  text-align:center;
  position:relative;
  box-shadow:0 24px 60px rgba(0,0,0,.4);
}
.about-close{
  position:absolute; top:14px; right:14px;
  width:30px; height:30px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  color:var(--text-faint);
}
.about-close:hover{ background:var(--bg-hover); color:var(--text-primary); }
.about-close svg{ width:16px; height:16px; }
.about-logo{
  width:52px; height:52px; border-radius:16px;
  margin:0 auto 14px;
  background:linear-gradient(135deg,var(--accent-violet),var(--accent-teal));
}
.about-card h2{ font-size:19px; font-weight:700; margin-bottom:6px; }
.about-tagline{ font-size:12.5px; color:var(--accent-violet); font-weight:500; margin-bottom:18px; }
.about-body{ text-align:left; display:flex; flex-direction:column; gap:10px; margin-bottom:18px; }
.about-body p{ font-size:13px; line-height:1.6; color:var(--text-secondary); }
.about-footer{
  border-top:1px solid var(--border-soft);
  padding-top:14px;
  display:flex; flex-direction:column; gap:2px;
}
.about-footer span{ font-size:10.5px; color:var(--text-faint); text-transform:uppercase; letter-spacing:.5px; }
.about-footer strong{ font-size:13.5px; color:var(--text-primary); }

.user-name.user-name-me{
  color: var(--accent-pink) !important;
  font-weight: 700;
}

/* ============ PROFİL POPUP ============ */
.profile-overlay{
  position:fixed; inset:0; z-index:450;
  background:rgba(0,0,0,.5);
  display:none;
  align-items:center; justify-content:center;
  padding:20px;
}
.profile-overlay.open{ display:flex; }
.profile-card{
  width:100%; max-width:360px;
  max-height:85vh;
  overflow-y:auto;
  background:var(--bg-panel);
  border:1px solid var(--border-soft);
  border-radius:var(--radius-lg);
  padding:28px;
  text-align:center;
  position:relative;
  box-shadow:0 24px 60px rgba(0,0,0,.4);
}
.profile-close{
  position:absolute; top:14px; right:14px;
  width:30px; height:30px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  color:var(--text-faint);
}
.profile-close:hover{ background:var(--bg-hover); color:var(--text-primary); }
.profile-close svg{ width:16px; height:16px; }

.profile-avatar-wrap{
  position:relative;
  width:76px; height:76px;
  margin:0 auto 14px;
}
.profile-avatar-lg{
  width:76px; height:76px; border-radius:22px;
  background:linear-gradient(135deg,var(--accent-teal),var(--accent-violet));
  display:flex; align-items:center; justify-content:center;
  font-weight:700; font-size:24px; color:#fff;
}
.profile-avatar-edit{
  position:absolute; bottom:-4px; right:-4px;
  width:28px; height:28px; border-radius:50%;
  background:var(--bg-elevated);
  border:2px solid var(--bg-panel);
  display:flex; align-items:center; justify-content:center;
  color:var(--text-secondary);
}
.profile-avatar-edit:hover{ background:var(--bg-hover); color:var(--text-primary); }
.profile-avatar-edit svg{ width:13px; height:13px; }

.profile-nick-lg{ font-size:18px; font-weight:700; margin-bottom:2px; }
.profile-sub-lg{ font-size:12px; color:var(--text-faint); margin-bottom:16px; }
.profile-badges-lg{ display:flex; flex-wrap:wrap; justify-content:center; gap:6px; margin-bottom:22px; }
.profile-actions-lg{ display:flex; flex-direction:column; gap:8px; }

/* ============ NICK ŞİFRESİ POPUP ============ */
.nickpass-overlay{
  position:fixed; inset:0; z-index:450;
  background:rgba(0,0,0,.5);
  display:none;
  align-items:center; justify-content:center;
  padding:20px;
}
.nickpass-overlay.open{ display:flex; }
.nickpass-card{
  width:100%; max-width:340px;
  background:var(--bg-panel);
  border:1px solid var(--border-soft);
  border-radius:var(--radius-lg);
  padding:26px;
  position:relative;
  box-shadow:0 24px 60px rgba(0,0,0,.4);
}
.nickpass-close{
  position:absolute; top:14px; right:14px;
  width:30px; height:30px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  color:var(--text-faint);
}
.nickpass-close:hover{ background:var(--bg-hover); color:var(--text-primary); }
.nickpass-close svg{ width:16px; height:16px; }
.nickpass-card h3{ font-size:16px; font-weight:700; margin-bottom:4px; }
.nickpass-sub{ font-size:12px; color:var(--text-faint); margin-bottom:18px; }
.nickpass-card input{
  width:100%;
  background:var(--bg-elevated);
  border:1px solid var(--border-soft);
  border-radius:var(--radius-sm);
  padding:11px 13px;
  font-size:13.5px;
  font-family:var(--font-body);
  color:var(--text-primary);
  outline:none;
  margin-bottom:10px;
  transition:border-color .2s;
}
.nickpass-card input:focus{ border-color:var(--accent-violet); }
.nickpass-error{
  font-size:12px; color:var(--accent-pink);
  min-height:14px;
  margin-bottom:8px;
}

/* ============ ŞİFRE YENİDEN DENE POPUP ============ */
.pwretry-overlay{
  position:fixed; inset:0; z-index:600;
  background:rgba(0,0,0,.55);
  display:none;
  align-items:center; justify-content:center;
  padding:20px;
}
.pwretry-overlay.open{ display:flex; }
.pwretry-card{
  position:relative;
  width:100%; max-width:340px;
  background:var(--bg-panel);
  border:1px solid var(--border-soft);
  border-radius:var(--radius-lg);
  padding:28px;
  text-align:center;
  box-shadow:0 24px 60px rgba(0,0,0,.4);
}
.pwretry-icon{
  width:52px; height:52px; border-radius:16px;
  margin:0 auto 14px;
  background:color-mix(in srgb, var(--accent-pink) 15%, transparent);
  display:flex; align-items:center; justify-content:center;
  color:var(--accent-pink);
}
.pwretry-icon svg{ width:24px; height:24px; }
.pwretry-card h3{ font-size:17px; font-weight:700; margin-bottom:6px; }
.pwretry-sub{ font-size:12.5px; color:var(--text-faint); margin-bottom:18px; }
.pwretry-card input{
  width:100%;
  background:var(--bg-elevated);
  border:1px solid var(--border-soft);
  border-radius:var(--radius-sm);
  padding:12px 14px;
  font-size:14px;
  font-family:var(--font-body);
  color:var(--text-primary);
  outline:none;
  margin-bottom:10px;
  transition:border-color .2s;
}
.pwretry-card input:focus{ border-color:var(--accent-pink); }
.pwretry-error{ font-size:12px; color:var(--accent-pink); min-height:14px; margin-bottom:10px; }

/* ============ DAHA FAZLA ARAÇ MENÜSÜ (mobil için) ============ */
.more-tools-wrap{ position:relative; }
.more-tools-panel{
  position:absolute;
  bottom:calc(100% + 8px);
  left:0;
  display:none;
  align-items:center;
  gap:2px;
  background:var(--bg-panel);
  border:1px solid var(--border-soft);
  border-radius:var(--radius-md);
  padding:6px;
  box-shadow:0 16px 40px rgba(0,0,0,.28);
  z-index:120;
}
.more-tools-panel.open{ display:flex; }

@media (max-width: 880px){
  .input-tools-left .font-btn,
  .input-tools-left .format-btn{ display:none; } /* mobilde ana çubukta gizli, sadece "daha fazla" panelinde görünür */
  .more-tools-panel .font-btn,
  .more-tools-panel .format-btn{ display:flex; } /* panel içinde göster */

  .input-shell input{ font-size:13px; padding:8px 6px; }
  .input-tools-left, .input-tools-right{ gap:0; }
}

/* ============ GÜVENLİK KONTROLÜ MODALI ============ */
.security-overlay{
  position:fixed; inset:0; z-index:700;
  background:rgba(0,0,0,.6);
  display:none;
  align-items:center; justify-content:center;
  padding:20px;
}
.security-overlay.open{ display:flex; }
.security-card{
  width:100%; max-width:320px;
  background:var(--bg-panel);
  border:1px solid var(--border-soft);
  border-radius:var(--radius-lg);
  padding:32px 28px;
  text-align:center;
  box-shadow:0 24px 60px rgba(0,0,0,.4);
}
.security-spinner{
  width:44px; height:44px;
  margin:0 auto 18px;
  border:3px solid var(--border-soft);
  border-top-color:var(--accent-violet);
  border-radius:50%;
  animation: spin .8s linear infinite;
}
.security-card h3{ font-size:16px; font-weight:700; margin-bottom:6px; }
.security-sub{ font-size:12.5px; color:var(--text-faint); margin-bottom:16px; }
.security-countdown{
  font-size:28px;
  font-weight:700;
  color:var(--accent-violet);
  font-variant-numeric: tabular-nums;
}

/* ============ RENK PALETİ SEÇİMİ ============ */
.palette-section{ margin-bottom:16px; }
.palette-label{ font-size:11.5px; color:var(--text-faint); font-weight:600; margin-bottom:8px; }
.palette-swatches{ display:flex; gap:10px; }
.palette-swatch{
  width:36px; height:36px;
  border-radius:50%;
  border:2px solid var(--border-soft);
  cursor:pointer;
  transition:transform .15s ease, border-color .15s ease;
}
.palette-swatch:hover{ transform:scale(1.1); }
.palette-swatch.active{
  border-color:var(--text-primary);
  box-shadow:0 0 0 2px var(--bg-panel), 0 0 0 4px var(--text-primary);
}

/* ---- Tema paletleri: her biri accent renklerini değiştirir ---- */
[data-palette="ocean"][data-theme="dark"]{
  --accent-pink: #2dd4ff;
  --accent-violet: #6366f1;
  --accent-teal: #22d3ee;
  --accent-amber: #38bdf8;
  --bubble-self: linear-gradient(135deg,#2dd4ff,#6366f1);
}
[data-palette="ocean"][data-theme="light"]{
  --accent-pink: #0891b2;
  --accent-violet: #4f46e5;
  --accent-teal: #0d9488;
  --accent-amber: #0284c7;
  --bubble-self: linear-gradient(135deg,#0891b2,#4f46e5);
}

[data-palette="sunset"][data-theme="dark"]{
  --accent-pink: #ff6b6b;
  --accent-violet: #ffa94d;
  --accent-teal: #ff922b;
  --accent-amber: #ffd43b;
  --bubble-self: linear-gradient(135deg,#ff6b6b,#ffa94d);
}
[data-palette="sunset"][data-theme="light"]{
  --accent-pink: #e03131;
  --accent-violet: #e8590c;
  --accent-teal: #d9480f;
  --accent-amber: #f08c00;
  --bubble-self: linear-gradient(135deg,#e03131,#e8590c);
}

[data-palette="forest"][data-theme="dark"]{
  --accent-pink: #37b24d;
  --accent-violet: #20c997;
  --accent-teal: #40c057;
  --accent-amber: #94d82d;
  --bubble-self: linear-gradient(135deg,#37b24d,#20c997);
}
[data-palette="forest"][data-theme="light"]{
  --accent-pink: #2b8a3e;
  --accent-violet: #0c8599;
  --accent-teal: #2f9e44;
  --accent-amber: #66a80f;
  --bubble-self: linear-gradient(135deg,#2b8a3e,#0c8599);
}

[data-palette="neon"][data-theme="dark"]{
  --accent-pink: #ff00e5;
  --accent-violet: #7c3aed;
  --accent-teal: #00f5d4;
  --accent-amber: #fee440;
  --bubble-self: linear-gradient(135deg,#ff00e5,#7c3aed);
}
[data-palette="neon"][data-theme="light"]{
  --accent-pink: #c2185b;
  --accent-violet: #6a1b9a;
  --accent-teal: #00897b;
  --accent-amber: #f9a825;
  --bubble-self: linear-gradient(135deg,#c2185b,#6a1b9a);
}


/* ============ @ETİKETLEME BİLDİRİMİ ============ */
.mention-toast{
  position:fixed;
  top:76px;
  left:50%;
  z-index:500;
  display:flex;
  align-items:center;
  gap:12px;
  background:var(--bg-panel);
  border:1px solid var(--border-soft);
  border-left:3px solid var(--accent-violet);
  border-radius:var(--radius-md);
  padding:14px 18px;
  box-shadow:0 16px 40px rgba(0,0,0,.3);
  max-width:300px;
  opacity:0;
  transform:translateX(-50%) translateY(-12px);
  pointer-events:none;
  transition:opacity .25s ease, transform .25s ease;
}
.mention-toast.show{
  opacity:1;
  transform:translateX(-50%) translateY(0);
}
.mention-icon{
  width:36px; height:36px; border-radius:50%;
  background:linear-gradient(135deg,var(--accent-pink),var(--accent-violet));
  display:flex; align-items:center; justify-content:center;
  color:#fff; font-weight:700; font-size:16px;
  flex-shrink:0;
}
.mention-title{ font-size:13px; font-weight:600; color:var(--text-primary); }
.mention-sub{ font-size:11.5px; color:var(--text-faint); margin-top:2px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }

.mention-tag{
  color: var(--accent-violet);
  font-weight: 600;
  background: color-mix(in srgb, var(--accent-violet) 12%, transparent);
  padding: 1px 4px;
  border-radius: 5px;
}


/* ============ PROFİLİ DÜZENLE (geniş modal) ============ */
.editprofile-overlay{
  position:fixed; inset:0; z-index:500;
  background:rgba(0,0,0,.55);
  display:none;
  align-items:center; justify-content:center;
  padding:20px;
}
.editprofile-overlay.open{ display:flex; }

.editprofile-card{
  width:100%; max-width:480px;
  max-height:90vh;
  overflow-y:auto;
  background:var(--bg-panel);
  border-radius:var(--radius-lg);
  box-shadow:0 24px 60px rgba(0,0,0,.4);
  display:flex;
  flex-direction:column;
}

.editprofile-cover{
  position:relative;
  height:130px;
  background:linear-gradient(135deg,var(--accent-violet),var(--accent-teal));
  border-radius:var(--radius-lg) var(--radius-lg) 0 0;
  background-size:cover;
  background-position:center;
  flex-shrink:0;
  display:flex;
  align-items:flex-end;
  padding:12px;
}
.editprofile-cover-btn{
  display:flex; align-items:center; gap:6px;
  background:rgba(0,0,0,.45);
  color:#fff;
  font-size:12px;
  padding:7px 12px;
  border-radius:20px;
  backdrop-filter:blur(4px);
}
.editprofile-cover-btn svg{ width:14px; height:14px; }
.editprofile-close{
  position:absolute; top:12px; right:12px;
  width:30px; height:30px; border-radius:50%;
  background:rgba(0,0,0,.45);
  color:#fff;
  display:flex; align-items:center; justify-content:center;
}
.editprofile-close svg{ width:16px; height:16px; }

.editprofile-head{
  display:flex; flex-direction:column; align-items:center;
  margin-top:-38px;
  padding:0 20px;
  flex-shrink:0;
}
.editprofile-avatar-wrap{ position:relative; width:76px; height:76px; }
.editprofile-avatar{
  width:76px; height:76px; border-radius:22px;
  background:linear-gradient(135deg,var(--accent-teal),var(--accent-violet));
  border:4px solid var(--bg-panel);
  display:flex; align-items:center; justify-content:center;
  font-weight:700; font-size:22px; color:#fff;
  background-size:cover;
  background-position:center;
}
.editprofile-avatar-btn{
  position:absolute; bottom:-2px; right:-2px;
  width:26px; height:26px; border-radius:50%;
  background:var(--bg-elevated);
  border:2px solid var(--bg-panel);
  display:flex; align-items:center; justify-content:center;
  color:var(--text-secondary);
}
.editprofile-avatar-btn svg{ width:12px; height:12px; }
.editprofile-nick{ font-size:16px; font-weight:700; margin-top:8px; }

.editprofile-body{
  padding:18px 20px;
  display:flex;
  flex-direction:column;
  gap:14px;
}
.editprofile-row{ display:flex; gap:12px; }
.editprofile-row .editprofile-field{ flex:1; min-width:0; }

.editprofile-field{ display:flex; flex-direction:column; gap:6px; }
.editprofile-field label{ font-size:11.5px; font-weight:600; color:var(--text-secondary); }
.editprofile-field .required{ color:var(--accent-pink); }
.editprofile-field input,
.editprofile-field select,
.editprofile-field textarea{
  background:var(--bg-elevated);
  border:1px solid var(--border-soft);
  border-radius:var(--radius-sm);
  padding:10px 12px;
  font-size:13.5px;
  font-family:var(--font-body);
  color:var(--text-primary);
  outline:none;
  transition:border-color .2s;
  resize:none;
}
.editprofile-field input:focus,
.editprofile-field select:focus,
.editprofile-field textarea:focus{ border-color:var(--accent-violet); }

.editprofile-error{ font-size:12px; color:var(--accent-pink); min-height:14px; }

.editprofile-footer{
  display:flex; gap:10px;
  padding:16px 20px;
  border-top:1px solid var(--border-soft);
  flex-shrink:0;
}

/* ---- Mobil: tam ekran ---- */
@media (max-width: 620px){
  .editprofile-overlay{ padding:0; align-items:flex-end; }
  .editprofile-card{
    max-width:100%;
    width:100%;
    max-height:100vh;
    height:100vh;
    border-radius:0;
  }
  .editprofile-cover{ border-radius:0; }
  .editprofile-footer{
    position:sticky;
    bottom:0;
    background:var(--bg-panel);
  }
}

/* ============ BÜYÜK RESİM ÖNİZLEME ============ */
.picture-preview-overlay{
  position:fixed; inset:0; z-index:800;
  background:rgba(0,0,0,.85);
  display:none;
  align-items:center; justify-content:center;
  padding:30px;
}
.picture-preview-overlay.open{ display:flex; }
.picture-preview-overlay img{
  max-width:90vw;
  max-height:85vh;
  border-radius:var(--radius-lg);
  box-shadow:0 24px 60px rgba(0,0,0,.5);
}
.picture-preview-close{
  position:fixed;
  top:20px; right:20px;
  width:40px; height:40px; border-radius:50%;
  background:rgba(255,255,255,.1);
  color:#fff;
  display:flex; align-items:center; justify-content:center;
}
.picture-preview-close:hover{ background:rgba(255,255,255,.2); }
.picture-preview-close svg{ width:20px; height:20px; }

/* ============ NICK KAYDET POPUP ============ */
.registernick-overlay{
  position:fixed; inset:0; z-index:450;
  background:rgba(0,0,0,.5);
  display:none;
  align-items:center; justify-content:center;
  padding:20px;
}
.registernick-overlay.open{ display:flex; }
.registernick-card{
  width:100%; max-width:340px;
  background:var(--bg-panel);
  border:1px solid var(--border-soft);
  border-radius:var(--radius-lg);
  padding:26px;
  position:relative;
  box-shadow:0 24px 60px rgba(0,0,0,.4);
}
.registernick-card h3{ font-size:16px; font-weight:700; margin-bottom:4px; }
.registernick-card input{
  width:100%;
  background:var(--bg-elevated);
  border:1px solid var(--border-soft);
  border-radius:var(--radius-sm);
  padding:11px 13px;
  font-size:13.5px;
  font-family:var(--font-body);
  color:var(--text-primary);
  outline:none;
  margin-bottom:10px;
  transition:border-color .2s;
}
.registernick-card input:focus{ border-color:var(--accent-violet); }

.profile-action.disabled{
  opacity:.5;
  cursor:not-allowed;
}

/* ============ PROFİL GÖRÜNTÜLEME (başkasının profili) ============ */
.viewprofile-overlay{
  position:fixed; inset:0; z-index:500;
  background:rgba(0,0,0,.6);
  display:none;
  align-items:center; justify-content:center;
  padding:20px;
}
.viewprofile-overlay.open{ display:flex; }

.viewprofile-card{
  width:100%; max-width:460px;
  max-height:90vh;
  overflow-y:auto;
  background:var(--bg-panel);
  border-radius:var(--radius-lg);
  box-shadow:0 32px 80px rgba(0,0,0,.5);
}

@media (min-width: 900px){
  .viewprofile-card{ max-width:640px; }
}

.viewprofile-cover{
  position:relative;
  height:150px;
  background:linear-gradient(135deg,var(--accent-violet),var(--accent-teal));
  background-size:cover;
  background-position:center;
  border-radius:var(--radius-lg) var(--radius-lg) 0 0;
}
.viewprofile-cover::after{
  content:'';
  position:absolute; inset:0;
  background:linear-gradient(to top, rgba(0,0,0,.35), transparent 50%);
  border-radius:var(--radius-lg) var(--radius-lg) 0 0;
  pointer-events:none;
}

.viewprofile-head{
  display:flex; flex-direction:column; align-items:center;
  margin-top:-52px;
  padding:0 24px;
  position:relative;
  z-index:1;
}
.viewprofile-avatar{
  width:104px; height:104px; border-radius:28px;
  background:linear-gradient(135deg,var(--accent-teal),var(--accent-violet));
  background-size:cover;
  background-position:center;
  border:5px solid var(--bg-panel);
  display:flex; align-items:center; justify-content:center;
  font-weight:700; font-size:30px; color:#fff;
  cursor:pointer;
  box-shadow:0 8px 24px rgba(0,0,0,.25);
  transition:transform .15s ease;
}
.viewprofile-avatar:hover{ transform:scale(1.03); }
.viewprofile-nick{ font-size:19px; font-weight:700; margin-top:12px; }
.viewprofile-status{
  font-size:12.5px; font-weight:600; margin-top:4px;
  color:var(--accent-teal);
  background:color-mix(in srgb, var(--accent-teal) 12%, transparent);
  padding:4px 12px;
  border-radius:20px;
}

.viewprofile-body{ padding:20px 24px 6px; display:flex; flex-direction:column; gap:16px; }
.viewprofile-badges{ display:flex; flex-wrap:wrap; justify-content:center; gap:7px; }
.viewprofile-bio{
  font-size:13.5px; color:var(--text-secondary); line-height:1.65; text-align:center;
  padding:14px 16px;
  background:var(--bg-elevated);
  border-radius:var(--radius-md);
}
.viewprofile-bio:empty::before{ content:'Hakkında bilgisi eklenmemiş.'; color:var(--text-faint); font-style:italic; }

.viewprofile-section{ display:flex; flex-direction:column; gap:8px; }
.viewprofile-section-title{
  font-size:11px; font-weight:700; letter-spacing:.5px; text-transform:uppercase;
  color:var(--text-faint);
}
.viewprofile-rank-badges, .viewprofile-channel-badges{ display:flex; flex-wrap:wrap; gap:6px; }

.viewprofile-rank-pill{
  display:flex; align-items:center; gap:5px;
  font-size:12px; font-weight:700;
  padding:5px 11px;
  border-radius:20px;
  color:#fff;
}
.viewprofile-channel-pill{
  font-size:12px; font-weight:500;
  padding:5px 11px;
  border-radius:20px;
  background:var(--bg-elevated);
  color:var(--text-secondary);
  border:1px solid var(--border-soft);
}

.viewprofile-footer{ padding:18px 24px 22px; border-top:1px solid var(--border-soft); margin-top:14px; }
.viewprofile-footer button{ width:100%; }


/* ============ ADMİN PANELİ (modal içi) ============ */
.admin-overlay{
  position:fixed; inset:0; z-index:600;
  background:rgba(0,0,0,.6);
  display:none;
  align-items:center; justify-content:center;
  padding:20px;
}
.admin-overlay.open{ display:flex; }

.admin-card{
  width:100%; max-width:560px;
  max-height:88vh;
  overflow-y:auto;
  background:var(--bg-panel);
  border-radius:var(--radius-lg);
  padding:28px;
  position:relative;
  box-shadow:0 32px 80px rgba(0,0,0,.5);
}
.admin-card-wide{ max-width:680px; }

.admin-tabs{
  display:flex; gap:4px;
  border-bottom:1px solid var(--border-soft);
  margin-bottom:18px;
  overflow-x:auto;
}
.admin-tab{
  padding:10px 16px;
  font-size:13px; font-weight:600;
  color:var(--text-faint);
  border-bottom:2px solid transparent;
  white-space:nowrap;
  display:flex; align-items:center; gap:6px;
}
.admin-tab:hover{ color:var(--text-secondary); }
.admin-tab.active{
  color:var(--accent-violet);
  border-bottom-color:var(--accent-violet);
}
.admin-tab-badge{
  font-size:10.5px; font-weight:700;
  background:var(--accent-pink);
  color:#fff;
  padding:1px 7px;
  border-radius:20px;
  min-width:16px;
  text-align:center;
}
.admin-tab-badge:empty{ display:none; }

#adminLoginView{ text-align:center; padding:20px 0; }
#adminLoginView h2{ font-size:17px; margin-bottom:18px; }
#adminLoginView input{
  width:100%;
  background:var(--bg-elevated);
  border:1px solid var(--border-soft);
  border-radius:var(--radius-sm);
  padding:12px 14px;
  font-size:14px;
  font-family:var(--font-body);
  color:var(--text-primary);
  outline:none;
  margin-bottom:12px;
}
.admin-login-error{ color:var(--accent-pink); font-size:12px; margin-top:8px; min-height:14px; }

.admin-header{ display:flex; align-items:center; justify-content:space-between; margin-bottom:10px; }
.admin-header h2{ font-size:17px; }
#adminBekleyenSayisi{ font-size:12px; color:var(--text-faint); }

.admin-section-title{ font-size:12.5px; font-weight:700; margin:20px 0 10px; color:var(--text-secondary); }
.admin-empty{ text-align:center; color:var(--text-faint); padding:24px 0; font-size:12.5px; }

.admin-item-card{
  display:flex; align-items:center; gap:14px;
  background:var(--bg-elevated); border:1px solid var(--border-soft);
  border-radius:var(--radius-md); padding:12px; margin-bottom:8px;
}
.admin-item-imgs{ display:flex; align-items:center; gap:8px; flex-shrink:0; }
.admin-item-imgs img{
  width:52px; height:52px; object-fit:cover; border-radius:12px;
  border:2px solid var(--border-soft);
}
.admin-item-imgs .arrow{ color:var(--text-faint); font-size:16px; }
.admin-item-info{ flex:1; min-width:0; }
.admin-item-nick{ font-weight:700; font-size:13px; }
.admin-item-meta{ font-size:11px; color:var(--text-faint); }
.admin-item-actions{ display:flex; gap:6px; flex-shrink:0; }
.admin-item-actions button{
  padding:8px 13px; border-radius:var(--radius-sm); font-size:11.5px; font-weight:600;
}
.admin-btn-approve{ background:var(--accent-teal); color:#04211c; }
.admin-btn-reject{ background:var(--bg-panel); color:var(--text-secondary); border:1px solid var(--border-soft); }

/* ============ SOHBET ALANI ÜST BİLGİ ÇUBUĞU (kanal adı taşındı) ============ */
.chat-header-bar{
  display:flex; align-items:center; gap:10px;
  padding:12px 20px;
  background:var(--bg-panel);
  border-bottom:1px solid var(--border-soft);
  flex-shrink:0;
}
.chat-header-bar .room-thumb{ flex-shrink:0; }
.chat-header-bar .room-text{ min-width:0; overflow:hidden; }

/* ============ BİLDİRİM ZİLİ ============ */
.notif-bell-btn{ position:relative; }
.notif-bell-btn.ringing{
  animation: bellRing 0.6s ease-in-out 2;
  color: var(--accent-pink);
}
@keyframes bellRing{
  0%, 100%{ transform:rotate(0); }
  15%{ transform:rotate(18deg); }
  30%{ transform:rotate(-16deg); }
  45%{ transform:rotate(12deg); }
  60%{ transform:rotate(-8deg); }
  75%{ transform:rotate(4deg); }
}
.notif-badge{
  animation: badgePulse 1.5s ease-in-out infinite;
}
@keyframes badgePulse{
  0%, 100%{ box-shadow:0 0 0 0 color-mix(in srgb, var(--accent-pink) 60%, transparent); }
  50%{ box-shadow:0 0 0 5px transparent; }
}
.notif-badge{
  position:absolute; top:2px; right:2px;
  min-width:16px; height:16px; padding:0 4px;
  border-radius:20px;
  background:var(--accent-pink);
  color:#fff;
  font-size:10px; font-weight:700;
  display:flex; align-items:center; justify-content:center;
  border:2px solid var(--bg-panel);
}
.notif-panel{
  min-width:320px;
  max-width:360px;
  padding:0;
  overflow:hidden;
  left:0;
  right:auto;
}
.notif-header{
  display:flex; align-items:center; justify-content:space-between;
  padding:14px 16px;
  border-bottom:1px solid var(--border-soft);
}
.notif-title{ font-size:13.5px; font-weight:700; }
.notif-clear-btn{ font-size:11px; color:var(--text-faint); padding:4px 8px; border-radius:6px; }
.notif-clear-btn:hover{ background:var(--bg-hover); color:var(--accent-pink); }

.notif-list{ max-height:280px; overflow-y:auto; padding:6px; }
.notif-list::-webkit-scrollbar{ width:4px; }
.notif-list::-webkit-scrollbar-thumb{ background:var(--border-strong); border-radius:10px; }
.notif-empty{ text-align:center; color:var(--text-faint); font-size:12.5px; padding:30px 0; }

.notif-item{
  display:flex; align-items:flex-start; gap:10px;
  padding:10px;
  border-radius:var(--radius-sm);
  cursor:pointer;
  position:relative;
}
.notif-item:hover{ background:var(--bg-hover); }
.notif-item.unread{ background:color-mix(in srgb, var(--accent-violet) 6%, transparent); }
.notif-item.unread::before{
  content:'';
  position:absolute; left:3px; top:50%; transform:translateY(-50%);
  width:6px; height:6px; border-radius:50%;
  background:var(--accent-violet);
}
.notif-icon{
  width:34px; height:34px; border-radius:50%; flex-shrink:0;
  display:flex; align-items:center; justify-content:center;
  font-size:15px;
  background:var(--bg-elevated);
}
.notif-icon.type-admin{ background:color-mix(in srgb, var(--accent-amber) 18%, transparent); }
.notif-icon.type-mention{ background:color-mix(in srgb, var(--accent-violet) 18%, transparent); }
.notif-icon.type-pm{ background:color-mix(in srgb, var(--accent-pink) 18%, transparent); }
.notif-content{ flex:1; min-width:0; }
.notif-content-title{ font-size:12.5px; font-weight:600; color:var(--text-primary); }
.notif-content-sub{ font-size:11.5px; color:var(--text-faint); margin-top:1px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.notif-time{ font-size:10px; color:var(--text-faint); flex-shrink:0; margin-left:auto; }


.admin-upload-form{ display:flex; flex-direction:column; gap:10px; }
.admin-upload-form input[type="text"],
.admin-upload-form select{
  background:var(--bg-elevated);
  border:1px solid var(--border-soft);
  border-radius:var(--radius-sm);
  padding:11px 13px;
  font-size:13.5px;
  font-family:var(--font-body);
  color:var(--text-primary);
  outline:none;
}


/* ============ ADMİN DASHBOARD (tam ekran) ============ */
.admin-overlay{
  position:fixed; inset:0; z-index:600;
  background:var(--bg-app);
  display:none;
}
.admin-overlay.open{ display:block; }

/* ---- Giriş ekranı ---- */
.admin-login-screen{
  position:fixed !important;
  top:0 !important; left:0 !important; right:0 !important; bottom:0 !important;
  width:100vw; height:100vh;
  display:flex;
  align-items:center;
  justify-content:center;
  background:var(--bg-app);
  z-index:601;
}
.admin-login-box{
  width:100%; max-width:340px;
  background:var(--bg-panel);
  border:1px solid var(--border-soft);
  border-radius:var(--radius-lg);
  padding:32px;
  text-align:center;
  box-shadow:0 24px 60px rgba(0,0,0,.3);
}
.admin-login-box h2{ font-size:18px; margin-bottom:20px; }
.admin-login-box input{
  width:100%;
  background:var(--bg-elevated);
  border:1px solid var(--border-soft);
  border-radius:var(--radius-sm);
  padding:12px 14px;
  font-size:14px;
  font-family:var(--font-body);
  color:var(--text-primary);
  outline:none;
  margin-bottom:12px;
}
.admin-login-error{ color:var(--accent-pink); font-size:12px; margin-top:8px; min-height:14px; }
.admin-login-back{
  margin-top:16px;
  font-size:12.5px;
  color:var(--text-faint);
}
.admin-login-back:hover{ color:var(--text-primary); }

/* ---- Dashboard grid ---- */
.admin-dashboard{
  display:flex;
  height:100vh;
  width:100vw;
}

.admin-sidebar{
  width:230px;
  flex-shrink:0;
  background:var(--bg-panel);
  border-right:1px solid var(--border-soft);
  display:flex;
  flex-direction:column;
  padding:20px 14px;
}
.admin-sidebar-logo{
  font-size:15px; font-weight:700;
  padding:0 10px 20px;
  border-bottom:1px solid var(--border-soft);
  margin-bottom:16px;
}
.admin-nav{ display:flex; flex-direction:column; gap:3px; flex:1; }
.admin-nav-item{
  display:flex; align-items:center; gap:10px;
  padding:11px 12px;
  border-radius:var(--radius-sm);
  font-size:13px; font-weight:500;
  color:var(--text-secondary);
  text-align:left;
}
.admin-nav-item svg{ width:17px; height:17px; flex-shrink:0; }
.admin-nav-item:hover{ background:var(--bg-hover); color:var(--text-primary); }
.admin-nav-item.active{
  background:color-mix(in srgb, var(--accent-violet) 14%, transparent);
  color:var(--accent-violet);
  font-weight:600;
}
.admin-nav-badge{
  margin-left:auto;
  font-size:10.5px; font-weight:700;
  background:var(--accent-pink);
  color:#fff;
  padding:1px 7px;
  border-radius:20px;
  min-width:16px;
  text-align:center;
}
.admin-nav-badge:empty{ display:none; }
.admin-nav-badge.pulsing{
  animation: navBadgePulse 1.4s ease-in-out infinite;
}
@keyframes navBadgePulse{
  0%, 100%{ box-shadow:0 0 0 0 color-mix(in srgb, var(--accent-pink) 55%, transparent); }
  50%{ box-shadow:0 0 0 6px transparent; transform:scale(1.08); }
}
.admin-nav-badge:empty{ display:none; }

.admin-sidebar-exit{
  display:flex; align-items:center; gap:10px;
  padding:11px 12px;
  border-radius:var(--radius-sm);
  font-size:13px; font-weight:600;
  color:var(--text-faint);
  border-top:1px solid var(--border-soft);
  margin-top:12px;
  padding-top:16px;
}
.admin-sidebar-exit svg{ width:17px; height:17px; }
.admin-sidebar-exit:hover{ color:var(--accent-pink); }

.admin-main{
  flex:1;
  overflow-y:auto;
  padding:28px 36px;
}
.admin-main-header{ margin-bottom:22px; }
.admin-main-header h1{ font-size:22px; font-weight:700; }

/* ---- İstatistik kartları ---- */
.admin-stats-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(180px, 1fr));
  gap:16px;
}
.admin-stat-card{
  background:var(--bg-panel);
  border:1px solid var(--border-soft);
  border-radius:var(--radius-md);
  padding:20px;
}
.admin-stat-icon{
  width:38px; height:38px; border-radius:12px;
  display:flex; align-items:center; justify-content:center;
  font-size:18px;
  margin-bottom:12px;
}
.admin-stat-value{ font-size:26px; font-weight:700; }
.admin-stat-label{ font-size:12px; color:var(--text-faint); margin-top:2px; }

/* mobil */
@media (max-width: 880px){
  .admin-dashboard{ flex-direction:column; }
  .admin-sidebar{
    width:100%; flex-direction:row; align-items:center;
    padding:10px 14px; overflow-x:auto;
  }
  .admin-sidebar-logo{ display:none; }
  .admin-nav{ flex-direction:row; }
  .admin-nav-item{ white-space:nowrap; }
  .admin-sidebar-exit{ border-top:none; margin-top:0; padding-top:11px; border-left:1px solid var(--border-soft); margin-left:6px; padding-left:16px; }
  .admin-main{ padding:20px; }
}


/* ============ ADMİN PANELİ: X kapatma butonu ============ */
.admin-x-close{
  position:fixed;
  top:20px; right:24px;
  width:38px; height:38px;
  border-radius:50%;
  background:var(--bg-panel);
  border:1px solid var(--border-soft);
  color:var(--text-secondary);
  display:flex; align-items:center; justify-content:center;
  z-index:100;
  pointer-events:auto;
}
.admin-x-close svg{ width:18px; height:18px; }
.admin-x-close:hover{ background:var(--bg-hover); color:var(--accent-pink); }

/* ============ ADMİN PANELİ: mobil hamburger menü ============ */
.admin-mobile-menu-btn{ display:none; }

@media (max-width: 880px){
  .admin-dashboard{ flex-direction:column; position:relative; }

  .admin-sidebar{
    position:fixed;
    top:0; left:0; bottom:0;
    width:240px;
    z-index:40;
    flex-direction:column;
    transform:translateX(-100%);
    transition:transform .25s ease;
    box-shadow:16px 0 40px rgba(0,0,0,.3);
  }
  .admin-sidebar.mobile-open{ transform:translateX(0); }
  .admin-sidebar-logo{ display:block; }
  .admin-nav{ flex-direction:column; }
  .admin-sidebar-exit{ border-top:1px solid var(--border-soft); margin-top:12px; padding-top:16px; border-left:none; margin-left:0; padding-left:12px; }

  .admin-mobile-menu-btn{
    display:flex;
    position:fixed;
    top:16px; left:16px;
    width:38px; height:38px;
    border-radius:50%;
    background:var(--bg-panel);
    border:1px solid var(--border-soft);
    color:var(--text-secondary);
    align-items:center; justify-content:center;
    z-index:50;
  }
  .admin-mobile-menu-btn svg{ width:18px; height:18px; }

  .admin-mobile-overlay{
    display:none;
    position:fixed; inset:0;
    background:rgba(0,0,0,.5);
    z-index:35;
  }
  .admin-mobile-overlay.open{ display:block; }

  .admin-main{ padding:70px 18px 24px; }
  .admin-x-close{ top:16px; right:16px; }
}

.ctx-op-title{
  font-size:10.5px; font-weight:700; text-transform:uppercase; letter-spacing:.5px;
  color:var(--text-faint);
  padding:6px 10px 2px;
}

/* ============ KANAL YÖNETİM MODALI ============ */
.chanadmin-overlay{
  position:fixed; inset:0; z-index:550;
  background:rgba(0,0,0,.55);
  display:none;
  align-items:center; justify-content:center;
  padding:20px;
}
.chanadmin-overlay.open{ display:flex; }

.chanadmin-card{
  width:100%; max-width:480px;
  max-height:85vh;
  overflow-y:auto;
  background:var(--bg-panel);
  border-radius:var(--radius-lg);
  padding:28px;
  position:relative;
  box-shadow:0 32px 80px rgba(0,0,0,.4);
}
.chanadmin-card h2{ font-size:16px; font-weight:700; margin-bottom:18px; }

.chanadmin-section-title{
  font-size:11.5px; font-weight:700; text-transform:uppercase; letter-spacing:.5px;
  color:var(--text-faint);
  margin:18px 0 10px;
}
.chanadmin-section-title:first-of-type{ margin-top:0; }

.chanadmin-modes{ display:flex; flex-direction:column; gap:2px; }
.chanadmin-mode-item{
  display:flex; align-items:center; gap:10px;
  padding:9px 8px;
  border-radius:var(--radius-sm);
  font-size:13px;
  color:var(--text-primary);
  cursor:pointer;
}
.chanadmin-mode-item:hover{ background:var(--bg-hover); }
.chanadmin-mode-item input{ width:16px; height:16px; accent-color:var(--accent-violet); cursor:pointer; }

.chanadmin-ban-item{
  display:flex; align-items:center; gap:10px;
  padding:9px 10px;
  border-radius:var(--radius-sm);
  background:var(--bg-elevated);
  margin-bottom:6px;
  font-size:12.5px;
}
.chanadmin-ban-mask{ flex:1; min-width:0; word-break:break-all; color:var(--text-secondary); }
.chanadmin-ban-item button{
  flex-shrink:0;
  padding:6px 12px;
  border-radius:var(--radius-sm);
  font-size:11.5px;
  font-weight:600;
  background:var(--bg-panel);
  color:var(--accent-pink);
  border:1px solid var(--border-soft);
}
.chanadmin-ban-item button:hover{ background:var(--bg-hover); }

.kickreason-overlay{
  position:fixed; inset:0; z-index:650;
  background:rgba(0,0,0,.5);
  display:none;
  align-items:center; justify-content:center;
  padding:20px;
}
.kickreason-overlay.open{ display:flex; }

.chanadmin-topic-row{ display:flex; gap:8px; }
.chanadmin-topic-row input{
  flex:1;
  background:var(--bg-elevated);
  border:1px solid var(--border-soft);
  border-radius:var(--radius-sm);
  padding:10px 12px;
  font-size:13px;
  font-family:var(--font-body);
  color:var(--text-primary);
  outline:none;
}
.chanadmin-topic-row button{
  padding:10px 16px;
  border-radius:var(--radius-sm);
  font-size:12.5px;
  font-weight:600;
  background:linear-gradient(135deg,var(--accent-pink),var(--accent-violet));
  color:#fff;
  flex-shrink:0;
}


/* ============ PM BAŞLIK PROFİL ROZETİ ============ */
.chat-header-bar{ position:relative; }
.pm-header-profile-chip{
  margin-left:auto;
  display:flex; align-items:center; gap:8px;
  padding:6px 12px 6px 6px;
  border-radius:20px;
  background:var(--bg-elevated);
  border:1px solid var(--border-soft);
  flex-shrink:0;
}
.pm-header-profile-chip:hover{ background:var(--bg-hover); }
.pm-header-avatar{
  width:26px; height:26px; border-radius:50%;
  background:linear-gradient(135deg,var(--accent-teal),var(--accent-violet));
  background-size:cover;
  background-position:center;
  display:flex; align-items:center; justify-content:center;
  font-size:10.5px; font-weight:700; color:#fff;
  flex-shrink:0;
}
.pm-header-name{ font-size:12.5px; font-weight:600; color:var(--text-primary); }

@media (max-width: 620px){
  .pm-header-name{ display:none; }
  .pm-header-profile-chip{ padding:6px; }
}

/* ============ HAZIR AVATAR SEÇİMİ ============ */
.hazir-avatar-section{ width:100%; margin-top:16px; }
.hazir-avatar-toggle{
  width:100%;
  padding:10px;
  border-radius:var(--radius-sm);
  background:var(--bg-elevated);
  border:1px solid var(--border-soft);
  color:var(--text-primary);
  font-size:13px;
  font-weight:600;
}
.hazir-avatar-toggle:hover{ background:var(--bg-hover); }

.hazir-avatar-grid{
  display:grid;
  grid-template-columns:repeat(6, 1fr);
  gap:8px;
  margin-top:12px;
  max-height:260px;
  overflow-y:auto;
  padding:4px;
}
.hazir-avatar-item{
  width:100%;
  aspect-ratio:1;
  border-radius:50%;
  border:2px solid transparent;
  overflow:hidden;
  cursor:pointer;
  background-size:cover;
  background-position:center;
  transition:transform .15s ease, border-color .15s ease;
}
.hazir-avatar-item:hover{ transform:scale(1.08); }
.hazir-avatar-item.selected{ border-color:var(--accent-violet); }

@media (max-width:480px){
  .hazir-avatar-grid{ grid-template-columns:repeat(4, 1fr); }
}

/* ============ PROFİL BEĞENİ BUTONU ============ */
.viewprofile-footer{ display:flex; gap:8px; align-items:stretch; }
.viewprofile-footer #viewProfilePmBtn{ flex:1; min-width:0; }
.viewprofile-like-btn{
  position:relative;
  width:38px; height:38px;
  min-width:38px;
  min-height:38px;
  aspect-ratio:1/1;
  border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  background:var(--bg-elevated);
  border:1px solid var(--border-soft);
  color:var(--text-secondary);
  flex-shrink:0;
  overflow:visible;
  padding:0;
  box-sizing:border-box;
  transition:transform .15s ease, background .15s ease, border-color .15s ease;
}
.viewprofile-like-btn svg{ width:16px; height:16px; flex-shrink:0; transition:transform .2s ease; }
.viewprofile-like-btn:hover{ background:var(--bg-hover); }
.viewprofile-like-btn.liked{
  background:color-mix(in srgb, var(--accent-pink) 14%, transparent);
  border-color:var(--accent-pink);
  color:var(--accent-pink);
}
.viewprofile-like-btn.liked svg{ fill:var(--accent-pink); transform:scale(1.1); }
.viewprofile-like-btn.own-profile{
  cursor:default;
  opacity:.85;
}


/* ============ BEĞENİ SATIRI (avatarın altında/yanında) ============ */
.viewprofile-like-row{
  display:flex; align-items:center; gap:8px;
  margin-top:10px;
}
.viewprofile-like-btn{
  position:relative;
  width:38px; height:38px;
  border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  background:var(--bg-elevated);
  border:1px solid var(--border-soft);
  color:var(--text-secondary);
  flex-shrink:0;
  overflow:visible;
  transition:transform .15s ease, background .15s ease, border-color .15s ease;
}
.viewprofile-like-btn svg{ width:18px; height:18px; transition:transform .2s ease; }
.viewprofile-like-btn:hover{ transform:scale(1.06); }
.viewprofile-like-btn:active{ transform:scale(0.92); }
.viewprofile-like-btn.liked{
  background:color-mix(in srgb, var(--accent-pink) 16%, transparent);
  border-color:var(--accent-pink);
  color:var(--accent-pink);
}
.viewprofile-like-btn.liked svg{ fill:var(--accent-pink); }
.viewprofile-like-btn.own-profile{ cursor:default; opacity:.7; }
.viewprofile-like-btn.pop svg{ animation: likePop .4s ease; }
@keyframes likePop{
  0%{ transform:scale(1); }
  35%{ transform:scale(1.4); }
  60%{ transform:scale(0.9); }
  100%{ transform:scale(1); }
}

.viewprofile-like-count{
  font-size:12.5px; font-weight:600;
  color:var(--text-secondary);
  background:var(--bg-elevated);
  border:1px solid var(--border-soft);
  border-radius:20px;
  padding:6px 14px;
}

/* uçuşan kalpler */
.floating-heart{
  position:fixed;
  font-size:20px;
  pointer-events:none;
  z-index:900;
  animation: heartFloat 1s ease-out forwards;
}
@keyframes heartFloat{
  0%{ transform:translate(0,0) scale(0.6) rotate(0deg); opacity:1; }
  100%{ transform:translate(var(--drift, 20px), -90px) scale(1.3) rotate(var(--rot, 20deg)); opacity:0; }
}


.viewprofile-view-count{
  font-size:11.5px;
  color:var(--text-faint);
  margin-top:6px;
  display:flex;
  align-items:center;
  gap:4px;
}
.viewprofile-view-count svg{ width:13px; height:13px; }
.main-menu-panel{ min-width:220px; left:0; right:auto; }

.simple-input-overlay{
  position:fixed; inset:0; z-index:650;
  background:rgba(0,0,0,.5);
  display:none;
  align-items:center; justify-content:center;
  padding:20px;
}
.simple-input-overlay.open{ display:flex; }

.operlogin-overlay{
  position:fixed; inset:0; z-index:650;
  background:rgba(0,0,0,.5);
  display:none;
  align-items:center; justify-content:center;
  padding:20px;
}
.operlogin-overlay.open{ display:flex; }


.legal-overlay{
  position:fixed; inset:0; z-index:650;
  background:rgba(0,0,0,.55);
  display:none;
  align-items:center; justify-content:center;
  padding:20px;
}
.legal-overlay.open{ display:flex; }
.legal-card{
  width:100%; max-width:560px;
  max-height:80vh;
  overflow-y:auto;
  background:var(--bg-panel);
  border-radius:var(--radius-lg);
  padding:32px;
  position:relative;
  box-shadow:0 32px 80px rgba(0,0,0,.4);
}
.legal-card h2{ font-size:18px; font-weight:700; margin-bottom:18px; }
.legal-body{ font-size:13.5px; color:var(--text-secondary); line-height:1.75; }
.legal-body h3{ font-size:14px; color:var(--text-primary); margin:16px 0 6px; }
.legal-body p{ margin-bottom:10px; }

.msg-link{
  color: var(--accent-teal);
  text-decoration: underline;
  font-weight: 600;
  word-break: break-all;
}
.msg-link:hover{
  color: var(--accent-violet);
}

.admin-word-add-row{ display:flex; gap:8px; margin-bottom:14px; }
.admin-word-add-row input{
  flex:1;
  background:var(--bg-elevated);
  border:1px solid var(--border-soft);
  border-radius:var(--radius-sm);
  padding:10px 12px;
  font-size:13px;
  font-family:var(--font-body);
  color:var(--text-primary);
  outline:none;
}
.admin-word-add-row button{
  padding:10px 18px;
  border-radius:var(--radius-sm);
  font-size:12.5px;
  font-weight:600;
  background:linear-gradient(135deg,var(--accent-pink),var(--accent-violet));
  color:#fff;
  flex-shrink:0;
}

.admin-word-item{
  display:flex; align-items:center; justify-content:space-between;
  padding:10px 14px;
  border-radius:var(--radius-sm);
  background:var(--bg-elevated);
  border:1px solid var(--border-soft);
  margin-bottom:6px;
  font-size:13px;
}
.admin-word-item button{
  padding:6px 12px;
  border-radius:var(--radius-sm);
  font-size:11.5px;
  font-weight:600;
  background:var(--bg-panel);
  color:var(--accent-pink);
  border:1px solid var(--border-soft);
}
.admin-word-item button:hover{ background:var(--bg-hover); }

.koruma-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:32px;
}
.koruma-col{ min-width:0; }

.admin-word-scroll{
  max-height:400px;
  overflow-y:auto;
  padding-right:4px;
}
.admin-word-scroll::-webkit-scrollbar{ width:5px; }
.admin-word-scroll::-webkit-scrollbar-thumb{ background:var(--border-strong); border-radius:10px; }

@media (max-width: 780px){
  .koruma-grid{ grid-template-columns:1fr; gap:0; }
}


.koruma-subtabs{
  display:flex; gap:4px;
  border-bottom:1px solid var(--border-soft);
  margin-bottom:20px;
  overflow-x:auto;
}
.koruma-subtab{
  padding:9px 15px;
  font-size:12.5px; font-weight:600;
  color:var(--text-faint);
  border-bottom:2px solid transparent;
  white-space:nowrap;
}
.koruma-subtab:hover{ color:var(--text-secondary); }
.koruma-subtab.active{
  color:var(--accent-pink);
  border-bottom-color:var(--accent-pink);
}

.koruma-toggle-row{
  display:flex; align-items:center; justify-content:space-between;
  padding:14px 16px;
  background:var(--bg-elevated);
  border:1px solid var(--border-soft);
  border-radius:var(--radius-md);
  margin-bottom:20px;
  font-size:13.5px;
  font-weight:600;
  cursor:pointer;
}
.koruma-toggle-row input[type="checkbox"]{
  appearance:none;
  width:42px; height:24px;
  border-radius:20px;
  background:var(--border-strong);
  position:relative;
  cursor:pointer;
  transition:background .2s ease;
  flex-shrink:0;
}
.koruma-toggle-row input[type="checkbox"]::before{
  content:'';
  position:absolute;
  top:3px; left:3px;
  width:18px; height:18px;
  border-radius:50%;
  background:#fff;
  transition:transform .2s ease;
}
.koruma-toggle-row input[type="checkbox"]:checked{
  background:linear-gradient(135deg,var(--accent-pink),var(--accent-violet));
}
.koruma-toggle-row input[type="checkbox"]:checked::before{
  transform:translateX(18px);
}

.giris-kodu-alani{ margin-bottom:14px; }
.giris-kodu-label{
  display:block;
  font-size:12.5px;
  color:var(--text-secondary);
  margin-bottom:8px;
}
.giris-kodu-label span{
  font-weight:800;
  font-size:20px;
  letter-spacing:4px;
  color:var(--accent-pink);
  background:var(--bg-elevated);
  padding:4px 12px;
  border-radius:8px;
  margin-left:6px;
}
.giris-kodu-alani input{
  width:100%;
  background:var(--bg-elevated);
  border:1px solid var(--border-soft);
  border-radius:var(--radius-sm);
  padding:12px 14px;
  font-size:16px;
  text-align:center;
  letter-spacing:6px;
  font-weight:700;
  font-family:var(--font-body);
  color:var(--text-primary);
  outline:none;
}
.giris-kodu-alani input:focus{ border-color:var(--accent-pink); }
.giris-kodu-alani input.hata{ border-color:var(--accent-pink); animation: shake .3s ease; }
@keyframes shake{
  25%{ transform:translateX(-6px); }
  75%{ transform:translateX(6px); }
}

.flood-ayar-satiri{
  display:flex;
  gap:12px;
  align-items:flex-end;
  margin-bottom:24px;
  padding:16px;
  background:var(--bg-elevated);
  border:1px solid var(--border-soft);
  border-radius:var(--radius-md);
  flex-wrap:wrap;
}
.flood-ayar-item{ display:flex; flex-direction:column; gap:6px; }
.flood-ayar-item label{ font-size:11px; color:var(--text-faint); font-weight:600; }
.flood-ayar-item input{
  width:120px;
  background:var(--bg-panel);
  border:1px solid var(--border-soft);
  border-radius:var(--radius-sm);
  padding:9px 11px;
  font-size:13px;
  font-family:var(--font-body);
  color:var(--text-primary);
  outline:none;
}
.flood-ayar-satiri button{
  padding:10px 18px;
  border-radius:var(--radius-sm);
  font-size:12.5px;
  font-weight:600;
  background:linear-gradient(135deg,var(--accent-pink),var(--accent-violet));
  color:#fff;
  flex-shrink:0;
  height:38px;
}

.koruma-durum-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(200px, 1fr));
  gap:14px;
}
.koruma-durum-card{
  display:flex;
  align-items:center;
  gap:14px;
  padding:18px;
  background:var(--bg-panel);
  border:1px solid var(--border-soft);
  border-radius:var(--radius-md);
  transition:border-color .2s ease;
}
.koruma-durum-card.aktif{ border-color:color-mix(in srgb, var(--accent-teal) 40%, var(--border-soft)); }
.koruma-durum-icon{
  width:42px; height:42px;
  border-radius:12px;
  display:flex; align-items:center; justify-content:center;
  font-size:19px;
  flex-shrink:0;
  background:var(--bg-elevated);
}
.koruma-durum-card.aktif .koruma-durum-icon{ background:color-mix(in srgb, var(--accent-teal) 18%, transparent); }
.koruma-durum-info{ min-width:0; }
.koruma-durum-title{ font-size:13px; font-weight:700; margin-bottom:4px; }
.koruma-durum-status{
  font-size:11.5px; font-weight:600;
  display:inline-flex; align-items:center; gap:5px;
}
.koruma-durum-status.aktif{ color:var(--accent-teal); }
.koruma-durum-status.pasif{ color:var(--text-faint); }
.koruma-durum-dot{ width:6px; height:6px; border-radius:50%; background:currentColor; }
.koruma-durum-detay{ font-size:11px; color:var(--text-faint); margin-top:2px; }

/* ============ DUYURU TOAST ============ */
.duyuru-toast{
  position:fixed;
  top:76px;
  left:50%;
  transform:translateX(-50%) translateY(-16px);
  z-index:750;
  display:flex;
  align-items:flex-start;
  gap:14px;
  background:var(--bg-panel);
  border:1px solid var(--border-soft);
  border-left:4px solid var(--accent-violet);
  border-radius:var(--radius-md);
  padding:16px 18px;
  box-shadow:0 20px 50px rgba(0,0,0,.35);
  max-width:420px;
  width:calc(100% - 40px);
  opacity:0;
  pointer-events:none;
  transition:opacity .3s ease, transform .3s ease;
}
.duyuru-toast.show{
  opacity:1;
  transform:translateX(-50%) translateY(0);
  pointer-events:auto;
}
.duyuru-toast.tip-uyari{ border-left-color:var(--accent-amber); }
.duyuru-toast.tip-basari{ border-left-color:var(--accent-teal); }

.duyuru-toast-icon{ font-size:22px; flex-shrink:0; }
.duyuru-toast-content{ flex:1; min-width:0; }
.duyuru-toast-baslik{ font-size:14px; font-weight:700; margin-bottom:4px; }
.duyuru-toast-mesaj{ font-size:12.5px; color:var(--text-secondary); line-height:1.5; word-break:break-word; }
.duyuru-toast-close{
  font-size:18px;
  color:var(--text-faint);
  flex-shrink:0;
  line-height:1;
  padding:2px;
}
.duyuru-toast-close:hover{ color:var(--text-primary); }


.duyuru-form{
  background:var(--bg-elevated);
  border:1px solid var(--border-soft);
  border-radius:var(--radius-md);
  padding:18px;
  margin-bottom:24px;
  display:flex;
  flex-direction:column;
  gap:10px;
}
.duyuru-form input,
.duyuru-form textarea{
  background:var(--bg-panel);
  border:1px solid var(--border-soft);
  border-radius:var(--radius-sm);
  padding:11px 13px;
  font-size:13px;
  font-family:var(--font-body);
  color:var(--text-primary);
  outline:none;
  resize:none;
}
.duyuru-form-row{ display:flex; gap:10px; }
.duyuru-form-row select{
  background:var(--bg-panel);
  border:1px solid var(--border-soft);
  border-radius:var(--radius-sm);
  padding:0 12px;
  font-size:13px;
  font-family:var(--font-body);
  color:var(--text-primary);
  outline:none;
}
.duyuru-form-row button{
  flex:1;
  padding:11px;
  border-radius:var(--radius-sm);
  font-size:13px;
  font-weight:600;
  background:linear-gradient(135deg,var(--accent-pink),var(--accent-violet));
  color:#fff;
}

.duyuru-item{
  padding:12px 14px;
  border-radius:var(--radius-sm);
  background:var(--bg-elevated);
  border:1px solid var(--border-soft);
  margin-bottom:8px;
}
.duyuru-item-top{ display:flex; align-items:center; justify-content:space-between; margin-bottom:4px; }
.duyuru-item-baslik{ font-size:13px; font-weight:700; }
.duyuru-item-mesaj{ font-size:12px; color:var(--text-secondary); margin-bottom:6px; }
.duyuru-item-meta{ font-size:10.5px; color:var(--text-faint); display:flex; justify-content:space-between; align-items:center; }
.duyuru-item-btns{ display:flex; gap:6px; }
.duyuru-item-tekrarla,
.duyuru-item-sil{
  padding:4px 10px;
  border-radius:6px;
  font-size:11px;
  font-weight:600;
  background:var(--bg-panel);
  border:1px solid var(--border-soft);
}
.duyuru-item-tekrarla{ color:var(--accent-teal); }
.duyuru-item-sil{ color:var(--accent-pink); }
.duyuru-item-tekrarla:hover,
.duyuru-item-sil:hover{ background:var(--bg-hover); }

.duyuru-gonderim-secim{ display:flex; gap:16px; padding:4px 2px; }
.duyuru-radio{
  display:flex; align-items:center; gap:6px;
  font-size:13px; color:var(--text-secondary);
  cursor:pointer;
}
.duyuru-radio input{ accent-color:var(--accent-violet); cursor:pointer; }

#tekrarSayisiAlani input{
  width:100%;
  background:var(--bg-panel);
  border:1px solid var(--border-soft);
  border-radius:var(--radius-sm);
  padding:11px 13px;
  font-size:13px;
  font-family:var(--font-body);
  color:var(--text-primary);
  outline:none;
}

.userlist-subtabs{
  display:flex; gap:4px;
  padding:0 2px 10px;
  border-bottom:1px solid var(--border-soft);
  margin-bottom:8px;
}
.userlist-subtab{
  padding:7px 12px;
  font-size:12px; font-weight:600;
  color:var(--text-faint);
  border-radius:8px;
  display:flex; align-items:center; gap:5px;
}
.userlist-subtab:hover{ color:var(--text-secondary); background:var(--bg-hover); }
.userlist-subtab.active{
  color:var(--accent-violet);
  background:color-mix(in srgb, var(--accent-violet) 14%, transparent);
}
.userlist-subtab span{
  font-size:10px; font-weight:700;
  background:var(--accent-pink);
  color:#fff;
  padding:1px 6px;
  border-radius:20px;
  min-width:14px;
  text-align:center;
}
.userlist-subtab span:empty{ display:none; }

.pm-header-favori-btn{
  width:36px; height:36px;
  border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  background:var(--bg-elevated);
  border:1px solid var(--border-soft);
  color:var(--text-secondary);
  flex-shrink:0;
}
.pm-header-favori-btn svg{ width:17px; height:17px; }
.pm-header-favori-btn:hover{ background:var(--bg-hover); }
.pm-header-favori-btn.favorili{
  background:color-mix(in srgb, var(--accent-amber) 16%, transparent);
  border-color:var(--accent-amber);
  color:var(--accent-amber);
}
.pm-header-favori-btn.favorili svg{ fill:var(--accent-amber); }


.rozet-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill, minmax(80px, 1fr));
  gap:10px;
  margin-top:14px;
}
.rozet-card{
  position:relative;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:6px;
  padding:12px 8px 10px;
  border-radius:14px;
  background:var(--bg-elevated);
  border:1px solid var(--border-soft);
  overflow:hidden;
  transition:transform .2s ease;
}
.rozet-card:hover{ transform:translateY(-3px); }
.rozet-card::before{
  content:'';
  position:absolute;
  top:-40%; left:-20%;
  width:140%; height:140%;
  background:radial-gradient(circle at 30% 20%, rgba(255,255,255,.18), transparent 55%);
  pointer-events:none;
}
.rozet-img{
  width:32px; height:32px;
  object-fit:contain;
  filter:drop-shadow(0 4px 8px rgba(0,0,0,.35));
}
.rozet-ad{
  font-size:11px;
  font-weight:700;
  text-align:center;
  color:var(--text-primary);
  line-height:1.3;
}

.analitik-chart-card{
  background:var(--bg-panel);
  border:1px solid var(--border-soft);
  border-radius:var(--radius-md);
  padding:18px;
  margin-bottom:20px;
}
.analitik-liste-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:24px;
}
.analitik-siralama-item{
  display:flex; align-items:center; gap:10px;
  padding:10px 12px;
  border-radius:var(--radius-sm);
  background:var(--bg-elevated);
  border:1px solid var(--border-soft);
  margin-bottom:6px;
}
.analitik-siralama-no{
  width:22px; height:22px;
  border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  font-size:11px; font-weight:700;
  background:var(--bg-panel);
  color:var(--text-faint);
  flex-shrink:0;
}
.analitik-siralama-no.top3{ background:linear-gradient(135deg,var(--accent-pink),var(--accent-violet)); color:#fff; }
.analitik-siralama-avatar{
  width:28px; height:28px; border-radius:50%;
  background:var(--bg-panel);
  background-size:cover; background-position:center;
  flex-shrink:0;
  display:flex; align-items:center; justify-content:center;
  font-size:10px; font-weight:700;
}
.analitik-siralama-nick{ flex:1; font-size:12.5px; font-weight:600; }
.analitik-siralama-deger{ font-size:11.5px; font-weight:700; color:var(--accent-teal); }

@media (max-width:780px){
  .analitik-liste-grid{ grid-template-columns:1fr; }
}

.site-bilgi-form{
  max-width:480px;
  display:flex;
  flex-direction:column;
  gap:16px;
}
.site-bilgi-item{ display:flex; flex-direction:column; gap:6px; }
.site-bilgi-item label{ font-size:12px; font-weight:600; color:var(--text-secondary); }
.site-bilgi-item input[type="text"],
.site-bilgi-item textarea{
  background:var(--bg-elevated);
  border:1px solid var(--border-soft);
  border-radius:var(--radius-sm);
  padding:11px 13px;
  font-size:13px;
  font-family:var(--font-body);
  color:var(--text-primary);
  outline:none;
  resize:none;
}
.site-bilgi-item input[type="color"]{
  width:60px; height:38px;
  border:1px solid var(--border-soft);
  border-radius:var(--radius-sm);
  background:var(--bg-elevated);
  cursor:pointer;
  padding:2px;
}
#siteBilgiKaydetBtn{
  align-self:flex-start;
  padding:11px 24px;
  border-radius:var(--radius-sm);
  font-size:13px;
  font-weight:600;
  background:linear-gradient(135deg,var(--accent-pink),var(--accent-violet));
  color:#fff;
}
#siteBilgiKaydetBtn.kaydedildi{
  background:linear-gradient(135deg,var(--accent-teal),var(--accent-teal));
}
#siteBilgiKaydetBtn:disabled{ opacity:.8; cursor:default; }


.logo-tip-secim{ display:flex; gap:16px; margin-bottom:4px; }
.logo-yukleme-row{ display:flex; align-items:center; gap:12px; }
.logo-onizleme{
  width:52px; height:52px;
  border-radius:12px;
  background:var(--bg-panel);
  border:1px solid var(--border-soft);
  background-size:cover;
  background-position:center;
  flex-shrink:0;
  display:flex; align-items:center; justify-content:center;
  font-size:10px; color:var(--text-faint);
}
.logo-yukleme-row button{
  padding:9px 16px;
  border-radius:var(--radius-sm);
  font-size:12.5px;
  font-weight:600;
  background:var(--bg-elevated);
  border:1px solid var(--border-soft);
  color:var(--text-primary);
}
.logo-yukleme-row button:hover{ background:var(--bg-hover); }

/* sohbet alanı üst kısmına, kanal başlığının altına eklenen logo satırı */
.chat-area-logo-row{
  display:flex;
  justify-content:flex-end;
  padding:8px 20px;
  border-bottom:1px solid var(--border-soft);
}
.chat-area-logo-row:empty{ display:none; }
.chat-area-logo-row img{
  height:26px;
  max-width:140px;
  object-fit:contain;
}
.chat-area-logo-row .logo-text{
  font-family:var(--font-display, 'Poppins', sans-serif);
  font-weight:700;
  font-size:14px;
  background:linear-gradient(135deg,var(--accent-pink),var(--accent-violet));
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
  letter-spacing:.3px;
}