/* Phase 42 (UI): minimal overrides requested by user.
   NOTE: Enqueued AFTER style.css.
*/

/* Requested feed/stories spacing */
.sv-feed > .sv-card {
  border-bottom: 0.5px solid var(--sv-border);
  padding: 0 10px 0;
  border-top: 0.5px solid var(--sv-border);
}

.sv-shelf {
  margin: 0;
  padding: 12px 10px 10px;
  border-top: 0.5px solid var(--sv-border);
  border-radius: 0;
  border-bottom: 0.5px solid var(--sv-border);
}

.sv-stories {
  padding: 5px 6px 5px !important;
}

.sv-story {
  height: 210px;
  position: relative;
  border-radius: 13px;
}

.sv-rThumb {
  width: 170px !important;
}

/* Force feed cards/shelf to square corners */
.sv-card {
  border-radius: 0 !important;
}
.sv-shelf {
  border-radius: 0 !important;
}

/* Phase 65x: mobile header borders (top header + sub header)
   - Top header border only appears after user scrolls
   - Top header border hides when sub header is settled directly under it
   - Sub header keeps a 2px bottom border
*/
@media (max-width: 560px){
  /* Sub header */
  .sv-topbar{
    border-bottom: 2px solid var(--sv-border) !important;
  }

  /* Top header */
  .sv-top{
    border-bottom: 0 !important;
  }

  body.sv-mobileScrolled:not(.sv-subSettled) .sv-top{
    border-bottom: 2px solid var(--sv-border) !important;
  }
}

/* Keep post action icons on a single line (no wrapping) */
.sv-actions {
  padding-top: 8px !important;
  padding-bottom: 8px !important;
}
.sv-actRow {
  flex-wrap: nowrap !important;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
.sv-actRow::-webkit-scrollbar{height:0}

/* Feed video overlays */
.sv-feed .sv-mediaVideo{ position: relative; }

.sv-feed .sv-sv42-sound,
.sv-feed .sv-sv42-time {
  position: absolute;
  bottom: 10px;
  z-index: 3;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  font-size: 12px;
  line-height: 1;
  padding: 6px 8px;
  border-radius: 10px;
  background: rgba(0,0,0,.38);
  color: #fff;
  backdrop-filter: blur(8px);
}

.sv-feed .sv-sv42-time{ left: 10px; font-variant-numeric: tabular-nums; }
.sv-feed .sv-sv42-sound{ right: 10px; cursor: pointer; user-select: none;   touch-action: manipulation; }
.sv-feed .sv-sv42-sound svg{ width: 16px; height: 16px; display:block; }

/* Keep overlays readable in light mode too */
body:not(.sv-dark) .sv-feed .sv-sv42-sound,
body:not(.sv-dark) .sv-feed .sv-sv42-time{
  background: rgba(0,0,0,.34);
}

/* Phase 77: Go Live panel */
.sv-liveGrid{ display:grid; grid-template-columns:1fr; gap:10px; }
@media (min-width: 720px){ .sv-liveGrid{ grid-template-columns:1fr 1fr; } }
.sv-liveRow{ display:flex; gap:8px; align-items:center; }
.sv-liveRow .sv-in{ flex:1; }
.sv-liveCopy{ white-space:nowrap; }
.sv-livePreview iframe{ background: var(--sv-card); border-radius:16px; box-shadow: var(--sv-shadow); }
/* Make ghost links behave like buttons */
a.sv-ghost{ display:inline-flex; align-items:center; justify-content:center; text-decoration:none; }


/* ===========================
   Phase 189 ✅ (Desktop UI fixes)
   - Make desktop feeds/cards balanced (no overstretch, clean spacing)
   - Fix reels desktop congestion (single reel per view, snap scroll)
   NOTE: Scoped to desktop only; mobile/tablet untouched.
=========================== */

@media (min-width: 980px) and (pointer: fine){
  /* Phase 190 ✅: tighten desktop main column to ~600px */
  .sv-main{
    flex: 0 0 600px;
    max-width: 600px;
  }

  /* Constrain primary content column on desktop across all pages */
  .sv-shell{
    max-width: 760px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 16px;
    padding-right: 16px;
  }

  /* Default caps for large media on desktop (prevents overstretch) */
  :root{
    --sv-feed-media-max-h: 760px;
    --sv-feed-video-max-h: 760px;
  }

  /* Desktop feed cards: modern card look with breathing room */
  .sv-feed{ padding-left: 0 !important; padding-right: 0 !important; }
  .sv-feed > .sv-card{
    margin: 0 0 14px;
    background: var(--sv-card) !important;
    border: 1px solid var(--sv-border) !important;
    border-radius: 18px !important;
    box-shadow: 0 18px 50px rgba(0,0,0,.06) !important;
    overflow: hidden;
    padding: 0 !important;
  }
  .sv-feed > .sv-card:last-child{ margin-bottom: 24px; }

  /* Story shelf: match feed card treatment on desktop */
  .sv-shelf{
    margin: 0 0 14px;
    padding: 12px 12px 10px;
    border: 1px solid var(--sv-border);
    border-radius: 18px;
    background: var(--sv-card);
    box-shadow: 0 18px 50px rgba(0,0,0,.05);
  }

  /* Inner spacing consistency */
  .sv-head{ padding: 12px 14px !important; }
  .sv-body{ padding: 0 14px 14px !important; }
  .sv-actions{ padding: 12px 14px !important; }

  /* Media containers */
  .sv-media{ border-radius: 16px !important; background: #000; }
  .sv-media img{
    width: 100%;
    height: auto;
    max-height: var(--sv-feed-media-max-h, 760px);
    object-fit: contain;
    background: #000;
  }
  .sv-mediaVideo{ max-height: var(--sv-feed-video-max-h, 760px) !important; }
  .sv-mediaVideo iframe{ height: var(--sv-feed-video-max-h, 760px) !important; }

  /* Sidebar: ensure content is readable and not visually “empty” */
  .sv-side{ overflow-y: auto; }
  .sv-side .sv-navLink{ opacity: 1; }
  .sv-side .sv-navLink,
  .sv-side .sv-navLink *{ color: var(--sv-fg) !important; }
}

/* Reels (desktop): single reel per view with snap scrolling (no stacked mini-reels) */
@media (min-width: 980px) and (pointer: fine){
  body.sv-reelsPage{ background: #000; }
  body.sv-reelsPage .sv-reels{
    height: calc(100vh - 0px) !important;
    min-height: 100vh !important;
    max-width: 560px;
    margin: 0 auto;
    padding: 0 !important;
    gap: 0 !important;
    overflow-y: auto;
    scroll-snap-type: y mandatory;
    scrollbar-width: none;
  }
  body.sv-reelsPage .sv-reels::-webkit-scrollbar{ width: 0; height: 0; }

  body.sv-reelsPage .sv-reel{
    height: 100vh !important;
    min-height: 100vh !important;
    border-radius: 22px;
    border: 1px solid var(--sv-border);
    box-shadow: var(--sv-shadow);
    scroll-snap-align: start;
    scroll-snap-stop: always;
  }
}


/* ===========================
   Phase 68x ✅ (Stories)
   - Remove duplicate right-side close icon inside story HUD
   - Make story media fill screen like reels (cover)
=========================== */

/* Force story media to full-bleed cover like reels */
#sv-lightbox.is-story{
  align-items: stretch !important;
  justify-content: stretch !important;
}

#sv-lightbox.is-story .sv-lbCard{
  width: 100vw !important;
  height: 100svh !important;
}

#sv-lightbox.is-story .sv-lbMedia,
#sv-lightbox.is-story .sv-lbMediaFs{
  width: 100vw !important;
  height: 100svh !important;
  min-height: 100svh !important;
  padding: 0 !important;
}

#sv-lightbox.is-story #sv-lb-img,
#sv-lightbox.is-story .sv-lbVideo video{
  width: 100% !important;
  height: 100% !important;
  max-height: 100svh !important;
  object-fit: contain !important;
  background: #000 !important;
}
#sv-lightbox.is-story .sv-lbMedia{
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}


/* Iframe stories: fill viewport (internal letterboxing depends on provider) */
#sv-lightbox.is-story .sv-lbVideo iframe{
  width: 100vw !important;
  height: 100svh !important;
}



/* ===========================
   Phase 81: Groups UI polish
=========================== */
.sv-gShelf{
  display:flex;
  gap:10px;
  overflow:auto;
  padding:6px 2px;
  scroll-snap-type:x mandatory;
}
.sv-groupCard{
  min-width:220px;
  max-width:220px;
  border:0.5px solid var(--sv-border);
  border-radius:14px;
  overflow:hidden;
  background:var(--sv-card);
  scroll-snap-align:start;
}
.sv-gCover{
  height:90px;
  background:#222;
  background-size:cover;
  background-position:center;
}
.sv-gMeta{
  display:flex;
  gap:10px;
  padding:10px;
  align-items:center;
}
.sv-gAv img{
  width:38px;
  height:38px;
  border-radius:12px;
  object-fit:cover;
}
.sv-gName{ font-weight:950; font-size:15px; line-height:1.1; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.sv-gSub{ font-size:12px; opacity:.8; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; margin-top:2px; }
.sv-gActions{
  display:flex;
  gap:8px;
  padding:0 10px 10px;
  align-items:center;
}
.sv-gActions .sv-chip,
.sv-gActions .sv-primary{ height:34px; padding:0 12px; }

.sv-gItem{
  border:0.5px solid var(--sv-border);
  border-radius:14px;
  padding:12px;
  margin-bottom:10px;
  background:var(--sv-card);
}
.sv-gRow{ display:flex; gap:10px; align-items:flex-start; }
.sv-gTitle{ font-weight:950; font-size:16px; line-height:1.1; }
.sv-gDesc{ font-size:13px; opacity:.85; margin-top:4px; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.sv-gFoot{ display:flex; justify-content:space-between; align-items:center; margin-top:10px; gap:10px; }
.sv-gAv img{ display:block; }

.sv-gModal{
  width:min(720px, 92vw);
  max-height:82vh;
  overflow:auto;
  background:var(--sv-card);
  border:0.5px solid var(--sv-border);
  border-radius:18px;
  padding:12px;
}
.sv-gModalTop{ display:flex; justify-content:space-between; align-items:center; gap:10px; }
.sv-gModalTabs{ display:flex; gap:8px; flex-wrap:wrap; margin:10px 0; }
.sv-gModalTabs .sv-chip.is-on{ outline:2px solid var(--sv-primary); }
.sv-gListRow{
  display:flex;
  gap:10px;
  align-items:center;
  justify-content:space-between;
  padding:10px;
  border:0.5px solid var(--sv-border);
  border-radius:14px;
  margin-bottom:10px;
}
.sv-gListRow .sv-l{
  display:flex;
  gap:10px;
  align-items:center;
  min-width:0;
  flex:1;
}
.sv-gListRow .sv-l img{
  width:34px;
  height:34px;
  border-radius:12px;
  object-fit:cover;
}
.sv-gListRow .sv-n{
  min-width:0;
}
.sv-gListRow .sv-n .t{
  font-weight:850;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.sv-gListRow .sv-n .s{
  font-size:12px;
  opacity:.8;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  margin-top:2px;
}

.sv-groupHead{
  border:0.5px solid var(--sv-border);
  border-radius:14px;
  overflow:hidden;
  background:var(--sv-card);
  margin-bottom:10px;
}
.sv-ghCover{
  height:140px;
  background:#222;
  background-size:cover;
  background-position:center;
}
.sv-ghBody{
  display:flex;
  gap:12px;
  padding:12px;
  align-items:flex-start;
}
.sv-ghAv img{
  width:54px;
  height:54px;
  border-radius:16px;
  object-fit:cover;
}
.sv-ghName{ font-weight:950; font-size:18px; line-height:1.1; }
.sv-ghDesc{ margin-top:8px; font-size:13px; opacity:.9; }
.sv-ghActions{ margin-top:10px; display:flex; gap:8px; flex-wrap:wrap; }


/* Phase 88: Premium plans modal */
.sv-planList{ border:1px solid var(--sv-border); border-radius:14px; overflow:hidden; }
.sv-planRow{ padding:10px 12px; border-bottom:1px solid var(--sv-border); }
.sv-planRow:last-child{ border-bottom:none; }
.sv-planRow .n{ font-weight:900; }
.sv-planRow .p{ font-size:13px; opacity:.8; margin-top:2px; }



/* Phase 16 desktop search suggestions + connections modal */
.sv-statBtn{background:transparent;border:0;padding:0;cursor:pointer;color:inherit;font:inherit}
.sv-statBtn:hover .sv-statLbl,.sv-statBtn:focus-visible .sv-statLbl{text-decoration:underline}
.sv-statBtn:focus-visible{outline:2px solid var(--sv-accent);outline-offset:6px;border-radius:12px}
.sv-dTop__search{position:relative}
.sv-dTop__search.is-open{z-index:40}
.svSearchSuggest{position:absolute;top:calc(100% + 8px);left:0;right:0;background:var(--sv-card);border:1px solid var(--sv-border);border-radius:16px;box-shadow:0 10px 34px rgba(0,0,0,.16);overflow:hidden;max-height:min(70vh,560px);overflow-y:auto}
.svSearchSuggestSecTitle{padding:10px 12px 6px;color:var(--sv-muted);font-size:12px;font-weight:700;letter-spacing:.03em;text-transform:uppercase}
.svSearchSuggestEmpty{padding:14px 12px;color:var(--sv-muted)}
.svSearchSuggestRow{display:flex;align-items:center;gap:10px;padding:10px 12px;border-top:1px solid var(--sv-border);text-decoration:none;color:inherit}
.svSearchSuggestMain{display:flex;align-items:center;gap:10px;min-width:0;flex:1;text-decoration:none;color:inherit}
.svSearchSuggestAva{width:40px;height:40px;flex:0 0 40px;border-radius:999px;border:1px solid var(--sv-border);overflow:hidden;background:var(--sv-soft);display:inline-flex;align-items:center;justify-content:center}
.svSearchSuggestAva img,.svSearchSuggestThumb img{width:100%;height:100%;object-fit:cover;display:block}
.svSearchSuggestThumb{width:44px;height:44px;flex:0 0 44px;border-radius:10px;border:1px solid var(--sv-border);overflow:hidden;background:var(--sv-soft)}
.svSearchSuggestTxt{min-width:0;display:flex;flex-direction:column;gap:2px;flex:1}
.svSearchSuggestName{font-weight:700;line-height:1.2;display:flex;align-items:center;gap:4px;flex-wrap:wrap}
.svSearchSuggestHandle{color:var(--sv-muted);font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.svSearchSuggestBtn{border:1px solid var(--sv-border);background:var(--sv-card);color:var(--sv-text);height:34px;padding:0 12px;border-radius:999px;font-weight:700;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto}
.svSearchSuggestBtn.sv-miniFollow.is-on,.svConnBtn.sv-miniFollow.is-on{background:var(--sv-soft)}
.svSearchSuggestFoot{display:block;padding:11px 12px;border-top:1px solid var(--sv-border);text-decoration:none;color:var(--sv-accent);font-weight:700}
#sv-ov.svConnOverlayHost{position:fixed;inset:0;z-index:10050}
.svConnBackdrop{position:absolute;inset:0;background:rgba(0,0,0,.45)}
.svConnSheet{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(560px,92vw);max-height:min(80vh,720px);background:var(--sv-card);border:1px solid var(--sv-border);border-radius:20px;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 18px 44px rgba(0,0,0,.28)}
.svConnHead{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-bottom:1px solid var(--sv-border)}
.svConnTitle{font-size:18px;font-weight:800}
.svConnClose{width:34px;height:34px;border-radius:999px;border:1px solid var(--sv-border);background:var(--sv-card);cursor:pointer}
.svConnTabs{display:flex;gap:8px;padding:10px 12px 6px;border-bottom:1px solid var(--sv-border)}
.svConnTab{flex:1;border:1px solid var(--sv-border);background:var(--sv-card);color:var(--sv-text);height:38px;border-radius:999px;font-weight:700;cursor:pointer}
.svConnTab.is-active{background:var(--sv-soft);border-color:var(--sv-accent)}
.svConnSearchWrap{padding:10px 12px 6px}
.svConnSearch{width:100%;height:42px;border-radius:999px;border:1px solid var(--sv-border);background:var(--sv-bg);color:var(--sv-text);padding:0 14px;font:inherit;outline:none}
.svConnSearch:focus{border-color:var(--sv-accent);box-shadow:0 0 0 2px rgba(59,130,246,.16)}
.svConnMeta{padding:0 14px 8px;color:var(--sv-muted);font-size:12px}
.svConnList{overflow:auto;padding-bottom:4px}
.svConnRow{display:flex;align-items:center;gap:10px;padding:10px 14px;border-top:1px solid var(--sv-border)}
.svConnMain{display:flex;align-items:center;gap:10px;min-width:0;flex:1;text-decoration:none;color:inherit}
.svConnAva{width:46px;height:46px;flex:0 0 46px;border-radius:999px;overflow:hidden;border:1px solid var(--sv-border);background:var(--sv-soft)}
.svConnTxt{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}
.svConnName{font-weight:800;line-height:1.15;display:flex;align-items:center;gap:4px;flex-wrap:wrap}
.svConnHandle{color:var(--sv-muted);font-size:13px}
.svConnBio{color:var(--sv-muted);font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.svConnBtn{border:1px solid var(--sv-border);background:var(--sv-card);color:var(--sv-text);height:36px;padding:0 12px;border-radius:999px;font-weight:700;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto}
.svConnFoot{padding:10px 14px;border-top:1px solid var(--sv-border)}
.svConnMore{width:100%;height:38px;border-radius:999px;border:1px solid var(--sv-border);background:var(--sv-card);font-weight:700;cursor:pointer}
.svConnEmpty{padding:20px 14px;color:var(--sv-muted)}
@media (max-width:980px), (pointer:coarse){ .svSearchSuggest{display:none!important} }
@media (max-width:640px){ .svConnSheet{width:96vw;max-height:84vh;border-radius:16px} .svConnRow{padding:10px 12px} }


/* Phase 17 polish: tighter popup spacing + Instagram-style follow buttons */
.svSearchSuggest{border-radius:14px}
.svSearchSuggestSecTitle{padding:8px 10px 5px;font-size:11px}
.svSearchSuggestEmpty{padding:12px 10px}
.svSearchSuggestRow{gap:8px;padding:8px 10px}
.svSearchSuggestMain{gap:8px}
.svSearchSuggestAva{width:38px;height:38px;flex-basis:38px}
.svSearchSuggestThumb{width:42px;height:42px;flex-basis:42px}
.svSearchSuggestTxt{gap:1px}
.svSearchSuggestHandle{font-size:11px}
.svSearchSuggestBtn,.svConnBtn,.sv-miniFollow{
  height:32px;
  padding:0 12px;
  border-radius:10px;
  font-weight:700;
  line-height:1;
  transition:background-color .15s ease,border-color .15s ease,color .15s ease,opacity .15s ease;
}
.svSearchSuggestBtn.sv-miniFollow:not(.is-on),
.svConnBtn.sv-miniFollow:not(.is-on),
.sv-miniFollow:not(.is-on){
  background:#0095f6;
  border-color:#0095f6;
  color:#fff;
}
.svSearchSuggestBtn.sv-miniFollow:not(.is-on):hover,
.svConnBtn.sv-miniFollow:not(.is-on):hover,
.sv-miniFollow:not(.is-on):hover{
  background:#1877f2;
  border-color:#1877f2;
  color:#fff;
}
.svSearchSuggestBtn.sv-miniFollow.is-on,
.svConnBtn.sv-miniFollow.is-on,
.sv-miniFollow.is-on{
  background:var(--sv-card);
  border-color:var(--sv-border);
  color:var(--sv-text);
}
.svConnSheet{border-radius:18px}
.svConnHead{padding:10px 12px}
.svConnTitle{font-size:17px}
.svConnClose{width:32px;height:32px}
.svConnTabs{gap:6px;padding:8px 10px 5px}
.svConnTab{height:36px}
.svConnSearchWrap{padding:8px 10px 5px}
.svConnSearch{height:40px;padding:0 12px}
.svConnMeta{padding:0 12px 6px}
.svConnRow{gap:8px;padding:8px 12px}
.svConnAva{width:44px;height:44px;flex-basis:44px}
.svConnTxt{gap:1px}
.svConnHandle{font-size:12px}
.svConnBio{font-size:11px}
.svConnFoot{padding:8px 12px}
.svConnMore{height:36px}


/* Phase 42x: Suggested reels placeholders */
.sv-rTile--ph{pointer-events:none}
.sv-rTile--ph .sv-rThumb{width:138px;height:220px;border-radius:14px}
@media (max-width:560px){.sv-rTile--ph .sv-rThumb{width:122px;height:200px}}

/* Phase 42x: Reels seek overlay (±10s) */
.sv-reelSeek{
  position:absolute;left:0;right:0;top:50%;
  transform:translateY(-50%);
  display:flex;justify-content:space-between;
  padding:0 14px;
  pointer-events:none;
  opacity:0;
  transition:opacity .18s ease;
  z-index:7;
}
.sv-reelSeek.is-show{opacity:1}
.sv-reelSeekBtn{
  pointer-events:auto;
  width:56px;height:56px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.22);
  background:rgba(0,0,0,.45);
  color:#fff;
  display:flex;align-items:center;justify-content:center;
  font-weight:800;font-size:14px;
  backdrop-filter:blur(6px);
  -webkit-backdrop-filter:blur(6px);
}
.sv-reelSeekBtn:active{transform:scale(.98)}
.sv-reelSeekTxt{line-height:1}
@media (max-width:480px){.sv-reelSeekBtn{width:52px;height:52px;font-size:13px}}

/* Phase 112x: Group card actions (Join + View) */
.sv-gActions{flex-wrap:wrap;}
.sv-gBtn{flex:1; min-width:0;}


/* Phase 114x: Group buttons compact + single-line actions */
.sv-groupCard .sv-gActions{
  display:flex;
  gap:8px;
  align-items:center;
  justify-content:space-between;
  flex-wrap:nowrap;
}
.sv-groupCard .sv-gBtn{
  flex:1 1 0;
  min-width:0;
  height:32px;
  padding:0 10px;
  font-size:12px;
  border-radius:12px;
  line-height:32px;
}
.sv-groupCard .sv-gBtn.sv-chip{ line-height:30px; }
@media (max-width:420px){
  .sv-groupCard .sv-gBtn{ height:30px; line-height:30px; font-size:11px; padding:0 8px; border-radius:11px; }
}

/* Group single header actions: keep on one line */
.sv-ghActions{
  display:flex;
  gap:8px;
  align-items:center;
  flex-wrap:nowrap;
  overflow:auto;
  -webkit-overflow-scrolling:touch;
  padding-bottom:2px;
}
.sv-ghActions .sv-chip,
.sv-ghActions .sv-primary{
  height:32px;
  padding:0 10px;
  font-size:12px;
  border-radius:12px;
  white-space:nowrap;
}
.sv-ghActions .sv-primary{ line-height:32px; }
.sv-ghActions .sv-chip{ line-height:30px; }

/* Leave / Share / Manage colors */
.sv-ghActions .sv-gActLeave{ border-color: rgba(255,0,0,.35); color: var(--sv-danger); }
.sv-ghActions .sv-gActShare{ border-color: rgba(0,120,255,.35); color: var(--sv-link, #2d7dff); }
.sv-ghActions .sv-gActManage{ border-color: rgba(255,255,255,.18); }
.sv-ghActions .sv-gActDelete{ background: rgba(255,0,0,.14); border-color: rgba(255,0,0,.38); color: var(--sv-danger); }

/* Phase 114x: Group plans modal fit screen + scroll */
.sv-modalBox.sv-gPlansModal{
  width:min(720px, calc(100vw - 20px));
  max-height: calc(100vh - 26px);
  overflow:hidden;
  border-radius:18px;
}
.sv-gPlansModal .sv-modalBodyScroll{
  max-height: calc(100vh - 120px);
  overflow:auto;
  -webkit-overflow-scrolling:touch;
  padding: 10px 2px 4px;
}

/* Phase 117x: Suggested groups shelf — one-word labels + equal weight/size */
.sv-shelf--groups .sv-groupCard .sv-gActions .sv-primary,
.sv-shelf--groups .sv-groupCard .sv-gActions .sv-chip{
  font-weight:700 !important;
  font-size:12px !important;
  letter-spacing:0 !important;
  text-transform:none !important;
}
@media (max-width:420px){
  .sv-shelf--groups .sv-groupCard .sv-gActions .sv-primary,
  .sv-shelf--groups .sv-groupCard .sv-gActions .sv-chip{
    font-size:11px !important;
  }
}

/* Phase 128x: horizontal suggested groups Join/View buttons */
.sv-shelf--groups .sv-groupCard .sv-gActions .sv-primary,
.sv-shelf--groups .sv-groupCard .sv-gActions .sv-chip,
.sv-shelf--groups .sv-groupCard .sv-gActions .sv-gBtn{
  border-radius: 50px !important;
}
