/* Phase 149x: modern desktop adaptive pass + creator pages polish */
:root{
  --sv-p149-surface: color-mix(in srgb, var(--sv-card) 92%, transparent);
  --sv-p149-muted-surface: color-mix(in srgb, var(--sv-card) 78%, transparent);
  --sv-p149-shadow: 0 18px 52px rgba(0,0,0,.10);
  --sv-p149-ring: 0 0 0 1px rgba(255,255,255,.06) inset;
}

/* Creator + payments pages */
.sv-walletModern,
.sv-monetModern,
.sv-verifyModern,
body.page-premium .sv-shell{
  color: var(--sv-fg);
}

.sv-walletModern .sv-primary,
.sv-walletModern .sv-ghost,
.sv-walletModern .sv-wlBtn,
.sv-walletModern .sv-wlGhost,
.sv-walletModern .sv-wlTopupBtn,
.sv-monetPage .sv-primary,
.sv-monetPage .sv-ghost,
.sv-monetPage .sv-monetWalletBtn,
.sv-verifyPage .sv-primary,
.sv-verifyPage .sv-ghost,
body.page-premium .sv-primary,
body.page-premium .sv-premCtaBtn,
body.page-premium .sv-monetBtnPremium,
body.page-premium .sv-premSmartBtns button{
  min-height: 40px !important;
  border-radius: 14px !important;
  font-size: 13px !important;
  font-weight: 900 !important;
  letter-spacing: .01em !important;
  padding: 0 14px !important;
  box-shadow: 0 12px 28px rgba(0,0,0,.16) !important;
}

.sv-walletModern .sv-wlTopupBtn{ background: linear-gradient(135deg,#1677ff,#5a6dff) !important; color:#fff !important; }
.sv-walletModern #sv-transfer-btn{ background: linear-gradient(135deg,#f59e0b,#f97316) !important; color:#111 !important; }
.sv-walletModern #sv-withdraw-btn{ background: linear-gradient(135deg,#14b8a6,#0ea5a4) !important; color:#fff !important; }
.sv-walletModern #sv-wallet-loadMore,
.sv-walletModern .sv-wlGhost{ background: rgba(127,127,127,.08) !important; color: var(--sv-fg) !important; border:1px solid var(--sv-border) !important; box-shadow:none !important; }

.sv-monetPage .sv-monetWalletBtn{ background: linear-gradient(135deg,#246bff,#5a62ff) !important; color:#fff !important; border:0 !important; }
.sv-monetPage .sv-monetPremiumBtn{ background: linear-gradient(135deg,#8b5cf6,#ec4899) !important; color:#fff !important; }
.sv-monetPage #sv-mon-save,
.sv-monetPage #sv-mon-assign-btn{ background: linear-gradient(135deg,#0ea5a4,#16a34a) !important; color:#fff !important; border:0 !important; }
.sv-monetPage .sv-monetGate .sv-primary{ background: linear-gradient(135deg,#2563eb,#7c3aed) !important; color:#fff !important; }
.sv-monetPage .sv-monetGate .sv-ghost{ background: rgba(127,127,127,.08) !important; color: var(--sv-fg) !important; border:1px solid var(--sv-border) !important; }

.sv-verifyPage #sv-ver-copy-link{ background: linear-gradient(135deg,#2563eb,#06b6d4) !important; color:#fff !important; border:0 !important; }
.sv-verifyPage #sv-ver-submit{ background: linear-gradient(135deg,#16a34a,#0ea5a4) !important; color:#fff !important; border:0 !important; }
.sv-verifyPage .sv-ghost{ background: rgba(127,127,127,.08) !important; color: var(--sv-fg) !important; border:1px solid var(--sv-border) !important; }

body.page-premium .sv-premCtaBtn{ background: linear-gradient(135deg,#ef4444,#f97316) !important; color:#fff !important; }
body.page-premium .sv-premPlanCard .sv-premSmartBtns button:first-child{ background: linear-gradient(135deg,#1d4ed8,#2563eb) !important; color:#fff !important; }
body.page-premium .sv-premPlanCard .sv-premSmartBtns button:last-child{ background: rgba(127,127,127,.08) !important; color: var(--sv-fg) !important; border:1px solid var(--sv-border) !important; }

.sv-walletModern .sv-wlCard,
.sv-monetPage .sv-monetCard,
.sv-monetPage .sv-monetHero,
.sv-verifyPage .sv-verifyHero,
.sv-verifyPage .sv-verifyCard,
.sv-verifyPage .sv-verifyAlert,
body.page-premium .sv-premHeroV87,
body.page-premium .sv-premPlanCard,
body.page-premium #sv-premSubCard,
body.page-premium #sv-premReceipt,
body.page-premium .sv-card{
  border-color: color-mix(in srgb, var(--sv-border) 82%, transparent) !important;
  box-shadow: var(--sv-p149-shadow) !important;
}

.sv-walletModern .sv-wlCard,
.sv-monetPage .sv-monetCard,
.sv-verifyPage .sv-verifyCard,
.sv-verifyPage .sv-verifyAlert{
  border-radius: 24px !important;
}

.sv-walletViewport,
.sv-monetScroll,
.sv-verifyViewport{
  max-width: 1120px !important;
  margin: 0 auto !important;
}

.sv-walletModern .sv-wlSummary,
.sv-walletModern .sv-wlActions,
.sv-verifyPage .sv-verifyStats,
.sv-verifyPage .sv-verifyReqGrid{
  gap: 12px !important;
}

.sv-walletModern .sv-wlSummaryCard,
.sv-walletModern .sv-wlAction,
.sv-verifyPage .sv-verifyReqItem,
.sv-verifyPage .sv-verifyStat{
  border-radius: 20px !important;
}

.sv-walletModern .sv-wlSummaryValue{ font-size: clamp(24px, 4vw, 34px) !important; }
.sv-walletModern .sv-wlBalanceBig{ font-size: clamp(30px, 4.5vw, 42px) !important; }
.sv-walletModern .sv-wlSectionTitle,
.sv-walletModern .sv-wlTopupTitle,
.sv-monetPage .sv-monetCardTitle,
.sv-verifyPage .sv-verifySectionTitle{ font-size: 16px !important; }
.sv-walletModern .sv-wlSectionSub,
.sv-walletModern .sv-wlTopupNote,
.sv-monetPage .sv-monetCardSub,
.sv-verifyPage .sv-verifySectionSub,
.sv-verifyPage .sv-verifyFieldSub{ font-size: 12px !important; line-height: 1.45 !important; }

.sv-verifyPage .sv-verifyHero{
  padding: 18px !important;
  background:
    radial-gradient(460px 180px at 12% 0%, rgba(59,130,246,.20), transparent 64%),
    radial-gradient(520px 220px at 92% 12%, rgba(236,72,153,.12), transparent 60%),
    var(--sv-card);
}
.sv-verifyPage .sv-verifyHeroTop{ gap:14px; align-items:flex-start; }
.sv-verifyPage .sv-verifyTitle{ font-size: clamp(22px, 4vw, 30px); font-weight: 950; letter-spacing: -.03em; }
.sv-verifyPage .sv-verifySub{ max-width: 760px; line-height: 1.55; font-size: 13px; opacity:.86; }
.sv-verifyPage .sv-verifyStats{ grid-template-columns: repeat(4, minmax(0,1fr)); }
.sv-verifyPage .sv-verifyStat{ padding: 14px; background: rgba(127,127,127,.05); border:1px solid var(--sv-border); }
.sv-verifyPage .sv-verifyStat .k{ font-size: 11px; text-transform: uppercase; letter-spacing: .06em; opacity:.68; }
.sv-verifyPage .sv-verifyStat .v{ font-size: 22px; font-weight: 950; margin-top: 6px; }
.sv-verifyPage .sv-verifyReqGrid{ grid-template-columns: repeat(2, minmax(0,1fr)); }
.sv-verifyPage .sv-verifyReqItem{ padding: 14px 14px 14px 12px; background: rgba(127,127,127,.04); }
.sv-verifyPage .sv-verifyField{ border:1px solid var(--sv-border); border-radius:18px; padding:14px; background:rgba(127,127,127,.04); }
.sv-verifyPage .sv-verifyFile,
.sv-verifyPage .sv-verifyTextarea,
.sv-verifyPage .sv-in{ border-radius: 16px !important; }
.sv-verifyPage .sv-verifySubmit{ margin-top: 14px !important; }

.sv-monetPage .sv-monetHeroV2{
  padding: 18px !important;
  border-radius: 26px !important;
  background:
    radial-gradient(460px 190px at 16% 0%, rgba(37,99,235,.22), transparent 64%),
    radial-gradient(500px 210px at 90% 6%, rgba(168,85,247,.16), transparent 58%),
    var(--sv-card);
}
.sv-monetPage .sv-monetHeroTop{ gap: 14px; align-items:flex-start !important; }
.sv-monetPage .sv-monetHeroLeft{ gap: 12px; align-items:flex-start !important; }
.sv-monetPage .sv-monetHeroBadge{ width: 52px; height: 52px; border-radius: 18px; }
.sv-monetPage .sv-monetHeroTitle{ font-size: clamp(22px, 4vw, 30px) !important; font-weight: 950 !important; letter-spacing: -.03em; }
.sv-monetPage .sv-monetHeroSub{ max-width: 760px; line-height: 1.55; font-size: 13px !important; }
.sv-monetPage .sv-monetHeroBtns{ display:flex; gap:10px; flex-wrap:wrap; }
.sv-monetPage .sv-monetHeroChips{ gap:8px !important; }
.sv-monetPage .sv-monetChip{ border-radius:999px !important; font-size:12px !important; padding:8px 12px !important; }
.sv-monetPage .sv-tabs.sv-monetTabs{ margin: 0 0 12px; }
.sv-monetPage .sv-monetCardHead{ margin-bottom: 4px; }
.sv-monetPage [data-mon-feature-card="settings"] label,
.sv-monetPage [data-mon-feature-card="manual-assign"]{
  border-radius: 18px;
}
.sv-monetPage [data-mon-feature-card="settings"] > div[style*="display:grid"] > label{
  padding: 12px 14px;
  border: 1px solid var(--sv-border);
  border-radius: 18px;
  background: rgba(127,127,127,.04);
}
.sv-monetPage #sv-mon-paypal,
.sv-monetPage #sv-mon-assign-user,
.sv-monetPage #sv-mon-assign-plan{ border-radius:16px !important; min-height:44px !important; }

body.page-premium .sv-premPadV87{ padding: 14px 14px 0 !important; }
body.page-premium .sv-premHeroV87{ border-radius: 30px !important; }
body.page-premium .sv-premHeroTitle{ font-size: clamp(22px, 4vw, 34px); }
body.page-premium .sv-premHeroSub{ font-size: 13px; line-height: 1.55; max-width: 640px; margin-left:auto; margin-right:auto; }
body.page-premium .sv-premPlanCard{ padding: 16px !important; }
body.page-premium .sv-premPlanName{ font-size: 15px !important; }
body.page-premium .sv-premPlanPrice{ font-size: 18px !important; }
body.page-premium .sv-premCtaWrap{ padding: 14px 0 6px; }
body.page-premium .sv-premCtaBtn{ width: min(280px, 100%); }

/* Desktop adaptive 3-column layout */
@media (min-width: 1180px){
  body:not(.sv-auth-page):not(.sv-authPage){
    background:
      radial-gradient(1200px 420px at 6% -6%, rgba(59,130,246,.08), transparent 62%),
      radial-gradient(960px 340px at 94% 6%, rgba(236,72,153,.06), transparent 58%),
      var(--sv-bg);
  }

  body:not(.sv-auth-page):not(.sv-authPage):not(.sv-reelsPage) .sv-layout{
    display:grid !important;
    grid-template-columns: minmax(230px, 264px) minmax(0, 860px) minmax(280px, 340px) !important;
    gap: 20px !important;
    align-items:start !important;
    max-width: min(1720px, calc(100vw - 28px)) !important;
    margin: 0 auto !important;
    padding: 0 14px 24px !important;
  }

  body:not(.sv-auth-page):not(.sv-authPage):not(.sv-reelsPage) .sv-side,
  body:not(.sv-auth-page):not(.sv-authPage):not(.sv-reelsPage) .sv-sideRight{
    display:block !important;
    position: sticky !important;
    top: 14px !important;
    max-height: calc(100vh - 28px) !important;
    overflow: auto !important;
    border: 1px solid color-mix(in srgb, var(--sv-border) 82%, transparent) !important;
    border-radius: 28px !important;
    background: color-mix(in srgb, var(--sv-card) 86%, transparent) !important;
    backdrop-filter: blur(16px);
    box-shadow: var(--sv-p149-shadow) !important;
    padding: 16px 14px 20px !important;
  }
  body:not(.sv-auth-page):not(.sv-authPage):not(.sv-reelsPage) .sv-sideRight{ padding-right: 16px !important; }

  body:not(.sv-auth-page):not(.sv-authPage):not(.sv-reelsPage) .sv-main{
    min-width:0 !important;
    width:100% !important;
    overflow: visible !important;
  }

  body:not(.sv-auth-page):not(.sv-authPage):not(.sv-reelsPage) .sv-main > .sv-shell,
  body:not(.sv-auth-page):not(.sv-authPage):not(.sv-reelsPage) .sv-shell{
    max-width: none !important;
    margin: 0 !important;
    padding: 0 0 30px !important;
  }

  body:not(.sv-auth-page):not(.sv-authPage):not(.sv-reelsPage) .sv-dTop{
    position: sticky !important;
    top: 0 !important;
    z-index: 40 !important;
    display:grid !important;
    grid-template-columns: minmax(280px,1fr) auto auto !important;
    gap: 12px !important;
    width: 100% !important;
    margin: 0 0 16px !important;
    padding: 12px 14px !important;
    border: 1px solid color-mix(in srgb, var(--sv-border) 82%, transparent) !important;
    border-radius: 0 0 28px 28px !important;
    background: color-mix(in srgb, var(--sv-card) 88%, transparent) !important;
    backdrop-filter: blur(16px);
    box-shadow: 0 14px 36px rgba(0,0,0,.08) !important;
  }
  body:not(.sv-auth-page):not(.sv-authPage):not(.sv-reelsPage) .sv-dTop .sv-ico,
  body:not(.sv-auth-page):not(.sv-authPage):not(.sv-reelsPage) .sv-side .sv-ico,
  body:not(.sv-auth-page):not(.sv-authPage):not(.sv-reelsPage) .sv-sideRight .sv-ico{ color: var(--sv-fg) !important; fill: currentColor !important; }

  body:not(.sv-auth-page):not(.sv-authPage):not(.sv-reelsPage) .sv-dTop__search{
    min-width: 0 !important;
    max-width: none !important;
    width: 100% !important;
    border-radius: 18px !important;
    background: rgba(127,127,127,.07) !important;
    border: 1px solid var(--sv-border) !important;
  }
  body:not(.sv-auth-page):not(.sv-authPage):not(.sv-reelsPage) .sv-dTop__search input{
    font-size: 14px !important;
  }
  body:not(.sv-auth-page):not(.sv-authPage):not(.sv-reelsPage) .sv-dTopNavLink,
  body:not(.sv-auth-page):not(.sv-authPage):not(.sv-reelsPage) .sv-navLink,
  body:not(.sv-auth-page):not(.sv-authPage):not(.sv-reelsPage) .sv-rListItem,
  body:not(.sv-auth-page):not(.sv-authPage):not(.sv-reelsPage) .sv-btmLink{
    font-size: 14px !important;
  }
  body:not(.sv-auth-page):not(.sv-authPage):not(.sv-reelsPage) .sv-navLink,
  body:not(.sv-auth-page):not(.sv-authPage):not(.sv-reelsPage) .sv-rListItem{
    min-height: 44px !important;
    border-radius: 18px !important;
  }
  body:not(.sv-auth-page):not(.sv-authPage):not(.sv-reelsPage) .sv-navLink:hover,
  body:not(.sv-auth-page):not(.sv-authPage):not(.sv-reelsPage) .sv-rListItem:hover,
  body:not(.sv-auth-page):not(.sv-authPage):not(.sv-reelsPage) .sv-dTopNavLink:hover{
    background: rgba(127,127,127,.08) !important;
  }

  body:not(.sv-auth-page):not(.sv-authPage):not(.sv-reelsPage) .sv-feed > .sv-card,
  body:not(.sv-auth-page):not(.sv-authPage):not(.sv-reelsPage) .sv-feed > .sv-shelf,
  body:not(.sv-auth-page):not(.sv-authPage):not(.sv-reelsPage) .sv-feed > .sv-stories,
  body:not(.sv-auth-page):not(.sv-authPage):not(.sv-reelsPage) .sv-feed > .sv-homeTabs,
  body:not(.sv-auth-page):not(.sv-authPage):not(.sv-reelsPage) .sv-walletViewport,
  body:not(.sv-auth-page):not(.sv-authPage):not(.sv-reelsPage) .sv-verifyViewport,
  body:not(.sv-auth-page):not(.sv-authPage):not(.sv-reelsPage) .sv-monetScroll{
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  body:not(.sv-auth-page):not(.sv-authPage):not(.sv-reelsPage) .sv-feed > .sv-card{
    border-radius: 26px !important;
    border: 1px solid color-mix(in srgb, var(--sv-border) 82%, transparent) !important;
    box-shadow: var(--sv-p149-shadow) !important;
    overflow: hidden !important;
    margin-bottom: 16px !important;
  }
  body:not(.sv-auth-page):not(.sv-authPage):not(.sv-reelsPage) .sv-head{ padding: 12px 14px !important; }
  body:not(.sv-auth-page):not(.sv-authPage):not(.sv-reelsPage) .sv-actions{ padding: 10px 14px 12px !important; }
  body:not(.sv-auth-page):not(.sv-authPage):not(.sv-reelsPage) .sv-body{ padding: 0 14px 14px !important; }
  body:not(.sv-auth-page):not(.sv-authPage):not(.sv-reelsPage) .sv-media,
  body:not(.sv-auth-page):not(.sv-authPage):not(.sv-reelsPage) .sv-media img,
  body:not(.sv-auth-page):not(.sv-authPage):not(.sv-reelsPage) .sv-media video{ border-radius: 22px !important; }

  body:not(.sv-auth-page):not(.sv-authPage):not(.sv-reelsPage) .sv-stories,
  body:not(.sv-auth-page):not(.sv-authPage):not(.sv-reelsPage) .sv-shelf,
  body:not(.sv-auth-page):not(.sv-authPage):not(.sv-reelsPage) .sv-homeTabs{
    border: 1px solid color-mix(in srgb, var(--sv-border) 82%, transparent) !important;
    border-radius: 24px !important;
    background: color-mix(in srgb, var(--sv-card) 88%, transparent) !important;
    box-shadow: var(--sv-p149-shadow) !important;
    padding: 14px !important;
  }
  body:not(.sv-auth-page):not(.sv-authPage):not(.sv-reelsPage) .sv-homeTabs{ padding: 8px !important; }
}

/* Desktop popup for left menu More */
.sv-navMore{ position: relative; }
.sv-navMorePanel{ display: contents; }
@media (min-width: 1180px){
  .sv-navMore[open]{ z-index: 25; }
  .sv-navMore[open] > summary{ background: rgba(127,127,127,.08) !important; border-radius: 18px !important; }
  .sv-navMore .sv-navMorePanel{ display:none; }
  .sv-navMore[open] .sv-navMorePanel{
    display:grid;
    gap:8px;
    position:absolute;
    left: 0;
    top: calc(100% + 10px);
    width: min(320px, 72vw);
    padding: 12px;
    border-radius: 22px;
    border: 1px solid color-mix(in srgb, var(--sv-border) 82%, transparent);
    background: color-mix(in srgb, var(--sv-card) 94%, transparent);
    box-shadow: 0 24px 64px rgba(0,0,0,.16);
    backdrop-filter: blur(18px);
  }
  .sv-navMore[open] .sv-navMorePanel .sv-navLink{
    margin: 0 !important;
  }
}

/* Horizontal rails with arrows */
.sv-scrollRail{ position: relative; display:flex; align-items:center; gap: 10px; }
.sv-scrollRail > .sv-hscroll,
.sv-scrollRail > #sv-stories{ flex:1 1 auto; min-width:0; }
.sv-scrollRailBtn{
  width: 38px; height: 38px; border-radius: 999px; border: 1px solid var(--sv-border);
  background: color-mix(in srgb, var(--sv-card) 94%, transparent); color: var(--sv-fg);
  display:flex; align-items:center; justify-content:center; cursor:pointer;
  box-shadow: 0 10px 24px rgba(0,0,0,.12);
}
.sv-scrollRailBtn span{ font-size: 24px; line-height: 1; transform: translateY(-1px); }
.sv-scrollRailBtn:disabled{ opacity:.45; cursor:default; }
@media (max-width: 1099px){ .sv-scrollRailBtn{ display:none !important; } }

/* Desktop reels clean pass */
@media (min-width: 1180px){
  body.sv-reelsPage .sv-layoutReels{
    display:grid !important;
    grid-template-columns: minmax(230px,264px) minmax(0,760px) minmax(280px,340px) !important;
    gap:20px !important;
    max-width: min(1720px, calc(100vw - 28px)) !important;
    margin:0 auto !important;
    padding: 0 14px 24px !important;
    background: linear-gradient(180deg,#06080d,#0b1220 52%, #0c1424) !important;
  }
  body.sv-reelsPage .sv-side,
  body.sv-reelsPage .sv-sideRight{
    display:block !important;
    position: sticky !important;
    top: 14px !important;
    max-height: calc(100vh - 28px) !important;
    overflow:auto !important;
    border-radius: 28px !important;
    border:1px solid rgba(255,255,255,.08) !important;
    background: rgba(10,16,28,.68) !important;
    backdrop-filter: blur(18px);
  }
  body.sv-reelsPage .sv-layoutReels > .sv-main{ padding:0 !important; }
  body.sv-reelsPage #sv-reels.sv-reels{
    width: min(100%, 640px) !important;
    margin: 0 auto !important;
    padding: 14px 0 24px !important;
    gap: 18px !important;
    height: auto !important;
    min-height: calc(100vh - 32px) !important;
    max-height: calc(100vh - 32px) !important;
  }
  body.sv-reelsPage #sv-reels .sv-reel,
  body.sv-reelsPage #sv-reels > .sv-reelAd{
    width: 100% !important;
    border-radius: 28px !important;
    border:1px solid rgba(255,255,255,.08) !important;
    box-shadow: 0 24px 70px rgba(0,0,0,.34) !important;
    overflow:hidden !important;
  }
  body.sv-reelsPage #sv-reels .sv-reelOverlay{ padding: 18px !important; }
  body.sv-reelsPage #sv-reels .sv-reelLeft,
  body.sv-reelsPage #sv-reels .sv-reelRight{ margin-bottom: 8px !important; }
}

@media (max-width: 1080px){
  .sv-walletViewport,
  .sv-monetScroll,
  .sv-verifyViewport{ padding-left: 8px !important; padding-right: 8px !important; }
  .sv-verifyPage .sv-verifyStats,
  .sv-verifyPage .sv-verifyReqGrid{ grid-template-columns: 1fr 1fr; }
}
@media (max-width: 760px){
  .sv-monetPage .sv-monetHeroTop,
  .sv-walletModern .sv-wlTopupHead,
  .sv-walletModern .sv-wlSectionHead,
  .sv-walletModern .sv-wlTxHead,
  .sv-verifyPage .sv-verifyHeroTop,
  .sv-verifyPage .sv-verifySectionHead{ flex-direction: column !important; }
  .sv-walletModern .sv-wlSummary,
  .sv-walletModern .sv-wlActions,
  .sv-verifyPage .sv-verifyReqGrid,
  .sv-verifyPage .sv-verifyStats{ grid-template-columns: 1fr !important; }
  .sv-walletModern .sv-wlBalanceRow{ align-items:flex-start !important; }
  .sv-walletModern .sv-wlMiniMeta{ align-items:flex-start !important; }
  body.page-premium .sv-premGrid{ display:grid !important; grid-template-columns:1fr !important; gap:12px !important; overflow:visible !important; }
  body.page-premium .sv-premGrid > .sv-premPlanCard{ min-width:0 !important; }
}
