/* Rövid főmenü, profilmenü és fülekre bontott staff konzol. */
.topbar { gap:1.6rem; }
.main-nav { align-items:stretch; gap:1.15rem; min-width:0; }
.main-nav > * { flex:0 0 auto; }
.main-nav > a,.nav-dropdown > summary { min-height:44px; white-space:nowrap; }
.nav-dropdown,.account-dropdown { position:relative; }
.nav-dropdown { display:flex; align-items:stretch; }
.nav-dropdown > summary,.account-dropdown > summary { cursor:pointer; list-style:none; }
.nav-dropdown > summary::-webkit-details-marker,.account-dropdown > summary::-webkit-details-marker { display:none; }
.nav-dropdown > summary { display:flex; height:100%; align-items:center; gap:.35rem; color:var(--muted); font-size:.9rem; font-weight:700; }
.nav-dropdown > summary:hover,.nav-dropdown.is-active > summary { color:var(--text); }
.nav-dropdown.is-active > summary { position:relative; }
.nav-dropdown.is-active > summary:after { position:absolute; right:0; bottom:0; left:0; height:3px; content:''; background:var(--lime); }
.nav-dropdown-panel,.account-dropdown-panel { position:absolute; z-index:20; top:calc(100% + .55rem); right:0; min-width:175px; padding:.45rem; border:1px solid #3b4b56; background:#111a22; box-shadow:0 18px 40px rgba(0,0,0,.3); }
.nav-dropdown-panel { left:0; right:auto; }
.nav-dropdown-panel a,.account-dropdown-panel a,.account-dropdown-panel button { display:block; width:100%; padding:.62rem .7rem; color:#b9c7c9; border:0; background:transparent; text-align:left; font-size:.74rem; font-weight:700; }
.nav-dropdown-panel a:hover,.nav-dropdown-panel a.is-active,.account-dropdown-panel a:hover,.account-dropdown-panel a.is-active,.account-dropdown-panel button:hover { color:var(--lime); background:#1a2831; }
.account-menu { margin-left:auto; }
.guest-actions { display:flex; gap:.5rem; margin-left:auto; }
.ban-notice { margin:0 0 1rem; padding:1.1rem 1.25rem; border:1px solid #a75057; background:linear-gradient(100deg,rgba(95,33,39,.72),rgba(47,24,30,.8)); }
.ban-notice .eyebrow { color:#ff9ca4; }.ban-notice h2 { margin:0; color:#ffd4d7; font:700 2rem/1 var(--head); text-transform:uppercase; }.ban-notice p { margin:.5rem 0; color:#f3c6ca; }.ban-notice small { color:#dca7ad; font:.68rem var(--mono); }.account-status-badge { color:#b8e476; font:700 .68rem var(--mono); }.account-status-badge.is-banned { color:#ff989f; }
.lobby-exit-card { padding:1rem; border:1px solid #3c4d57; background:#121c24; }.lobby-exit-card p:not(.eyebrow) { margin:.45rem 0 .8rem; color:#aebfc1; font-size:.74rem; line-height:1.5; }
.global-lobby-join { display:grid; justify-items:start; gap:.9rem; max-width:720px; padding:2rem; border:1px solid #42535e; background:linear-gradient(125deg,#14212a,#111a22); box-shadow:0 20px 60px rgba(0,0,0,.18); }.global-lobby-join h2 { margin:0; font:700 2.5rem/.92 var(--head); text-transform:uppercase; }.global-lobby-join>p:not(.eyebrow) { max-width:580px; margin:0; color:#b8c7c8; line-height:1.65; }.random-queue-status { display:flex; align-items:center; gap:.5rem; padding:.35rem .42rem .35rem .75rem; color:#dbe8e1; border:1px solid #66863d; background:#1d2b1a; font:.65rem var(--mono); white-space:nowrap; }.random-queue-status b { color:var(--lime); }.random-queue-status form { display:contents; }.heading-actions { align-items:center; }.heading-actions>form { display:flex; }
.random-match-float { position:fixed; z-index:15; right:18px; bottom:18px; width:min(330px,calc(100vw - 36px)); max-height:calc(100vh - 36px); padding:1rem; overflow:auto; border:1px solid #52652f; background:linear-gradient(140deg,#192516,#111b20); box-shadow:0 20px 48px rgba(0,0,0,.38); }.random-match-float header { display:flex; align-items:start; justify-content:space-between; gap:.8rem; }.random-match-float h2 { margin:0; font:700 1.55rem/1 var(--head); text-transform:uppercase; }.random-match-float header>strong { color:var(--lime); font:700 1.35rem/1 var(--head); white-space:nowrap; }.random-match-float>.quiet { margin:.55rem 0 .75rem; font-size:.66rem; line-height:1.45; }.random-float-actions { display:flex; align-items:center; justify-content:space-between; gap:.6rem; margin:0 0 .7rem; padding:.45rem .5rem; color:#d6eac2; border:1px solid rgba(130,171,73,.42); background:rgba(41,62,28,.55); font:.6rem var(--mono); }.random-float-actions form { margin:0; }.random-player-list { display:grid; gap:.35rem; max-height:206px; overflow:auto; }.random-player-row { display:grid; grid-template-columns:auto minmax(0,1fr); gap:.5rem; align-items:center; padding:.42rem .45rem; color:#cbd7d6; border:1px solid rgba(126,158,94,.24); background:rgba(18,29,28,.8); }.random-player-row:hover { color:#fff; border-color:var(--lime); }.random-player-row .avatar { width:25px; height:25px; font-size:.65rem; }.random-player-row b,.random-player-row small { display:block; }.random-player-row b { font-size:.72rem; }.random-player-row small { color:#84948e; font:.56rem var(--mono); }.random-player-empty { padding:.45rem 0; text-align:center; }.random-last-match { margin-top:.75rem; padding-top:.72rem; border-top:1px solid rgba(126,158,94,.25); }.random-last-match>.eyebrow,.my-open-lobbies>.eyebrow { margin-bottom:.48rem; color:#d1ff8a; font-size:.57rem; }.random-last-match>.quiet,.my-open-lobbies>.quiet { margin:0; font-size:.63rem; }.random-team-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.3rem; }.random-team-row { display:flex; min-width:0; align-items:center; justify-content:space-between; gap:.35rem; padding:.35rem .42rem; color:#d6e2df; background:#162128; font-size:.64rem; }.random-team-row span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }.random-team-row b { font:.57rem var(--mono); }.random-team-row.is-ct { border-left:2px solid #78c6ff; }.random-team-row.is-ct b { color:#8bd4ff; }.random-team-row.is-t { border-left:2px solid #ffba72; }.random-team-row.is-t b { color:#ffd19a; }.my-open-lobbies { margin-top:.75rem; padding-top:.72rem; border-top:1px solid rgba(126,158,94,.25); }.my-open-lobby-row { display:grid; grid-template-columns:auto minmax(0,1fr); gap:.45rem; align-items:center; margin-top:.35rem; padding:.42rem; color:#d9e5df; border:1px solid rgba(126,158,94,.24); background:#152026; }.my-open-lobby-row:hover { color:#fff; border-color:var(--lime); }.my-open-lobby-row .mode-badge { font-size:.52rem; }.my-open-lobby-row b,.my-open-lobby-row small { display:block; }.my-open-lobby-row b { overflow:hidden; font-size:.66rem; text-overflow:ellipsis; white-space:nowrap; }.my-open-lobby-row small { overflow:hidden; color:#82928c; font:.53rem var(--mono); text-overflow:ellipsis; white-space:nowrap; }
.messages-layout { display:grid; grid-template-columns:minmax(250px,340px) minmax(0,1fr); min-height:560px; border:1px solid var(--line); background:#151f28; }
.message-thread-list { border-right:1px solid var(--line); background:#111a22; }.message-thread-list .panel-title { padding:1.1rem 1.15rem; border-bottom:1px solid var(--line); }.message-thread-empty { padding:1.1rem 1.15rem; }.message-thread-row { display:grid; grid-template-columns:auto minmax(0,1fr) auto; gap:.65rem; align-items:center; padding:.8rem 1rem; color:#d5dfde; border-bottom:1px solid rgba(148,163,174,.12); }.message-thread-row:hover,.message-thread-row.is-active { color:#f5fbf8; background:#1a2831; }.message-thread-row.is-active { border-left:3px solid var(--lime); padding-left:.82rem; }.message-thread-row.is-disabled { opacity:.66; }.message-thread-row b,.message-thread-row small { display:block; }.message-thread-row b { font-size:.79rem; }.message-thread-row small { color:#7e919a; font:.58rem var(--mono); }.message-thread-meta { display:grid; justify-items:end; gap:.32rem; }.message-thread-meta>b { display:grid; place-items:center; min-width:18px; height:18px; padding:0 .28rem; color:var(--ink); background:var(--lime); border-radius:99px; font:.6rem var(--mono); }
.conversation-panel { display:flex; flex-direction:column; min-width:0; }.conversation-heading { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:1.1rem 1.2rem; border-bottom:1px solid var(--line); }.conversation-heading h2,.message-compose-empty h2 { margin:0; font:700 1.85rem/1 var(--head); text-transform:uppercase; }.conversation-heading p:not(.eyebrow),.message-compose-empty>p:not(.eyebrow) { margin:.45rem 0 0; color:var(--muted); font:.68rem var(--mono); }.direct-message-log { display:flex; flex:1; flex-direction:column; gap:.65rem; min-height:330px; max-height:500px; padding:1.1rem 1.2rem; overflow:auto; }.direct-message { align-self:flex-start; width:min(82%,610px); padding:.7rem .8rem; border:1px solid #354650; background:#101920; }.direct-message.is-own { align-self:flex-end; border-color:#66863d; background:#1d2c1b; }.direct-message b,.direct-message small { display:block; }.direct-message b { color:var(--lime); font:.66rem var(--mono); }.direct-message p { margin:.35rem 0; color:#e0e9e6; font-size:.8rem; line-height:1.55; overflow-wrap:anywhere; }.direct-message small { color:#82939a; font:.58rem var(--mono); }.direct-message-form { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:.65rem; align-items:end; padding:1rem 1.2rem; border-top:1px solid var(--line); background:#111a22; }.direct-message-form textarea { min-height:68px; resize:vertical; }.direct-message-form label { grid-column:1/-1; }.direct-message-form label:has(textarea) { display:contents; }.direct-message-form button { min-height:42px; }.conversation-closed { margin:0; padding:1rem 1.2rem; border-top:1px solid var(--line); }.message-compose-empty { width:min(100%,590px); margin:auto; padding:2rem; }.message-compose-empty .direct-message-form { display:grid; margin-top:1.2rem; padding:0; border:0; background:transparent; }
.account-dropdown > summary { border:0; background:transparent; }
.account-dropdown .player-chip.is-active b { color:var(--lime); }
.account-dropdown-panel { min-width:190px; }
.lobby-members-float { position:fixed; z-index:15; right:18px; bottom:18px; width:min(330px,calc(100vw - 36px)); max-height:calc(100vh - 36px); padding:1rem; overflow:auto; border:1px solid #52652f; background:linear-gradient(140deg,#192516,#111b20); box-shadow:0 20px 48px rgba(0,0,0,.38); }.lobby-members-float header { display:flex; align-items:start; justify-content:space-between; gap:.8rem; }.lobby-members-float h2 { margin:0; font:700 1.55rem/1 var(--head); text-transform:uppercase; }.lobby-members-float header>strong { color:var(--lime); font:700 1.35rem/1 var(--head); white-space:nowrap; }.owned-lobby-meta { margin:.55rem 0 .75rem; color:#aabbb5; font:.61rem/1.5 var(--mono); }.owned-lobby-player-list { display:grid; gap:.35rem; margin-top:.75rem; }.owned-lobby-player-row { display:grid; grid-template-columns:auto minmax(0,1fr) auto; gap:.5rem; align-items:center; padding:.48rem; color:#d6e3de; border:1px solid rgba(126,158,94,.24); background:rgba(18,29,28,.8); }.owned-lobby-player-row:hover { color:#fff; border-color:var(--lime); }.owned-lobby-player-row .avatar { width:27px; height:27px; font-size:.65rem; }.owned-lobby-player-row b,.owned-lobby-player-row small { display:block; }.owned-lobby-player-row b { overflow:hidden; font-size:.72rem; text-overflow:ellipsis; white-space:nowrap; }.owned-lobby-player-row small { overflow:hidden; color:#84948e; font:.56rem var(--mono); text-overflow:ellipsis; white-space:nowrap; }.owned-lobby-player-row .player-ping { margin:0; white-space:nowrap; font-size:.56rem; }
.admin-tabs { display:flex; gap:.4rem; margin:-.9rem 0 1.5rem; padding-bottom:.75rem; overflow-x:auto; border-bottom:1px solid var(--line); }
.admin-tabs a { flex:0 0 auto; padding:.55rem .85rem; color:#8d9da3; border:1px solid transparent; font-size:.72rem; font-weight:800; text-transform:uppercase; }
.admin-tabs a:hover { color:#dce8e7; border-color:#3a4b56; }
.admin-tabs a.is-active { color:var(--ink); border-color:var(--lime); background:var(--lime); }
.admin-server-layout { display:grid; grid-template-columns:minmax(280px,.8fr) minmax(0,1.35fr); gap:1rem; }
.admin-server-layout .form-panel { display:grid; align-content:start; gap:.85rem; margin:0; }
.server-directory code { color:#dceaea; font:.67rem var(--mono); white-space:nowrap; }
.restriction-reason { color:#ffbf88!important; }
.staff-overview-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.8rem; }
.overview-stat,.overview-wide,.overview-activity { border:1px solid var(--line); background:#151f28; }
.overview-stat { display:grid; gap:.35rem; min-height:132px; padding:1rem; transition:border-color .16s ease,transform .16s ease; }
.overview-stat:hover { border-color:var(--lime); transform:translateY(-2px); }
.overview-stat span,.overview-stat small { color:var(--muted); font:.64rem var(--mono); text-transform:uppercase; }
.overview-stat strong { color:var(--lime); font:700 2.6rem/.9 var(--head); }
.overview-stat.warning strong { color:var(--amber); }
.overview-stat.live strong { color:#8bd2ff; }
.overview-wide { grid-column:span 3; display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:1.2rem; }
.overview-wide h2,.overview-activity h2 { margin:.15rem 0 .45rem; font:700 1.6rem/1 var(--head); text-transform:uppercase; }
.overview-wide p:last-child { max-width:610px; margin:0; color:var(--muted); font-size:.78rem; }
.overview-activity { margin-top:1rem; padding:1.2rem; }
.overview-activity .panel-title { align-items:center; }
.overview-activity-row { display:grid; grid-template-columns:minmax(180px,1fr) auto auto; gap:.8rem; padding:.7rem 0; border-top:1px solid rgba(148,163,174,.14); font-size:.74rem; }
.overview-activity-row b { color:var(--amber); font:.64rem var(--mono); }
.overview-activity-row small { color:var(--muted); font:.62rem var(--mono); }
.content-table-panel { padding:0; }
.content-table-panel .directory-toolbar { align-items:end; padding:1.15rem 1.2rem; border-bottom:1px solid var(--line); }
.content-toolbar-actions { display:flex; align-items:center; gap:.65rem; }
.content-table { min-width:810px; }
.content-table td:nth-child(2),.content-table td:nth-child(3),.content-table td:nth-child(4) { white-space:nowrap; }
.content-modal { width:min(760px,calc(100vw - 2rem)); max-height:calc(100vh - 2rem); margin:auto; padding:0; overflow:auto; color:var(--text); border:1px solid #455864; background:#121c24; box-shadow:0 30px 90px rgba(0,0,0,.6); }
.content-modal::backdrop { background:rgba(3,8,11,.78); backdrop-filter:blur(3px); }
.content-modal-card { display:grid; gap:1rem; padding:1.35rem; }
.modal-heading { display:flex; align-items:start; justify-content:space-between; gap:1rem; padding-bottom:1rem; border-bottom:1px solid var(--line); }
.modal-heading h2 { margin:0; font:700 2rem/1 var(--head); text-transform:uppercase; }
.editor-label { margin-bottom:-.55rem; }
.rich-toolbar { display:flex; flex-wrap:wrap; gap:.35rem; padding:.5rem; border:1px solid #3a4b56; border-bottom:0; background:#17232d; }
.rich-toolbar button { min-width:38px; min-height:32px; padding:.3rem .45rem; color:#c9d5d5; border:1px solid #40525d; background:#111a22; font-size:.68rem; font-weight:700; }
.rich-toolbar button:hover { color:var(--lime); border-color:var(--lime); }
.rich-editor { min-height:260px; padding:.9rem; overflow:auto; color:#d8e2e0; outline:none; border:1px solid #3a4b56; background:#0d151c; font-size:.88rem; line-height:1.75; }
.rich-editor:focus { border-color:var(--lime); box-shadow:0 0 0 3px rgba(200,255,55,.1); }
.rich-editor:empty:before { color:#71818a; content:attr(data-editor-placeholder); pointer-events:none; }
.rich-editor h2,.rich-editor h3 { margin:1rem 0 .5rem; color:#f0f8f4; font-family:var(--head); text-transform:uppercase; }
.rich-editor blockquote { margin:1rem 0; padding:.6rem .9rem; color:#b9c8c6; border-left:3px solid var(--lime); background:#17232d; }
.rich-editor a,.rich-news-body a { color:var(--lime); text-decoration:underline; }
.publish-check { display:flex; grid-template-columns:none; align-items:center; gap:.6rem; color:#cbd6d5; }
.publish-check input { width:auto; min-height:auto; accent-color:var(--lime); }
.match-intro-actions { display:flex; align-items:center; justify-content:end; flex-wrap:wrap; gap:.65rem; }
.match-lobby-chat { position:static; min-height:390px; }
.match-lobby-chat .chat-messages { min-height:250px; max-height:520px; }
.lobby-control-modal { width:min(620px,calc(100vw - 2rem)); }
.lobby-control-content { gap:1rem; }
.lobby-control-content .action-card,.lobby-control-content .connection-card,.lobby-control-content .info-card { box-shadow:none; }

@media (max-width:1000px) {
  .topbar { gap:1rem; }
  .main-nav { gap:.7rem; overflow-x:auto; scrollbar-width:none; }
  .main-nav::-webkit-scrollbar { display:none; }
  .main-nav > a,.nav-dropdown > summary { font-size:.8rem; }
}

@media (max-width:720px) {
  .topbar { align-items:center; }
  .main-nav { gap:.75rem; overflow-x:auto; }
  .main-nav > a,.nav-dropdown > summary { min-height:40px; font-size:.74rem; }
  .player-chip > span:last-child { display:none; }
  .guest-actions { gap:.35rem; }
  .guest-actions .button { padding:.45rem .6rem; font-size:.62rem; }
  .account-dropdown-panel { right:0; }
  .admin-tabs { margin-top:-.5rem; }
  .admin-server-layout,.staff-overview-grid { grid-template-columns:1fr; }
  .messages-layout { grid-template-columns:1fr; }.message-thread-list { max-height:260px; overflow:auto; border-right:0; border-bottom:1px solid var(--line); }.direct-message-log { max-height:420px; }.direct-message-form { grid-template-columns:1fr; }.direct-message-form button { width:100%; }
  .global-lobby-join { padding:1.35rem; }.global-lobby-join h2 { font-size:2rem; }.random-queue-status { width:100%; justify-content:space-between; }.lobby-side-stack { position:static; }.random-match-float,.lobby-members-float { position:static; width:auto; }.random-player-list { max-height:180px; }
  .overview-wide { grid-column:auto; align-items:start; flex-direction:column; }
  .overview-activity-row { grid-template-columns:1fr auto; }
  .overview-activity-row small { grid-column:1/-1; }
  .content-table-panel .directory-toolbar { align-items:stretch; }
  .content-toolbar-actions { align-items:stretch; flex-direction:column; }
  .content-toolbar-actions .table-search { width:100%; }
  .content-toolbar-actions .button { width:100%; }
  .content-modal-card { padding:1rem; }
  .rich-editor { min-height:210px; }
  .match-intro-actions { align-items:stretch; justify-content:start; }
  .server-table { min-width:880px; }
}
