
.dashboard-shell{
  width:min(1280px,calc(100% - 28px));
  margin:28px auto 48px;
}
.dashboard-card{
  background:linear-gradient(180deg,rgba(4,22,53,.98),rgba(2,11,28,.98));
  border:1.5px solid var(--orange);
  border-radius:14px;
  box-shadow:0 14px 34px rgba(0,0,0,.30);
}
.auth-card{
  max-width:650px;
  margin:55px auto;
  padding:44px;
  text-align:center;
}
.avatar-placeholder{
  width:84px;height:84px;margin:0 auto 16px;border-radius:50%;
  display:grid;place-items:center;background:#0b3d8a;border:2px solid var(--orange);
  font-size:1.5rem;font-weight:900;
}
.auth-card h1,.dashboard-top h1{color:var(--orange)}
.auth-card p,.dashboard-top p{color:#d3def0}
.dashboard-top{
  display:flex;align-items:center;justify-content:space-between;gap:20px;
  margin-bottom:18px;
}
.dashboard-top h1{margin:0 0 5px;font-size:2rem}
.dashboard-top p{margin:0}
.user-box{
  display:flex;align-items:center;gap:11px;
  background:#06162f;border:1px solid #315d95;border-radius:10px;padding:8px 12px;
}
.user-box img{
  width:42px;height:42px;border-radius:50%;background:#0a2d63;object-fit:cover;
}
.user-box strong{display:block}
.user-box a{font-size:.78rem;color:#9ec7ff}
.dashboard-grid{
  display:grid;grid-template-columns:300px minmax(0,1fr);gap:17px;
}
.guild-sidebar{padding:15px;align-self:start}
.guild-sidebar h2{margin:0 0 12px;color:var(--orange)}
.guild-button{
  width:100%;display:flex;align-items:center;gap:10px;text-align:left;
  border:1px solid transparent;background:transparent;color:#eef4ff;
  border-radius:8px;padding:10px;cursor:pointer;margin:4px 0;
}
.guild-button:hover{background:#0a2b58}
.guild-button.active{background:#0b3268;border-color:var(--orange)}
.guild-icon{
  width:42px;height:42px;border-radius:11px;background:#0b3a82;
  display:grid;place-items:center;object-fit:cover;font-weight:900;flex:none;
}
.guild-info strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:185px}
.guild-info small{color:#9cb0ce}
.settings-panel{padding:24px;min-height:560px}
.settings-title-row{display:flex;justify-content:space-between;align-items:center;gap:15px}
.eyebrow{font-size:.72rem;letter-spacing:.15em;color:#91a9cb}
.settings-title-row h2{margin:3px 0;color:var(--orange);font-size:1.7rem}
.status-badge{padding:6px 10px;border-radius:999px;font-size:.77rem;font-weight:800}
.status-installed{background:#143f2d;color:#8bf0b5;border:1px solid #2f8f61}
.status-missing{background:#4a2119;color:#ffb29f;border:1px solid #a24d38}
.settings-tabs{display:flex;gap:7px;flex-wrap:wrap;margin:20px 0}
.settings-tab{
  border:1px solid #33547d;background:#071932;color:#d9e5f6;
  border-radius:7px;padding:8px 13px
}
.settings-tab.active{background:var(--orange);color:#071326;border-color:var(--orange);font-weight:800}
.settings-tab:disabled{opacity:.45}
.form-section{
  background:#06152d;border:1px solid #294b76;border-radius:11px;padding:19px;
}
.form-section h3{margin-top:0;color:#fff}
.field{display:block;margin:15px 0}
.field>span{display:block;font-weight:700;margin-bottom:6px}
.field small,.toggle-row small{display:block;color:#8fa5c5;margin-top:4px}
.field input,.field textarea{
  width:100%;padding:10px 11px;color:#fff;background:#020f24;
  border:1px solid #4f698d;border-radius:7px;outline:none
}
.field input:focus,.field textarea:focus{border-color:var(--orange)}
.toggle-row{
  display:flex;justify-content:space-between;align-items:center;gap:16px;
  padding:14px 0;border-top:1px solid rgba(255,255,255,.07)
}
.toggle-row input{width:21px;height:21px;accent-color:var(--orange)}
.save-row{
  display:flex;justify-content:flex-end;align-items:center;gap:15px;margin-top:17px
}
#saveMessage{color:#8cf0b5;font-size:.88rem}
@media(max-width:850px){
  .dashboard-grid{grid-template-columns:1fr}
  .dashboard-top{align-items:flex-start;flex-direction:column}
}

/* =========================
   My Profile
   ========================= */
.dashboard-mode-tabs{
  display:flex;gap:10px;flex-wrap:wrap;margin:0 0 18px;
}
.dashboard-mode-tab{
  border:1px solid #33547d;background:#06162f;color:#dce8f9;
  border-radius:9px;padding:10px 16px;cursor:pointer;font-weight:800;
}
.dashboard-mode-tab:hover{border-color:var(--orange)}
.dashboard-mode-tab.active{
  background:var(--orange);border-color:var(--orange);color:#071326;
}
.profile-panel{padding:24px;min-height:360px}
.profile-header-row{
  display:flex;justify-content:space-between;align-items:flex-end;gap:18px;
  border-bottom:1px solid rgba(255,255,255,.08);padding-bottom:18px;margin-bottom:22px;
}
.profile-header-row h2{margin:4px 0;color:var(--orange);font-size:1.8rem}
.profile-header-row p{margin:0;color:#aebdd3}
.profile-server-select{display:block;min-width:260px}
.profile-server-select span{display:block;font-size:.75rem;color:#91a9cb;margin-bottom:6px;text-transform:uppercase;letter-spacing:.12em}
.profile-server-select select{
  width:100%;padding:10px 12px;background:#020f24;color:#fff;border:1px solid #4f698d;border-radius:8px;
}
.profile-server-select select:focus{outline:none;border-color:var(--orange)}
.profile-server-title{display:flex;align-items:center;gap:12px;margin-bottom:18px}
.profile-server-title h3{margin:2px 0;color:#fff;font-size:1.35rem}
.profile-guild-icon{width:50px;height:50px;border-radius:12px;object-fit:cover;background:#0b3a82}
.stat-card-grid{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;
}
.stat-card{
  position:relative;overflow:hidden;
  background:linear-gradient(180deg,#081c3b,#04142d);
  border:1px solid #31567f;border-radius:12px;padding:18px;
  min-height:155px;
}
.stat-card::after{
  content:"";position:absolute;inset:auto -30px -45px auto;width:110px;height:110px;
  border-radius:50%;background:rgba(255,138,0,.08);
}
.stat-card-wide{grid-column:span 1}
.stat-icon{font-size:1.6rem;margin-bottom:10px}
.stat-label{display:block;color:#9fb3d0;font-size:.78rem;text-transform:uppercase;letter-spacing:.1em}
.stat-value{display:block;color:var(--orange);font-size:2rem;margin:5px 0 3px;line-height:1.1}
.stat-card small{color:#8fa5c5}
.rep-details{
  display:flex;gap:10px;flex-wrap:wrap;margin-top:12px;padding-top:10px;border-top:1px solid rgba(255,255,255,.08);
  font-size:.78rem;color:#b8c8de;
}
.rep-details span{background:#031127;border:1px solid #294b76;border-radius:999px;padding:5px 8px}
.rep-details b{color:#fff}
.profile-message{margin-top:14px;color:#ffb29f;font-size:.9rem}
.profile-empty{text-align:center;padding:40px 12px;color:#afbdd0}
.profile-empty h3{color:var(--orange)}
.sidebar-help{color:#8fa5c5;font-size:.82rem;margin:-4px 0 12px}

@media(max-width:1050px){
  .stat-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:700px){
  .profile-header-row{align-items:stretch;flex-direction:column}
  .profile-server-select{min-width:0;width:100%}
  .stat-card-grid{grid-template-columns:1fr}
  .profile-panel{padding:18px}
}
