/* ==========================================================================
   GM DASHBOARD STYLES
   Extends css/style.css + css/profile.css (header/tabs/card) + css/tracker.css
   (filter-tabs/search-box/tag-cat). Only the ticket-row layout is new here.
   ========================================================================== */

.gm-filters{display:flex; justify-content:space-between; align-items:center; gap:20px; flex-wrap:wrap;}

.ticket-row-main{display:flex; flex-direction:column; gap:6px; min-width:260px;}
.ticket-row-top{display:flex; align-items:center; gap:10px; flex-wrap:wrap;}
.ticket-player{color:var(--text-dim); font-size:0.82rem;}
.ticket-player-char{color:var(--text-dim); opacity:0.75;}
.ticket-row-actions{display:flex; align-items:center; gap:14px; flex-shrink:0;}
.ticket-row-actions .btn{padding:9px 20px; font-size:0.7rem;}

.ticket-status.progress{color:#ffd98f; border:1px solid rgba(255,217,143,0.4); background:rgba(255,217,143,0.08);}
.ticket-status.resolved{color:#8fe0a8; border:1px solid rgba(143,224,168,0.4); background:rgba(143,224,168,0.08);}

.claim-btn{color:var(--frost-glow); border-color:var(--frost-dim);}
.claimed-by{color:var(--text-dim); font-size:0.72rem; white-space:nowrap;}

/* ---------- LIVE SERVER LOG ---------- */
.server-log{max-height:260px; overflow-y:auto; font-family:monospace; font-size:0.78rem;}
.log-line{padding:9px 20px; border-bottom:1px solid var(--border); color:var(--text-dim); line-height:1.7;}
.log-line:last-child{border-bottom:none;}
.log-time{color:var(--text-dim); opacity:0.6; margin-right:10px;}
.log-tag{display:inline-block; padding:1px 7px; border-radius:4px; font-size:0.66rem; font-weight:700; margin-right:8px;}
.log-tag.info{color:var(--frost-glow); background:rgba(111,216,255,0.1);}
.log-tag.warn{color:#ffd98f; background:rgba(255,217,143,0.1);}
.log-tag.error{color:#ff8a8a; background:rgba(255,110,110,0.1);}

@media(max-width:640px){
  .ticket-row{flex-direction:column; align-items:flex-start;}
  .ticket-row-actions{width:100%; justify-content:space-between;}
}

/* ---------- TAB ICONS ---------- */
.gm-tabs a{display:inline-flex; align-items:center; gap:8px;}
.gm-tabs a img{width:18px; height:auto; opacity:0.7; transition:opacity .2s;}
.gm-tabs a.active img, .gm-tabs a:hover img{opacity:1;}

/* ---------- ONLINE PLAYERS ---------- */
.online-row{display:flex; align-items:center; gap:16px; padding:14px 20px; border-bottom:1px solid var(--border); flex-wrap:wrap;}
.online-row:last-child{border-bottom:none;}
.online-class-icon{width:34px; height:auto; flex-shrink:0; filter:drop-shadow(0 0 8px rgba(111,216,255,0.25));}
.online-info{flex:1; min-width:180px;}
.online-name{font-weight:600; font-size:0.92rem; color:var(--text); display:flex; align-items:center; gap:8px; flex-wrap:wrap;}
.online-faction{font-size:0.6rem; font-weight:700; letter-spacing:1px; text-transform:uppercase; padding:2px 8px; border-radius:10px;}
.online-faction.alliance{color:#69ccf0; border:1px solid rgba(105,204,240,0.4); background:rgba(105,204,240,0.08);}
.online-faction.horde{color:#ff8a8a; border:1px solid rgba(255,110,110,0.4); background:rgba(255,110,110,0.08);}
.online-meta{color:var(--text-dim); font-size:0.78rem; margin-top:3px;}
.online-account{color:var(--text-dim); font-size:0.82rem; min-width:110px;}
.online-time{color:var(--text-dim); font-size:0.82rem; min-width:60px;}
.online-actions{display:flex; gap:10px; flex-shrink:0;}
.online-actions .btn{padding:8px 16px; font-size:0.68rem;}

/* ---------- PLAYER LOOKUP ---------- */
.lookup-search-card{max-width:560px; margin:0 auto 36px;}
.lookup-search-row{display:flex; gap:10px;}
.lookup-search-row input{flex:1;}
.lookup-grid{display:grid; grid-template-columns:repeat(auto-fit, minmax(280px,1fr)); gap:20px;}

/* ---------- BANS ---------- */
.ban-type-tag{
  font-size:0.62rem; font-weight:700; letter-spacing:1px; text-transform:uppercase;
  padding:3px 10px; border-radius:10px; border:1px solid var(--border); color:var(--text-dim);
}
.ban-form-card{margin-bottom:36px;}
.ban-form-grid{display:grid; grid-template-columns:1fr 1fr; gap:20px;}

/* ---------- SERVER CONTROL ---------- */
.server-stats{display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-bottom:44px;}
.server-danger{border-color:rgba(255,110,110,0.3) !important;}
.server-danger .btn-solid{
  background:linear-gradient(135deg, #ff8a8a, #b33a3a); border:1px solid transparent;
  box-shadow:0 8px 24px rgba(255,110,110,0.18);
}
.server-danger .btn-solid:hover{
  background:linear-gradient(135deg, #ffb0b0, #ff8a8a);
  box-shadow:0 10px 34px rgba(255,110,110,0.4);
}

/* ---------- ACTIVITY LOG ---------- */
.activity-action{
  font-size:0.62rem; font-weight:700; letter-spacing:1px; text-transform:uppercase;
  padding:3px 10px; border-radius:10px; border:1px solid var(--frost-dim); color:var(--frost-glow);
  background:rgba(111,216,255,0.08); white-space:nowrap; display:inline-block;
}

@media(max-width:700px){
  .server-stats{grid-template-columns:1fr;}
  .ban-form-grid{grid-template-columns:1fr;}
  .online-row{flex-direction:column; align-items:flex-start;}
}
