/* ============================================================
   Steve Boston Access — Phase 3E.3 activity surfaces
   Additive. Prefixed .act- / .newacc- so nothing here can collide
   with the locked account-dock rules or existing community styles.
   ============================================================ */

.act-section{ margin: 0 0 34px; }
.act-head{
  display:flex; align-items:baseline; justify-content:space-between;
  gap:12px; flex-wrap:wrap; margin:0 0 14px;
}
.act-head h2{
  font:700 12px/1 'DM Sans',Arial,sans-serif; letter-spacing:.24em;
  text-transform:uppercase; color:#c9a84c; margin:0;
}
.act-head .act-sub{
  font:400 11px/1.5 'DM Sans',Arial,sans-serif; color:#8a8a8a; margin:0;
}

.act-list{ list-style:none; margin:0; padding:0; }
.act-item{
  display:flex; gap:12px; align-items:flex-start;
  padding:13px 0; border-bottom:1px solid #232326;
}
.act-item:last-child{ border-bottom:0; }

.act-avatar-link{ flex:0 0 auto; text-decoration:none; }
.act-avatar{
  display:flex; align-items:center; justify-content:center;
  width:38px; height:38px; border-radius:50%; overflow:hidden;
  background:#1b1b1e; border:1px solid #2e2e32;
  font:700 12px/1 'DM Sans',Arial,sans-serif; color:#c9a84c;
}
.act-avatar img{ width:100%; height:100%; object-fit:cover; display:block; }

.act-body{ display:flex; flex-direction:column; gap:3px; min-width:0; flex:1; }
.act-name{
  font:600 13px/1.3 'DM Sans',Arial,sans-serif; color:#f0ede6;
  overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
}
.act-copy{
  font:400 13px/1.55 'DM Sans',Arial,sans-serif; color:#c4c0b8;
  word-break:break-word;
}
.act-link{ color:#c9a84c; text-decoration:none; }
.act-link:hover,.act-link:active{ text-decoration:underline; }
.act-milestone{
  font:700 12px/1 'Space Mono',monospace; letter-spacing:.06em; color:#e8c96e;
}
.act-time{
  font:400 11px/1 'Space Mono',monospace; letter-spacing:.06em; color:#7b7b80;
}
.act-empty{
  font:400 13px/1.6 'DM Sans',Arial,sans-serif; color:#8a8a8a; margin:0; padding:10px 0;
}

/* compact variant used on public profiles */
.act-list-compact .act-item-compact{ padding:10px 0; gap:0; }
.act-list-compact .act-copy{ font-size:12.5px; }

.act-more{
  display:block; width:100%; margin-top:14px; padding:12px;
  min-height:44px; border:1px solid #2e2e32; border-radius:4px;
  background:transparent; color:#c9a84c; cursor:pointer;
  font:700 11px/1 'Space Mono',monospace; letter-spacing:.16em; text-transform:uppercase;
}
.act-more:hover{ border-color:#c9a84c; }
.act-more:disabled{ opacity:.5; cursor:not-allowed; }

/* ---------- NEW TO ACCESS ---------- */
.newacc-row{
  display:grid; grid-template-columns:repeat(auto-fill,minmax(132px,1fr)); gap:10px;
}
.newacc-card{
  display:flex; flex-direction:column; align-items:center; gap:5px;
  padding:16px 10px; text-align:center; text-decoration:none;
  background:#141416; border:1px solid #232326; border-radius:6px;
  transition:border-color .2s ease;
}
.newacc-card:hover{ border-color:#c9a84c; }
.newacc-avatar{
  display:flex; align-items:center; justify-content:center;
  width:52px; height:52px; border-radius:50%; overflow:hidden;
  background:#1b1b1e; border:1px solid #2e2e32; margin-bottom:3px;
  font:700 14px/1 'DM Sans',Arial,sans-serif; color:#c9a84c;
}
.newacc-avatar img{ width:100%; height:100%; object-fit:cover; display:block; }
.newacc-name{
  font:600 12.5px/1.3 'DM Sans',Arial,sans-serif; color:#f0ede6;
  max-width:100%; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
}
.newacc-handle{
  font:400 11px/1 'Space Mono',monospace; color:#8a8a8a;
  max-width:100%; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
}
.newacc-type{
  font:700 9px/1 'Space Mono',monospace; letter-spacing:.16em; text-transform:uppercase;
  color:#c9a84c; border:1px solid #3a3320; border-radius:2px; padding:3px 7px; margin-top:2px;
}
.newacc-presence{ font:400 10px/1 'Space Mono',monospace; color:#6f6f74; margin-top:1px; }

/* ---------- Community tabs ---------- */
.act-tabs{ display:flex; gap:8px; margin:0 0 20px; }
.act-tab{
  flex:1; min-height:44px; padding:11px 12px; cursor:pointer;
  background:transparent; border:1px solid #2e2e32; border-radius:4px; color:#8a8a8a;
  font:700 11px/1 'Space Mono',monospace; letter-spacing:.16em; text-transform:uppercase;
  transition:border-color .2s ease,color .2s ease;
}
.act-tab:hover{ color:#f0ede6; }
.act-tab.is-active{ color:#c9a84c; border-color:#c9a84c; background:rgba(201,168,76,.07); }
.act-pane[hidden]{ display:none !important; }

/* ---------- privacy toggle ---------- */
.act-privacy-row{
  display:flex; align-items:flex-start; gap:14px; justify-content:space-between; flex-wrap:wrap;
}
.act-privacy-copy{ flex:1; min-width:190px; }
.act-privacy-copy p{
  font:400 12px/1.6 'DM Sans',Arial,sans-serif; color:#8a8a8a; margin:5px 0 0;
}
.act-switch{ position:relative; display:inline-block; width:52px; height:30px; flex:0 0 auto; }
.act-switch input{ opacity:0; width:0; height:0; }
.act-switch-track{
  position:absolute; inset:0; cursor:pointer; border-radius:30px;
  background:#2a2a2e; border:1px solid #37373c; transition:background .2s ease,border-color .2s ease;
}
.act-switch-track::before{
  content:''; position:absolute; width:22px; height:22px; left:3px; top:3px;
  border-radius:50%; background:#8a8a8a; transition:transform .2s ease,background .2s ease;
}
.act-switch input:checked + .act-switch-track{ background:rgba(201,168,76,.22); border-color:#c9a84c; }
.act-switch input:checked + .act-switch-track::before{ transform:translateX(22px); background:#c9a84c; }
.act-switch input:disabled + .act-switch-track{ opacity:.55; cursor:not-allowed; }
.act-privacy-status{ font:400 11.5px/1.5 'DM Sans',Arial,sans-serif; margin:9px 0 0; min-height:16px; }
.act-privacy-status.is-ok{ color:#7fae7f; }
.act-privacy-status.is-bad{ color:#d06666; }

/* ---------- mobile ---------- */
@media (max-width:700px){
  .act-section{ margin-bottom:26px; }
  .act-item{ padding:11px 0; gap:10px; }
  .act-avatar{ width:34px; height:34px; }
  .act-copy{ font-size:12.5px; }
  .newacc-row{ grid-template-columns:repeat(auto-fill,minmax(118px,1fr)); gap:8px; }
  .newacc-card{ padding:13px 8px; }
  .newacc-avatar{ width:46px; height:46px; }
  .act-tabs{ gap:6px; }
  .act-tab{ padding:11px 8px; font-size:10px; letter-spacing:.12em; }
  .act-privacy-row{ gap:10px; }
}
