/*
  CyberNet AI — Manage Business
  Team roster, shared-pool usage, invites, and the owner's activity log.
  Uses the site's existing design tokens only (--bg, --glass, --green,
  --font-mono, ...) so the panel reads as part of CyberNet AI, not a
  bolted-on admin screen.
*/

#businessTeamModal{
  z-index:1350;
}

.cn-team-card{
  width:min(880px,calc(100vw - 28px));
  max-height:min(90vh,900px);
  overflow:auto;
  padding:28px;
}

.cn-team-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  margin-bottom:22px;
  padding-right:36px;
}

.cn-team-head h2{
  margin:5px 0 6px;
  font-size:clamp(24px,3.6vw,34px);
}

.cn-team-head p{
  margin:0;
  max-width:52ch;
  color:var(--muted,#7d93ad);
  font-size:13px;
  line-height:1.65;
}

.cn-team-tier-badge{
  display:inline-flex;
  align-items:center;
  gap:7px;
  flex:0 0 auto;
  border:1px solid rgba(34,211,238,.3);
  border-radius:999px;
  padding:8px 12px;
  background:rgba(34,211,238,.08);
  color:var(--green-bright,#a5f0ff);
  font-family:var(--font-mono,monospace);
  font-size:12px;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  white-space:nowrap;
}

/* ─── Stat tiles ─── */

.cn-team-stats{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  margin-bottom:20px;
}

.cn-team-stat{
  min-width:0;
  padding:16px;
  border:1px solid var(--glass-border,rgba(56,189,248,.16));
  border-radius:14px;
  background:rgba(2,9,18,.38);
}

.cn-team-stat > span{
  display:block;
  margin-bottom:9px;
  color:var(--muted,#7d93ad);
  font-family:var(--font-mono,monospace);
  font-size:12px;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.cn-team-stat strong{
  display:block;
  color:var(--text,#eaf3fb);
  font-size:22px;
  font-variant-numeric:tabular-nums;
  line-height:1.2;
}

.cn-team-stat small{
  display:block;
  margin-top:6px;
  color:var(--soft,#425873);
  font-size:11px;
  line-height:1.5;
}

.cn-team-track{
  height:7px;
  margin-top:11px;
  overflow:hidden;
  border-radius:999px;
  background:rgba(255,255,255,.06);
}

.cn-team-track > span{
  display:block;
  height:100%;
  width:0;
  border-radius:inherit;
  background:linear-gradient(90deg,#22d3ee,#3b82f6);
  box-shadow:0 0 15px rgba(34,211,238,.35);
  transition:width .35s ease;
}

.cn-team-track.is-high > span{
  background:linear-gradient(90deg,#ffcf6b,#ff6b6b);
  box-shadow:0 0 15px rgba(255,107,107,.35);
}

/* ─── Section blocks ─── */

.cn-team-section{
  margin-top:22px;
  padding-top:20px;
  border-top:1px solid var(--glass-border,rgba(255,255,255,.08));
}

.cn-team-section-head{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:12px;
  margin-bottom:14px;
  flex-wrap:wrap;
}

.cn-team-section-head h3{
  margin:0;
  color:var(--text,#eaf3fb);
  font-size:15px;
}

.cn-team-section-head p{
  margin:0;
  color:var(--soft,#425873);
  font-size:11.5px;
  line-height:1.5;
}

/* ─── Member roster ─── */

.cn-team-members{
  display:flex;
  flex-direction:column;
  gap:9px;
}

.cn-team-member{
  display:flex;
  align-items:center;
  gap:14px;
  padding:13px 15px;
  border:1px solid var(--glass-border,rgba(56,189,248,.16));
  border-radius:13px;
  background:rgba(2,9,18,.32);
}

.cn-team-member-id{
  min-width:0;
  flex:1 1 auto;
}

.cn-team-member-name{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
  color:var(--text,#eaf3fb);
  font-size:14px;
  font-weight:600;
  line-height:1.4;
}

.cn-team-member-email{
  display:block;
  margin-top:3px;
  color:var(--muted,#7d93ad);
  font-size:12px;
  overflow-wrap:anywhere;
}

.cn-role-badge{
  display:inline-flex;
  border-radius:999px;
  padding:3px 8px;
  border:1px solid rgba(34,211,238,.3);
  background:rgba(34,211,238,.1);
  color:var(--green-bright,#a5f0ff);
  font-family:var(--font-mono,monospace);
  font-size:12px;
  font-weight:700;
  letter-spacing:.06em;
  text-transform:uppercase;
}

.cn-role-badge.is-member{
  border-color:rgba(125,147,173,.28);
  background:rgba(125,147,173,.1);
  color:var(--muted,#7d93ad);
}

.cn-role-badge.is-you{
  border-color:rgba(52,211,153,.32);
  background:rgba(52,211,153,.1);
  color:#86efac;
}

.cn-team-member-usage{
  flex:0 0 auto;
  text-align:right;
  color:var(--text,#eaf3fb);
  font-size:13px;
  font-variant-numeric:tabular-nums;
  white-space:nowrap;
}

.cn-team-member-usage small{
  display:block;
  margin-top:2px;
  color:var(--soft,#425873);
  font-size:12px;
}

.cn-team-remove{
  flex:0 0 auto;
  padding:7px 12px;
  border:1px solid rgba(255,107,107,.3);
  border-radius:9px;
  background:rgba(255,107,107,.07);
  color:#ff9d9d;
  font-family:var(--font-mono,monospace);
  font-size:12px;
  letter-spacing:.04em;
  text-transform:uppercase;
  cursor:pointer;
  transition:background .2s ease,border-color .2s ease;
}

.cn-team-remove:hover:not(:disabled){
  background:rgba(255,107,107,.14);
  border-color:rgba(255,107,107,.5);
}

.cn-team-remove:disabled{
  opacity:.5;
  cursor:not-allowed;
}

/* ─── Invite ─── */

.cn-team-invite-row{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}

.cn-team-invite-row input{
  flex:1 1 240px;
  min-width:0;
  margin:0!important;
}

.cn-team-invite-row .primary-btn{
  flex:0 0 auto;
}

.cn-team-pending{
  display:flex;
  flex-direction:column;
  gap:7px;
  margin-top:12px;
}

.cn-team-pending-item{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:10px 13px;
  border:1px dashed rgba(255,207,107,.3);
  border-radius:11px;
  background:rgba(255,207,107,.05);
  color:var(--text,#eaf3fb);
  font-size:12.5px;
  overflow-wrap:anywhere;
}

.cn-team-pending-item span{
  flex:0 0 auto;
  color:var(--warning,#ffcf6b);
  font-family:var(--font-mono,monospace);
  font-size:12px;
  letter-spacing:.05em;
  text-transform:uppercase;
  white-space:nowrap;
}

/* ─── Activity log ─── */

.cn-team-activity{
  display:flex;
  flex-direction:column;
  gap:8px;
  max-height:340px;
  overflow-y:auto;
  padding-right:4px;
}

.cn-activity-item{
  border:1px solid var(--glass-border,rgba(56,189,248,.16));
  border-radius:12px;
  background:rgba(2,9,18,.32);
  overflow:hidden;
}

.cn-activity-summary{
  display:flex;
  align-items:center;
  gap:11px;
  width:100%;
  padding:12px 14px;
  border:0;
  background:transparent;
  color:inherit;
  text-align:left;
  cursor:pointer;
  font:inherit;
}

.cn-activity-summary:hover{
  background:rgba(34,211,238,.05);
}

.cn-activity-kind{
  flex:0 0 auto;
  border-radius:999px;
  padding:4px 9px;
  border:1px solid var(--glass-border,rgba(56,189,248,.16));
  color:var(--muted,#7d93ad);
  font-family:var(--font-mono,monospace);
  font-size:12px;
  letter-spacing:.05em;
  text-transform:uppercase;
  white-space:nowrap;
}

.cn-activity-kind.is-scan{
  border-color:rgba(34,211,238,.3);
  color:var(--green-bright,#a5f0ff);
  background:rgba(34,211,238,.08);
}

.cn-activity-kind.is-recovery{
  border-color:rgba(34,197,94,.3);
  color:#86efac;
  background:rgba(34,197,94,.08);
}

.cn-activity-main{
  flex:1 1 auto;
  min-width:0;
}

.cn-activity-title{
  display:block;
  color:var(--text,#eaf3fb);
  font-size:13px;
  line-height:1.45;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.cn-activity-meta{
  display:block;
  margin-top:3px;
  color:var(--soft,#425873);
  font-size:11px;
}

.cn-activity-verdict{
  flex:0 0 auto;
  border-radius:999px;
  padding:4px 9px;
  font-family:var(--font-mono,monospace);
  font-size:12px;
  letter-spacing:.05em;
  text-transform:uppercase;
  white-space:nowrap;
}

.cn-activity-verdict.is-danger{
  border:1px solid rgba(255,107,107,.32);
  background:rgba(255,107,107,.1);
  color:#ff9d9d;
}

.cn-activity-verdict.is-safe{
  border:1px solid rgba(52,211,153,.32);
  background:rgba(52,211,153,.1);
  color:#86efac;
}

.cn-activity-body{
  padding:0 14px 13px;
  border-top:1px solid var(--glass-border,rgba(255,255,255,.06));
  color:var(--muted,#7d93ad);
  font-size:12px;
  line-height:1.65;
  overflow-wrap:anywhere;
}

.cn-activity-body strong{
  display:block;
  margin:11px 0 4px;
  color:var(--text,#eaf3fb);
  font-family:var(--font-mono,monospace);
  font-size:12px;
  letter-spacing:.06em;
  text-transform:uppercase;
}

.cn-team-empty{
  padding:18px;
  border:1px dashed var(--glass-border,rgba(56,189,248,.16));
  border-radius:12px;
  color:var(--soft,#425873);
  font-size:12.5px;
  line-height:1.6;
  text-align:center;
}

.cn-team-message{
  min-height:20px;
  margin-top:14px;
  color:var(--muted,#7d93ad);
  font-size:12px;
  line-height:1.6;
}

.cn-team-message.error{color:var(--danger,#ff6b6b)}
.cn-team-message.success{color:var(--safe,#34d399)}
.cn-team-message.warning{color:var(--warning,#ffcf6b)}

/* ─── Accept invite ─── */

#acceptInviteModal{
  z-index:1500;
}

.cn-invite-card{
  width:min(560px,calc(100vw - 28px));
  padding:30px;
  text-align:left;
}

.cn-invite-card h2{
  margin:6px 0 10px;
  font-size:clamp(22px,3.4vw,30px);
}

.cn-invite-card > p{
  margin:0 0 6px;
  color:var(--muted,#7d93ad);
  font-size:13.5px;
  line-height:1.7;
}

.cn-invite-terms{
  margin-top:18px;
  padding:15px 16px;
  border:1px solid rgba(255,207,107,.26);
  border-radius:13px;
  background:rgba(255,207,107,.05);
}

.cn-invite-terms strong{
  display:block;
  margin-bottom:8px;
  color:var(--warning,#ffcf6b);
  font-family:var(--font-mono,monospace);
  font-size:12px;
  letter-spacing:.07em;
  text-transform:uppercase;
}

.cn-invite-terms ul{
  margin:0;
  padding-left:17px;
  color:var(--muted,#7d93ad);
  font-size:12.5px;
  line-height:1.7;
}

.cn-invite-actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-top:20px;
}

.cn-invite-actions > button{
  flex:1 1 160px;
}

/* ─── Seat tier picker on the pricing card ─── */

.cn-seat-picker{
  margin:14px 0 4px;
}

.cn-seat-picker-label{
  display:block;
  margin-bottom:9px;
  color:var(--muted,#7d93ad);
  font-family:var(--font-mono,monospace);
  font-size:12px;
  font-weight:700;
  letter-spacing:.07em;
  text-transform:uppercase;
}

.cn-seat-options{
  display:flex;
  gap:8px;
}

.cn-seat-option{
  flex:1 1 0;
  padding:11px 6px;
  border:1px solid var(--glass-border,rgba(56,189,248,.16));
  border-radius:11px;
  background:rgba(2,9,18,.3);
  color:var(--muted,#7d93ad);
  font-family:var(--font-mono,monospace);
  font-size:11px;
  line-height:1.45;
  text-align:center;
  cursor:pointer;
  transition:border-color .2s ease,background .2s ease,color .2s ease;
}

.cn-seat-option b{
  display:block;
  color:var(--text,#eaf3fb);
  font-size:14px;
  font-weight:700;
}

.cn-seat-option:hover{
  border-color:rgba(34,211,238,.34);
}

.cn-seat-option.is-active{
  border-color:rgba(34,211,238,.55);
  background:rgba(34,211,238,.1);
  color:var(--green-bright,#a5f0ff);
}

.cn-seat-option.is-active b{
  color:var(--green-bright,#a5f0ff);
}

.cn-seat-custom{
  display:block;
  margin-top:10px;
  color:var(--soft,#425873);
  font-size:11px;
  line-height:1.6;
}

.cn-seat-custom a{
  color:var(--green,#22d3ee);
}

@media(max-width:820px){
  .cn-team-stats{
    grid-template-columns:1fr;
  }

  .cn-team-head{
    display:block;
  }

  .cn-team-tier-badge{
    margin-top:12px;
  }

  .cn-team-member{
    flex-wrap:wrap;
  }

  .cn-team-member-usage{
    text-align:left;
  }
}

@media(max-width:560px){
  .cn-team-card,
  .cn-invite-card{
    padding:22px 16px;
  }

  .cn-seat-options{
    flex-direction:column;
  }
}
