body.portal-body {
  background:
    radial-gradient(circle at top right, rgba(255, 255, 255, .04), transparent 32%),
    radial-gradient(circle at bottom left, rgba(25, 135, 84, .10), transparent 26%),
    linear-gradient(180deg, #08111d 0%, #0d1727 100%);
  min-height: 100vh;
  color: #edf3ff;
}

.portal-nav, .glass-card {
  background: rgba(11, 18, 31, .92);
  backdrop-filter: blur(12px);
  border: 1px solid rgba(255,255,255,.10);
  box-shadow: 0 15px 40px rgba(0,0,0,.28);
}

.hero-card {
  background: rgba(11, 18, 31, .88);
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 1.5rem;
  padding: 3rem;
  backdrop-filter: blur(12px);
}

.btn-steam { background: #1b2838; border-color: #1b2838; }
.btn-steam:hover { background: #22384f; border-color: #22384f; }

.server-row {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  padding: .55rem 0;
  border-bottom: 1px solid rgba(255,255,255,.10);
  color: #dce7ff;
}
.server-row:last-child { border-bottom: 0; }
.server-row strong { color: #ffffff; }

.price-display { font-size: 1.6rem; font-weight: 800; color: #ffffff; }
.package-mini, .audit-item {
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.09);
  border-radius: 1rem;
}
.package-mini { min-height: 120px; }

.audit-list { display: grid; gap: .75rem; }
.audit-item { padding: .85rem 1rem; }

.console-output {
  min-height: 220px;
  background: #050816;
  color: #d8ffe0;
  border-radius: 1rem;
  padding: 1rem;
  white-space: pre-wrap;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  overflow: auto;
}

.table-dark { --bs-table-bg: transparent; }
.table { color: #eef4ff; }
.table thead th { color: #ffffff; }

.text-readable { color: #f6f9ff !important; }
.text-readable-soft { color: #c8d6f2 !important; }

.card h1, .card h2, .card h3, .card h4, .card h5, .card h6,
.glass-card h1, .glass-card h2, .glass-card h3, .glass-card h4, .glass-card h5, .glass-card h6 {
  color: #f8fbff;
}

.glass-card p, .glass-card li, .glass-card div, .glass-card span:not(.badge) {
  color: #dbe7ff;
}

.alert-info {
  color: #08384a;
  background-color: #c9eef7;
  border-color: #9fdae8;
}

.admin-main-tabs .nav-link,
.admin-subtabs .nav-link {
  border-radius: 999px;
  color: #dbe7ff;
  background: rgba(255,255,255,.05);
  border: 1px solid rgba(255,255,255,.08);
  margin-right: .5rem;
}
.admin-main-tabs .nav-link.active,
.admin-subtabs .nav-link.active {
  background: rgba(255, 255, 255, .09);
  color: #fff;
  border-color: rgba(255, 255, 255, .16);
}
.admin-tab-panel, .admin-subtab-panel { display:none; }
.admin-tab-panel.active, .admin-subtab-panel.active { display:block; }
.assignment-box {
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 1rem;
  padding: .75rem;
}
.role-pill {
  display:inline-flex;
  align-items:center;
  padding:.35rem .7rem;
  border-radius:999px;
  border:1px solid transparent;
  color:#fff;
}
.form-control, .form-select {
  background: rgba(5, 8, 22, .92);
  border: 1px solid rgba(255,255,255,.10);
  color:#eef4ff;
}
.form-control:focus, .form-select:focus {
  background: rgba(5, 8, 22, .96);
  color:#fff;
  border-color: rgba(255, 255, 255, .28);
  box-shadow: 0 0 0 .2rem rgba(255, 255, 255, .08);
}
.form-control::placeholder { color:#8ea3c5; }
code { color:#c4d0e8; }

.shop-server-tabs .nav-link {
  border-radius: 999px;
  color: #dbe7ff;
  background: rgba(255,255,255,.05);
  border: 1px solid rgba(255,255,255,.08);
}
.shop-server-tabs .nav-link.active {
  background: rgba(255, 255, 255, .09);
  color: #fff;
  border-color: rgba(255, 255, 255, .16);
}
.shop-server-tabs .nav-link:hover:not(.active) {
  color: #fff;
  background: rgba(255, 255, 255, 0.11);
  border-color: rgba(160, 205, 255, 0.35);
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.2);
}
.shop-server-panel { display:none; }
.shop-server-panel.active { display:block; }


.alert-secondary,
.alert-info {
  color: #dbe7ff;
  background: rgba(255,255,255,.05);
  border-color: rgba(255,255,255,.10);
}

.glass-subcard {
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.08);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.02);
}

.discord-link-card,
.portal-note-card,
.portal-inline-message {
  background: rgba(255,255,255,.05);
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 1rem;
  padding: .9rem 1rem;
}

.portal-inline-message-success {
  border-color: rgba(25,135,84,.45);
  background: rgba(25,135,84,.16);
}

.portal-inline-message-error {
  border-color: rgba(220,53,69,.45);
  background: rgba(220,53,69,.16);
}

.portal-inline-message-info {
  border-color: rgba(255, 255, 255, .16);
  background: rgba(255, 255, 255, .06);
}

.btn-discord {
  background: linear-gradient(180deg, #5865f2 0%, #4652c7 100%);
  border-color: #5865f2;
  color: #fff;
}

.btn-discord:hover {
  background: linear-gradient(180deg, #6773f7 0%, #4f5cda 100%);
  border-color: #6773f7;
  color: #fff;
}

.admin-main-tabs {
  background: rgba(255,255,255,.035);
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 1.25rem;
  padding: .5rem;
  backdrop-filter: blur(16px);
}

.admin-main-tabs .nav-link {
  border-radius: 999px;
  color: #d7e6ff;
  background: linear-gradient(180deg, rgba(255,255,255,.04) 0%, rgba(255,255,255,.02) 100%);
  border: 1px solid rgba(255,255,255,.08);
  transition: all .18s ease;
}

.admin-main-tabs .nav-link:hover,
.admin-main-tabs .nav-link.active {
  color: #fff;
  border-color: rgba(255, 255, 255, 0.22);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.14) 0%, rgba(255, 255, 255, 0.07) 100%);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.1), 0 12px 28px rgba(0,0,0,.22);
}

.viewer-card {
  border-color: rgba(255, 255, 255, .10);
  background:
    radial-gradient(circle at top right, rgba(255, 255, 255, .04), transparent 36%),
    linear-gradient(180deg, rgba(255,255,255,.045) 0%, rgba(255,255,255,.025) 100%);
}

.viewer-panel {
  height: 100%;
  border-radius: 1rem;
  padding: 1rem;
  background: rgba(4,10,26,.75);
  border: 1px solid rgba(255,255,255,.08);
}

.viewer-panel-title {
  font-weight: 700;
  color: #eef4ff;
  margin-bottom: .75rem;
}

.viewer-list {
  display: grid;
  gap: .5rem;
  max-height: 19rem;
  overflow: auto;
}

.viewer-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
  padding: .6rem .75rem;
  border-radius: .85rem;
  background: rgba(255,255,255,.045);
  border: 1px solid rgba(255,255,255,.07);
}

.viewer-item code {
  font-size: .72rem;
}

.glass-card {
  border-radius: 1.2rem;
  overflow: hidden;
}

.admin-main-tabs .nav-link{backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1);padding:.72rem 1.1rem;border-radius:999px;}
.admin-main-tabs .nav-link.active{box-shadow:0 8px 30px rgba(0,0,0,.2);}
.viewer-card{min-height:320px;}


.portal-nav-modern {
  background: linear-gradient(180deg, rgba(7,15,30,.86), rgba(7,15,30,.72));
  backdrop-filter: blur(18px);
  box-shadow: 0 12px 32px rgba(0,0,0,.22);
}
.portal-nav-actions .btn {
  border-radius: 999px;
}
.admin-main-tabs-modern .nav-link {
  border-radius: 16px;
  padding: .75rem 1rem;
  background: rgba(255,255,255,.05);
  border: 1px solid rgba(255,255,255,.08);
  color: rgba(255,255,255,.78);
  backdrop-filter: blur(14px);
}
.admin-main-tabs-modern .nav-link.active {
  background: linear-gradient(180deg, rgba(255, 255, 255, .10) 0%, rgba(255, 255, 255, .05) 100%);
  border-color: rgba(255, 255, 255, .14);
  color: #fff;
  box-shadow: 0 10px 22px rgba(0, 0, 0, .2);
}
.admin-main-tabs-modern .nav-link:hover:not(.active) {
  color: #fff;
  background: rgba(255, 255, 255, 0.1);
  border-color: rgba(160, 205, 255, 0.38);
  box-shadow: 0 8px 22px rgba(0, 0, 0, 0.18);
}
.glass-card, .glass-subcard, .viewer-panel, .package-mini, .audit-item-glass, .portal-note-card, .glass-pill {
  background: linear-gradient(180deg, rgba(28, 28, 30, .82), rgba(18, 18, 20, .72));
  backdrop-filter: blur(18px);
  border: 1px solid rgba(255,255,255,.09);
}
.audit-item-glass {
  border-radius: 18px;
}
#audit-log, .audit-list { gap: 12px; }
.community-stat-card { border-radius: 22px; }
.glass-pill { border-radius: 18px; }
#discordViewerStatus, #discordCommunityStatus { min-height: 20px; }
.table.table-dark {
  --bs-table-bg: transparent;
  --bs-table-striped-bg: rgba(255,255,255,.03);
  --bs-table-hover-bg: rgba(255,255,255,.05);
}

.dashboard-user-card.sticky-lg-top {
  top: 5.5rem;
  z-index: 10;
}


@media (min-width: 992px) {
  .dashboard-sidebar {
    align-self: flex-start;
  }
}

.dashboard-sidebar-stack {
  position: relative;
}
.dashboard-user-card-sticky {
  position: relative;
}
.admin-widget-card {
  min-height: 100%;
}
.admin-widget-shell {
  min-height: 100%;
}
@media (min-width: 992px) {
  .dashboard-sidebar {
    align-self: flex-start;
  }
}

.endless-scroll-box {
  max-height: 36rem;
  overflow: auto;
  padding-right: .25rem;
}

.endless-table-box {
  max-height: 42rem;
  overflow: auto;
}

.admin-search-input {
  min-width: 280px;
}

.endless-scroll-sentinel {
  height: 1px;
}


.admin-form-clean .form-control,
.admin-form-clean .form-select {
  min-height: 46px;
  border-radius: .9rem;
}

.admin-form-clean textarea.form-control {
  min-height: auto;
  resize: vertical;
}

.admin-section-box {
  background: rgba(255,255,255,.035);
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 1rem;
  padding: 1rem;
}

.admin-section-title {
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: #9fc0ff;
  margin-bottom: .85rem;
}

.admin-field-label {
  display: block;
  margin-bottom: .4rem;
  font-size: .88rem;
  font-weight: 600;
  color: #eef4ff;
}

.admin-field-hint {
  margin-top: .35rem;
  font-size: .78rem;
  color: #8ea3c5;
}

.admin-form-clean .form-check {
  min-height: 1.5rem;
}

.portal-header-banner-wrap,
.portal-footer-shell {
  position: relative;
  background: linear-gradient(180deg, rgba(24, 24, 26, .95), rgba(14, 14, 16, .9));
  border: 1px solid rgba(255, 255, 255, .12);
  border-radius: 1.4rem;
  box-shadow: 0 18px 46px rgba(0,0,0,.30);
  backdrop-filter: blur(14px);
  overflow: hidden;
}

.portal-header-banner-wrap {
  margin-bottom: 1rem;
}

.portal-header-banner,
.portal-footer-banner {
  display: block;
  width: 100%;
  height: auto;
}

.portal-header-banner {
  aspect-ratio: 21 / 7;
  object-fit: cover;
  object-position: center;
  max-height: 250px;
}

.portal-footer-shell {
  padding: 0;
}

.portal-footer-media {
  position: relative;
  border-bottom: 1px solid rgba(255,255,255,.08);
  background: radial-gradient(circle at center, rgba(110, 70, 255, .16), transparent 60%);
}

.portal-footer-banner {
  aspect-ratio: 21 / 6;
  object-fit: cover;
  object-position: center;
  max-height: 200px;
  opacity: .92;
}

.portal-footer-content {
  position: relative;
  padding: 1rem 1.25rem 1.15rem;
}

.portal-footer-icon-row {
  display: flex;
  justify-content: center;
  gap: .85rem;
  flex-wrap: wrap;
  margin-bottom: .65rem;
}

.portal-footer-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 46px;
  height: 46px;
  border-radius: 999px;
  text-decoration: none;
  color: #eef4ff;
  background: linear-gradient(180deg, rgba(255,255,255,.09), rgba(255,255,255,.04));
  border: 1px solid rgba(255,255,255,.12);
  box-shadow: 0 10px 24px rgba(0,0,0,.22);
  transition: transform .18s ease, border-color .18s ease, background .18s ease;
}

.portal-footer-icon:hover {
  transform: translateY(-2px);
  color: #fff;
  border-color: rgba(255, 255, 255, .2);
  background: linear-gradient(180deg, rgba(255,255,255,.12), rgba(255,255,255,.06));
}

.portal-footer-copy {
  color: #bfcdf0;
  font-size: .92rem;
}

@media (max-width: 991.98px) {
  .portal-header-banner {
    aspect-ratio: 16 / 7;
    max-height: 180px;
  }

  .portal-footer-banner {
    aspect-ratio: 16 / 7;
    max-height: 170px;
  }
}

@media (max-width: 575.98px) {
  .portal-header-banner-wrap {
    border-radius: 1rem;
  }

  .portal-header-banner {
    aspect-ratio: 16 / 8;
    max-height: 140px;
  }

  .portal-footer-shell {
    border-radius: 1rem;
  }

  .portal-footer-banner {
    aspect-ratio: 16 / 9;
    max-height: 130px;
  }

  .portal-footer-content {
    padding: .9rem 1rem 1rem;
  }

  .portal-footer-icon {
    width: 42px;
    height: 42px;
  }
}
.portal-footer-shell { padding: 1.25rem; }
.portal-footer-icon {
  width: 44px; height: 44px; display:inline-flex; align-items:center; justify-content:center;
  border-radius: 999px; background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.10);
  color:#eef4ff; text-decoration:none; transition: transform .15s ease, background .15s ease;
}
.portal-footer-icon:hover { transform: translateY(-1px); background: rgba(255,255,255,.1); color:#fff; }
.profile-stat-card { background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.08); border-radius: 1rem; padding: 1rem; }
.table-fit td, .table-fit th { white-space: nowrap; }
.user-profile-link { min-width: 110px; }

.container {
  max-width: 1280px;
}

#spa-root {
  padding-top: 1.5rem !important;
}

.portal-nav {
  border-bottom-color: rgba(255,255,255,.08) !important;
}

.portal-header-banner-wrap,
.portal-footer-shell {
  border-radius: 1.5rem;
  border-color: rgba(255, 255, 255, .1);
  background: linear-gradient(180deg, rgba(22, 22, 24, .94), rgba(12, 12, 14, .9));
}

.portal-header-banner-wrap {
  padding: 12px;
  margin-bottom: 1.5rem;
}

.portal-header-banner,
.portal-footer-banner {
  width: 100%;
  height: 100%;
  display: block;
}

.portal-header-banner {
  height: 220px;
  object-fit: contain;
  object-position: center center;
  border-radius: 1rem;
  background: radial-gradient(circle at center, rgba(106, 65, 255, .14), rgba(0,0,0,0) 60%), #091325;
}

.portal-footer-shell {
  padding: 12px;
}

.portal-footer-media {
  border-bottom: 0;
  border-radius: 1rem;
  overflow: hidden;
}

.portal-footer-banner {
  height: 140px;
  object-fit: contain;
  object-position: center center;
  border-radius: 1rem;
  background: radial-gradient(circle at center, rgba(106, 65, 255, .14), rgba(0,0,0,0) 60%), #091325;
}

.portal-footer-content {
  padding: .95rem 1rem .35rem;
}

.portal-footer-icon-row {
  margin-bottom: .75rem;
}

.portal-footer-copy {
  font-size: .95rem;
}

.hero-card-compact {
  padding: 2.5rem 2.75rem;
}

.hero-kicker {
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  margin-bottom: .9rem;
  padding: .45rem .9rem;
  border-radius: 999px;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.09);
  color: #d7e6ff;
  font-size: .84rem;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.hero-feature-grid {
  display: flex;
  flex-wrap: wrap;
  gap: .75rem;
}

.hero-feature-pill {
  display: inline-flex;
  align-items: center;
  padding: .75rem 1rem;
  border-radius: 999px;
  background: rgba(255,255,255,.05);
  border: 1px solid rgba(255,255,255,.08);
  color: #edf3ff;
  font-weight: 600;
}

.hero-side-card {
  min-height: 100%;
}

.hero-mini-stats {
  display: grid;
  gap: .75rem;
}

.hero-mini-stats > div {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  padding: .85rem 1rem;
  border-radius: 1rem;
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.07);
}

.hero-mini-stats span {
  color: #b8c8e8;
}

.hero-mini-stats strong {
  color: #fff;
}

.package-card {
  border-radius: 1.3rem;
}

.package-card .card-body {
  gap: .4rem;
}

.package-card .btn,
.hero-card .btn {
  border-radius: .95rem;
}

#shop .glass-card.h-100 {
  height: auto !important;
}

footer.container {
  padding-top: 1rem !important;
}

@media (max-width: 991.98px) {
  .portal-header-banner {
    height: 170px;
  }

  .portal-footer-banner {
    height: 112px;
  }

  .hero-card-compact {
    padding: 2rem 1.4rem;
  }
}

@media (max-width: 575.98px) {
  .portal-header-banner-wrap,
  .portal-footer-shell {
    border-radius: 1rem;
    padding: 8px;
  }

  .portal-header-banner {
    height: 112px;
    border-radius: .8rem;
  }

  .portal-footer-banner {
    height: 88px;
    border-radius: .8rem;
  }

  .portal-footer-icon {
    width: 42px;
    height: 42px;
  }

  .hero-feature-grid {
    flex-direction: column;
  }
}


:root {
  --portal-bg-1: #08111d;
  --portal-bg-2: #101a2c;
  --portal-surface: rgba(32, 32, 34, .78);
  --portal-surface-strong: rgba(15, 25, 45, .88);
  --portal-border: rgba(157, 185, 255, .14);
  --portal-border-strong: rgba(157, 185, 255, .22);
  --portal-text: #eef4ff;
  --portal-text-soft: #b5c6e6;
  --portal-shadow: 0 20px 60px rgba(0, 0, 0, .34);
}

html, body {
  font-family: 'Inter', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}

body.portal-body::before {
  content: '';
  position: fixed;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(circle at 15% 20%, rgba(255, 255, 255, .035), transparent 24%),
    radial-gradient(circle at 85% 14%, rgba(255, 255, 255, .028), transparent 20%),
    radial-gradient(circle at 70% 82%, rgba(110, 80, 160, .05), transparent 22%);
  z-index: 0;
}

body.portal-body > * {
  position: relative;
  z-index: 1;
}

.glass-card,
.glass-subcard,
.profile-stat-card,
.audit-item,
.package-mini,
.viewer-panel,
.portal-note-card,
.portal-inline-message,
.admin-section-box,
.discord-link-card {
  background: linear-gradient(180deg, rgba(30, 30, 32, .9) 0%, rgba(18, 18, 20, .84) 100%);
  border: 1px solid var(--portal-border);
  box-shadow: var(--portal-shadow);
}

.page-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.7fr) minmax(260px, .9fr);
  gap: 1.25rem;
  padding: 1.4rem;
  border-radius: 1.5rem;
  border: 1px solid var(--portal-border-strong);
  background:
    linear-gradient(135deg, rgba(255, 255, 255, .05), rgba(11, 17, 31, .08)),
    linear-gradient(180deg, rgba(26, 26, 28, .9), rgba(14, 14, 16, .84));
  box-shadow: var(--portal-shadow);
  overflow: hidden;
}

.page-hero-copy {
  display: flex;
  flex-direction: column;
  gap: .85rem;
}

.page-hero-title {
  margin: 0;
  font-size: clamp(1.75rem, 2.2vw, 2.6rem);
  line-height: 1.1;
  font-weight: 800;
  color: var(--portal-text);
}

.page-hero-text {
  margin: 0;
  max-width: 70ch;
  color: var(--portal-text-soft);
  font-size: 1rem;
}

.page-hero-meta {
  display: flex;
  flex-wrap: wrap;
  align-content: flex-start;
  gap: .75rem;
  justify-content: flex-end;
}

.page-hero-chip {
  display: inline-flex;
  align-items: center;
  padding: .8rem 1rem;
  border-radius: 1rem;
  color: var(--portal-text);
  background: rgba(255,255,255,.05);
  border: 1px solid rgba(255,255,255,.09);
  min-height: 48px;
}

.page-hero-chip--success {
  background: linear-gradient(180deg, rgba(25, 135, 84, 0.28), rgba(25, 135, 84, 0.12)) !important;
  border-color: rgba(72, 199, 116, 0.55) !important;
  color: #f2fff7 !important;
  box-shadow: 0 0 0 1px rgba(25, 135, 84, 0.15), 0 10px 26px rgba(0, 0, 0, 0.22);
}

.page-hero-chip--success i {
  color: #9ff0c2;
}

.card-label {
  display: inline-flex;
  align-items: center;
  padding: .35rem .7rem;
  border-radius: 999px;
  margin-bottom: .8rem;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.08);
  color: #dbe7ff;
  font-size: .78rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .08em;
}

.badge.text-bg-info {
  background-color: rgba(255, 255, 255, .08) !important;
  color: #e8eefc !important;
  border: 1px solid rgba(255, 255, 255, .1);
  font-weight: 600;
}

.dashboard-user-card,
.community-stat-card,
.package-card,
.profile-stat-card,
.assignment-box,
.admin-widget-card {
  border-radius: 1.35rem;
}

.table-responsive {
  border-radius: 1rem;
}

.table.table-dark thead th {
  position: sticky;
  top: 0;
  background: rgba(8, 13, 24, .96);
  z-index: 2;
  border-bottom-color: rgba(255,255,255,.12);
}

.table.table-dark tbody tr {
  border-color: rgba(255,255,255,.06);
}

.table.table-dark tbody tr:hover {
  background: rgba(255,255,255,.03);
}

.form-control,
.form-select,
.btn {
  border-radius: 1rem;
}

.btn {
  box-shadow: 0 10px 24px rgba(0,0,0,.18);
}

.btn:hover {
  transform: translateY(-1px);
}

.portal-nav-modern .navbar-brand {
  display: inline-flex;
  align-items: center;
  gap: .2rem;
  letter-spacing: -.02em;
}

.portal-nav-actions {
  padding: .25rem;
  border-radius: 999px;
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.07);
}

.dashboard-sidebar .dashboard-user-card,
.dashboard-sidebar .card.glass-card {
  overflow: hidden;
}

.profile-stat-card,
.audit-item,
.viewer-item {
  transition: transform .18s ease, border-color .18s ease, background .18s ease;
}

.profile-stat-card:hover,
.audit-item:hover,
.viewer-item:hover {
  transform: translateY(-2px);
  border-color: rgba(255, 255, 255, .18);
}

.admin-security-note {
  background: linear-gradient(180deg, rgba(40, 40, 44, .5), rgba(22, 22, 24, .34));
}

@media (max-width: 991.98px) {
  .page-hero {
    grid-template-columns: 1fr;
  }

  .page-hero-meta {
    justify-content: flex-start;
  }

  .portal-nav-actions {
    width: 100%;
    justify-content: flex-end;
  }
}

@media (max-width: 575.98px) {
  .page-hero {
    padding: 1.1rem;
    border-radius: 1.1rem;
  }

  .page-hero-chip {
    width: 100%;
    justify-content: center;
  }

  .portal-nav-actions {
    border-radius: 1.1rem;
  }
}


/* layout update */
.portal-brand {
  display: inline-flex;
  align-items: center;
  gap: .9rem;
}
.portal-brand-badge {
  width: 2.6rem;
  height: 2.6rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: .95rem;
  background: linear-gradient(180deg, rgba(255,255,255,.12) 0%, rgba(255,255,255,.06) 100%);
  border: 1px solid rgba(255,255,255,.10);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08);
}
.portal-brand-title {
  font-size: 1rem;
  line-height: 1.1;
}
.portal-brand-subtitle {
  display: block;
  font-size: .72rem;
  color: #9fb5d9;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.portal-nav-modern {
  background: rgba(6, 11, 20, .82);
  backdrop-filter: blur(16px);
}
.portal-main-nav {
  gap: .45rem;
}
.portal-main-nav .nav-link {
  color: #d7e6ff;
  border-radius: 999px;
  padding: .72rem 1rem;
  font-weight: 600;
  transition: all .18s ease;
  border: 1px solid transparent;
}
.portal-main-nav .nav-link:hover {
  color: #fff;
  background: rgba(120, 170, 255, 0.14);
  border: 1px solid rgba(160, 205, 255, 0.32);
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.2);
}
.portal-main-nav .nav-link.active {
  color: #fff;
  background: linear-gradient(180deg, rgba(255, 255, 255, .11) 0%, rgba(255, 255, 255, .05) 100%);
  border: 1px solid rgba(255, 255, 255, .14);
  box-shadow: 0 10px 24px rgba(0,0,0,.18), inset 0 1px 0 rgba(255,255,255,.08);
}
.portal-nav-right {
  justify-content: flex-end;
}
.portal-nav-status {
  gap: .6rem;
  margin-right: .25rem;
}
.portal-status-pill {
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  padding: .55rem .8rem;
  background: rgba(255,255,255,.045);
  border: 1px solid rgba(255,255,255,.08);
  color: #dce8ff;
  font-size: .84rem;
}
.portal-status-pill--success {
  background: linear-gradient(180deg, rgba(25, 135, 84, 0.38), rgba(25, 135, 84, 0.18));
  border: 1px solid rgba(95, 214, 145, 0.55);
  color: #f0fff5;
  font-weight: 700;
  box-shadow: 0 0 0 1px rgba(25, 135, 84, 0.12), 0 8px 22px rgba(25, 135, 84, 0.15);
}
.portal-status-pill--success i {
  color: #b8f5cf;
}
.portal-status-pill--neutral {
  background: rgba(255, 255, 255, 0.06);
  border: 1px dashed rgba(255, 255, 255, 0.22);
  color: #c8d8f0;
  font-weight: 600;
}
.portal-login-btn {
  padding: .72rem 1rem;
  border-radius: 999px;
  font-weight: 700;
}
.portal-user-menu {
  display: inline-flex;
  align-items: center;
  gap: .8rem;
  background: rgba(255,255,255,.05);
  border: 1px solid rgba(255,255,255,.10);
  color: #eef4ff;
  border-radius: 1rem;
  padding: .45rem .8rem .45rem .45rem;
  min-width: 14rem;
}
.portal-user-menu:hover,
.portal-user-menu:focus {
  background: rgba(255,255,255,.08);
  color: #fff;
}
.portal-user-avatar {
  width: 2.25rem;
  height: 2.25rem;
  border-radius: 50%;
  object-fit: cover;
  border: 1px solid rgba(255,255,255,.12);
}
.portal-user-avatar-fallback {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(255, 255, 255, .1);
  color: #fff;
}
.portal-user-copy {
  display: inline-flex;
  flex-direction: column;
  align-items: flex-start;
  line-height: 1.1;
}
.portal-user-name {
  font-weight: 700;
  color: #fff;
}
.portal-user-role {
  font-size: .76rem;
  color: #9fb5d9;
}
.portal-user-dropdown {
  min-width: 16rem;
  border-radius: 1rem;
  background: rgba(7,12,23,.96);
  border: 1px solid rgba(255,255,255,.08);
  box-shadow: 0 20px 40px rgba(0,0,0,.35);
}
.portal-user-dropdown .dropdown-item {
  color: #dce7ff;
  border-radius: .8rem;
}
.portal-user-dropdown .dropdown-item:hover {
  color: #fff;
  background: rgba(255, 255, 255, .1);
}
.portal-nav-toggle.navbar-toggler {
  border-color: rgba(255,255,255,.14);
  box-shadow: none;
}
.portal-nav-toggle .navbar-toggler-icon {
  filter: invert(1);
}

.page-hero {
  position: relative;
  overflow: hidden;
  padding: 2.2rem;
  border-radius: 1.6rem;
  border: 1px solid rgba(255,255,255,.10);
  background:
    radial-gradient(circle at top right, rgba(255, 255, 255, .05), transparent 32%),
    linear-gradient(180deg, rgba(11,18,31,.92) 0%, rgba(11,18,31,.78) 100%);
  box-shadow: 0 18px 38px rgba(0,0,0,.24);
}
.page-hero-copy { max-width: 54rem; }
.hero-kicker {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  font-size: .78rem;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: #b5c6e6;
  margin-bottom: .95rem;
  font-weight: 700;
}
.page-hero-title {
  font-size: clamp(1.7rem, 2vw, 2.5rem);
  font-weight: 800;
  color: #fff;
  margin-bottom: .7rem;
}
.page-hero-text {
  color: #c8d6f2;
  max-width: 48rem;
  margin-bottom: 0;
}
.page-hero-meta {
  display: flex;
  flex-wrap: wrap;
  gap: .75rem;
  margin-top: 1.15rem;
}
.page-hero-chip {
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  padding: .7rem .95rem;
  color: #eef4ff;
  background: rgba(255,255,255,.045);
  border: 1px solid rgba(255,255,255,.10);
}

.page-hero-chip.page-hero-chip--success {
  background: linear-gradient(180deg, rgba(25, 135, 84, 0.28), rgba(25, 135, 84, 0.12));
  border-color: rgba(72, 199, 116, 0.55);
  color: #f2fff7;
  box-shadow: 0 0 0 1px rgba(25, 135, 84, 0.15), 0 10px 26px rgba(0, 0, 0, 0.22);
}

.page-hero-chip.page-hero-chip--success i {
  color: #9ff0c2;
}

.admin-layout {
  display: grid;
  grid-template-columns: minmax(250px, 290px) minmax(0, 1fr);
  gap: 1.25rem;
  align-items: start;
}
.admin-sidebar-shell {
  position: sticky;
  top: 5.5rem;
}
.admin-sidebar-card {
  border-radius: 1.35rem;
}
.admin-sidebar-header {
  padding-bottom: .95rem;
  margin-bottom: .95rem;
  border-bottom: 1px solid rgba(255,255,255,.08);
}
.admin-sidebar-kicker {
  font-size: .74rem;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: #8eb6ff;
  margin-bottom: .3rem;
  font-weight: 700;
}
.admin-sidebar-title {
  font-weight: 800;
  color: #fff;
  margin-bottom: .2rem;
}
.admin-sidebar-tabs {
  gap: .4rem;
}
.admin-sidebar-tabs .nav-link {
  width: 100%;
  text-align: left;
  display: flex;
  align-items: center;
  padding: .85rem .95rem;
  border-radius: 1rem;
  margin-right: 0;
}
.admin-content-shell > .admin-tab-panel {
  margin-bottom: 1rem;
}
.admin-content-shell > .admin-tab-panel:last-child {
  margin-bottom: 0;
}
.shop-server-tabs .nav-link {
  padding: .72rem 1rem;
  font-weight: 600;
}
.profile-stat-card {
  background: rgba(255,255,255,.045);
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 1rem;
  padding: .9rem 1rem;
}
.portal-footer-copy {
  color: #d9e6ff;
}

@media (max-width: 991.98px) {
  .portal-main-nav {
    margin-top: .85rem;
  }
  .portal-nav-right {
    align-items: stretch !important;
  }
  .portal-nav-status {
    display: none !important;
  }
  .portal-user-menu,
  .portal-login-btn {
    width: 100%;
    justify-content: center;
  }
  .admin-layout {
    grid-template-columns: 1fr;
  }
  .admin-sidebar-shell {
    position: static;
  }
}


.home-section-card {
  padding: 2.1rem 2.2rem;
  border-radius: 1.75rem;
  border: 1px solid rgba(255, 255, 255, .1);
  background:
    linear-gradient(135deg, rgba(255, 255, 255, .04), rgba(18, 18, 20, .08)),
    linear-gradient(180deg, rgba(24, 24, 26, .94), rgba(12, 12, 14, .9));
  box-shadow: var(--portal-shadow);
}

.home-section-card-server {
  background:
    linear-gradient(135deg, rgba(255, 255, 255, .035), rgba(16, 16, 18, .08)),
    linear-gradient(180deg, rgba(22, 22, 24, .95), rgba(12, 12, 14, .92));
}

.home-section-head {
  max-width: 60rem;
}

.home-section-title {
  margin: 0 0 .9rem;
  color: var(--portal-text);
  font-size: clamp(1.8rem, 2vw, 2.6rem);
  font-weight: 800;
  line-height: 1.08;
}

.home-section-text {
  margin: 0;
  color: var(--portal-text-soft);
  font-size: 1.02rem;
  max-width: 60ch;
}

.home-side-panel {
  position: sticky;
  top: 96px;
  border-radius: 1.5rem;
}

.package-card-home {
  min-height: 100%;
}

.home-server-card {
  border-radius: 1.4rem;
  min-height: 100%;
}

.home-server-card .server-row:last-child {
  border-bottom: 0;
}

@media (max-width: 1199.98px) {
  .home-side-panel {
    position: static;
  }
}

@media (max-width: 991.98px) {
  .home-section-card {
    padding: 1.6rem 1.25rem;
    border-radius: 1.35rem;
  }
}


/* layout update */
.portal-nav-modern {
  position: sticky;
  top: 0;
  z-index: 1080;
  overflow: visible;
}
.portal-nav-modern .container,
.portal-nav-inner,
.portal-nav-right,
.portal-nav-modern .dropdown {
  position: relative;
  overflow: visible;
}
.portal-nav-modern .navbar-collapse {
  overflow: visible;
}
.portal-nav-art {
  position: absolute;
  top: 0;
  bottom: 0;
  width: clamp(160px, 18vw, 300px);
  pointer-events: none;
  opacity: .72;
  z-index: 0;
  display: flex;
  align-items: center;
}
.portal-nav-art img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  filter: saturate(1.05) drop-shadow(0 10px 22px rgba(0,0,0,.18));
  opacity: .72;
}
.portal-nav-art-left { left: 0; justify-content: flex-start; }
.portal-nav-art-right { right: 0; justify-content: flex-end; }
.portal-nav-inner > * { position: relative; z-index: 1; }
.portal-main-nav .nav-link {
  position: relative;
  border: 1px solid transparent;
}
.portal-main-nav .nav-link.active {
  transform: translateY(-1px);
  background: linear-gradient(180deg, rgba(255, 255, 255, .11) 0%, rgba(255, 255, 255, .05) 100%);
  border-color: rgba(255, 255, 255, .16);
  box-shadow: 0 12px 30px rgba(0,0,0,.20), inset 0 1px 0 rgba(255,255,255,.08);
}
.portal-main-nav .nav-link.active::after {
  content: '';
  position: absolute;
  left: 14px;
  right: 14px;
  bottom: 7px;
  height: 2px;
  border-radius: 999px;
  background: linear-gradient(90deg, rgba(255,255,255,.0), rgba(255,255,255,.9), rgba(255,255,255,.0));
}
.portal-user-menu {
  position: relative;
  z-index: 1090;
}
.portal-user-dropdown {
  z-index: 1100;
  margin-top: .6rem !important;
}
.dropdown-menu.portal-user-dropdown.show {
  display: block;
}
.portal-footer-shell {
  padding: 0;
  background: transparent;
  border: 0;
  box-shadow: none;
  backdrop-filter: none;
}
.portal-footer-content {
  padding: 0.25rem 0 0;
}
.admin-sidebar-tabs .nav-link {
  border: 1px solid rgba(255,255,255,.06);
  background: rgba(255,255,255,.028);
  color: #dce7ff;
  transition: all .18s ease;
}
.admin-sidebar-tabs .nav-link:hover {
  color: #fff;
  background: rgba(255,255,255,.055);
  border-color: rgba(255, 255, 255, .12);
}
.admin-sidebar-tabs .nav-link.active {
  color: #fff;
  background: linear-gradient(180deg, rgba(255, 255, 255, .10) 0%, rgba(255, 255, 255, .05) 100%);
  border-color: rgba(255, 255, 255, .14);
  box-shadow: 0 12px 26px rgba(0,0,0,.18), inset 0 1px 0 rgba(255,255,255,.08);
}
@media (max-width: 991.98px) {
  .portal-nav-art {
    display: none;
  }
}

/* layout update */
.portal-nav-modern {
  z-index: 1400;
  isolation: isolate;
}
.portal-nav-modern .navbar-collapse {
  position: relative;
  z-index: 1410;
}
.portal-nav-right,
.portal-nav-modern .dropdown,
.portal-user-menu,
.portal-user-dropdown {
  z-index: 1420;
}
.portal-user-dropdown {
  min-width: 17rem;
}

.admin-subtabs-wrap {
  overflow-x: auto;
  overflow-y: visible;
  padding-bottom: .35rem;
}
.admin-subtabs {
  display: flex;
  flex-wrap: nowrap;
  gap: .6rem;
}
.admin-subtabs .nav-item {
  flex: 0 0 auto;
}
.admin-subtabs .nav-link {
  white-space: nowrap;
  border-radius: 999px;
  padding: .75rem 1rem;
  border: 1px solid rgba(255,255,255,.08);
  background: rgba(255,255,255,.035);
  color: #dce7ff;
}
.admin-subtabs .nav-link:hover {
  color: #fff;
  background: rgba(255,255,255,.06);
  border-color: rgba(120,170,255,.24);
}
.admin-subtabs .nav-link.active {
  color: #fff;
  background: linear-gradient(180deg, rgba(255, 255, 255, .10) 0%, rgba(255, 255, 255, .05) 100%);
  border-color: rgba(255, 255, 255, .16);
  box-shadow: 0 10px 24px rgba(0,0,0,.18);
}
.admin-wide-scroll {
  overflow-x: auto;
}
.admin-wide-scroll table {
  min-width: 980px;
}
.server-admin-card {
  height: 100%;
  border-radius: 1.35rem;
  padding: 1.15rem 1.2rem;
  border: 1px solid rgba(255, 255, 255, 0.1);
  background: linear-gradient(180deg, rgba(22, 28, 38, 0.95), rgba(14, 18, 26, 0.92));
  box-shadow: var(--portal-shadow);
}
.server-admin-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .7rem .9rem;
}

.server-admin-card .server-admin-grid .server-row:last-child {
  border-bottom: 1px solid rgba(255, 255, 255, .10);
  padding-bottom: .2rem;
}
.portal-log-tail {
  white-space: pre-wrap;
  word-break: break-word;
  max-height: 28rem;
  overflow: auto;
  border-radius: 1rem;
  padding: 1rem;
  background: rgba(7,12,23,.84);
  border: 1px solid rgba(255,255,255,.08);
  color: #dce7ff;
}
.ulx-flow-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .85rem;
}
.ulx-flow-card {
  display: flex;
  flex-direction: column;
  gap: .45rem;
  padding: 1rem;
  border-radius: 1rem;
  border: 1px solid rgba(255,255,255,.08);
  background: rgba(255,255,255,.04);
  color: #dce7ff;
}
.home-section-card > .row {
  align-items: stretch !important;
}
.home-section-card .col-xl-8,
.home-section-card .col-xl-4 {
  display: flex;
  flex-direction: column;
}
.home-side-panel {
  min-height: 100%;
}
.portal-footer-shell {
  padding: 1.35rem 1.45rem;
  border-radius: 1.6rem;
  border: 1px solid rgba(157,185,255,.14);
  background: linear-gradient(180deg, rgba(11,18,31,.92), rgba(8,14,26,.95));
  box-shadow: var(--portal-shadow);
}
.portal-footer-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) repeat(2, minmax(0, .9fr));
  gap: 1.2rem;
}
.portal-footer-eyebrow {
  color: #8eb6ff;
  font-size: .78rem;
  text-transform: uppercase;
  letter-spacing: .12em;
  font-weight: 700;
  margin-bottom: .4rem;
}
.portal-footer-title {
  color: #fff;
  margin-bottom: .5rem;
  font-weight: 800;
}
.portal-footer-text,
.portal-footer-block-title,
.portal-footer-status-row,
.portal-footer-link-list a,
.portal-footer-copy {
  color: #dce7ff;
}
.portal-footer-text {
  margin: 0;
  max-width: 42rem;
}
.portal-footer-block {
  padding: .35rem 0;
}
.portal-footer-block-title {
  font-size: .84rem;
  text-transform: uppercase;
  letter-spacing: .08em;
  font-weight: 700;
  margin-bottom: .8rem;
  color: #8eb6ff;
}
.portal-footer-link-list {
  display: flex;
  flex-direction: column;
  gap: .5rem;
}
.portal-footer-link-list a {
  text-decoration: none;
}
.portal-footer-status-row {
  display: flex;
  flex-direction: column;
  gap: .45rem;
  font-size: .94rem;
}
.portal-footer-bottom {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  border-top: 1px solid rgba(255,255,255,.08);
  margin-top: 1rem;
  padding-top: 1rem;
}
@media (max-width: 1199.98px) {
  .portal-footer-grid {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 991.98px) {
  .server-admin-grid,
  .ulx-flow-grid,
  .portal-footer-bottom {
    grid-template-columns: 1fr;
    flex-direction: column;
  }
  .portal-user-dropdown {
    position: absolute;
    right: 0;
    left: auto;
  }
}


/* layout update */
.admin-content-shell,
.dashboard-sidebar,
.dashboard-sidebar-stack {
  min-height: 100%;
}

.dashboard-sidebar-stack,
.admin-content-shell {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

#spa-root > .row.g-4,
.home-section-card .row.g-4,
.page-hero + .row.g-4 {
  align-items: stretch;
}

.dashboard-sidebar .glass-card,
.dashboard-sidebar .glass-subcard,
.admin-content-shell > .admin-tab-panel,
.admin-content-shell > .card,
.admin-content-shell > .glass-card {
  height: 100%;
}

.admin-content-shell {
  min-width: 0;
}

.admin-wide-scroll {
  overflow-x: auto;
}

.admin-sidebar-card {
  max-height: calc(100vh - 7rem);
  overflow: auto;
}

.home-side-panel {
  min-height: 100%;
}


/* fix10 mobile dropdown + refresh layering */
.portal-nav-modern,
.portal-nav-modern .container,
.portal-nav-inner,
.portal-nav-modern .navbar-collapse,
.portal-nav-right,
.portal-nav-modern .dropdown {
  overflow: visible !important;
}

.dropdown-menu.portal-user-dropdown.show {
  position: fixed !important;
  top: var(--portal-user-dropdown-top, 88px) !important;
  left: var(--portal-user-dropdown-left, auto) !important;
  right: auto !important;
  min-width: var(--portal-user-dropdown-width, 17rem) !important;
  width: var(--portal-user-dropdown-width, auto) !important;
  z-index: 5000 !important;
}

.portal-user-menu,
.portal-user-dropdown,
.dropdown-menu.portal-user-dropdown.show {
  isolation: isolate;
}

.package-server-card{border:1px solid rgba(255,255,255,.08);border-radius:18px;padding:14px;background:rgba(255,255,255,.02)}
.package-server-detail{padding-top:8px}


/* fix13 shop + modal cleanup */
.admin-card-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
  gap: 1rem;
}

.admin-package-grid {
  grid-template-columns: repeat(auto-fit, minmax(340px, 1fr));
}

.admin-role-grid {
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
}

.admin-entity-card {
  padding: 1.15rem;
  border-radius: 1.15rem;
  border: 1px solid rgba(255,255,255,.09);
  background: linear-gradient(180deg, rgba(28, 28, 30, .92) 0%, rgba(16, 16, 18, .86) 100%);
  box-shadow: var(--portal-shadow);
  min-width: 0;
}

.admin-entity-price {
  font-size: 1.45rem;
  font-weight: 800;
  color: #fff;
}

.admin-badge-row,
.admin-info-list {
  display: flex;
  flex-wrap: wrap;
  gap: .45rem;
}

.admin-info-pill {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  padding: .45rem .75rem;
  border-radius: 999px;
  background: rgba(255,255,255,.05);
  border: 1px solid rgba(255,255,255,.08);
  color: #dbe7ff;
  font-size: .84rem;
}

.admin-feature-list {
  display: grid;
  gap: .45rem;
}

.admin-feature-line {
  display: flex;
  align-items: flex-start;
  gap: .55rem;
  color: #dbe7ff;
  font-size: .92rem;
}

.admin-feature-line i {
  color: #8fc2ff;
  margin-top: .1rem;
}

.admin-inline-note,
.admin-empty-state {
  padding: .9rem 1rem;
  border-radius: 1rem;
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.08);
  color: #dbe7ff;
}

.package-server-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: .85rem;
}

.portal-modal .modal-dialog {
  --bs-modal-width: min(1140px, calc(100vw - 2rem));
}

.glass-modal-content {
  background: linear-gradient(180deg, rgba(14, 22, 40, .98) 0%, rgba(8, 13, 25, .98) 100%);
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 1.35rem;
  box-shadow: 0 25px 70px rgba(0,0,0,.45);
  color: #eef4ff;
}

.glass-modal-content .modal-header,
.glass-modal-content .modal-footer {
  background: transparent;
}

.order-table-responsive {
  max-height: 60rem;
}

.admin-order-table td,
.admin-order-table th {
  vertical-align: top;
}

.package-mini {
  display: flex;
  flex-direction: column;
  gap: .5rem;
}

.package-mini .buy-btn {
  margin-top: auto !important;
}

@media (max-width: 991.98px) {
  .admin-entity-card {
    padding: 1rem;
  }

  .portal-modal .modal-dialog {
    --bs-modal-width: calc(100vw - 1rem);
    margin: .5rem auto;
  }
}


/* fix19 frontend cleanup: consolidated layering, modal, dropdown, toast and profile overflow */
:root {
  --portal-layer-content: 1;
  --portal-layer-footer: 5;
  --portal-layer-nav: 2000;
  --portal-layer-dropdown: 22500;
  --portal-layer-backdrop: 22600;
  --portal-layer-modal: 22700;
  --portal-layer-toast: 23050;
}

body.portal-body {
  font-family: 'Inter', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  isolation: isolate;
  overflow-x: hidden;
}

html,
body.portal-body {
  min-height: 100%;
}

.search-control-compact {
  max-width: 320px;
}

.admin-overview-cards .glass-card,
.home-section-card .card,
.home-section-card .glass-subcard,
.dashboard-shell-grid .glass-card {
  min-height: 100%;
}

.package-server-detail.d-none {
  display: none !important;
}

.package-server-detail:not(.d-none) {
  display: block !important;
}

#admin-discord .viewer-panel,
.viewer-panel {
  min-height: 100%;
  border-radius: 1.15rem;
  padding: 1rem;
  background: linear-gradient(180deg, rgba(28, 28, 30, .82), rgba(18, 18, 20, .72));
  border: 1px solid rgba(255,255,255,.08);
}

.viewer-list {
  display: grid;
  gap: .65rem;
}

.viewer-item {
  padding: .75rem .85rem;
  border-radius: .9rem;
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.08);
}

@media (min-width: 1200px) {
  .admin-layout {
    grid-template-columns: minmax(260px, 300px) minmax(0, 1fr);
  }
}

.portal-nav-modern,
.portal-nav-modern .container,
.portal-nav-inner,
.portal-nav-modern .navbar-collapse,
.portal-nav-right,
.portal-nav-modern .dropdown {
  overflow: visible !important;
}

.portal-nav-modern,
.portal-nav,
.portal-nav-inner,
.portal-nav-right,
.portal-user-menu,
.dropdown {
  position: relative;
  z-index: var(--portal-layer-nav) !important;
}

.dropdown-menu.portal-user-dropdown.show {
  position: fixed !important;
  top: var(--portal-user-dropdown-top, 72px) !important;
  left: var(--portal-user-dropdown-left, 12px) !important;
  right: auto !important;
  min-width: var(--portal-user-dropdown-width, 17rem) !important;
  width: var(--portal-user-dropdown-width, 272px) !important;
  max-width: min(92vw, 360px);
  z-index: var(--portal-layer-dropdown) !important;
}

.portal-user-menu,
.portal-user-dropdown,
.dropdown-menu.portal-user-dropdown.show,
#portalToastWrap {
  isolation: isolate;
}

footer.container,
.portal-footer-shell,
.portal-footer-grid,
.portal-footer-bottom,
.page-hero,
.glass-card,
.glass-subcard,
.admin-entity-card,
.home-section-card {
  position: relative;
  z-index: var(--portal-layer-content) !important;
}

footer.container,
.portal-footer-shell,
.portal-footer-grid,
.portal-footer-bottom {
  z-index: var(--portal-layer-footer) !important;
}

.admin-card-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
  gap: 1rem;
}

.admin-package-grid {
  grid-template-columns: repeat(auto-fit, minmax(340px, 1fr));
}

.admin-role-grid {
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
}

.admin-entity-card {
  padding: 1.15rem;
  border-radius: 1.15rem;
  border: 1px solid rgba(255,255,255,.09);
  background: linear-gradient(180deg, rgba(28, 28, 30, .92) 0%, rgba(16, 16, 18, .86) 100%);
  box-shadow: var(--portal-shadow);
  min-width: 0;
}

.admin-entity-price {
  font-size: 1.45rem;
  font-weight: 800;
  color: #fff;
}

.admin-badge-row,
.admin-info-list {
  display: flex;
  flex-wrap: wrap;
  gap: .45rem;
}

.admin-info-pill {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  padding: .45rem .75rem;
  border-radius: 999px;
  background: rgba(255,255,255,.05);
  border: 1px solid rgba(255,255,255,.08);
  color: #dbe7ff;
  font-size: .84rem;
}

.admin-feature-list {
  display: grid;
  gap: .45rem;
}

.admin-feature-line {
  display: flex;
  align-items: flex-start;
  gap: .55rem;
  color: #dbe7ff;
  font-size: .92rem;
}

.admin-feature-line i {
  color: #8fc2ff;
  margin-top: .1rem;
}

.admin-inline-note,
.admin-empty-state {
  padding: .9rem 1rem;
  border-radius: 1rem;
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.08);
  color: #dbe7ff;
}

.package-server-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: .85rem;
}

.portal-modal {
  position: fixed !important;
  inset: 0 !important;
  display: none !important;
  width: 100vw !important;
  height: 100dvh !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  overscroll-behavior: contain;
  padding: clamp(.6rem, 2vh, 1.1rem);
  z-index: var(--portal-layer-modal) !important;
}

.portal-modal.show {
  display: block !important;
}

.portal-modal:not(.show) {
  pointer-events: none !important;
}

.portal-modal .modal-dialog {
  --bs-modal-width: min(1140px, calc(100vw - 2rem));
  width: min(1140px, calc(100vw - 2rem));
  max-width: min(1140px, calc(100vw - 2rem));
  margin: clamp(.4rem, 2vh, 1rem) auto !important;
  min-height: calc(100dvh - clamp(1.2rem, 4vh, 2.2rem));
  display: flex;
  align-items: flex-start;
  pointer-events: none;
}

.glass-modal-content,
.portal-modal .modal-content {
  width: 100%;
  max-height: calc(100dvh - clamp(1.2rem, 4vh, 2.2rem));
  overflow: hidden;
  pointer-events: auto;
  background: linear-gradient(180deg, rgba(14, 22, 40, .98) 0%, rgba(8, 13, 25, .98) 100%);
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 1.35rem;
  box-shadow: 0 25px 70px rgba(0,0,0,.45);
  color: #eef4ff;
}

.portal-modal .modal-header,
.portal-modal .modal-footer,
.glass-modal-content .modal-header,
.glass-modal-content .modal-footer {
  position: sticky;
  z-index: 2;
  background: linear-gradient(180deg, rgba(14, 22, 40, .98) 0%, rgba(8, 13, 25, .98) 100%);
}

.portal-modal .modal-header,
.glass-modal-content .modal-header {
  top: 0;
}

.portal-modal .modal-footer,
.glass-modal-content .modal-footer {
  bottom: 0;
}

.portal-modal .modal-body {
  overflow: auto;
}

.modal-backdrop,
.modal-backdrop.show {
  z-index: var(--portal-layer-backdrop) !important;
  opacity: .72;
}

#portalToastWrap,
.toast-container,
.toast-container.position-fixed {
  position: fixed !important;
  top: 0 !important;
  right: 0 !important;
  z-index: var(--portal-layer-toast) !important;
  pointer-events: none;
}

#portalToastWrap .toast,
.toast-container .toast,
#portalToastWrap .alert,
.portal-inline-message-success,
.portal-inline-message-error,
.alert-success,
.alert-danger {
  position: relative;
  z-index: calc(var(--portal-layer-toast) + 10) !important;
  pointer-events: auto;
}

#portalToastWrap .toast.text-bg-success,
#portalToastWrap .toast.text-bg-danger,
.toast-container .toast.text-bg-success,
.toast-container .toast.text-bg-danger {
  box-shadow: 0 20px 50px rgba(0,0,0,.38), 0 0 0 1px rgba(255,255,255,.08) inset;
}

.order-table-responsive {
  max-height: 60rem;
}

.admin-order-table td,
.admin-order-table th {
  vertical-align: top;
}

.package-mini {
  display: flex;
  flex-direction: column;
  gap: .5rem;
}

.package-mini .buy-btn {
  margin-top: auto !important;
}

.profile-stat-card,
.profile-summary-card,
.profile-name-wrap,
.profile-copy-wrap,
.profile-bundle-badge,
.profile-bundle-badge .badge,
.profile-stat-card .fw-semibold,
.profile-stat-card .small,
.profile-stat-card .text-readable,
.profile-stat-card .text-readable-soft {
  overflow-wrap: anywhere;
  word-break: break-word;
}

.profile-bundle-badge {
  display: inline-flex;
  max-width: 100%;
  white-space: normal;
}

@media (max-width: 991.98px) {
  .admin-entity-card {
    padding: 1rem;
  }

  .portal-modal {
    padding: .5rem;
  }

  .portal-modal .modal-dialog {
    --bs-modal-width: calc(100vw - 1rem);
    width: calc(100vw - 1rem);
    max-width: calc(100vw - 1rem);
    min-height: calc(100dvh - 1rem);
    margin: .5rem auto !important;
  }

  .portal-modal .modal-content,
  .glass-modal-content {
    max-height: calc(100dvh - 1rem);
    border-radius: 1rem;
  }
}

.form-control:disabled,
.form-control[readonly],
.form-select:disabled {
  background: rgba(5, 8, 22, .82);
  color: #eef4ff;
  opacity: 1;
  -webkit-text-fill-color: #eef4ff;
}

.package-key-input:disabled {
  background: rgba(5, 8, 22, .96);
  border-color: rgba(157,185,255,.18);
}

.admin-help-trigger {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.35rem;
  height: 1.35rem;
  padding: 0;
  border: 0;
  border-radius: 999px;
  background: rgba(255,255,255,.06);
  color: #9fc0ff;
  box-shadow: none;
}

.admin-help-trigger:hover {
  background: rgba(255, 255, 255, .1);
  color: #fff;
  transform: none;
}

.tooltip-inner {
  max-width: 320px;
  text-align: left;
  background: rgba(5, 8, 22, .96);
  border: 1px solid rgba(157,185,255,.18);
}


.admin-overview-server-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
  gap: 1rem;
}

.admin-overview-server-card {
  min-width: 0;
  padding: 1rem;
  border-radius: 1.15rem;
  border: 1px solid rgba(255,255,255,.08);
  background: linear-gradient(180deg, rgba(28, 28, 30, .92) 0%, rgba(16, 16, 18, .86) 100%);
  box-shadow: var(--portal-shadow);
}

.admin-overview-server-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: .75rem;
  margin-bottom: .9rem;
}

.admin-overview-server-title-wrap {
  min-width: 0;
}

.admin-overview-server-name {
  font-size: 1.05rem;
  font-weight: 800;
  line-height: 1.2;
  color: #f5f8ff;
}

.admin-overview-server-address {
  margin-top: .28rem;
  color: rgba(219,231,255,.72);
  font-size: .84rem;
  word-break: break-word;
}

.admin-overview-server-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: .28rem .62rem;
  border-radius: 999px;
  font-size: .72rem;
  font-weight: 700;
  white-space: nowrap;
  border: 1px solid rgba(255,255,255,.08);
}

.admin-overview-server-badge.is-online {
  background: rgba(33, 170, 103, .22);
  color: #bdf8d1;
}

.admin-overview-server-badge.is-offline {
  background: rgba(255, 95, 95, .16);
  color: #ffc0c0;
}

.admin-overview-server-body {
  display: grid;
  gap: .8rem;
}

.admin-overview-stat-row {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .7rem;
}

.admin-overview-stat-box {
  min-width: 0;
  padding: .78rem .82rem;
  border-radius: .95rem;
  background: rgba(255,255,255,.035);
  border: 1px solid rgba(255,255,255,.06);
}

.admin-overview-stat-box span {
  display: block;
  margin-bottom: .28rem;
  color: rgba(219,231,255,.7);
  font-size: .76rem;
  text-transform: uppercase;
  letter-spacing: .03em;
}

.admin-overview-stat-box strong {
  display: block;
  min-width: 0;
  font-size: 1rem;
  color: #f5f8ff;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.admin-overview-server-meta {
  display: flex;
  flex-wrap: wrap;
  gap: .55rem;
  padding-top: .75rem;
  margin-top: .1rem;
  border-top: 1px solid rgba(255, 255, 255, .10);
}

.admin-overview-meta-pill {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  padding: .42rem .7rem;
  border-radius: 999px;
  background: rgba(255,255,255,.045);
  border: 1px solid rgba(255,255,255,.07);
  color: #dbe7ff;
  font-size: .78rem;
}

.admin-overview-meta-pill strong {
  color: #fff;
}

@media (max-width: 991.98px) {
  .admin-overview-server-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 767.98px) {
  .admin-overview-server-card {
    padding: .9rem;
    border-radius: 1rem;
  }

  .admin-overview-server-head {
    gap: .55rem;
  }

  .admin-overview-server-name {
    font-size: 1rem;
  }

  .admin-overview-stat-row {
    grid-template-columns: 1fr;
    gap: .55rem;
  }

  .admin-overview-stat-box {
    padding: .72rem .76rem;
  }

  .admin-overview-stat-box strong {
    white-space: normal;
    overflow: visible;
    text-overflow: unset;
    word-break: break-word;
  }
}


/* 4.1.0 UX + Monetization Upgrade */

.home-hero-upgrade { overflow: hidden; }
.hero-feature-grid-upgrade { grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); }
.hero-side-card-upgrade { position: relative; }
.bundle-spotlight-card { padding: 1rem 1.1rem; border-radius: 1rem; background: rgba(255,255,255,0.05); border: 1px solid rgba(255,255,255,0.08); }
.bundle-spotlight-title { font-size: 1.15rem; font-weight: 700; color: #fff; margin-bottom: .25rem; }
.bundle-spotlight-price { font-size: 1.5rem; font-weight: 800; color: #fff; }
.bundle-compare-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 1rem; }
.bundle-compare-card { display: flex; flex-direction: column; padding: 1.35rem; border-radius: 1.25rem; background: linear-gradient(180deg, rgba(28,28,30,.96), rgba(16,16,18,.94)); border: 1px solid rgba(255,255,255,.08); box-shadow: 0 18px 40px rgba(0,0,0,.24); }
.bundle-compare-card.recommended { transform: translateY(-4px); border-color: rgba(255,214,102,.5); box-shadow: 0 20px 48px rgba(0,0,0,.32); }
.bundle-compare-topline, .bundle-card-header-row { display:flex; align-items:center; justify-content:space-between; gap:.75rem; margin-bottom: .85rem; }
.bundle-badge { display:inline-flex; align-items:center; border-radius:999px; background: rgba(255,255,255,.08); color:#fff; font-size:.72rem; font-weight:700; letter-spacing:.02em; text-transform:uppercase; padding:.38rem .7rem; }
.bundle-badge-gold { background: rgba(255,214,102,.2); color:#ffd666; }
.bundle-badge-muted { background: rgba(255,255,255,.08); color:#d9e4ff; }
.bundle-type-pill { display:inline-flex; align-items:center; border-radius:999px; border:1px solid rgba(255,255,255,.09); color:#b9c8ec; font-size:.74rem; padding:.35rem .7rem; }
.bundle-compare-title { font-size:1.25rem; font-weight:800; margin-bottom:.45rem; color:#fff; }
.bundle-compare-copy { color:#b7c4de; min-height:3rem; margin-bottom:.8rem; }
.bundle-compare-price { font-size:2rem; line-height:1; font-weight:800; color:#fff; }
.bundle-compare-duration { color:#aebbd5; margin-top:.35rem; }
.section-divider-title { display:flex; align-items:center; gap:1rem; margin: 1.2rem 0 1rem; color:#e6eeff; font-weight:700; }
.section-divider-title::before, .section-divider-title::after { content:''; flex:1; height:1px; background: rgba(255,255,255,.08); }
.bundle-grid-upgrade { margin-top: 0; }
.bundle-card-upgrade { display:flex; flex-direction:column; border-radius: 1.25rem; }
.bundle-card-premium { border-color: rgba(255,214,102,.28); }
.bundle-card-footer-copy { color:#9fb0d1; font-size:.9rem; }
.buy-btn-upgrade { min-height: 48px; font-weight: 700; }
.buy-btn-upgrade.is-loading { pointer-events:none; opacity:.92; }
.buy-btn-upgrade.is-loading::before { content:''; width:16px; height:16px; border:2px solid rgba(255,255,255,.3); border-top-color:#fff; border-radius:50%; display:inline-block; margin-right:.55rem; vertical-align:-2px; animation: portalSpin .8s linear infinite; }
@keyframes portalSpin { to { transform: rotate(360deg); } }
.server-card-pill-row { display:flex; flex-wrap:wrap; gap:.5rem; }
.server-card-pill { display:inline-flex; align-items:center; gap:.3rem; border-radius:999px; background: rgba(255,255,255,.06); color:#dce7ff; padding:.35rem .7rem; font-size:.82rem; }
.home-server-card-upgrade { border-radius: 1.15rem; }
.dashboard-upgrade-hero { margin-bottom: 1.4rem; }
.section-eyebrow { color:#92a8d7; text-transform: uppercase; letter-spacing: .08em; font-size: .72rem; font-weight: 700; }
.entitlement-list { display:grid; gap:.8rem; }
.entitlement-card { padding: .95rem 1rem; border-radius: 1rem; background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.08); }
.entitlement-card.tone-success { border-color: rgba(25,135,84,.36); }
.entitlement-card.tone-warning { border-color: rgba(255,193,7,.34); }
.entitlement-card.tone-info { border-color: rgba(13,202,240,.24); }
.entitlement-topline { display:flex; justify-content:space-between; align-items:flex-start; gap:.75rem; }
.entitlement-meta-row { display:flex; flex-wrap:wrap; justify-content:space-between; gap:.6rem; color:#b4c3de; font-size:.85rem; }
.dashboard-upgrade-tabs .nav-link { min-height: 44px; }
.dashboard-upgrade-grid { display:grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap:1rem; }
.dashboard-focus-card { padding:1.15rem; border-radius:1rem; background: rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.08); }
.dashboard-stat-line { display:flex; align-items:center; justify-content:space-between; gap:.8rem; padding:.55rem 0; border-bottom:1px solid rgba(255,255,255,.06); }
.dashboard-stat-line:last-child { border-bottom:0; }
@media (max-width: 991.98px) {
  .bundle-compare-grid, .dashboard-upgrade-grid { grid-template-columns: 1fr; }
}
@media (max-width: 767.98px) {
  .bundle-compare-grid { gap: .85rem; }
  .bundle-compare-card, .bundle-card-upgrade, .dashboard-focus-card, .entitlement-card { border-radius: 1rem; }
  .buy-btn-upgrade { min-height: 52px; font-size: 1rem; }
  .sticky-buy-wrap { position: sticky; bottom: .75rem; z-index: 2; backdrop-filter: blur(10px); }
  .sticky-buy-wrap .btn { box-shadow: 0 12px 30px rgba(0,0,0,.24); }
  .page-hero-chip { width: 100%; justify-content: center; }
}


.community-compact-panel {
  overflow: hidden;
}

.compact-community-card {
  min-height: 100%;
}

.endless-card-box {
  min-height: 120px;
}

.portal-user-grid-card {
  display: flex;
  flex-direction: column;
  min-height: 100%;
  border-radius: 24px;
}

.portal-user-card-avatar {
  width: 56px;
  height: 56px;
  object-fit: cover;
  flex: 0 0 56px;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.24);
}

.portal-user-card-avatar-fallback {
  width: 56px;
  height: 56px;
  background: rgba(255, 255, 255, 0.08);
  color: rgba(255, 255, 255, 0.84);
  font-size: 1.25rem;
  flex: 0 0 56px;
}

.portal-user-role-stack {
  display: grid;
  gap: 10px;
}

.portal-user-role-line {
  display: flex;
  flex-direction: column;
  gap: 2px;
  padding: 10px 12px;
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.06);
}

.portal-user-role-server {
  font-size: 0.77rem;
  color: rgba(255, 255, 255, 0.6);
}

.portal-user-role-name {
  color: rgba(255, 255, 255, 0.94);
  font-weight: 600;
}

.portal-user-role-empty {
  padding: 12px 14px;
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.03);
  border: 1px dashed rgba(255, 255, 255, 0.1);
}

@media (max-width: 991.98px) {
  .community-compact-grid {
    --bs-gutter-y: 0.75rem;
  }
}


/* custom cleanup: removed decorative navbar banner art */
.portal-nav-art { display: none !important; }

/* admin top navigation */
.admin-topnav-shell {
  position: sticky;
  top: .75rem;
  z-index: 1038;
  margin-top: 0;
}
.admin-topnav-card {
  border-radius: 1.35rem;
  overflow: hidden;
}
.admin-topnav-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: .85rem;
}
.admin-topnav-tabs {
  flex-wrap: wrap;
  gap: .6rem;
  overflow: visible;
  padding-bottom: 0;
}
.admin-topnav-tabs .nav-item {
  flex: 0 0 auto;
}
.admin-topnav-tabs .nav-link {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  white-space: nowrap;
  min-height: 46px;
  padding: .8rem 1rem;
  border-radius: .95rem;
  border: 1px solid rgba(255,255,255,.06);
  background: rgba(255,255,255,.028);
  color: #dce7ff;
}
.admin-topnav-tabs .nav-link:hover {
  color: #fff;
  background: rgba(255,255,255,.055);
  border-color: rgba(120,170,255,.24);
}
.admin-topnav-tabs .nav-link.active {
  color: #fff;
  background: linear-gradient(180deg, rgba(58,134,255,.32) 0%, rgba(27,87,182,.22) 100%);
  border-color: rgba(120,170,255,.42);
  box-shadow: 0 12px 26px rgba(0,0,0,.18), inset 0 1px 0 rgba(255,255,255,.08);
}

/* compact users community area */
.users-stat-compact-card {
  border-radius: 1.15rem;
}
.users-stat-value {
  font-size: clamp(1.55rem, 1.8vw, 2rem);
  line-height: 1;
  font-weight: 800;
  color: #fff;
  margin-bottom: .35rem;
}
.users-stat-value-sm {
  font-size: 1.5rem;
}
.community-compact-panel {
  overflow: hidden;
}
.community-compact-topline {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
}
.community-compact-grid-tight .glass-subcard {
  min-height: 100%;
}
.compact-community-card {
  border-radius: 1rem;
}
.compact-community-card-main {
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.compact-community-card-mini {
  display: flex;
  flex-direction: column;
  justify-content: center;
}
@media (max-width: 991.98px) {
  .admin-topnav-shell {
    top: .5rem;
  }
  .admin-topnav-head {
    align-items: flex-start;
    flex-direction: column;
    margin-bottom: .65rem;
  }
}
@media (max-width: 767.98px) {
  .users-stat-value {
    font-size: 1.45rem;
  }
  .community-compact-topline {
    align-items: flex-start;
    flex-direction: column;
  }
}

/* patch: wider portal layout and tighter admin spacing */
@media (min-width: 1200px) {
  .container,
  .portal-nav-modern .container,
  main.container,
  footer.container {
    width: min(82vw, 1520px) !important;
    max-width: min(82vw, 1520px) !important;
  }
}

@media (min-width: 1600px) {
  .container,
  .portal-nav-modern .container,
  main.container,
  footer.container {
    width: min(84vw, 1680px) !important;
    max-width: min(84vw, 1680px) !important;
  }
}

@media (max-width: 1199.98px) {
  .container,
  .portal-nav-modern .container,
  main.container,
  footer.container {
    max-width: 94vw !important;
  }
}

.admin-topnav-shell {
  top: .35rem;
}

.page-hero-admin {
  padding: 2.2rem 2.3rem;
  min-height: 0;
}

.admin-overview-cards .card-body {
  padding: 1.25rem !important;
}

@media (max-width: 991.98px) {
  .page-hero-admin {
    padding: 1.5rem 1.2rem;
  }
}

.profile-shell-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.6fr) minmax(280px, .9fr);
  gap: 1.25rem;
  align-items: stretch;
}

.profile-shell,
.profile-overview-card,
.profile-servers-card,
.profile-metric-card {
  background:
    radial-gradient(circle at top right, rgba(255, 255, 255, .04), transparent 34%),
    linear-gradient(180deg, rgba(255,255,255,.04) 0%, rgba(255,255,255,.025) 100%);
  border: 1px solid rgba(255,255,255,.09);
  border-radius: 1.4rem;
  box-shadow: 0 18px 38px rgba(0,0,0,.18);
}

.profile-shell {
  padding: 1.5rem;
}

.profile-hero-title {
  font-size: clamp(2rem, 4vw, 3.4rem);
  line-height: 1.02;
  font-weight: 800;
  color: #fff;
  margin: .35rem 0 .85rem;
  max-width: 14ch;
}

.profile-hero-text,
.profile-overview-subtitle,
.profile-metric-text,
.profile-server-game,
.profile-section-meta,
.profile-empty-state,
.profile-hero-bundle-meta {
  color: #c9d9f6;
}

.profile-hero-actions {
  display: flex;
  gap: .75rem;
  flex-wrap: wrap;
  margin-top: 1.1rem;
}

.profile-hero-side {
  display: flex;
  align-items: stretch;
}

.profile-hero-bundle-card {
  width: 100%;
  min-height: 100%;
  padding: 1.15rem 1.2rem;
  border-radius: 1.15rem;
  background: rgba(255,255,255,.045);
  border: 1px solid rgba(255,255,255,.08);
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.profile-hero-bundle-label,
.profile-metric-label,
.profile-overview-kicker {
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: #9dc0ff;
}

.profile-hero-bundle-value {
  margin-top: .4rem;
  font-size: 1.35rem;
  font-weight: 800;
  color: #fff;
}

.profile-metrics-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1rem;
}

.profile-metric-card {
  padding: 1.15rem 1.2rem;
}

.profile-metric-value {
  margin-top: .45rem;
  font-size: 2rem;
  font-weight: 800;
  line-height: 1.05;
  color: #fff;
}

.profile-metric-value-sm {
  font-size: 1.15rem;
}

.profile-overview-card,
.profile-servers-card {
  padding: 1.45rem;
}

.profile-overview-top {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-bottom: 1.15rem;
}

.profile-avatar-lg {
  width: 88px;
  height: 88px;
  object-fit: cover;
  border-radius: 50%;
  border: 2px solid rgba(255,255,255,.12);
  box-shadow: 0 10px 24px rgba(0,0,0,.22);
  flex: 0 0 auto;
}

.profile-avatar-fallback {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(58,134,255,.18);
  color: #fff;
  font-size: 2rem;
  font-weight: 800;
}

.profile-overview-name,
.profile-section-title {
  color: #fff;
  margin: .25rem 0 0;
  font-size: clamp(1.35rem, 2vw, 1.9rem);
  font-weight: 800;
}

.profile-overview-points {
  display: grid;
  gap: .85rem;
}

.profile-overview-point,
.profile-server-card {
  background: rgba(255,255,255,.045);
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 1rem;
}

.profile-overview-point {
  padding: .95rem 1rem;
}

.profile-overview-point-label,
.profile-server-row span {
  display: block;
  font-size: .8rem;
  color: #96b4e9;
  margin-bottom: .2rem;
}

.profile-code {
  overflow-wrap: anywhere;
  word-break: break-word;
}

.profile-section-head,
.profile-server-head,
.profile-server-row {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
}

.profile-section-head {
  align-items: end;
  margin-bottom: 1rem;
}

.profile-server-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}

.profile-server-card {
  padding: 1rem;
}

.profile-server-name,
.profile-server-row strong,
.profile-role-badge {
  color: #fff;
}

.profile-server-name {
  font-size: 1.05rem;
  font-weight: 700;
}

.profile-role-badge {
  display: inline-flex;
  align-items: center;
  height: fit-content;
  padding: .38rem .7rem;
  border-radius: 999px;
  background: rgba(40,167,69,.18);
  border: 1px solid rgba(40,167,69,.3);
  font-size: .82rem;
  font-weight: 700;
  text-align: right;
}

.profile-server-body {
  margin-top: .85rem;
  display: grid;
  gap: .75rem;
}

.profile-empty-state {
  padding: 1rem 0 .2rem;
}

@media (max-width: 1199.98px) {
  .profile-shell-hero {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 991.98px) {
  .profile-metrics-grid,
  .profile-server-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 575.98px) {
  .profile-metrics-grid,
  .profile-server-grid {
    grid-template-columns: 1fr;
  }

  .profile-overview-top,
  .profile-server-head,
  .profile-server-row,
  .profile-section-head {
    flex-direction: column;
    align-items: flex-start;
  }

  .profile-shell,
  .profile-overview-card,
  .profile-servers-card,
  .profile-metric-card {
    padding: 1rem;
  }

  .profile-hero-title {
    max-width: none;
  }
}

/* fix20 modal z-index hardening */
.portal-modal,
.portal-modal.show,
.modal-backdrop,
.modal-backdrop.show {
  z-index: 9999 !important;
}
.portal-modal .modal-dialog {
  z-index: 10000 !important;
  position: relative;
}
.portal-modal .modal-content,
.glass-modal-content {
  position: relative;
  z-index: 10001 !important;
}


/* release 2.0.0 clean config fix2: server editor layout hardening */
.server-editor-modal-content {
  display: flex;
  flex-direction: column;
}

.server-editor-modal-content .modal-body {
  padding-bottom: 1.5rem;
}

.server-editor-info-box {
  min-height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: .45rem;
  padding: 1rem 1.1rem;
  border-radius: 1rem;
  border: 1px solid rgba(255,255,255,.08);
  background: linear-gradient(180deg, rgba(255,255,255,.06) 0%, rgba(255,255,255,.03) 100%);
}

.server-editor-info-title {
  font-size: .95rem;
  font-weight: 700;
  color: #eef4ff;
}

.server-editor-footer {
  display: flex;
  justify-content: flex-end;
  gap: .75rem;
}

@media (max-width: 991.98px) {
  .server-editor-footer {
    flex-wrap: wrap;
  }

  .server-editor-footer .btn {
    flex: 1 1 100%;
  }
}


.shop-special-badge {
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  padding: .3rem .7rem;
  border-radius: 999px;
  background: rgba(255, 193, 7, .18);
  border: 1px solid rgba(255, 193, 7, .45);
  color: #ffe38b;
  font-size: .82rem;
  font-weight: 700;
}
.shop-old-price {
  color: rgba(255,255,255,.58);
  text-decoration: line-through;
  font-size: .92rem;
}
.shop-new-price {
  font-size: 1.1rem;
  font-weight: 700;
  color: #fff;
}
.shop-special-price-stack {
  display: flex;
  flex-direction: column;
  gap: .15rem;
}
.shop-specials-preview {
  border: 1px dashed rgba(255,255,255,.14);
  border-radius: 1rem;
  padding: .85rem;
  background: rgba(255,255,255,.03);
}

/* -------------------------------------------------------------------------- */
/* Carbon G100 shell — flat layers, last in cascade                          */
/* -------------------------------------------------------------------------- */
:root {
  --carbon-bg: #161616;
  --carbon-layer-01: #262626;
  --carbon-layer-02: #393939;
  --carbon-border: #525252;
  --carbon-text-primary: #f4f4f4;
  --carbon-text-secondary: #c6c6c6;
  --carbon-focus: #8a8a8a;
  --carbon-hover: #f4f4f4;
  --portal-bg-1: #161616;
  --portal-bg-2: #161616;
  --portal-surface: #262626;
  --portal-surface-strong: #393939;
  --portal-border: #525252;
  --portal-border-strong: #6f6f6f;
  --portal-text: #f4f4f4;
  --portal-text-soft: #c6c6c6;
  --portal-shadow: 0 4px 16px rgba(0, 0, 0, 0.45);
}

body.portal-body {
  background: var(--carbon-bg) !important;
  color: var(--carbon-text-primary) !important;
}

body.portal-body::before {
  opacity: 0.55;
  background:
    radial-gradient(circle at 12% 18%, rgba(255, 255, 255, 0.04), transparent 30%),
    radial-gradient(circle at 88% 10%, rgba(255, 255, 255, 0.03), transparent 24%);
}

.portal-nav,
.hero-card {
  background: var(--carbon-layer-01) !important;
  border: 1px solid var(--carbon-border) !important;
  box-shadow: var(--portal-shadow) !important;
  backdrop-filter: none !important;
}

.portal-header {
  position: sticky;
  top: 0;
  z-index: var(--portal-layer-nav, 2000);
  background: var(--carbon-bg);
  border-bottom: 1px solid var(--carbon-border);
}

.portal-navbar {
  background: transparent !important;
}

.portal-brand-badge {
  background: var(--carbon-layer-02) !important;
  border: 1px solid var(--carbon-border) !important;
  box-shadow: none !important;
}

.portal-brand-subtitle {
  color: var(--carbon-text-secondary) !important;
}

.portal-pill-nav {
  flex-direction: row;
  flex-wrap: wrap;
  gap: 0.25rem;
  align-items: center;
}

.portal-pill-nav .nav-link {
  color: var(--carbon-text-secondary);
  border-radius: 0.25rem;
  padding: 0.6rem 0.95rem;
  font-weight: 600;
  transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}

.portal-pill-nav .nav-link:hover {
  color: var(--carbon-text-primary);
  background: rgba(120, 170, 255, 0.14);
  border: 1px solid rgba(160, 205, 255, 0.35);
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.2);
}

.portal-pill-nav .nav-link.active {
  color: var(--carbon-text-primary);
  background: var(--carbon-layer-02);
  border: 1px solid var(--carbon-border-strong);
  box-shadow: none;
}

.portal-icon-btn {
  color: var(--carbon-text-primary);
  background: var(--carbon-layer-01);
  border: 1px solid var(--carbon-border);
  border-radius: 0.25rem;
  padding: 0.45rem 0.65rem;
}

.portal-icon-btn:hover {
  background: var(--carbon-layer-02);
  color: var(--carbon-text-primary);
}

.portal-offcanvas-nav {
  background: var(--carbon-bg) !important;
  border-left: 1px solid var(--carbon-border);
}

.portal-offcanvas-nav .offcanvas-header {
  border-bottom: 1px solid var(--carbon-border);
}

.portal-offcanvas-section-title {
  font-size: 0.72rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--carbon-text-secondary);
  font-weight: 700;
  margin-bottom: 0.5rem;
}

.portal-offcanvas-nav .nav-link {
  color: var(--carbon-text-secondary);
  border-radius: 0.25rem;
}

.portal-offcanvas-nav .nav-link:hover,
.portal-offcanvas-nav .nav-link.active {
  color: var(--carbon-text-primary);
  background: rgba(120, 170, 255, 0.12);
  border: 1px solid rgba(160, 205, 255, 0.28);
}

.portal-offcanvas-nav .nav-link.active {
  border-left: 3px solid var(--carbon-border-strong);
}

.portal-status-pill:not(.portal-status-pill--success):not(.portal-status-pill--neutral) {
  background: var(--carbon-layer-01) !important;
  border: 1px solid var(--carbon-border) !important;
  color: var(--carbon-text-secondary) !important;
}

.portal-status-pill.portal-status-pill--success {
  background: linear-gradient(180deg, rgba(25, 135, 84, 0.42), rgba(25, 135, 84, 0.2)) !important;
  border: 1px solid rgba(95, 214, 145, 0.55) !important;
  color: #f0fff5 !important;
  font-weight: 700;
  box-shadow: 0 0 0 1px rgba(25, 135, 84, 0.12), 0 8px 22px rgba(25, 135, 84, 0.12);
}

.portal-status-pill.portal-status-pill--neutral {
  background: rgba(255, 255, 255, 0.05) !important;
  border: 1px dashed rgba(255, 255, 255, 0.22) !important;
  color: var(--carbon-text-secondary) !important;
  font-weight: 600;
}

.portal-user-menu {
  background: var(--carbon-layer-01) !important;
  border: 1px solid var(--carbon-border) !important;
  color: var(--carbon-text-primary) !important;
}

.portal-user-menu:hover,
.portal-user-menu:focus {
  background: var(--carbon-layer-02) !important;
}

.portal-user-dropdown {
  background: var(--carbon-layer-01) !important;
  border: 1px solid var(--carbon-border) !important;
  box-shadow: var(--portal-shadow) !important;
}

.portal-user-dropdown .dropdown-item {
  color: var(--carbon-text-primary);
}

.portal-user-dropdown .dropdown-item:hover {
  background: var(--carbon-layer-02) !important;
  color: var(--carbon-text-primary);
}

.portal-user-role {
  color: var(--carbon-text-secondary) !important;
}

.glass-card,
.glass-subcard,
.profile-stat-card,
.audit-item,
.package-mini,
.viewer-panel,
.portal-note-card,
.portal-inline-message,
.admin-section-box,
.discord-link-card {
  background: var(--carbon-layer-01) !important;
  border: 1px solid var(--carbon-border) !important;
  box-shadow: var(--portal-shadow) !important;
}

.page-hero {
  background: var(--carbon-layer-01) !important;
  border: 1px solid var(--carbon-border) !important;
  box-shadow: var(--portal-shadow) !important;
}

.portal-footer-v2 .portal-footer-shell {
  background: var(--carbon-layer-01);
  border: 1px solid var(--carbon-border);
  border-radius: 0.25rem;
}

.portal-modal .modal-content {
  background: var(--carbon-layer-01) !important;
  border: 1px solid var(--carbon-border) !important;
}

.toast.portal-toast {
  background: var(--carbon-layer-02) !important;
  border: 1px solid var(--carbon-border) !important;
  color: var(--carbon-text-primary) !important;
}

.btn-primary {
  --bs-btn-bg: #3d3d3d;
  --bs-btn-border-color: #525252;
  --bs-btn-hover-bg: #525252;
  --bs-btn-hover-border-color: #6f6f6f;
  --bs-btn-active-bg: #393939;
  --bs-btn-active-border-color: #525252;
}

.btn-outline-primary {
  --bs-btn-color: #e0e0e0;
  --bs-btn-border-color: #6f6f6f;
  --bs-btn-hover-bg: #393939;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-border-color: #8d8d8d;
}

/* Dashboard system inbox */
.portal-message-box .portal-message-item {
  padding: 1rem 1.1rem;
  border-radius: 1rem;
  border: 1px solid rgba(255, 255, 255, 0.1);
  background: rgba(255, 255, 255, 0.04);
}
.portal-message-meta {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 0.5rem;
  margin-bottom: 0.45rem;
  font-size: 0.82rem;
}
.portal-message-sender {
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: #7dffb3;
}
.portal-message-time {
  color: #9fb5d9;
  font-variant-numeric: tabular-nums;
}
.portal-message-body {
  white-space: pre-wrap;
  line-height: 1.45;
  font-size: 0.95rem;
}

/* Admin > Servers: Live-Übersicht — durchgängig neutrale Grautöne (Carbon/ältere glass-card-Regeln überschreiben) */
#admin-servers > .card.glass-card {
  background: linear-gradient(180deg, rgba(30, 31, 34, 0.98), rgba(20, 21, 24, 0.96)) !important;
  border-color: rgba(255, 255, 255, 0.11) !important;
  box-shadow: 0 14px 38px rgba(0, 0, 0, 0.4) !important;
}

#admin-servers .server-admin-card {
  background: linear-gradient(180deg, rgba(34, 35, 38, 0.99), rgba(24, 25, 28, 0.97)) !important;
  border: 1px solid rgba(255, 255, 255, 0.1) !important;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.32) !important;
}

#admin-servers .server-admin-card .server-row {
  color: rgba(232, 234, 238, 0.95) !important;
  border-bottom-color: rgba(255, 255, 255, 0.08) !important;
}

#admin-servers .server-admin-card .text-readable-soft {
  color: rgba(198, 202, 210, 0.9) !important;
}

.portal-inbox-row {
  cursor: pointer;
  background: rgba(255, 255, 255, 0.02);
  border-color: rgba(255, 255, 255, 0.08) !important;
}

.portal-inbox-row:hover {
  background: rgba(120, 170, 255, 0.08);
}

.portal-inbox-row--unread .portal-inbox-subject {
  font-weight: 800;
}

#portalInboxModalBody {
  max-height: min(60vh, 28rem);
  overflow: auto;
  line-height: 1.45;
}
