/* PulseBot v22.13.0 — dashboard refresh.
   Intent: quieter hierarchy, denser information, no decorative SaaS patterns. */

body#pulsebot-app.dashboard-module-v2177 {
  --pb2290-bg: #0b0e12;
  --pb2290-panel: #10141a;
  --pb2290-panel-2: #131820;
  --pb2290-line: rgba(255,255,255,.075);
  --pb2290-line-strong: rgba(255,255,255,.12);
  --pb2290-text: #eef1f4;
  --pb2290-muted: #8d97a4;
  --pb2290-soft: #687381;
  --pb2290-accent: #6b9ff2;
  --pb2290-accent-bg: rgba(78,139,231,.09);
  --pb2290-good: #78c89c;
}

body#pulsebot-app.dashboard-module-v2177 .dashboard-page.app-dashboard {
  background: var(--pb2290-bg) !important;
}

/* Sidebar */
@media (min-width: 981px) {
  body#pulsebot-app.dashboard-module-v2177 .pb2290-nav.side {
    padding: 15px 12px 13px !important;
    background: #090c10 !important;
    background-image: none !important;
    border-right: 1px solid var(--pb2290-line) !important;
  }

  body#pulsebot-app.dashboard-module-v2177 .pb2290-nav .pb-nav-top {
    min-height: 46px !important;
    padding: 0 7px 13px !important;
  }

  body#pulsebot-app.dashboard-module-v2177 .pb2290-nav .pb-nav-current {
    display: none !important;
  }

  body#pulsebot-app.dashboard-module-v2177 .pb2290-nav .pb-nav-brand-copy strong {
    font-size: .92rem !important;
    font-weight: 650 !important;
  }

  body#pulsebot-app.dashboard-module-v2177 .pb2290-nav .pb-nav-brand-copy small {
    font-size: .68rem !important;
    color: #737e8b !important;
  }

  body#pulsebot-app.dashboard-module-v2177 .pb2290-nav .pb-nav-server,
  body#pulsebot-app.dashboard-module-v2177 .pb2290-nav .pb-nav-server.is-premium {
    margin: 12px 0 9px !important;
    padding: 10px 7px 12px !important;
    border-bottom: 0 !important;
    background: transparent !important;
  }

  body#pulsebot-app.dashboard-module-v2177 .pb2290-nav .pb-nav-server-icon {
    width: 38px !important;
    height: 38px !important;
    min-width: 38px !important;
    border-radius: 9px !important;
  }

  body#pulsebot-app.dashboard-module-v2177 .pb2290-nav .pb-nav-server-copy small {
    display: none !important;
  }

  body#pulsebot-app.dashboard-module-v2177 .pb2290-nav .pb-nav-server-copy strong {
    font-size: .84rem !important;
    font-weight: 620 !important;
  }

  body#pulsebot-app.dashboard-module-v2177 .pb2290-nav .pb-nav-server-copy span {
    color: #7e8996 !important;
    font-size: .67rem !important;
  }

  body#pulsebot-app.dashboard-module-v2177 .pb2290-nav .pb-nav-scroll {
    gap: 10px !important;
    padding-top: 8px !important;
  }

  body#pulsebot-app.dashboard-module-v2177 .pb2290-nav .pb-nav-section {
    gap: 3px !important;
    padding-top: 10px !important;
  }

  body#pulsebot-app.dashboard-module-v2177 .pb2290-nav .pb-nav-section:first-child {
    padding-top: 2px !important;
  }

  body#pulsebot-app.dashboard-module-v2177 .pb2290-nav .pb-nav-section-title {
    padding: 0 9px 4px !important;
    color: #616d7a !important;
    font-size: .61rem !important;
    font-weight: 650 !important;
    letter-spacing: .035em !important;
  }

  body#pulsebot-app.dashboard-module-v2177 .pb2290-nav .pb-nav-link {
    min-height: 36px !important;
    padding: 6px 9px !important;
    border-radius: 7px !important;
    color: #aeb7c2 !important;
  }

  body#pulsebot-app.dashboard-module-v2177 .pb2290-nav .pb-nav-link:hover {
    background: rgba(255,255,255,.035) !important;
    color: #eef2f5 !important;
  }

  body#pulsebot-app.dashboard-module-v2177 .pb2290-nav .pb-nav-link.active {
    background: rgba(101,153,235,.10) !important;
    color: #f3f6f8 !important;
  }

  body#pulsebot-app.dashboard-module-v2177 .pb2290-nav .pb-nav-link.active::before {
    top: 9px !important;
    bottom: 9px !important;
    background: #70a3f2 !important;
  }

  body#pulsebot-app.dashboard-module-v2177 .pb2290-nav .pb-nav-link-label {
    font-size: .79rem !important;
    font-weight: 520 !important;
  }

  body#pulsebot-app.dashboard-module-v2177 .pb2290-nav .pb-nav-link.active .pb-nav-link-label {
    font-weight: 610 !important;
  }
}


.pb2290-nav-plan {
  display: flex;
  align-items: center;
  gap: 7px;
  min-height: 30px;
  padding: 0 9px;
  color: #7b8693;
  font-size: .68rem;
}
.pb2290-nav-plan i {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #59636e;
}
.pb2290-nav-plan i.is-on { background: var(--pb2290-good); }

/* Home */
body#pulsebot-app.dashboard-home-v2177 .content-stack {
  width: min(1120px, calc(100% - 56px)) !important;
  max-width: 1120px !important;
  padding-top: 30px !important;
}

.pb2290-home {
  width: 100%;
  display: grid;
  gap: 22px;
  color: var(--pb2290-text);
}

.pb2290-home-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  min-height: 82px;
  padding: 0 2px 18px;
  border-bottom: 1px solid var(--pb2290-line);
}

.pb2290-server-id {
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 14px;
}

.pb2290-server-avatar {
  width: 50px;
  height: 50px;
  min-width: 50px;
  overflow: hidden;
  border: 1px solid var(--pb2290-line-strong);
  border-radius: 12px;
  background: #0d1116;
}
.pb2290-server-avatar :is(img,.avatar-fallback) { width:100%; height:100%; object-fit:cover; }

.pb2290-server-id > div:last-child { min-width: 0; }
.pb2290-server-id span,
.pb2290-quick header span,
.pb2290-modules-head > div > span {
  display: block;
  margin-bottom: 4px;
  color: #76818e;
  font-size: .67rem;
  font-weight: 650;
  letter-spacing: .045em;
  text-transform: uppercase;
}
.pb2290-server-id h1 {
  margin: 0;
  overflow: hidden;
  color: #f2f4f7;
  font-size: clamp(1.35rem, 2.3vw, 1.72rem);
  font-weight: 650;
  line-height: 1.15;
  letter-spacing: -.025em;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.pb2290-server-id p {
  margin: 5px 0 0;
  color: var(--pb2290-muted);
  font-size: .84rem;
  line-height: 1.45;
}

.pb2290-head-actions { display:flex; align-items:center; gap:8px; flex:0 0 auto; }

.pb2290-status-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0,1fr));
  overflow: hidden;
  border: 1px solid var(--pb2290-line);
  border-radius: 12px;
  background: var(--pb2290-panel);
}
.pb2290-status-grid > div {
  min-width: 0;
  min-height: 92px;
  padding: 17px 18px;
  border-left: 1px solid var(--pb2290-line);
}
.pb2290-status-grid > div:first-child { border-left:0; }
.pb2290-status-grid span {
  display:block;
  margin-bottom:8px;
  color:#77828f;
  font-size:.7rem;
  font-weight:570;
}
.pb2290-status-grid strong {
  display:inline;
  color:#edf0f3;
  font-size:1.17rem;
  font-weight:650;
  letter-spacing:-.02em;
}
.pb2290-status-grid strong.is-positive { color:#a8ddbd; }
.pb2290-status-grid small {
  margin-left:5px;
  color:#65717e;
  font-size:.69rem;
}

.pb2290-quick,
.pb2290-modules {
  padding: 20px;
  border: 1px solid var(--pb2290-line);
  border-radius: 12px;
  background: var(--pb2290-panel);
}
.pb2290-quick header,
.pb2290-modules-head {
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:20px;
  margin-bottom:16px;
}
.pb2290-quick h2,
.pb2290-modules-head h2 {
  margin:0;
  color:#edf0f3;
  font-size:1.02rem;
  font-weight:640;
  letter-spacing:-.015em;
}
.pb2290-modules-head p {
  margin:5px 0 0;
  color:#7f8996;
  font-size:.78rem;
  line-height:1.45;
}

.pb2290-quick-grid {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:8px;
}
.pb2290-quick-grid > a {
  min-width:0;
  min-height:82px;
  display:grid;
  grid-template-columns:34px minmax(0,1fr) 14px;
  align-items:center;
  gap:10px;
  padding:12px;
  border:1px solid var(--pb2290-line);
  border-radius:9px;
  background:#0d1116;
  color:inherit;
  text-decoration:none;
  transition:border-color .13s ease, background-color .13s ease;
}
.pb2290-quick-grid > a:hover {
  border-color:rgba(255,255,255,.13);
  background:#11161c;
}
.pb2290-quick-grid > a > span {
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  border:1px solid var(--pb2290-line);
  border-radius:8px;
  background:#12171d;
  color:#93a0ae;
}
.pb2290-quick-grid > a > span svg { width:16px; height:16px; }
.pb2290-quick-grid > a > div { min-width:0; }
.pb2290-quick-grid strong { display:block; color:#e8ebef; font-size:.79rem; font-weight:620; }
.pb2290-quick-grid small { display:block; margin-top:4px; color:#77828e; font-size:.67rem; line-height:1.35; }
.pb2290-quick-grid > a > svg { width:13px; height:13px; color:#65717d; }

.pb2290-status-key { display:flex; align-items:center; gap:13px; color:#727d89; font-size:.68rem; }
.pb2290-status-key span { display:flex; align-items:center; gap:6px; }
.pb2290-status-key i,
.pb2290-module-status i {
  width:6px;
  height:6px;
  border-radius:50%;
  background:#59636e;
}
.pb2290-status-key i.on,
.pb2290-module-status.on i { background:var(--pb2290-good); }
.pb2290-module-status.info i { background:#7e9fcf; }
.pb2290-module-status.warn i { background:#d2b06f; }

.pb2290-groups { display:grid; gap:24px; }
.pb2290-module-group { display:grid; gap:10px; }
.pb2290-group-head {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  padding:0 2px;
}
.pb2290-group-head h3 { margin:0; color:#d9dde2; font-size:.84rem; font-weight:620; }
.pb2290-group-head p { margin:4px 0 0; color:#707b87; font-size:.69rem; line-height:1.4; }
.pb2290-group-head > span { color:#606b77; font-size:.67rem; font-variant-numeric:tabular-nums; }

.pb2290-module-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:7px;
}
.pb2290-module-card {
  position:relative;
  min-width:0;
  min-height:82px;
  display:grid;
  grid-template-columns:36px minmax(0,1fr) auto 14px;
  align-items:center;
  gap:11px;
  padding:13px 12px;
  border:1px solid var(--pb2290-line);
  border-radius:9px;
  background:#0d1116;
  color:inherit;
  text-decoration:none;
  transition:border-color .13s ease, background-color .13s ease;
}
.pb2290-module-card:hover { border-color:rgba(255,255,255,.13); background:#11161c; }
.pb2290-module-icon {
  width:36px;
  height:36px;
  display:grid;
  place-items:center;
  border:1px solid var(--pb2290-line);
  border-radius:8px;
  background:#12171d;
  color:#8693a1;
}
.pb2290-module-icon svg { width:16px; height:16px; }
.pb2290-module-copy { min-width:0; }
.pb2290-module-copy strong { display:block; overflow:hidden; color:#e2e6ea; font-size:.78rem; font-weight:610; text-overflow:ellipsis; white-space:nowrap; }
.pb2290-module-copy small { display:-webkit-box; margin-top:4px; overflow:hidden; color:#727d89; font-size:.66rem; line-height:1.38; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
.pb2290-module-status {
  display:flex;
  align-items:center;
  gap:6px;
  padding:5px 7px;
  border:1px solid rgba(255,255,255,.055);
  border-radius:6px;
  color:#747f8c;
  background:rgba(255,255,255,.018);
  font-size:.62rem;
  font-weight:570;
  white-space:nowrap;
}
.pb2290-module-status.on { color:#9cccae; }
.pb2290-module-arrow { display:grid; place-items:center; color:#596572; }
.pb2290-module-arrow svg { width:13px; height:13px; }


@media (max-width: 1180px) {
  .pb2290-quick-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .pb2290-status-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .pb2290-status-grid > div:nth-child(3) { border-left:0; border-top:1px solid var(--pb2290-line); }
  .pb2290-status-grid > div:nth-child(4) { border-top:1px solid var(--pb2290-line); }
}

@media (max-width: 980px) {
  body#pulsebot-app.dashboard-home-v2177 .content-stack { width:calc(100% - 28px) !important; max-width:none !important; padding-top:18px !important; }
  .pb2290-home { gap:16px; }
  .pb2290-home-head { align-items:flex-start; padding-bottom:14px; }
  .pb2290-module-grid { grid-template-columns:1fr; }
}

@media (max-width: 680px) {
  body#pulsebot-app.dashboard-home-v2177 .content-stack { width:calc(100% - 20px) !important; }
  .pb2290-home-head { flex-direction:column; gap:14px; }
  .pb2290-head-actions { width:100%; }
  .pb2290-head-actions .btn { flex:1 1 auto; }
  .pb2290-status-grid { grid-template-columns:1fr; }
  .pb2290-status-grid > div { min-height:72px; border-left:0 !important; border-top:1px solid var(--pb2290-line); }
  .pb2290-status-grid > div:first-child { border-top:0; }
  .pb2290-quick,.pb2290-modules { padding:15px; }
  .pb2290-quick-grid { grid-template-columns:1fr; }
  .pb2290-quick-grid > a { min-height:72px; }
  .pb2290-modules-head { align-items:flex-start; flex-direction:column; }
  .pb2290-module-card { grid-template-columns:34px minmax(0,1fr) 13px; }
  .pb2290-module-status { grid-column:2; justify-self:start; margin-top:-2px; }
  .pb2290-module-arrow { grid-column:3; grid-row:1 / span 2; }
}

@media (prefers-reduced-motion: reduce) {
  .pb2290-quick-grid > a,
  .pb2290-module-card { transition:none; }
}


/* Account-only subscriptions */
.pb2290-account-page .billing-account-main { padding-top: 34px; }
.pb2290-account-page .billing-account-head { max-width: 860px; }
.pb2290-account-page .pb2290-account-head { margin-bottom: 20px; }
.pb2290-account-page .billing-account-card,
.pb2290-account-page .billing-account-purchase,
.pb2290-account-page .billing-account-notice,
.pb2290-account-page .billing-account-empty {
  border-color: rgba(255,255,255,.08) !important;
  background: #0f1318 !important;
  box-shadow: none !important;
}
.pb2290-account-servers { display:grid; gap:14px; margin-top:24px; }
.pb2290-account-servers .billing-account-servers-head { max-width:none; margin:0; display:flex; align-items:end; justify-content:space-between; gap:20px; }
.pb2290-slot-count { color:#9aa5b1; font-size:.78rem; font-weight:650; font-variant-numeric:tabular-nums; }
.pb2290-candidates-head { margin-top:16px !important; }
.pb2290-server-assignment,
.pb2290-server-candidate { min-height:0; }
.pb2290-server-candidate .module-status.off { color:#7e8994; }
.pb2290-billing-guard { border-color:rgba(226,181,94,.20) !important; }
.billing-account-empty.compact { padding:18px 20px !important; }
.billing-account-empty.compact p { margin:0; }

/* Full Premium catalog in global navigation page */
.pb2290-premium-catalog { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.pb2290-premium-group { padding:20px; border:1px solid rgba(255,255,255,.08); border-radius:12px; background:#0f1318; }
.pb2290-premium-group > h3 { position:relative; z-index:1; margin:0 0 18px; padding:0 0 2px; color:#eef1f4; font-size:.94rem; font-weight:650; line-height:1.35; }
.pb2290-premium-group > div { display:grid; gap:0; }
.pb2290-premium-group article { display:grid; grid-template-columns:24px minmax(0,1fr); gap:10px; padding:12px 0; border-top:1px solid rgba(255,255,255,.06); }
.pb2290-premium-group article:first-child { border-top:0; padding-top:2px; }
.pb2290-premium-group article:last-child { padding-bottom:0; }
.pb2290-premium-group article > span { width:22px; height:22px; display:grid; place-items:center; color:#79aaf3; }
.pb2290-premium-group article > span svg { width:14px; height:14px; }
.pb2290-premium-group strong { display:block; color:#e3e7eb; font-size:.8rem; font-weight:620; }
.pb2290-premium-group p { margin:4px 0 0; color:#7f8995; font-size:.72rem; line-height:1.48; }

@media(max-width:780px){ .pb2290-premium-catalog{grid-template-columns:1fr;} }
