/* ============================================================
   VIBRA — App theme (glassmorphism, orange accent, dark/light)
   ============================================================ */
:root{
  --accent:#F97316; --accent-2:#FB923C; --accent-soft:rgba(249,115,22,.12);
  --bg:#f2f4f8; --bg-grad-a:#fdf5ef; --bg-grad-b:#eef1f8;
  --surface:rgba(255,255,255,.72); --surface-solid:#ffffff;
  --border:rgba(15,23,42,.08); --text:#0f172a; --muted:#64748b;
  --shadow:0 10px 34px rgba(15,23,42,.08);
}
[data-theme="dark"]{
  --bg:#0b0f17; --bg-grad-a:#141018; --bg-grad-b:#0b1220;
  --surface:rgba(23,28,40,.72); --surface-solid:#161b27;
  --border:rgba(255,255,255,.09); --text:#e7ecf5; --muted:#8e99ab;
  --shadow:0 10px 34px rgba(0,0,0,.45);
}

html,body{height:100%}
body{
  background:
    radial-gradient(1100px 500px at 85% -10%, var(--accent-soft), transparent 60%),
    linear-gradient(160deg, var(--bg-grad-a), var(--bg-grad-b));
  background-attachment:fixed;
  color:var(--text);
  font-family:'Figtree',system-ui,-apple-system,'Segoe UI',Arial,sans-serif;
  display:flex;flex-direction:column;min-height:100vh;
}
/* Home-page design: Sora for headings & brand, tighter tracking */
h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6,.navbar-brand,.display-1,.display-2,.display-3,.display-4,.display-5,.display-6{
  font-family:'Sora','Figtree',system-ui,sans-serif;letter-spacing:-.015em;
}
.app-main{flex:1}
.app-main.guest{display:flex;align-items:center}
.text-accent{color:var(--accent)!important}
.text-muted, .form-text{color:var(--muted)!important}

/* ---------- Glass cards ---------- */
.glass-card{
  background:var(--surface);
  backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);
  border:1px solid var(--border);
  border-radius:20px;
  box-shadow:var(--shadow);
  animation:rise .45s ease both;
}
@keyframes rise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}

/* ---------- Navbar ---------- */
.app-nav{
  background:var(--surface);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);
  border-bottom:1px solid var(--border);
}
.app-nav .navbar-brand,.app-nav .nav-link{color:var(--text)}
.app-nav .nav-link:hover{color:var(--accent)}
.app-dropdown{background:var(--surface-solid);border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow)}
.app-dropdown .dropdown-item{color:var(--text);border-radius:8px}
.app-dropdown .dropdown-item:hover{background:var(--accent-soft);color:var(--accent)}
.btn-icon{background:none;border:0}
.app-footer{color:var(--muted)}

/* ---------- Buttons ---------- */
/* Home-page design: pill buttons everywhere */
.btn{border-radius:99px;font-weight:600}
.btn-accent{
  background:linear-gradient(135deg,var(--accent),var(--accent-2));
  color:#fff;border:none;border-radius:99px;font-weight:600;
  transition:transform .15s ease, box-shadow .15s ease;
}
.btn-accent:hover{color:#fff;transform:translateY(-1px);box-shadow:0 8px 22px rgba(249,115,22,.4)}
.btn-outline-accent{border:1.5px solid var(--accent);color:var(--accent);border-radius:99px;font-weight:600;background:transparent}
.btn-outline-accent:hover{background:var(--accent);color:#fff}
/* pill chips/badges to match the design's rounded tokens */
.badge{border-radius:99px}

/* ---------- Forms ---------- */
.form-control,.form-select{
  background:var(--surface-solid);border:1.5px solid var(--border);
  border-radius:12px;color:var(--text);padding:.65rem .9rem;
}
.form-control:focus,.form-select:focus{border-color:var(--accent);box-shadow:0 0 0 .2rem var(--accent-soft);background:var(--surface-solid);color:var(--text)}
.form-control::placeholder{color:var(--muted)}
.form-label{font-weight:600;font-size:.9rem}
.form-check-input:checked{background-color:var(--accent);border-color:var(--accent)}
.invalid-feedback{display:block}
.app-alert{border-radius:14px;border:1px solid var(--border)}

/* ---------- Auth pages ---------- */
.auth-wrap{max-width:460px;margin:5vh auto}
.auth-wrap .glass-card{padding:2.2rem}
.auth-logo{font-size:1.6rem;font-weight:800}
.otp-input{letter-spacing:.9rem;font-size:1.6rem;text-align:center;font-weight:700}

/* ---------- Profile ---------- */
.profile-cover{
  height:240px;border-radius:20px 20px 0 0;background-size:cover;background-position:center;
  background-color:var(--accent-soft);
}
.profile-avatar{
  width:132px;height:132px;border-radius:50%;object-fit:cover;
  border:5px solid var(--surface-solid);margin-top:-70px;box-shadow:var(--shadow);
}
.badge-verified{color:#fff;background:var(--accent);border-radius:50%;width:22px;height:22px;
  display:inline-flex;align-items:center;justify-content:center;font-size:.7rem;vertical-align:middle}
.stat-link{color:var(--text);text-decoration:none}
.stat-link:hover{color:var(--accent)}
.stat-num{font-weight:800;font-size:1.15rem}
.meta-item{color:var(--muted);font-size:.92rem;margin-right:1rem}
.meta-item i{color:var(--accent);margin-right:.35rem}
.person-row{display:flex;align-items:center;gap:.9rem;padding:.8rem 0;border-bottom:1px solid var(--border)}
.person-row:last-child{border-bottom:0}
.person-avatar{width:52px;height:52px;border-radius:50%;object-fit:cover}

/* ---------- Settings ---------- */
.settings-nav .list-group-item{
  background:transparent;border:0;color:var(--text);border-radius:12px!important;margin-bottom:2px;
}
.settings-nav .list-group-item.active,.settings-nav .list-group-item:hover{background:var(--accent-soft);color:var(--accent)}
.device-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 0;border-bottom:1px solid var(--border)}
.device-row:last-child{border-bottom:0}
.table-app{color:var(--text)}
.table-app th{color:var(--muted);font-size:.8rem;text-transform:uppercase;letter-spacing:.04em;border-color:var(--border)}
.table-app td{border-color:var(--border);vertical-align:middle}

/* Cover/avatar edit buttons */
.img-edit-btn{
  position:absolute;background:var(--surface-solid);border:1px solid var(--border);
  border-radius:50%;width:38px;height:38px;display:flex;align-items:center;justify-content:center;
  color:var(--text);cursor:pointer;transition:all .15s ease;
}
.img-edit-btn:hover{background:var(--accent);color:#fff}

@media (max-width:576px){
  .profile-cover{height:160px}
  .profile-avatar{width:104px;height:104px;margin-top:-56px}
  .auth-wrap .glass-card{padding:1.5rem}
}

/* ============================================================
   NEWS FEED
   ============================================================ */
.feed-wrap{max-width:640px;margin:0 auto}

/* composer */
.composer-input{resize:none;border:none;background:transparent;box-shadow:none!important;padding:.4rem .2rem;font-size:1.05rem}
.composer-input:focus{background:transparent}
.composer-tool{cursor:pointer;padding:.35rem .7rem;border-radius:10px;color:var(--text);font-size:.92rem}
.composer-tool:hover{background:var(--accent-soft)}
.composer-privacy{width:auto;border-radius:10px;font-size:.85rem}
.composer-preview{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}
.composer-preview:empty{display:none}
.composer-preview .prev-cell{position:relative;border-radius:12px;overflow:hidden;aspect-ratio:1}
.composer-preview img{width:100%;height:100%;object-fit:cover}
.composer-preview .prev-remove{position:absolute;top:4px;right:4px;background:rgba(0,0,0,.55);color:#fff;border:none;border-radius:50%;width:24px;height:24px;font-size:.7rem;cursor:pointer}

/* tabs */
.feed-tabs{display:flex;padding:.4rem}
.feed-tab{flex:1;text-align:center;padding:.6rem .5rem;border-radius:12px;color:var(--muted);text-decoration:none;font-weight:600;font-size:.95rem;transition:all .15s}
.feed-tab:hover{color:var(--accent)}
.feed-tab.active{background:var(--accent-soft);color:var(--accent)}

/* card */
.feed-card{overflow:hidden}
.feed-avatar{width:42px;height:42px;border-radius:50%;object-fit:cover}
.feed-author{font-weight:700;color:var(--text);text-decoration:none}
.feed-author:hover{color:var(--accent)}
.feed-meta{color:var(--muted);font-size:.82rem}
.feed-more{color:var(--muted)}
.feed-content{font-size:1rem;word-wrap:break-word;overflow-wrap:anywhere}
.min-w-0{min-width:0}

/* media grids */
.feed-media{display:grid;gap:3px}
.feed-media.grid-1{grid-template-columns:1fr}
.feed-media.grid-2{grid-template-columns:1fr 1fr}
.feed-media.grid-3{grid-template-columns:1fr 1fr}
.feed-media.grid-3 .feed-media-cell:first-child{grid-column:span 2}
.feed-media.grid-4{grid-template-columns:1fr 1fr}
.feed-media-cell{position:relative;overflow:hidden;max-height:480px}
.feed-media-cell img{width:100%;height:100%;object-fit:cover;display:block}
.feed-media-cell.more-overlay::after{content:attr(data-more);position:absolute;inset:0;background:rgba(0,0,0,.55);color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.6rem;font-weight:700}

/* counters + actions */
.feed-counts{color:var(--muted);font-size:.85rem;padding-top:.6rem;min-height:1.4rem}
.feed-actions{display:flex;border-top:1px solid var(--border);margin-top:.5rem;padding-top:.25rem;padding-bottom:.25rem}
.feed-btn{flex:1;background:none;border:none;border-radius:10px;color:var(--muted);font-weight:600;font-size:.9rem;padding:.5rem .25rem;display:flex;align-items:center;justify-content:center;gap:.45rem;transition:background .15s}
.feed-btn:hover{background:var(--accent-soft);color:var(--accent)}
.feed-btn.saved{color:var(--accent)}

/* reaction popover */
.feed-react-wrap{flex:1;position:relative;display:flex}
.feed-react-wrap .feed-btn{flex:1}
.react-popover{
  position:absolute;bottom:110%;left:50%;transform:translateX(-50%) scale(.85);
  background:var(--surface-solid);border:1px solid var(--border);border-radius:999px;
  box-shadow:var(--shadow);padding:.3rem .5rem;display:flex;gap:.15rem;
  opacity:0;pointer-events:none;transition:all .18s ease;z-index:20;white-space:nowrap;
}
.feed-react-wrap:hover .react-popover,
.feed-react-wrap.open .react-popover{opacity:1;pointer-events:auto;transform:translateX(-50%) scale(1)}
.react-pick{background:none;border:none;font-size:1.5rem;line-height:1;padding:.15rem .25rem;border-radius:50%;cursor:pointer;transition:transform .12s}
.react-pick:hover{transform:scale(1.35) translateY(-3px)}

/* sponsored */
.feed-ad-cta{
  display:flex;align-items:center;justify-content:center;gap:.3rem;
  margin:0;padding:.8rem;background:var(--accent-soft);color:var(--accent);
  font-weight:700;text-decoration:none;transition:background .15s;
}
.feed-ad-cta:hover{background:var(--accent);color:#fff}

@media (max-width:576px){
  .feed-btn span{display:none}
  .feed-btn{font-size:1.05rem}
}

/* ============================================================
   POSTS — media types, polls, shares, composer extras
   ============================================================ */
/* video & audio */
.feed-video video{width:100%;max-height:520px;display:block;background:#000}
.feed-audio-box{display:flex;align-items:center;gap:.8rem;background:var(--accent-soft);border-radius:14px;padding:.7rem 1rem}
.feed-audio-box audio{flex:1;height:38px}

/* document / pdf */
.feed-doc{display:flex;align-items:center;gap:.9rem;background:var(--surface-solid);border:1px solid var(--border);border-radius:14px;padding:.8rem 1rem;color:var(--text);text-decoration:none;transition:border-color .15s}
.feed-doc:hover{border-color:var(--accent);color:var(--text)}
.feed-doc-icon{width:44px;height:44px;border-radius:12px;background:rgba(220,38,38,.12);color:#dc2626;display:flex;align-items:center;justify-content:center;font-size:1.3rem}

/* gif badge */
.gif-badge{position:absolute;bottom:8px;left:8px;background:rgba(0,0,0,.65);color:#fff;font-size:.68rem;font-weight:800;letter-spacing:.05em;padding:.15rem .45rem;border-radius:6px}

/* pinned strip */
.feed-pin-strip{background:var(--accent-soft);color:var(--accent);font-size:.8rem;font-weight:700;padding:.4rem 1rem}

/* poll */
.feed-poll .poll-option{position:relative;display:flex;align-items:center;justify-content:space-between;width:100%;background:var(--surface-solid);border:1.5px solid var(--border);border-radius:12px;padding:.6rem .9rem;margin-bottom:.5rem;color:var(--text);font-weight:600;overflow:hidden;cursor:pointer;transition:border-color .15s;text-align:left}
.feed-poll .poll-option:hover{border-color:var(--accent)}
.feed-poll .poll-option.voted{border-color:var(--accent);color:var(--accent)}
.poll-fill{position:absolute;left:0;top:0;bottom:0;background:var(--accent-soft);transition:width .4s ease;z-index:0}
.poll-label,.poll-pct{position:relative;z-index:1}
.poll-pct{font-size:.85rem;color:var(--muted);margin-left:.75rem}

/* shared embed */
.feed-shared{display:flex;gap:.8rem;border:1px solid var(--border);border-radius:14px;padding:.7rem .9rem;color:var(--text);text-decoration:none;transition:border-color .15s;align-items:flex-start}
.feed-shared:hover{border-color:var(--accent);color:var(--text)}
.feed-shared-thumb{width:64px;height:64px;border-radius:10px;object-fit:cover;flex-shrink:0}
.feed-shared-avatar{width:22px;height:22px;border-radius:50%;object-fit:cover}
.feed-shared-text{color:var(--muted);font-size:.9rem;margin-top:.15rem;word-break:break-word}

/* composer extras */
.composer-chips:empty{display:none}
.composer-chip{display:inline-flex;align-items:center;gap:.5rem;background:var(--accent-soft);color:var(--accent);border-radius:999px;padding:.35rem .8rem;font-size:.85rem;font-weight:600;margin-right:.4rem}
.composer-chip button{background:none;border:none;color:inherit;padding:0;cursor:pointer}
.poll-builder{border:1px dashed var(--border);border-radius:14px;padding:.9rem}

/* ============================================================
   STORIES
   ============================================================ */
/* tray */
.story-tray-scroll{display:flex;gap:1rem;overflow-x:auto;scrollbar-width:none;padding-bottom:2px}
.story-tray-scroll::-webkit-scrollbar{display:none}
.story-bubble{position:relative;display:flex;flex-direction:column;align-items:center;gap:.35rem;cursor:pointer;flex-shrink:0;width:72px}
.story-ring{width:64px;height:64px;border-radius:50%;padding:3px;display:flex}
.story-ring img{width:100%;height:100%;border-radius:50%;object-fit:cover;border:2.5px solid var(--surface-solid)}
.story-ring.unseen{background:linear-gradient(45deg,#F97316,#FB923C,#f43f5e)}
.story-ring.seen{background:var(--border)}
.story-ring.add{background:var(--border);position:relative}
.story-add-badge,.story-add-mini{position:absolute;bottom:22px;right:6px;width:22px;height:22px;border-radius:50%;background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center;font-size:.65rem;border:2px solid var(--surface-solid);text-decoration:none}
.story-add-mini:hover{color:#fff;transform:scale(1.1)}
.story-name{font-size:.75rem;color:var(--text);max-width:72px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.profile-avatar.has-story{box-shadow:0 0 0 3px var(--surface-solid),0 0 0 6px var(--accent)}

/* highlights on profile */
.highlight-row{display:flex;gap:1rem;overflow-x:auto;scrollbar-width:none}
.highlight-del{position:absolute;top:-4px;right:2px;width:20px;height:20px;border-radius:50%;background:var(--surface-solid);border:1px solid var(--border);color:var(--muted);font-size:.6rem;display:flex;align-items:center;justify-content:center;cursor:pointer}
.highlight-del:hover{background:#dc2626;color:#fff}

/* create page */
.story-drop{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.6rem;border:2px dashed var(--border);border-radius:16px;padding:2.2rem 1rem;cursor:pointer;text-align:center;color:var(--text);transition:border-color .15s}
.story-drop:hover{border-color:var(--accent)}
.story-drop i{font-size:2rem}
.story-drop-sm{padding:1rem;flex-direction:row}
.story-drop-sm i{font-size:1.1rem}
.story-preview{border-radius:16px;overflow:hidden;max-height:420px}
.story-preview img,.story-preview video{width:100%;max-height:420px;object-fit:contain;background:#000;display:block}

/* archive grid */
.archive-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px}
.archive-cell{position:relative;aspect-ratio:9/14;border-radius:12px;overflow:hidden;cursor:pointer;display:block;border:3px solid transparent}
.archive-cell img,.archive-cell video{width:100%;height:100%;object-fit:cover}
.archive-cell:has(.archive-check:checked){border-color:var(--accent)}
.archive-check{position:absolute;top:8px;left:8px;width:20px;height:20px;accent-color:var(--accent);z-index:2}
.archive-music{width:100%;height:100%;background:linear-gradient(135deg,var(--accent),#f43f5e);display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.6rem}
.archive-badge{position:absolute;top:8px;right:8px;background:rgba(0,0,0,.55);color:#fff;font-size:.7rem;padding:.2rem .4rem;border-radius:6px}
.archive-meta{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,rgba(0,0,0,.75));color:#fff;font-size:.7rem;padding:1rem .5rem .4rem}
.archive-del{position:absolute;bottom:6px;right:6px;background:rgba(0,0,0,.55);border:none;color:#fff;width:26px;height:26px;border-radius:50%;font-size:.7rem;z-index:2}
.archive-del:hover{background:#dc2626}

/* analytics */
.analytics-thumb{width:64px;height:96px;border-radius:10px;overflow:hidden;flex-shrink:0}
.analytics-thumb img,.analytics-thumb video{width:100%;height:100%;object-fit:cover}

/* ---------- FULL-SCREEN VIEWER ---------- */
.story-viewer{position:fixed;inset:0;background:rgba(5,7,12,.96);z-index:3000;display:flex;align-items:center;justify-content:center}
.story-stage{position:relative;width:min(430px,100vw);height:min(92vh,780px);border-radius:18px;overflow:hidden;background:#111;display:flex;align-items:center;justify-content:center}
.story-stage img,.story-stage video{width:100%;height:100%;object-fit:contain}
.story-music-bg{position:absolute;inset:0;background:linear-gradient(135deg,#F97316,#f43f5e,#8b5cf6);display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff;gap:1rem}
.story-disc{width:120px;height:120px;border-radius:50%;background:rgba(255,255,255,.15);display:flex;align-items:center;justify-content:center;font-size:2.6rem;animation:spin 4s linear infinite;border:4px solid rgba(255,255,255,.35)}
@keyframes spin{to{transform:rotate(360deg)}}
.story-track-title{font-weight:800;font-size:1.1rem;text-align:center;padding:0 1.5rem}
.story-progress{position:absolute;top:10px;left:10px;right:10px;display:flex;gap:4px;z-index:5}
.story-progress span{flex:1;height:3px;border-radius:3px;background:rgba(255,255,255,.35);overflow:hidden}
.story-progress span i{display:block;height:100%;width:0;background:#fff}
.story-head{position:absolute;top:22px;left:12px;right:12px;display:flex;align-items:center;gap:.6rem;color:#fff;z-index:5}
.story-head img{width:38px;height:38px;border-radius:50%;object-fit:cover;border:2px solid #fff}
.story-head .sh-name{font-weight:700;font-size:.92rem}
.story-head .sh-time{font-size:.78rem;opacity:.8}
.story-close,.story-del-btn{background:rgba(0,0,0,.4);border:none;color:#fff;width:34px;height:34px;border-radius:50%;font-size:.9rem}
.story-close:hover,.story-del-btn:hover{background:rgba(0,0,0,.7)}
.story-caption{position:absolute;bottom:52px;left:0;right:0;text-align:center;color:#fff;padding:0 1.2rem;text-shadow:0 1px 6px rgba(0,0,0,.8);font-size:1rem;z-index:5}
.story-views{position:absolute;bottom:14px;left:14px;color:#fff;font-size:.85rem;z-index:5;text-decoration:none}
.story-views:hover{color:#fff;opacity:.85}
.story-nav{position:absolute;top:0;bottom:0;width:35%;z-index:4;background:none;border:none}
.story-nav.prev{left:0}
.story-nav.next{right:0}
.story-arrow{position:absolute;top:50%;transform:translateY(-50%);background:rgba(255,255,255,.15);border:none;color:#fff;width:40px;height:40px;border-radius:50%;z-index:6;font-size:1rem}
.story-arrow:hover{background:rgba(255,255,255,.3)}
.story-arrow.prev{left:-56px}
.story-arrow.next{right:-56px}
@media(max-width:560px){.story-arrow{display:none}.story-stage{border-radius:0;height:100vh;width:100vw}}

/* ============================================================
   STATUS MODULE — create page, viewer types, reactions/replies
   ============================================================ */
/* type grid */
.status-type-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:.5rem}
.status-type-btn{display:flex;flex-direction:column;align-items:center;gap:.35rem;background:var(--surface-solid);border:1.5px solid var(--border);border-radius:14px;padding:.7rem .3rem;color:var(--text);font-size:.72rem;cursor:pointer;transition:all .15s}
.status-type-btn i{font-size:1.15rem;color:var(--muted)}
.status-type-btn:hover{border-color:var(--accent)}
.status-type-btn.active{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}
.status-type-btn.active i{color:var(--accent)}

/* text status stage (create) */
.status-text-stage{width:100%;box-sizing:border-box;border-radius:18px;min-height:280px;display:flex;align-items:center;justify-content:center;padding:2rem;transition:background .2s}
.status-text-stage textarea,
.status-text-input{display:block;width:100%!important;max-width:100%;box-sizing:border-box;background:transparent!important;border:none!important;color:#fff;font-weight:700;font-size:1.6rem;resize:none;text-shadow:0 2px 8px rgba(0,0,0,.25);outline:none!important;box-shadow:none!important;min-height:140px}
.status-text-stage textarea::placeholder,
.status-text-input::placeholder{color:rgba(255,255,255,.75)}
.bg-swatch{width:34px;height:34px;border-radius:50%;border:2px solid var(--surface-solid);box-shadow:0 0 0 1px var(--border);cursor:pointer}

/* voice recorder (create) */
.voice-recorder{display:flex;flex-direction:column;align-items:center;gap:1rem;padding:2.5rem 1rem;border:2px dashed var(--border);border-radius:18px}
.voice-rec-btn{width:76px;height:76px;border-radius:50%;background:var(--accent);color:#fff;border:none;font-size:1.6rem;transition:transform .15s}
.voice-rec-btn.recording{animation:pulse-rec 1.1s infinite;background:#dc2626}
@keyframes pulse-rec{0%,100%{transform:scale(1)}50%{transform:scale(1.08)}}
.voice-wave{width:100%;max-width:220px;height:36px;background:linear-gradient(90deg,var(--accent-soft),transparent);border-radius:8px;position:relative;overflow:hidden}
.voice-wave::after{content:'';position:absolute;inset:0;background:var(--accent);opacity:calc(var(--level,0) * 0.6);transition:opacity .1s}
.voice-timer{font-weight:700;font-variant-numeric:tabular-nums;color:var(--muted)}

/* ---------- viewer: type-specific full-screen stages ---------- */
.story-text-stage-view{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2.5rem;color:#fff;font-weight:800;font-size:1.7rem;text-align:center;text-shadow:0 2px 10px rgba(0,0,0,.3)}
.voice-static-wave{margin-top:1rem;opacity:.9}
.story-poll-view{padding:2rem 1.5rem;justify-content:flex-start;padding-top:35%}
.poll-question{font-size:1.3rem;margin-bottom:1.2rem}
.story-poll-options{width:100%;max-width:320px}
.poll-option-view{position:relative;display:flex;align-items:center;justify-content:space-between;width:100%;background:rgba(255,255,255,.12);border:1.5px solid rgba(255,255,255,.35);border-radius:12px;padding:.7rem 1rem;margin-bottom:.6rem;color:#fff;font-weight:600;font-size:.95rem;overflow:hidden;cursor:pointer;text-align:left}
.poll-option-view.voted{border-color:#fff}
.poll-option-view .poll-fill{position:absolute;left:0;top:0;bottom:0;background:rgba(255,255,255,.28);transition:width .4s}
.poll-option-view .poll-label,.poll-option-view .poll-pct{position:relative;z-index:1}
.story-question-view{padding-top:30%}
.question-prompt{font-size:1.25rem;margin-bottom:1rem}
.question-answer-box{width:100%;max-width:300px}
.question-answer-box input{border-radius:999px;border:none;padding:.6rem 1rem;width:100%;text-align:center}
.story-link-view,.story-location-view{padding-top:30%}
.link-title{font-size:1.1rem;font-weight:700;max-width:300px}

/* owner viewers sheet */
.story-viewers-sheet{position:absolute;left:0;right:0;bottom:0;max-height:55%;overflow-y:auto;background:rgba(10,12,18,.92);backdrop-filter:blur(10px);border-radius:20px 20px 0 0;padding:1rem 1.2rem;z-index:30;color:#fff}
.story-viewers-sheet .btn-close{filter:invert(1)}

/* reactions + replies bottom bar in the viewer */
.story-bottom-bar{position:absolute;bottom:0;left:0;right:0;display:flex;align-items:center;gap:.6rem;padding:.9rem 1rem calc(.9rem + env(safe-area-inset-bottom));z-index:6;color:#fff}
.story-views-count{font-size:.85rem;opacity:.85;white-space:nowrap}
.story-react-row{flex:1;display:flex;align-items:center;gap:.5rem;position:relative}
.story-react-btn{background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.3);color:#fff;width:40px;height:40px;border-radius:50%;font-size:1.1rem;flex-shrink:0}
.story-react-pop{position:absolute;bottom:110%;left:0;background:rgba(20,20,28,.95);border-radius:999px;padding:.35rem .6rem;display:flex;gap:.2rem;opacity:0;pointer-events:none;transform:translateY(6px);transition:all .18s}
.story-react-pop.open{opacity:1;pointer-events:auto;transform:none}
.story-react-pop .react-pick{background:none;border:none;font-size:1.4rem;padding:.15rem .3rem;cursor:pointer}
.story-reply-input{flex:1;background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.35);border-radius:999px;color:#fff;padding:.55rem 1rem;font-size:.9rem}
.story-reply-input::placeholder{color:rgba(255,255,255,.75)}
.story-reply-send{background:var(--accent);border:none;color:#fff;width:40px;height:40px;border-radius:50%;flex-shrink:0}

@media (max-width:576px){
  .status-type-grid{grid-template-columns:repeat(5,1fr)}
  .status-type-btn span{font-size:.65rem}
}

/* ============================================================
   COMMENTS
   ============================================================ */
.comments-card{max-width:640px;margin:0 auto}
.comment-item{display:flex;gap:.6rem;margin-bottom:.9rem}
.comment-item.comment-reply{margin-left:2.6rem;margin-top:.7rem;margin-bottom:.5rem}
.comment-avatar{width:36px;height:36px;border-radius:50%;object-fit:cover;flex-shrink:0}
.comment-reply .comment-avatar{width:30px;height:30px}
.comment-bubble{background:var(--surface-solid);border:1px solid var(--border);border-radius:16px;padding:.55rem .9rem;display:inline-block;max-width:100%}
.comment-author{font-weight:700;color:var(--text);text-decoration:none;font-size:.9rem}
.comment-author:hover{color:var(--accent)}
.comment-content{font-size:.92rem;word-break:break-word;white-space:pre-wrap}
.comment-media{max-width:220px;max-height:220px;border-radius:12px;display:block;object-fit:cover}
.comment-audio{width:240px;height:36px}
.comment-meta{display:flex;align-items:center;gap:.9rem;font-size:.78rem;color:var(--muted);margin-top:.3rem;padding-left:.3rem;flex-wrap:wrap}
.comment-action{background:none;border:none;padding:0;color:var(--muted);font-weight:700;font-size:.78rem;cursor:pointer}
.comment-action:hover{color:var(--accent)}
.comment-react-count{font-size:.78rem}
.comment-more-replies{background:none;border:none;color:var(--accent);font-weight:600;font-size:.82rem;padding:0;cursor:pointer;margin-left:.3rem}
.comment-more-replies:hover{text-decoration:underline}

/* composer */
.comment-form{display:flex;gap:.6rem;align-items:flex-start;margin-bottom:.5rem}
.comment-input-wrap{position:relative}
.comment-input-row{display:flex;align-items:center;gap:.4rem;background:var(--surface-solid);border:1px solid var(--border);border-radius:999px;padding:.35rem .5rem}
.comment-input{flex:1;border:none;background:transparent;outline:none;font-size:.9rem;padding:.3rem .5rem;color:var(--text);min-width:0}
.comment-tool{color:var(--muted);cursor:pointer;width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;background:none;border:none;transition:background .15s}
.comment-tool:hover{background:var(--accent-soft);color:var(--accent)}
.comment-send{color:var(--accent)}
.emoji-picker{position:absolute;bottom:110%;left:0;background:var(--surface-solid);border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow);padding:.5rem;display:grid;grid-template-columns:repeat(8,1fr);gap:.15rem;z-index:15;width:260px}
.emoji-pick{background:none;border:none;font-size:1.3rem;padding:.2rem;border-radius:8px;cursor:pointer}
.emoji-pick:hover{background:var(--accent-soft)}
.comment-attach-preview{position:relative;display:inline-block;margin-top:.5rem}
.comment-attach-preview img{max-height:120px;border-radius:10px}
.comment-attach-preview .attach-remove{position:absolute;top:-6px;right:-6px;width:22px;height:22px;border-radius:50%;background:#111;color:#fff;border:none;font-size:.65rem}

/* small voice recorder variant for the comment composer */
.voice-recorder-sm{display:flex;align-items:center;gap:.7rem;padding:.5rem .8rem;border:1px dashed var(--border);border-radius:12px}
.voice-rec-btn-sm{width:40px;height:40px;font-size:1rem}

@media (max-width:576px){
  .comment-item.comment-reply{margin-left:1.4rem}
  .emoji-picker{grid-template-columns:repeat(6,1fr);width:220px}
}

/* ============================================================
   SEARCH / DISCOVERY / NOTIFICATIONS
   ============================================================ */
/* search tabs */
.search-tabs{display:flex;gap:.4rem;overflow-x:auto;scrollbar-width:none}
.search-tabs::-webkit-scrollbar{display:none}
.search-tab{flex-shrink:0;background:none;border:1px solid var(--border);border-radius:999px;padding:.4rem .9rem;color:var(--muted);font-size:.85rem;font-weight:600;cursor:pointer;white-space:nowrap}
.search-tab:hover{border-color:var(--accent);color:var(--accent)}
.search-tab.active{background:var(--accent);border-color:var(--accent);color:#fff}

.recent-search-item{display:flex;align-items:center;color:var(--text);padding:.5rem 0;border-bottom:1px solid var(--border)}
.recent-search-item:last-child{border-bottom:0}
.recent-search-item:hover{color:var(--accent)}

.search-result-row{display:flex;align-items:center;gap:.9rem;padding:.7rem 0;border-bottom:1px solid var(--border);color:var(--text)}
.search-result-row:last-child{border-bottom:0}
.search-result-row:hover{color:var(--text)}
.search-thumb{width:52px;height:52px;border-radius:12px;object-fit:cover;flex-shrink:0}
.search-thumb-text{background:var(--accent-soft);color:var(--accent);display:flex;align-items:center;justify-content:center;font-size:1.2rem}

/* discovery reels grid */
.reel-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.reel-cell{position:relative;aspect-ratio:9/14;border-radius:12px;overflow:hidden;display:block}
.reel-cell img,.reel-cell video{width:100%;height:100%;object-fit:cover}
.reel-views{position:absolute;bottom:6px;left:6px;color:#fff;font-size:.72rem;font-weight:700;text-shadow:0 1px 4px rgba(0,0,0,.6)}

/* notification bell */
.notif-badge{position:absolute;top:2px;right:-4px;background:#dc2626;color:#fff;font-size:.62rem;font-weight:800;border-radius:999px;min-width:16px;height:16px;display:flex;align-items:center;justify-content:center;padding:0 4px}
.notif-dropdown{padding:0}
.notification-item{display:flex;align-items:center;gap:.6rem;padding:.7rem .9rem;color:var(--text);border-bottom:1px solid var(--border);position:relative}
.notification-item:last-child{border-bottom:0}
.notification-item:hover{background:var(--accent-soft)}
.notification-item.unread{background:rgba(249,115,22,.06)}
.notif-icon{width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.85rem;flex-shrink:0}
.notif-avatar{width:34px;height:34px;border-radius:50%;object-fit:cover;flex-shrink:0;margin-left:-14px;border:2px solid var(--surface-solid)}
.notif-text{font-size:.88rem;line-height:1.3}
.notif-dot{width:8px;height:8px;border-radius:50%;background:var(--accent);flex-shrink:0}

@media (max-width:576px){
  .reel-grid{grid-template-columns:repeat(3,1fr)}
}

/* ============================================================
   PROFILE — tab bar, PRO badge, media grids, block/report
   ============================================================ */
.badge-pro{
  background:linear-gradient(135deg,#111827,#374151);color:#FBBF24;font-size:.62rem;font-weight:800;
  letter-spacing:.04em;padding:.15rem .45rem;border-radius:6px;vertical-align:middle;
}

/* segmented tab bar — deliberately different from a plain white pill nav */
.profile-tabbar{
  display:flex;gap:.25rem;overflow-x:auto;scrollbar-width:none;
  padding:.4rem;margin:0 1rem 1rem;border-top:1px solid var(--border);
}
.profile-tabbar::-webkit-scrollbar{display:none}
.profile-tab{
  flex:1;min-width:88px;display:flex;flex-direction:column;align-items:center;gap:.25rem;
  background:none;border:none;border-radius:14px;padding:.6rem .4rem;color:var(--muted);
  font-size:.78rem;font-weight:600;cursor:pointer;transition:all .15s;position:relative;
}
.profile-tab i{font-size:1.05rem}
.profile-tab:hover{background:var(--accent-soft);color:var(--accent)}
.profile-tab.active{background:var(--accent);color:#fff}
.profile-tab.active i{color:#fff}
.profile-tab em{
  position:absolute;top:2px;right:8px;font-style:normal;font-size:.62rem;font-weight:800;
  background:rgba(0,0,0,.12);border-radius:999px;padding:0 .35rem;color:inherit;
}
.profile-tab.active em{background:rgba(255,255,255,.25)}

/* bell toggle active state */
.js-bell-toggle.active{background:var(--accent);color:#fff;border-color:var(--accent)}

/* photos/videos grid */
.profile-media-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;padding:0 1rem 1rem}
.profile-media-cell{position:relative;aspect-ratio:1;border-radius:12px;overflow:hidden;display:block}
.profile-media-cell img,.profile-media-cell video{width:100%;height:100%;object-fit:cover}
.media-play-badge{position:absolute;bottom:6px;right:6px;color:#fff;background:rgba(0,0,0,.5);border-radius:50%;width:26px;height:26px;display:flex;align-items:center;justify-content:center;font-size:.7rem}

@media (max-width:576px){
  .profile-media-grid{grid-template-columns:repeat(3,1fr)}
  .profile-tab span{font-size:.7rem}
}

/* ============================================================
   MESSENGER
   ============================================================ */
.messenger-shell{display:grid;grid-template-columns:340px 1fr;gap:1rem;height:calc(100vh - 130px);min-height:520px}
.msgr-sidebar{display:flex;flex-direction:column;overflow:hidden;padding:0}
.msgr-side-head{padding:1rem 1rem .6rem;border-bottom:1px solid var(--border)}
.msgr-search{position:relative}
.msgr-search i{position:absolute;left:.8rem;top:50%;transform:translateY(-50%);color:var(--muted);font-size:.85rem}
.msgr-search input{width:100%;background:var(--surface-solid);border:1px solid var(--border);border-radius:999px;padding:.5rem .9rem .5rem 2.2rem;color:var(--text);font-size:.88rem;outline:none}
.msgr-search input:focus{border-color:var(--accent)}
.msgr-filters{display:flex;gap:.3rem;margin-top:.6rem}
.msgr-filter{flex:1;text-align:center;padding:.35rem;border-radius:10px;font-size:.8rem;font-weight:600;color:var(--muted);text-decoration:none}
.msgr-filter:hover{color:var(--accent)}
.msgr-filter.active{background:var(--accent-soft);color:var(--accent)}

.msgr-conv-list{flex:1;overflow-y:auto}
.msgr-conv{display:flex;align-items:center;gap:.7rem;padding:.7rem 1rem;color:var(--text);text-decoration:none;border-bottom:1px solid var(--border)}
.msgr-conv:hover{background:var(--accent-soft);color:var(--text)}
.msgr-conv.active{background:var(--accent-soft);border-left:3px solid var(--accent)}
.msgr-conv-avatar{position:relative;flex-shrink:0;display:block}
.msgr-conv-avatar img{width:48px;height:48px;border-radius:50%;object-fit:cover}
.online-dot{position:absolute;bottom:1px;right:1px;width:12px;height:12px;border-radius:50%;background:#22c55e;border:2px solid var(--surface-solid)}
.msgr-preview{font-size:.82rem;color:var(--muted)}
.msgr-time{font-size:.7rem;color:var(--muted);white-space:nowrap}
.msgr-unread{display:inline-block;margin-top:.2rem;background:var(--accent);color:#fff;font-size:.65rem;font-weight:800;border-radius:999px;min-width:18px;padding:0 5px;line-height:18px;text-align:center}
.msgr-mini-icon{font-size:.65rem;color:var(--muted)}

/* chat pane */
.msgr-chat{display:flex;flex-direction:column;overflow:hidden;padding:0}
.msgr-chat.is-empty{align-items:center;justify-content:center}
.msgr-empty{text-align:center;padding:2rem}
.msgr-empty i{font-size:3rem}
.msgr-chat-head{display:flex;align-items:center;gap:.75rem;padding:.8rem 1rem;border-bottom:1px solid var(--border)}
.msgr-back{color:var(--text);font-size:1.1rem;text-decoration:none}
.msgr-chat-name{font-weight:700;color:var(--text);text-decoration:none;display:block}
.msgr-chat-name:hover{color:var(--accent)}
.msgr-presence{font-size:.75rem;color:var(--muted)}
.msgr-typing{font-size:.75rem;color:var(--accent);font-weight:600}
.msgr-typing span{display:inline-block;width:4px;height:4px;border-radius:50%;background:var(--accent);margin-right:1px;animation:typedot 1.2s infinite}
.msgr-typing span:nth-child(2){animation-delay:.2s}
.msgr-typing span:nth-child(3){animation-delay:.4s}
@keyframes typedot{0%,60%,100%{opacity:.3}30%{opacity:1}}
.msgr-pinned-bar{display:flex;align-items:center;padding:.5rem 1rem;background:var(--accent-soft);font-size:.82rem;border-bottom:1px solid var(--border)}

/* messages */
.msgr-messages{flex:1;overflow-y:auto;padding:1rem;display:flex;flex-direction:column;gap:.15rem}
.msg-row{display:flex;align-items:flex-end;gap:.5rem;position:relative;padding:.15rem 0;max-width:100%}
.msg-row.mine{flex-direction:row-reverse}
.msg-avatar{width:30px;height:30px;border-radius:50%;object-fit:cover;flex-shrink:0}
.msg-body{max-width:72%;min-width:0}
.msg-bubble{background:var(--surface-solid);border:1px solid var(--border);border-radius:16px 16px 16px 4px;padding:.5rem .8rem;position:relative;word-break:break-word}
.msg-row.mine .msg-bubble{background:var(--accent);color:#fff;border-color:transparent;border-radius:16px 16px 4px 16px}
.msg-row.mine .msg-bubble a{color:#fff;text-decoration:underline}
.msg-deleted{opacity:.7;font-style:italic}
.msg-text{font-size:.92rem;white-space:pre-wrap}
.msg-meta{display:flex;align-items:center;justify-content:flex-end;gap:.35rem;margin-top:.15rem;font-size:.66rem;opacity:.75}
.msg-time{white-space:nowrap}
.msg-edited{font-style:italic}
.msg-star-icon,.msg-pin-icon{font-size:.6rem}
.msg-forwarded{font-size:.7rem;color:var(--muted);font-style:italic;margin-bottom:.15rem}
.msg-reply-preview{border-left:3px solid var(--accent);padding:.25rem .5rem;background:var(--accent-soft);border-radius:6px;margin-bottom:.25rem;font-size:.75rem}
.msg-reply-preview strong{display:block;color:var(--accent)}
.msg-reply-preview span{color:var(--muted)}

/* message media */
.msg-image{max-width:260px;max-height:280px;border-radius:12px;display:block;object-fit:cover}
.msg-video{max-width:280px;border-radius:12px;display:block}
.msg-sticker{font-size:3.4rem;line-height:1}
.msg-voice{display:flex;align-items:center;gap:.5rem}
.msg-voice audio{height:34px;max-width:190px}
.msg-duration{font-size:.7rem;opacity:.8}
.msg-doc{display:flex;align-items:center;gap:.7rem;color:inherit;text-decoration:none;min-width:200px}
.msg-doc-icon{width:38px;height:38px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:1.1rem;flex-shrink:0}
.msg-code{background:#0b0f17;color:#e7ecf5;border-radius:10px;overflow:hidden;min-width:220px;max-width:340px}
.msg-code-head{display:flex;justify-content:space-between;align-items:center;padding:.3rem .6rem;background:rgba(255,255,255,.06);font-size:.7rem;text-transform:uppercase;letter-spacing:.05em}
.msg-code-copy{background:none;border:none;color:#8e99ab;cursor:pointer}
.msg-code pre{margin:0;padding:.6rem;overflow-x:auto;font-size:.78rem}
.msg-location,.msg-contact,.msg-event,.msg-share-card{display:flex;align-items:center;gap:.7rem;color:inherit;text-decoration:none;min-width:200px}
.msg-location i{font-size:1.5rem;color:var(--accent)}
.msg-row.mine .msg-location i,.msg-row.mine .msg-contact i{color:#fff}
.msg-event-date{background:var(--accent-soft);color:var(--accent);border-radius:10px;padding:.3rem .6rem;text-align:center;flex-shrink:0}
.msg-event-date span{display:block;font-size:.62rem;text-transform:uppercase;font-weight:700}
.msg-event-date strong{font-size:1.1rem;line-height:1}
.msg-share-card img{width:38px;height:38px;border-radius:50%;object-fit:cover}
.msg-share-icon{width:38px;height:38px;border-radius:10px;background:var(--accent-soft);color:var(--accent);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.msg-poll{min-width:230px}
.msg-poll-q{font-weight:700;font-size:.88rem;margin-bottom:.5rem}
.msg-poll-opt{position:relative;display:flex;align-items:center;justify-content:space-between;width:100%;background:rgba(255,255,255,.15);border:1px solid var(--border);border-radius:10px;padding:.4rem .7rem;margin-bottom:.35rem;color:inherit;font-size:.82rem;overflow:hidden;cursor:pointer;text-align:left}
.msg-poll-opt .poll-fill{position:absolute;left:0;top:0;bottom:0;background:rgba(249,115,22,.25);transition:width .4s}
.msg-row.mine .msg-poll-opt .poll-fill{background:rgba(255,255,255,.28)}
.msg-poll-opt .poll-label,.msg-poll-opt .poll-pct{position:relative;z-index:1}

/* reactions + actions */
.msg-reactions{display:flex;gap:.2rem;flex-wrap:wrap;margin-top:.15rem}
.msg-reactions:empty{display:none}
.msg-reaction{background:var(--surface-solid);border:1px solid var(--border);border-radius:999px;padding:.05rem .4rem;font-size:.72rem}
.msg-reaction.mine{border-color:var(--accent);background:var(--accent-soft)}
.msg-thread-link{background:none;border:none;color:var(--accent);font-size:.75rem;font-weight:600;padding:.15rem 0;cursor:pointer}
.msg-actions{opacity:0;transition:opacity .15s;align-self:center}
.msg-row:hover .msg-actions{opacity:1}
.msg-action-btn{background:none;border:none;color:var(--muted);padding:.2rem .35rem;border-radius:6px;cursor:pointer}
.msg-action-btn:hover{background:var(--accent-soft);color:var(--accent)}
.msg-quick-react{position:absolute;top:-14px;background:var(--surface-solid);border:1px solid var(--border);border-radius:999px;padding:.15rem .35rem;display:none;gap:.1rem;box-shadow:var(--shadow);z-index:5}
.msg-row.mine .msg-quick-react{right:44px}
.msg-row.theirs .msg-quick-react{left:44px}
.msg-row:hover .msg-quick-react{display:flex}
.quick-react-btn{background:none;border:none;font-size:1rem;padding:.05rem .15rem;cursor:pointer;border-radius:50%}
.quick-react-btn:hover{transform:scale(1.3)}

/* composer */
.msgr-reply-bar{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:var(--accent-soft);border-top:1px solid var(--border)}
.msgr-composer{padding:.7rem 1rem;border-top:1px solid var(--border);position:relative}
.msgr-input-row{display:flex;align-items:flex-end;gap:.3rem}
.msgr-tool{background:none;border:none;color:var(--muted);width:34px;height:34px;border-radius:50%;flex-shrink:0;cursor:pointer}
.msgr-tool:hover{background:var(--accent-soft);color:var(--accent)}
.msgr-input{flex:1;border:1px solid var(--border);background:var(--surface-solid);border-radius:18px;padding:.5rem .9rem;color:var(--text);resize:none;max-height:120px;outline:none;font-size:.92rem;min-width:0}
.msgr-input:focus{border-color:var(--accent)}
.msgr-send{background:var(--accent);border:none;color:#fff;width:38px;height:38px;border-radius:50%;flex-shrink:0}
.msgr-send:disabled{opacity:.5}
.msgr-emoji{bottom:calc(100% - .5rem);left:1rem}
.msgr-attach-preview{margin-bottom:.5rem;position:relative;display:inline-block}
.msgr-attach-preview img,.msgr-attach-preview video{max-height:110px;border-radius:10px}
.msgr-attach-preview .attach-remove{position:absolute;top:-6px;right:-6px;width:22px;height:22px;border-radius:50%;background:#111;color:#fff;border:none;font-size:.65rem}
.msgr-schedule-box,.msgr-voice-box{display:flex;align-items:center;gap:.5rem}
.msgr-share-results{max-height:280px;overflow-y:auto}
.msgr-thread-list{max-height:340px;overflow-y:auto}
.starred-item{display:flex;align-items:center;gap:.7rem;padding:.7rem 0;border-bottom:1px solid var(--border)}
.starred-item:last-child{border-bottom:0}

@media (max-width:991px){
  .messenger-shell{grid-template-columns:1fr;height:calc(100vh - 110px)}
  .msgr-sidebar.has-active{display:none}
  .msgr-chat.is-empty{display:none}
  .msg-body{max-width:82%}
}

/* ---------- wallet / gifts ---------- */
.gift-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.6rem;max-height:320px;overflow-y:auto}
.gift-pick{background:var(--surface-solid);border:1px solid var(--border);border-radius:14px;padding:.6rem .3rem;cursor:pointer;transition:all .15s;color:var(--text)}
.gift-pick:hover{border-color:var(--accent);transform:translateY(-2px)}
@media (max-width:576px){.gift-grid{grid-template-columns:repeat(3,1fr)}}


/* =========================================================
   Vibra Business Pages UI — dark orange reference redesign
   Scoped to Pages module so the rest of the website is safe.
   ========================================================= */
.vibra-pages-shell,
.vibra-business-profile {
  --vibra-page-bg: #0B1220;
  --vibra-card: #161B27;
  --vibra-card-2: #1C2333;
  --vibra-line: rgba(142,153,171,.18);
  --vibra-muted: #8E99AB;
  --vibra-text: #E7ECF5;
  --vibra-orange: #F97316;
  --vibra-orange-2: #FB923C;
  font-family: 'Figtree', var(--bs-font-sans-serif), system-ui, sans-serif;
}

.vibra-pages-shell .glass-card,
.vibra-business-profile .glass-card {
  background: linear-gradient(145deg, rgba(28,35,51,.98), rgba(22,27,39,.98));
  border: 1px solid var(--vibra-line);
  border-radius: 20px;
  box-shadow: 0 16px 44px rgba(0,0,0,.2);
}

.vibra-pages-heading h5 {
  font-family: 'Sora','Figtree',sans-serif;
  font-size: 1.35rem;
  font-weight: 750;
  letter-spacing: -.03em;
}

.vibra-pages-shell .btn-accent,
.vibra-business-profile .btn-accent {
  border: 0;
  background: linear-gradient(135deg,var(--vibra-orange),var(--vibra-orange-2));
  color: #fff;
  border-radius: 12px;
  box-shadow: 0 8px 22px rgba(249,115,22,.23);
}
.vibra-pages-shell .btn-accent:hover,
.vibra-business-profile .btn-accent:hover { transform: translateY(-1px); color:#fff; }

.vibra-pages-shell .btn-outline-accent,
.vibra-business-profile .btn-outline-accent {
  border-color: rgba(251,146,60,.45);
  color: #FB923C;
  border-radius: 12px;
  background: rgba(249,115,22,.06);
}
.vibra-pages-shell .btn-outline-accent:hover,
.vibra-business-profile .btn-outline-accent:hover {
  background: rgba(249,115,22,.15);
  border-color: #FB923C;
  color:#fff;
}

.vibra-pages-search {
  padding: 10px;
  background: rgba(22,27,39,.72);
  border: 1px solid var(--vibra-line);
  border-radius: 17px;
}
.vibra-pages-search .form-control,
.vibra-pages-search .form-select,
.vibra-business-profile .form-control,
.vibra-business-profile .form-select {
  background: #0F172A;
  color: var(--vibra-text);
  border-color: rgba(142,153,171,.2);
  border-radius: 12px;
}
.vibra-pages-search .form-control:focus,
.vibra-pages-search .form-select:focus,
.vibra-business-profile .form-control:focus,
.vibra-business-profile .form-select:focus {
  border-color: rgba(249,115,22,.75);
  box-shadow: 0 0 0 .2rem rgba(249,115,22,.12);
}

.vibra-page-tabs { flex-wrap: nowrap; overflow-x:auto; padding-bottom:3px; scrollbar-width:none; }
.vibra-page-tabs::-webkit-scrollbar { display:none; }
.vibra-page-tabs .nav-link {
  white-space: nowrap;
  color: var(--vibra-muted);
  background: rgba(28,35,51,.8);
  border: 1px solid var(--vibra-line);
  border-radius: 999px;
  padding: .52rem .95rem;
  font-size: .82rem;
  font-weight: 650;
}
.vibra-page-tabs .nav-link.active {
  color:#fff;
  border-color: transparent;
  background: linear-gradient(135deg,var(--vibra-orange),var(--vibra-orange-2));
  box-shadow:0 8px 20px rgba(249,115,22,.18);
}

.vibra-business-card {
  transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease;
}
.vibra-business-card:hover {
  transform: translateY(-5px);
  border-color: rgba(251,146,60,.5);
  box-shadow: 0 22px 55px rgba(0,0,0,.3);
}
.vibra-business-card-cover { height: 104px; background-position:center!important; background-size:cover!important; }
.vibra-business-card-body { min-height:145px; }
.vibra-business-card-title { font-family:'Sora','Figtree',sans-serif; font-size:.98rem; }
.vibra-business-card img { box-shadow:0 8px 24px rgba(0,0,0,.3); }

.vibra-page-hero { position:relative; }
.vibra-page-cover { height:260px; background-position:center!important; background-size:cover!important; }
.vibra-page-cover::after {
  content:""; position:absolute; inset:0;
  background:linear-gradient(to top,rgba(11,18,32,.72),rgba(11,18,32,.02) 58%);
  pointer-events:none;
}
.vibra-page-identity { position:relative; background:linear-gradient(180deg,rgba(22,27,39,.95),#161B27); }
.vibra-page-identity h4 { font-family:'Sora','Figtree',sans-serif; font-size:1.55rem; font-weight:780; letter-spacing:-.035em; }
.vibra-page-identity .btn { min-height:42px; display:inline-flex; align-items:center; justify-content:center; }

.vibra-business-profile .text-muted { color:var(--vibra-muted)!important; }
.vibra-business-profile .text-body,
.vibra-pages-shell .text-body { color:var(--vibra-text)!important; }
.vibra-business-profile .table { --bs-table-bg:transparent; --bs-table-color:var(--vibra-text); }
.vibra-business-profile .table td { border-color:var(--vibra-line); padding:.48rem .2rem; }
.vibra-page-sidebar .glass-card { padding:1.15rem!important; }
.vibra-page-sidebar .fw-semibold { font-family:'Sora','Figtree',sans-serif; }
.vibra-page-composer { border-color:rgba(249,115,22,.25)!important; }

@media (max-width: 991.98px) {
  .vibra-page-cover { height:210px; }
  .vibra-pages-sidebar { order:2; }
  .vibra-pages-content { order:1; }
}
@media (max-width: 575.98px) {
  .vibra-pages-shell, .vibra-business-profile { margin-top:.5rem!important; }
  .vibra-page-cover { height:155px; }
  .vibra-page-identity h4 { font-size:1.22rem; }
  .vibra-page-identity .d-flex.align-items-end { align-items:flex-start!important; }
  .vibra-page-identity img[style*="width:96px"],
  .vibra-page-identity div[style*="width:96px"] { width:76px!important; height:76px!important; border-radius:18px!important; margin-top:-56px!important; }
  .vibra-pages-search { flex-wrap:wrap; }
  .vibra-pages-search .form-select { max-width:none!important; flex:1 1 60%; }
  .vibra-pages-search .btn { flex:0 0 48px; }
}

/* ============================================================
   VIBRA V24 — FULL WEBSITE UI/UX SYSTEM
   Shared responsive polish for every public module
   ============================================================ */
:root{
  --v-radius-xs:10px;--v-radius-sm:14px;--v-radius:18px;--v-radius-lg:24px;
  --v-space:1.25rem;--v-topbar:72px;
}
html{scroll-behavior:smooth}
body{overflow-x:hidden;line-height:1.55}
::selection{background:var(--accent);color:#fff}
a{transition:color .18s ease,background .18s ease,transform .18s ease,opacity .18s ease}
img{max-width:100%}
.app-main{padding:1.4rem 0 2.5rem}
.app-main>.container{max-width:1220px}

/* Header */
.app-nav{min-height:var(--v-topbar);box-shadow:0 10px 40px rgba(0,0,0,.06);z-index:1035}
.app-nav .container{max-width:1320px}
.app-nav .navbar-brand{font-size:1.35rem;font-weight:800;display:flex;align-items:center;gap:.35rem}
.app-nav .navbar-brand i{display:grid;place-items:center;width:34px;height:34px;border-radius:11px;color:#fff!important;background:linear-gradient(135deg,var(--accent),var(--accent-2));box-shadow:0 8px 20px rgba(249,115,22,.28)}
.app-nav .nav-link{border-radius:12px;padding:.62rem .72rem!important;font-size:.9rem;font-weight:600;white-space:nowrap}
.app-nav .nav-link:hover,.app-nav .nav-link:focus{background:var(--accent-soft);color:var(--accent)}
.navbar-toggler{border:1px solid var(--border);border-radius:12px;padding:.45rem .6rem}
.navbar-toggler:focus{box-shadow:0 0 0 .2rem var(--accent-soft)}
.notif-badge{position:absolute;top:1px;right:1px;min-width:18px;height:18px;border-radius:99px;padding:0 5px;background:#ef4444;color:#fff;font-size:.68rem;display:grid;place-items:center;border:2px solid var(--surface-solid)}

/* Universal surfaces */
.card,.modal-content,.offcanvas,.list-group,.dropdown-menu,.toast{background:var(--surface-solid);color:var(--text);border-color:var(--border)}
.card,.glass-card{border-radius:var(--v-radius);overflow:hidden}
.card{box-shadow:var(--shadow)}
.card-header,.card-footer{background:transparent;border-color:var(--border)}
.modal-content{border-radius:24px;box-shadow:0 30px 90px rgba(0,0,0,.35)}
.modal-header,.modal-footer{border-color:var(--border)}
.btn-close{filter:var(--bs-btn-close-white-filter,none)}
[data-theme="dark"] .btn-close{filter:invert(1) grayscale(100%) brightness(200%)}
.dropdown-menu{padding:.55rem;border-radius:16px}
.dropdown-item{padding:.65rem .8rem;border-radius:10px}
hr,.dropdown-divider{border-color:var(--border);opacity:1}

/* Page titles / sections */
.page-header,.section-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.25rem}
.page-title{font-size:clamp(1.45rem,3vw,2.15rem);font-weight:800;margin:0}
.page-subtitle{color:var(--muted);margin:.25rem 0 0}
.section-title{font-size:1.05rem;font-weight:800;margin:0}
.empty-state{text-align:center;padding:3rem 1.25rem;color:var(--muted)}
.empty-state i{font-size:2.5rem;color:var(--accent);opacity:.7;margin-bottom:1rem}

/* Forms across all screens */
.form-control,.form-select,.input-group-text{min-height:46px}
textarea.form-control{min-height:110px}
.input-group-text{background:var(--surface-solid);color:var(--muted);border-color:var(--border)}
.form-control:disabled,.form-control[readonly],.form-select:disabled{background:color-mix(in srgb,var(--surface-solid) 80%,var(--muted) 20%);opacity:.75}
.form-range::-webkit-slider-thumb{background:var(--accent)}
.form-switch .form-check-input{width:2.5em;height:1.35em}

/* Buttons */
.btn{min-height:40px;padding:.52rem 1rem;display:inline-flex;align-items:center;justify-content:center;gap:.4rem}
.btn-sm{min-height:34px;padding:.35rem .75rem}
.btn-lg{min-height:50px;padding:.72rem 1.25rem}
.btn-light,.btn-secondary{border-color:var(--border)}
.btn-light{background:var(--surface-solid);color:var(--text)}
.btn-light:hover{background:var(--accent-soft);color:var(--accent);border-color:var(--accent)}

/* Tables */
.table{color:var(--text);margin-bottom:0}
.table>:not(caption)>*>*{background:transparent;color:inherit;border-color:var(--border);padding:.9rem .85rem}
.table thead th{color:var(--muted);font-size:.76rem;text-transform:uppercase;letter-spacing:.06em;font-weight:800;white-space:nowrap}
.table-hover>tbody>tr:hover>*{background:var(--accent-soft)}
.table-responsive{border-radius:16px}

/* Pagination */
.pagination{gap:.35rem}
.page-link{border-radius:10px!important;border:1px solid var(--border);background:var(--surface-solid);color:var(--text)}
.page-link:hover,.page-item.active .page-link{background:var(--accent);border-color:var(--accent);color:#fff}

/* Auth */
.app-main.guest{min-height:calc(100vh - 90px);position:relative}
.app-main.guest:before{content:"";position:fixed;width:360px;height:360px;border-radius:50%;background:rgba(249,115,22,.14);filter:blur(90px);top:8%;left:5%;pointer-events:none}
.auth-wrap{width:100%;max-width:480px;margin:3.5rem auto}
.auth-wrap .glass-card{border-radius:28px;padding:clamp(1.4rem,4vw,2.4rem);box-shadow:0 30px 80px rgba(0,0,0,.16)}
.auth-logo i{display:inline-grid;place-items:center;width:46px;height:46px;border-radius:15px;background:linear-gradient(135deg,var(--accent),var(--accent-2));color:#fff;box-shadow:0 12px 28px rgba(249,115,22,.28)}

/* Feed and content columns */
.feed-wrap{max-width:690px}
.feed-card,.composer-card{border-radius:20px}
.feed-card{transition:transform .18s ease,box-shadow .18s ease}
.feed-card:hover{transform:translateY(-2px)}
.feed-action{border-radius:12px;min-height:42px}
.feed-action:hover{background:var(--accent-soft);color:var(--accent)}
.story-tray{scrollbar-width:none}.story-tray::-webkit-scrollbar{display:none}
.story-avatar{box-shadow:0 0 0 3px var(--surface-solid),0 0 0 5px var(--accent)}

/* Profiles */
.profile-cover{height:300px;border-radius:24px 24px 0 0;position:relative}
.profile-cover:after{content:"";position:absolute;inset:auto 0 0;height:45%;background:linear-gradient(transparent,rgba(0,0,0,.35));pointer-events:none}
.profile-avatar{width:148px;height:148px;margin-top:-78px;position:relative;z-index:2}
.profile-tabs{display:flex;gap:.4rem;overflow:auto;padding:.4rem;scrollbar-width:none}
.profile-tabs::-webkit-scrollbar{display:none}
.profile-tabs a{white-space:nowrap;padding:.65rem 1rem;border-radius:12px;color:var(--muted);text-decoration:none;font-weight:700}
.profile-tabs a:hover,.profile-tabs a.active{background:var(--accent-soft);color:var(--accent)}

/* Groups / pages / discovery cards */
.group-card,.page-card,.discover-card,.person-card{height:100%;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.group-card:hover,.page-card:hover,.discover-card:hover,.person-card:hover{transform:translateY(-4px);border-color:rgba(249,115,22,.35);box-shadow:0 18px 45px rgba(0,0,0,.14)}
.group-cover,.page-cover{background-color:var(--accent-soft)}

/* Messaging */
.messenger-shell,.chat-shell{border:1px solid var(--border);border-radius:24px;background:var(--surface);box-shadow:var(--shadow);overflow:hidden}
.conversation-list{border-right:1px solid var(--border)}
.conversation-item{border-radius:14px;margin:.3rem .45rem;padding:.8rem;transition:.18s}
.conversation-item:hover,.conversation-item.active{background:var(--accent-soft)}
.chat-messages{background:radial-gradient(circle at 10% 10%,var(--accent-soft),transparent 28%),var(--bg);scroll-behavior:smooth}
.message-bubble{border-radius:18px;box-shadow:0 5px 16px rgba(0,0,0,.06)}
.message-bubble.mine{background:linear-gradient(135deg,var(--accent),var(--accent-2));color:#fff;border-bottom-right-radius:6px}
.message-bubble.theirs{background:var(--surface-solid);border:1px solid var(--border);border-bottom-left-radius:6px}

/* Wallet / membership */
.wallet-balance,.plan-card{position:relative;overflow:hidden}
.wallet-balance:after,.plan-card.featured:after{content:"";position:absolute;width:180px;height:180px;border-radius:50%;right:-55px;top:-70px;background:rgba(255,255,255,.12)}
.plan-card{transition:transform .2s ease,border-color .2s ease}
.plan-card:hover{transform:translateY(-5px);border-color:var(--accent)}
.plan-card.featured{background:linear-gradient(145deg,var(--accent),#ea580c);color:#fff;border:0}

/* Notifications */
.notification-item{border-radius:16px;padding:1rem;transition:.18s}
.notification-item:hover{background:var(--accent-soft)}
.notification-item.unread{background:color-mix(in srgb,var(--accent-soft) 72%,transparent)}

/* Settings */
.settings-nav{position:sticky;top:calc(var(--v-topbar) + 1rem)}
.settings-nav .list-group{padding:.55rem;border:1px solid var(--border);border-radius:18px;background:var(--surface)}
.settings-nav .list-group-item{padding:.75rem .9rem;font-weight:650}

/* Footer */
.app-footer{border-top:1px solid var(--border);background:var(--surface);backdrop-filter:blur(16px);margin-top:auto}
.app-footer a:hover{color:var(--accent)!important}

/* Mobile bottom navigation */
.vibra-mobile-nav{display:none}
@media(max-width:991.98px){
  .app-nav .navbar-collapse{position:absolute;top:calc(100% + 8px);left:12px;right:12px;background:var(--surface-solid);border:1px solid var(--border);border-radius:18px;padding:.75rem;box-shadow:var(--shadow);max-height:72vh;overflow:auto}
  .app-nav .navbar-nav{align-items:stretch!important}
  .app-nav .nav-link{padding:.75rem .85rem!important}
  .app-main{padding-bottom:6rem}
  .vibra-mobile-nav{display:grid;grid-template-columns:repeat(5,1fr);position:fixed;z-index:1040;left:12px;right:12px;bottom:12px;height:64px;padding:7px;background:color-mix(in srgb,var(--surface-solid) 92%,transparent);border:1px solid var(--border);border-radius:20px;box-shadow:0 18px 55px rgba(0,0,0,.25);backdrop-filter:blur(18px)}
  .vibra-mobile-nav a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;text-decoration:none;color:var(--muted);font-size:.67rem;font-weight:700;border-radius:13px}
  .vibra-mobile-nav a i{font-size:1.1rem}
  .vibra-mobile-nav a:hover,.vibra-mobile-nav a.active{background:var(--accent-soft);color:var(--accent)}
  .profile-cover{height:220px}
  .messenger-shell,.chat-shell{border-radius:18px}
  .conversation-list{border-right:0}
}
@media(max-width:575.98px){
  .app-main>.container{padding-left:12px;padding-right:12px}
  .glass-card,.card{border-radius:16px}
  .profile-cover{height:175px;border-radius:18px 18px 0 0}
  .profile-avatar{width:108px;height:108px;margin-top:-58px}
  .page-header{align-items:flex-start;flex-direction:column}
  .page-header .btn,.page-header .btn-group{width:100%}
  .table>:not(caption)>*>*{padding:.75rem .65rem}
  .auth-wrap{margin:1.5rem auto}
}

/* Accessibility */
:focus-visible{outline:3px solid color-mix(in srgb,var(--accent) 45%,transparent);outline-offset:2px}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}

/* ===== Vibra V25 exact desktop layout ===== */
.vibra-v25{background:#090d17;color:#eef2f8}.vibra-v25 .app-main{background:radial-gradient(circle at 50% -20%,rgba(249,115,22,.08),transparent 35%),#090d17;min-height:calc(100vh - 68px)}
.vibra-page-container{max-width:1500px;padding-left:24px;padding-right:24px}.vibra-topbar{height:68px;background:rgba(12,17,28,.94)!important;border-bottom:1px solid #232b3b;backdrop-filter:blur(20px)}
.vibra-brand{display:flex;align-items:center;gap:10px;color:#fff!important;font-family:Sora,sans-serif;font-weight:800}.vibra-brand-mark{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;background:linear-gradient(135deg,#ff8a2a,#f05a18);color:#fff;box-shadow:0 8px 25px rgba(249,115,22,.25)}
.vibra-top-search{width:min(360px,28vw);height:42px;border:1px solid #293244;border-radius:14px;background:#151b27;align-items:center;padding:0 14px;color:#8f9aaf}.vibra-top-search input{width:100%;border:0;outline:0;background:transparent;color:#fff;padding-left:10px}.vibra-top-actions{margin-left:auto;display:flex;align-items:center;gap:7px}.top-icon{position:relative;width:42px;height:42px;border:0;border-radius:13px;display:flex;align-items:center;justify-content:center;background:transparent;color:#b8c0cf;text-decoration:none}.top-icon:hover{background:#1b2230;color:#ff7a1a}.vibra-user-menu{border:0;background:#151b27;color:#eef2f8;border-radius:14px;padding:5px 9px 5px 5px;display:flex;align-items:center;gap:8px}.vibra-user-menu img{width:32px;height:32px;border-radius:50%;object-fit:cover}.vibra-user-menu i{font-size:.7rem;color:#8f9aaf}
.vibra-feed-layout{display:grid;grid-template-columns:240px minmax(0,700px) 300px;gap:24px;justify-content:center;padding:24px 0}.vibra-left-sidebar,.vibra-right-sidebar{position:sticky;top:92px;height:max-content}.sidebar-profile-card{display:flex;align-items:center;gap:12px;padding:10px 8px 18px;border-bottom:1px solid #202838}.sidebar-profile-card img{width:46px;height:46px;border-radius:50%;object-fit:cover}.sidebar-profile-card strong{display:block;color:#fff}.sidebar-profile-card a{font-size:.78rem;color:#8e99ac;text-decoration:none}.vibra-side-nav{padding:12px 0}.vibra-side-nav a{display:flex;align-items:center;gap:13px;color:#b7c0cf;text-decoration:none;padding:11px 12px;border-radius:12px;font-weight:650}.vibra-side-nav a i{width:21px;text-align:center}.vibra-side-nav a:hover,.vibra-side-nav a.active{background:#191f2c;color:#ff7a1a}.sidebar-footer-links{padding:14px 10px;color:#667185;font-size:.72rem;line-height:1.7}
.vibra-feed-center{min-width:0}.vibra-feed-center>.story-tray{margin-top:0!important}.glass-card,.feed-card,.story-tray{background:#121825!important;border:1px solid #283144!important;box-shadow:0 14px 35px rgba(0,0,0,.18)!important}.story-tray{padding:14px!important}.story-tray-scroll{gap:14px}.story-ring{width:64px!important;height:64px!important}.story-name{max-width:70px}.feed-tabs{display:grid!important;grid-template-columns:repeat(3,1fr);padding:6px!important}.feed-tab{display:flex!important;justify-content:center;gap:8px;padding:12px!important}.feed-tab.active{background:rgba(249,115,22,.14)!important;color:#ff7a1a!important}.feed-card{overflow:hidden}.feed-card .feed-media img{max-height:560px;object-fit:cover}.feed-avatar{background:#202838}.composer-input{min-height:78px!important;background:transparent!important;border:0!important;color:#eef2f8!important;resize:none;box-shadow:none!important}.composer-input::placeholder{color:#8590a5}.feed-actions{border-top:1px solid #252e3f}.feed-btn{min-height:44px}.btn-accent{background:linear-gradient(135deg,#ff8125,#f26318);border:0;color:#fff}.btn-accent:hover{color:#fff;filter:brightness(1.08)}
.right-widget{background:#121825;border:1px solid #283144;border-radius:17px;padding:16px;margin-bottom:16px}.widget-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.widget-title h6{margin:0;color:#fff;font-weight:750}.widget-title a{font-size:.78rem;color:#ff7a1a;text-decoration:none}.pro-widget{display:flex;align-items:center;justify-content:space-between;background:linear-gradient(145deg,#161d2c,#111722)}.pro-widget h5{font-size:1rem;margin:.25rem 0}.pro-widget p{font-size:.78rem;color:#8f9aaf;margin-bottom:.8rem}.pro-widget>i{font-size:2.4rem;color:#ff7a1a}.widget-eyebrow{font-size:.68rem;font-weight:800;color:#ff7a1a;letter-spacing:.08em}.quick-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.quick-grid a{display:flex;flex-direction:column;align-items:center;gap:6px;padding:12px;border-radius:12px;background:#171e2b;color:#aeb7c7;text-decoration:none;font-size:.76rem}.quick-grid a:hover{color:#ff7a1a;background:#1d2635}.trend-list a{display:flex;flex-direction:column;text-decoration:none;padding:9px 2px;border-bottom:1px solid #202838}.trend-list a:last-child{border:0}.trend-list small,.trend-list span{color:#768197;font-size:.7rem}.trend-list strong{color:#e8edf5;font-size:.86rem}
img[data-fallback-avatar]{background:#ff7a1a}.notif-dropdown{width:360px;max-height:440px;overflow:auto}
@media(max-width:1199.98px){.vibra-feed-layout{grid-template-columns:minmax(0,700px) 300px}.vibra-page-container{max-width:1060px}}
@media(max-width:991.98px){.vibra-feed-layout{display:block;max-width:700px;margin:auto}.vibra-right-sidebar{display:none!important}.vibra-page-container{padding-left:14px;padding-right:14px}.vibra-topbar{height:62px}.vibra-top-actions{gap:2px}.vibra-user-menu span,.vibra-user-menu>i{display:none!important}}
@media(max-width:575.98px){.vibra-brand span:last-child{display:none}.vibra-feed-layout{padding-top:12px}.story-tray{border-radius:14px!important}.glass-card,.feed-card{border-radius:15px!important}.top-icon{width:38px;height:38px}.vibra-page-container{padding-left:10px;padding-right:10px}}


/* V26 persistent application shell: shared on every authenticated page */
.vibra-app-shell{display:grid;grid-template-columns:240px minmax(0,760px) 300px;gap:24px;justify-content:center;align-items:start;padding:24px 0;max-width:1360px;margin:0 auto}
.vibra-shell-center{min-width:0;width:100%}
.vibra-app-shell>.vibra-left-sidebar,.vibra-app-shell>.vibra-right-sidebar{position:sticky;top:92px;height:max-content;max-height:calc(100vh - 112px);overflow:auto;scrollbar-width:none}
.vibra-app-shell>.vibra-left-sidebar::-webkit-scrollbar,.vibra-app-shell>.vibra-right-sidebar::-webkit-scrollbar{display:none}
.shell-account-head{display:flex;align-items:center;gap:12px;padding-bottom:14px;margin-bottom:12px;border-bottom:1px solid var(--border)}
.shell-account-head img{width:46px;height:46px;border-radius:50%;object-fit:cover}.shell-account-head strong{display:block;color:var(--text)}.shell-account-head a{display:block;color:var(--muted);font-size:.78rem;text-decoration:none}
.shell-recent-list{display:grid;gap:4px}.shell-recent-list>a{display:flex;align-items:center;gap:10px;padding:9px;border-radius:12px;text-decoration:none;color:var(--text)}.shell-recent-list>a:hover{background:var(--surface-2)}.shell-recent-list img{width:38px;height:38px;border-radius:50%;object-fit:cover}.shell-recent-list div{min-width:0;flex:1}.shell-recent-list strong,.shell-recent-list span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.shell-recent-list strong{font-size:.84rem}.shell-recent-list span{font-size:.74rem;color:var(--muted)}.shell-recent-list b{min-width:20px;height:20px;border-radius:10px;background:var(--accent);color:#fff;font-size:.68rem;display:grid;place-items:center}
.vibra-shell-center .messenger-shell{height:calc(100vh - 132px);margin-top:0!important}
.vibra-shell-center>.container,.vibra-shell-center>.container-fluid{padding-left:0;padding-right:0}
@media(max-width:1199.98px){.vibra-app-shell{grid-template-columns:minmax(0,760px) 300px;max-width:1100px}}
@media(max-width:991.98px){.vibra-app-shell{display:block;max-width:760px;padding-top:16px}.vibra-app-shell>.vibra-right-sidebar{display:none!important}.vibra-shell-center .messenger-shell{height:calc(100vh - 116px)}}
@media(max-width:575.98px){.vibra-app-shell{padding-top:10px}.vibra-shell-center .messenger-shell{height:calc(100vh - 132px)}}


/* V27: persistent application shell header/footer correction */
html,body{margin:0!important;padding:0!important;}
html[data-theme="dark"],html[data-theme="dark"] body{background-color:#080d16;}
.vibra-topbar{top:0!important;margin:0!important;padding-top:0!important;padding-bottom:0!important;}
body.vibra-v25>.app-nav{flex:0 0 auto;}
body.vibra-v25 .app-main{min-height:calc(100vh - 68px);}
body.vibra-v25 .vibra-app-shell{min-height:calc(100vh - 68px);}
body.vibra-v25 .vibra-shell-center{min-height:calc(100vh - 116px);}
body.vibra-v25>.app-footer:not(.guest-footer){display:none!important;}
.guest-footer{margin-top:auto;}
@media(max-width:991.98px){body.vibra-v25 .app-main{min-height:calc(100vh - 62px);}}

/* V29 advanced post composer */
.advanced-composer .composer-tools-scroll{display:flex;gap:6px;overflow-x:auto;border-top:1px solid var(--border);padding-bottom:5px}.advanced-composer .composer-tool{min-width:68px;display:flex;flex-direction:column;align-items:center;gap:3px;padding:8px;border:0;background:transparent;color:var(--muted);border-radius:10px;font-size:12px;cursor:pointer}.advanced-composer .composer-tool:hover,.advanced-composer .composer-tool.recording{background:rgba(249,115,22,.12);color:var(--accent)}.composer-panel{padding:12px;border:1px solid var(--border);border-radius:12px;background:rgba(255,255,255,.025)}.emoji-grid{display:flex;flex-wrap:wrap;gap:7px}.emoji-pick{font-size:24px;border:0;background:transparent;border-radius:8px;padding:4px}.emoji-pick:hover{background:rgba(255,255,255,.08)}.post-context{line-height:1.6}


/* ===== V30 polished advanced composer ===== */
.advanced-composer{overflow:hidden;border:1px solid rgba(255,255,255,.09);background:linear-gradient(180deg,rgba(20,24,35,.98),rgba(13,17,26,.98));box-shadow:0 18px 45px rgba(0,0,0,.22)}
.composer-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:18px 20px;border-bottom:1px solid var(--border);background:radial-gradient(circle at top right,rgba(249,115,22,.13),transparent 38%)}
.composer-head h3{font:700 18px/1.25 'Sora',sans-serif;margin:2px 0 4px;color:var(--text)}.composer-head p{margin:0;color:var(--muted);font-size:13px}.composer-kicker{font-size:10px;letter-spacing:.16em;font-weight:800;color:var(--accent)}
.composer-secure{white-space:nowrap;font-size:12px;color:#aab4c6;padding:7px 10px;border:1px solid var(--border);border-radius:999px;background:rgba(255,255,255,.025)}.composer-secure i{color:var(--accent);margin-right:5px}.composer-body{padding:18px 20px}
.advanced-composer .composer-input{min-height:106px;padding:14px 16px;border:1px solid rgba(255,255,255,.09);border-radius:14px;background:#0d121c;color:var(--text);resize:vertical;box-shadow:inset 0 1px 0 rgba(255,255,255,.025)}.advanced-composer .composer-input:focus{border-color:rgba(249,115,22,.62);box-shadow:0 0 0 3px rgba(249,115,22,.1)}
.composer-meta-row{display:flex;justify-content:space-between;gap:10px;margin-top:7px}.composer-count{font-size:11px;color:var(--muted)}.composer-count.near-limit{color:#f59e0b}.composer-count.at-limit{color:#ef4444}
.composer-section-label{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:16px;font-size:13px;font-weight:700;color:var(--text)}.composer-section-label small{font-size:11px;font-weight:500;color:var(--muted)}
.advanced-composer .composer-tools-scroll{gap:8px;border:0;padding:4px 1px 9px;scrollbar-width:thin}.advanced-composer .composer-tool{min-width:72px;padding:8px 7px 7px;background:rgba(255,255,255,.025);border:1px solid rgba(255,255,255,.07);border-radius:12px;transition:.18s ease}.advanced-composer .composer-tool:hover,.advanced-composer .composer-tool.recording{transform:translateY(-1px);border-color:rgba(249,115,22,.45);background:rgba(249,115,22,.1)}
.advanced-composer .tool-icon{width:30px;height:30px;display:grid;place-items:center;border-radius:9px;color:#fb923c;background:rgba(249,115,22,.12);font-size:14px}.advanced-composer .composer-tool>span:last-child{font-size:11px;font-weight:650;color:#aeb7c7}
.composer-preview{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.composer-preview .prev-cell{position:relative;aspect-ratio:1;border-radius:12px;overflow:hidden;background:#090d14;border:1px solid var(--border)}.composer-preview img{width:100%;height:100%;object-fit:cover}.prev-remove{position:absolute;top:6px;right:6px;width:25px;height:25px;border:0;border-radius:999px;background:rgba(0,0,0,.72);color:white;font-size:18px;line-height:1}
.composer-chips{display:flex;flex-wrap:wrap;gap:7px}.composer-chip{display:inline-flex;align-items:center;gap:6px;padding:7px 10px;border-radius:999px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.035);font-size:12px;color:#c6ceda}.composer-chip b{color:#fb923c}.composer-chip button{border:0;background:transparent;color:#9ba6b7;font-size:16px;line-height:1}
.composer-panel,.poll-builder{padding:14px;border:1px solid rgba(255,255,255,.08);border-radius:14px;background:#0d121c}.composer-footer{padding-top:14px;border-top:1px solid var(--border)}.composer-privacy{max-width:190px;border-radius:999px}.composer-status{margin-top:10px;padding:9px 11px;border-radius:10px;font-size:12px;background:rgba(249,115,22,.09);border:1px solid rgba(249,115,22,.25);color:#fdba74}.composer-status.error{background:rgba(239,68,68,.1);border-color:rgba(239,68,68,.3);color:#fca5a5}.composer-status.success{background:rgba(34,197,94,.1);border-color:rgba(34,197,94,.3);color:#86efac}
@media(max-width:640px){.composer-head{padding:15px}.composer-secure{display:none}.composer-body{padding:14px}.composer-preview{grid-template-columns:repeat(3,minmax(0,1fr))}.composer-section-label small{display:none}.advanced-composer .composer-tool{min-width:66px}.composer-footer .btn{min-height:40px}.composer-privacy{max-width:none;width:100%}.composer-footer{align-items:stretch!important}.composer-footer>div{width:100%}.composer-footer>div .btn{flex:1}}


/* V31 multiple account switcher */
.account-switch-wrap{max-width:560px;margin:34px auto;padding:0 12px}.account-switch-card{padding:24px}.saved-account-list{display:flex;flex-direction:column;gap:10px}.saved-account-item{position:relative;display:flex;align-items:center;border:1px solid var(--border);border-radius:15px;background:rgba(255,255,255,.025);overflow:hidden}.saved-account-item.active{border-color:rgba(249,115,22,.5);background:rgba(249,115,22,.08)}.saved-account-main{flex:1;min-width:0}.saved-account-button{width:100%;display:flex;align-items:center;gap:12px;padding:12px 48px 12px 12px;border:0;background:transparent;color:var(--text);text-align:left}.saved-account-button:disabled{opacity:1}.saved-account-button img{width:48px;height:48px;border-radius:50%;object-fit:cover;background:#202838}.saved-account-copy{display:flex;flex:1;min-width:0;flex-direction:column}.saved-account-copy strong,.saved-account-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.saved-account-copy small{color:var(--muted)}.saved-account-state{font-size:12px;font-weight:700;color:var(--accent);white-space:nowrap}.saved-account-remove{position:absolute;right:10px;top:50%;transform:translateY(-50%)}.saved-account-remove button{width:30px;height:30px;border:0;border-radius:50%;background:rgba(255,255,255,.06);color:var(--muted)}.saved-account-remove button:hover{background:rgba(239,68,68,.14);color:#fca5a5}.account-switch-actions{display:grid;gap:8px;margin-top:14px}@media(max-width:540px){.account-switch-card{padding:18px}.saved-account-state{font-size:0}.saved-account-state i{font-size:16px}.saved-account-button{padding-right:44px}}

/* V32 multilingual / RTL support */
html[dir="rtl"] body { direction: rtl; text-align: right; }
html[dir="rtl"] .dropdown-menu-end { --bs-position: start; }
html[dir="rtl"] .vibra-top-search i { margin-left: .65rem; margin-right: 0; }
html[dir="rtl"] .me-2 { margin-left: .5rem !important; margin-right: 0 !important; }
html[dir="rtl"] .vibra-side-nav a i { margin-left: .8rem; margin-right: 0; }
.language-dropdown { min-width: 220px; max-height: 420px; overflow-y: auto; }
.language-dropdown form { margin: 0; }

/* ---------- Production polish: accessibility, clarity and responsive feel ---------- */
:root { --vibra-focus-ring: 0 0 0 .22rem rgba(139,92,246,.28); }
:where(a,button,input,textarea,select,[tabindex]):focus-visible {
  outline: 2px solid #a78bfa !important;
  outline-offset: 2px;
  box-shadow: var(--vibra-focus-ring);
}
button, .btn, .top-icon, .vibra-side-nav a { touch-action: manipulation; }
.app-card, .card, .composer-card, .post-card {
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
@media (hover:hover) and (pointer:fine) {
  .post-card:hover, .composer-card:hover { border-color: rgba(167,139,250,.25); }
}
img { max-width: 100%; }
.post-card img, .story-card img, .profile-avatar img { object-fit: cover; }
.text-muted { line-height: 1.5; }
.btn { min-height: 40px; font-weight: 600; }
.form-control, .form-select { min-height: 44px; }
.dropdown-menu { max-width: min(360px, calc(100vw - 24px)); }
@media (max-width: 575.98px) {
  .vibra-page-container { padding-left: 10px !important; padding-right: 10px !important; }
  .app-card, .card, .post-card, .composer-card { border-radius: 16px; }
  .vibra-top-actions { gap: 4px; }
  .top-icon { width: 40px; height: 40px; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}

/* V35 premium create-post composer */
.composer-v2{border-radius:24px!important;border:1px solid rgba(148,163,184,.2)!important;background:radial-gradient(circle at 18% 0,rgba(139,92,246,.09),transparent 30%),linear-gradient(145deg,#101827 0%,#0c1421 100%)!important;box-shadow:0 24px 70px rgba(0,0,0,.34)!important}
.composer-v2 .composer-head{padding:24px 28px;background:transparent;border-color:rgba(148,163,184,.17);align-items:center}
.composer-v2 .composer-kicker{display:none}.composer-v2 .composer-head h3{font-size:25px;letter-spacing:-.035em;margin:0 0 5px}.composer-v2 .composer-head p{font-size:14px;color:#8f9bb0}.composer-head-actions{display:flex;align-items:center;gap:12px}
.composer-audience-btn,.composer-collapse-btn{border:1px solid rgba(148,163,184,.17);background:rgba(30,41,59,.68);color:#c7b7ff;border-radius:14px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:10px;font-weight:700;padding:0 16px;transition:.18s ease}.composer-audience-btn:hover,.composer-collapse-btn:hover{background:rgba(139,92,246,.14);border-color:rgba(139,92,246,.42);transform:translateY(-1px)}.composer-collapse-btn{width:44px;padding:0;color:#b6c0d2}.composer-v2.is-collapsed .composer-collapse-btn i{transform:rotate(180deg)}
.composer-v2 .composer-body{padding:28px}.composer-writing-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:18px;align-items:start}.composer-avatar-wrap{position:relative;width:58px;height:58px}.composer-v2 .composer-avatar{width:58px;height:58px;border-radius:50%;object-fit:cover;border:2px solid rgba(139,92,246,.72);padding:2px;background:#0b1220}.composer-avatar-dot{position:absolute;right:-2px;bottom:-1px;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#3b82f6,#9333ea);color:#fff;border:3px solid #101827;font-size:9px}
.composer-v2 .composer-input{min-height:118px!important;border:0!important;background:transparent!important;padding:12px 0!important;border-radius:0!important;font-size:19px;line-height:1.55;color:#e8edf7;box-shadow:none!important;resize:none}.composer-v2 .composer-input::placeholder{color:#8490a5}.composer-v2 .composer-input:focus{box-shadow:none!important}.composer-emoji-shortcut{margin-top:8px;width:48px;height:48px;border-radius:50%;border:1px solid rgba(148,163,184,.16);background:rgba(30,41,59,.58);color:#9aa7ba;font-size:22px}.composer-emoji-shortcut:hover{color:#c4b5fd;border-color:rgba(139,92,246,.4)}
.composer-v2 .composer-meta-row{margin-top:0}.composer-v2 .composer-tools-heading{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-top:22px;padding-top:24px;border-top:1px dashed rgba(148,163,184,.2)}.composer-tools-heading>div{display:grid;gap:2px}.composer-tools-heading strong{font-size:16px;color:#eef2f8}.composer-tools-heading span,.composer-tools-heading small{font-size:12px;color:#8793a7}.composer-tools-heading small i{margin-left:6px}
.composer-v2 .composer-tools-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-top:18px}.composer-v2 .composer-tool{min-width:0!important;min-height:72px!important;display:flex!important;flex-direction:row!important;justify-content:flex-start;align-items:center!important;gap:14px!important;padding:14px 16px!important;border:1px solid rgba(148,163,184,.15)!important;border-radius:16px!important;background:linear-gradient(145deg,rgba(30,41,59,.62),rgba(15,23,42,.58))!important;color:#cbd5e1!important;font-size:14px!important;font-weight:650;box-shadow:inset 0 1px 0 rgba(255,255,255,.025);transition:.18s ease}.composer-v2 .composer-tool:hover{transform:translateY(-2px)!important;border-color:rgba(139,92,246,.44)!important;background:rgba(139,92,246,.1)!important;box-shadow:0 10px 24px rgba(0,0,0,.18)}.composer-v2 .composer-tool .tool-icon{width:34px;height:34px;flex:0 0 34px;background:transparent!important;font-size:20px}.composer-v2 .composer-tool>span:last-child{font-size:14px!important;color:#cbd5e1!important}.tool-photo .tool-icon{color:#4ade80!important}.tool-video .tool-icon,.tool-voice .tool-icon{color:#fb7185!important}.tool-reel .tool-icon,.tool-location .tool-icon{color:#c084fc!important}.tool-audio .tool-icon{color:#f59e0b!important}.tool-file .tool-icon{color:#60a5fa!important}.tool-poll .tool-icon{color:#facc15!important}.tool-feeling .tool-icon{color:#fbbf24!important}.tool-controls .tool-icon{color:#2dd4bf!important}
.composer-more-tools{margin-top:12px}.composer-more-tools summary{width:max-content;cursor:pointer;color:#a8b3c5;font-size:13px;font-weight:700;padding:8px 2px;list-style:none}.composer-more-tools summary::-webkit-details-marker{display:none}.composer-more-tools summary i{margin-right:7px;color:#a78bfa}.composer-more-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding-top:8px}
.composer-v2 .composer-panel,.composer-v2 .poll-builder{margin-top:16px!important;border-radius:16px;background:rgba(15,23,42,.78);border-color:rgba(148,163,184,.16)}.composer-v2 .composer-preview{margin-top:16px!important}
.composer-v2 .composer-footer{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:26px;padding-top:24px;border-top:1px dashed rgba(148,163,184,.2)}.composer-privacy-wrap{display:grid;gap:6px;min-width:230px}.composer-v2 .composer-privacy{max-width:290px!important;min-height:52px;border-radius:16px!important;border:1px solid rgba(148,163,184,.17);background-color:rgba(30,41,59,.55);font-weight:700;color:#e5e7eb;padding-left:16px}.composer-privacy-wrap small{padding-left:8px;color:#7f8ca1}.composer-submit-actions{display:flex;gap:12px}.composer-draft-btn,.composer-post-btn{min-height:52px!important;border-radius:999px!important;padding:0 26px!important;display:inline-flex;align-items:center;gap:9px;justify-content:center}.composer-draft-btn{border:1px solid rgba(148,163,184,.2)!important;background:rgba(15,23,42,.58)!important;color:#eef2f7!important}.composer-post-btn{min-width:155px;border:0!important;color:#fff!important;background:linear-gradient(110deg,#3b82f6,#7c3aed 70%,#a855f7)!important;box-shadow:0 12px 30px rgba(124,58,237,.25)}.composer-post-btn:hover{transform:translateY(-1px);box-shadow:0 16px 34px rgba(124,58,237,.34)}
.composer-control-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:16px;margin-top:24px;padding:18px 20px;border-radius:18px;border:1px solid rgba(139,92,246,.28);background:linear-gradient(100deg,rgba(88,28,135,.2),rgba(49,46,129,.13),rgba(15,23,42,.2))}.control-shield{width:52px;height:52px;border-radius:16px;display:grid;place-items:center;color:#a78bfa;background:rgba(139,92,246,.15);font-size:25px}.composer-control-card strong{display:block;color:#c084fc;font-size:15px}.composer-control-card p{margin:3px 0 0;color:#9ca8ba;font-size:13px}.composer-control-card button{min-height:42px;padding:0 18px;border-radius:13px;border:1px solid rgba(139,92,246,.35);background:rgba(139,92,246,.1);color:#c4b5fd;font-weight:700}
@media(max-width:900px){.composer-v2 .composer-tools-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:640px){.composer-v2{border-radius:18px!important}.composer-v2 .composer-head{padding:18px}.composer-v2 .composer-head h3{font-size:21px}.composer-v2 .composer-head p,.composer-audience-btn span,.composer-audience-btn .fa-chevron-down{display:none}.composer-audience-btn{width:44px;padding:0}.composer-v2 .composer-body{padding:18px}.composer-writing-row{grid-template-columns:auto minmax(0,1fr);gap:12px}.composer-emoji-shortcut{display:none}.composer-avatar-wrap,.composer-v2 .composer-avatar{width:46px;height:46px}.composer-v2 .composer-input{font-size:16px;min-height:100px!important}.composer-v2 .composer-tools-heading{align-items:start}.composer-tools-heading small{display:none}.composer-v2 .composer-tools-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.composer-v2 .composer-tool{min-height:60px!important;padding:11px 12px!important;gap:9px!important}.composer-v2 .composer-tool>span:last-child{font-size:12px!important}.composer-more-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.composer-v2 .composer-footer{align-items:stretch;flex-direction:column}.composer-privacy-wrap,.composer-v2 .composer-privacy{width:100%;max-width:none!important}.composer-submit-actions{width:100%}.composer-submit-actions .btn{flex:1;padding:0 14px!important}.composer-control-card{grid-template-columns:auto minmax(0,1fr);padding:15px}.composer-control-card button{grid-column:1/-1;width:100%}}


/* Composer member picker and image lightbox */
.composer-writing-row{grid-template-columns:auto minmax(0,1fr)!important}
.composer-people-panel{margin-top:16px;padding:16px;border:1px solid rgba(148,163,184,.18);border-radius:16px;background:rgba(15,23,42,.9)}
.composer-people-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.composer-people-search-wrap{position:relative}.composer-people-search-wrap>i{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:#8490a5}.composer-people-search-wrap input{padding-left:42px}
.composer-people-results{display:grid;gap:7px;max-height:320px;overflow:auto;margin-top:10px}.composer-person{width:100%;display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:11px;padding:9px 10px;border:0;border-radius:12px;background:transparent;color:#e5e7eb;text-align:left}.composer-person:hover{background:rgba(139,92,246,.13)}.composer-person img{width:44px;height:44px;border-radius:50%;object-fit:cover}.composer-person span{display:grid}.composer-person small{color:#8f9bb0}.composer-person>i{color:#60a5fa}.composer-chip{display:inline-flex;padding:6px 10px;margin:3px;border-radius:999px;background:rgba(45,212,191,.12);color:#5eead4;font-size:12px;font-weight:700}
.feed-media-cell img.js-media-preview,.feed-shared-thumb.js-media-preview{cursor:zoom-in}.vibra-image-lightbox{position:fixed;inset:0;z-index:99999;display:none;align-items:center;justify-content:center;padding:24px;background:rgba(2,6,23,.94);backdrop-filter:blur(8px)}.vibra-image-lightbox.show{display:flex}.vibra-image-lightbox>img{max-width:min(94vw,1500px);max-height:90vh;object-fit:contain;border-radius:12px;box-shadow:0 28px 90px rgba(0,0,0,.55)}.vibra-image-lightbox>button{position:fixed;top:20px;right:22px;width:46px;height:46px;border:1px solid rgba(255,255,255,.2);border-radius:50%;background:rgba(15,23,42,.8);color:#fff;font-size:20px}

/* Inbox-only WebRTC calling */
.msgr-call-actions{display:flex;align-items:center;gap:.25rem}
.call-overlay{position:fixed;inset:0;z-index:2050;background:#090b10;display:grid;place-items:center}
.call-overlay[hidden],.incoming-call-card[hidden]{display:none!important}
.call-stage{position:relative;width:min(100vw,1100px);height:min(100vh,760px);overflow:hidden;background:#111827;border-radius:20px;box-shadow:0 20px 80px #0008}
.call-remote-video{width:100%;height:100%;object-fit:cover;background:#111827}
.call-local-video{position:absolute;right:18px;top:18px;width:min(26vw,220px);aspect-ratio:3/4;object-fit:cover;border-radius:16px;background:#1f2937;border:2px solid #ffffff55;box-shadow:0 8px 30px #0008}
.call-audio-avatar{position:absolute;inset:0;display:grid;place-items:center;background:radial-gradient(circle,#273449,#10131b 65%)}
.call-audio-avatar img{width:150px;height:150px;border-radius:50%;object-fit:cover;border:5px solid #ffffff33}
.call-info{position:absolute;left:0;right:0;top:38px;text-align:center;color:#fff;text-shadow:0 2px 12px #000}
.call-info p{margin:.25rem 0}.call-info span{font-variant-numeric:tabular-nums}
.call-controls{position:absolute;left:0;right:0;bottom:34px;display:flex;justify-content:center;gap:14px}
.call-control{width:56px;height:56px;border:0;border-radius:50%;background:#ffffff25;color:#fff;font-size:1.15rem;backdrop-filter:blur(10px)}
.call-control.is-off{background:#fff;color:#111}.call-control.call-end{background:#ef4444}
.incoming-call-card{position:fixed;z-index:2060;right:24px;top:24px;width:min(430px,calc(100vw - 32px));display:flex;align-items:center;gap:12px;padding:14px;background:var(--surface-solid);border:1px solid var(--border);border-radius:18px;box-shadow:0 18px 55px #0005}
.incoming-call-card>img{width:54px;height:54px;border-radius:50%;object-fit:cover}
.incoming-action{width:46px;height:46px;border:0;border-radius:50%;color:#fff}.incoming-action.accept{background:#22c55e}.incoming-action.reject{background:#ef4444}
@media(max-width:767px){.call-stage{width:100vw;height:100vh;border-radius:0}.call-local-video{width:32vw}.incoming-call-card{top:12px;right:12px}.msgr-call-actions .btn-icon{width:36px;height:36px}}


/* Messenger blocked-conversation state */
.msgr-blocked-notice{display:flex;align-items:center;gap:.8rem;margin:.75rem 1rem 0;padding:.8rem 1rem;border:1px solid rgba(255,122,26,.35);background:rgba(255,122,26,.08);border-radius:14px;color:var(--text)}
.msgr-blocked-notice>i{width:36px;height:36px;display:grid;place-items:center;border-radius:50%;background:rgba(255,122,26,.16);color:var(--accent);flex:0 0 auto}
.msgr-blocked-notice>div{display:flex;flex-direction:column;min-width:0;flex:1}
.msgr-blocked-notice strong{font-size:.88rem}.msgr-blocked-notice span{font-size:.76rem;color:var(--muted)}
.msgr-composer-disabled{display:flex;align-items:center;justify-content:center;gap:.55rem;padding:1rem;border-top:1px solid var(--border);color:var(--muted);font-size:.85rem}
@media(max-width:575.98px){.msgr-blocked-notice{align-items:flex-start;flex-wrap:wrap}.msgr-blocked-notice .btn{margin-left:44px}}

/* ================================================================
   VIBRA 4.0 — PREMIUM SOCIAL NETWORK REDESIGN
   Non-destructive visual layer. Existing markup/features are preserved.
   ================================================================ */
:root{
  --accent:#8b5cf6;
  --accent-2:#6d28d9;
  --accent-3:#a78bfa;
  --accent-soft:rgba(139,92,246,.13);
  --bg:#070b14;
  --surface:#101725;
  --surface-solid:#111827;
  --surface-2:#151e2e;
  --surface-3:#1a2435;
  --border:rgba(148,163,184,.16);
  --text:#f3f5fb;
  --muted:#94a3b8;
  --shadow:0 20px 70px rgba(0,0,0,.28);
}
html[data-theme="light"]{
  --bg:#f4f6fb;--surface:#fff;--surface-solid:#fff;--surface-2:#f8f9fd;--surface-3:#eef1f7;
  --border:rgba(15,23,42,.10);--text:#111827;--muted:#64748b;--shadow:0 18px 55px rgba(15,23,42,.08)
}
body.vibra-v25{background:radial-gradient(circle at 76% -12%,rgba(124,58,237,.10),transparent 31%),var(--bg);color:var(--text);font-family:Figtree,system-ui,sans-serif}
body.vibra-v25:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:-1;background-image:linear-gradient(rgba(255,255,255,.012) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.012) 1px,transparent 1px);background-size:42px 42px;mask-image:linear-gradient(to bottom,rgba(0,0,0,.45),transparent 70%)}
.vibra-topbar{height:74px;background:rgba(7,11,20,.80)!important;border-bottom:1px solid var(--border)!important;backdrop-filter:blur(22px) saturate(1.25);box-shadow:0 10px 35px rgba(0,0,0,.18)}
html[data-theme="light"] .vibra-topbar{background:rgba(255,255,255,.85)!important}
.vibra-topbar .container-fluid{max-width:1680px;margin:auto}
.vibra-brand{font-family:Sora,sans-serif!important;font-size:22px!important;font-weight:800!important;letter-spacing:-.04em;color:var(--text)!important;gap:10px}
.vibra-brand-mark{width:39px!important;height:39px!important;border-radius:12px!important;background:linear-gradient(135deg,#a78bfa,#7c3aed 55%,#5b21b6)!important;color:#fff!important;box-shadow:0 9px 24px rgba(124,58,237,.34);transform:rotate(-5deg)}
.vibra-brand-mark i{transform:rotate(5deg)}
.vibra-top-search{width:min(420px,34vw)!important;height:44px!important;border-radius:14px!important;background:var(--surface-2)!important;border:1px solid var(--border)!important;box-shadow:inset 0 1px rgba(255,255,255,.025)}
.vibra-top-search:focus-within{border-color:rgba(139,92,246,.60)!important;box-shadow:0 0 0 4px rgba(139,92,246,.10)}
.vibra-top-search input{font-size:14px!important}
.vibra-top-actions{gap:7px!important}
.top-icon{width:42px!important;height:42px!important;border-radius:13px!important;background:transparent!important;color:var(--muted)!important;border:1px solid transparent!important;transition:.18s ease!important}
.top-icon:hover,.top-icon[aria-expanded="true"]{background:var(--accent-soft)!important;color:var(--accent-3)!important;border-color:rgba(139,92,246,.22)!important;transform:translateY(-1px)}
.vibra-user-menu{height:44px!important;border-radius:14px!important;background:var(--surface-2)!important;border:1px solid var(--border)!important;padding:5px 10px 5px 5px!important}
.vibra-user-menu img{width:32px!important;height:32px!important;border:2px solid rgba(167,139,250,.55)}
.app-main{padding-top:0!important}.vibra-page-container{max-width:1680px!important;padding:0 24px!important}
.vibra-app-shell{display:grid!important;grid-template-columns:248px minmax(0,1fr) 310px!important;gap:24px!important;align-items:start!important;min-height:calc(100vh - 74px)}
.vibra-left-sidebar,.vibra-right-sidebar{top:94px!important;max-height:calc(100vh - 110px)!important;overflow:auto!important;scrollbar-width:none;padding-top:20px!important}.vibra-left-sidebar::-webkit-scrollbar,.vibra-right-sidebar::-webkit-scrollbar{display:none}
.vibra-left-sidebar{padding-right:8px!important;border-right:0!important}
.sidebar-profile-card{padding:15px!important;margin-bottom:12px!important;border:1px solid var(--border)!important;border-radius:17px!important;background:linear-gradient(145deg,rgba(139,92,246,.09),rgba(16,23,37,.35))!important}
.sidebar-profile-card img{width:46px!important;height:46px!important;border:2px solid rgba(167,139,250,.65)!important}.sidebar-profile-card strong{font-size:14px!important}.sidebar-profile-card a{font-size:12px!important}
.vibra-side-nav{gap:4px!important}.vibra-side-nav a{min-height:46px!important;padding:0 14px!important;border-radius:13px!important;color:#aeb8c9!important;font-size:14px!important;font-weight:650!important;position:relative;overflow:hidden}
.vibra-side-nav a i{width:23px!important;font-size:16px!important}.vibra-side-nav a:hover{background:rgba(148,163,184,.07)!important;color:#fff!important;transform:translateX(2px)}
.vibra-side-nav a.active{background:linear-gradient(90deg,rgba(124,58,237,.22),rgba(139,92,246,.08))!important;color:#c4b5fd!important;box-shadow:inset 3px 0 #8b5cf6;border:1px solid rgba(139,92,246,.15)}
.vibra-side-nav a.active i{color:#a78bfa!important}.sidebar-footer-links{padding:15px!important;font-size:11px!important;color:#64748b!important}
.vibra-shell-center{padding:24px 0 60px!important;min-width:0}.vibra-right-sidebar{padding-left:0!important}
.right-widget{border:1px solid var(--border)!important;border-radius:20px!important;background:linear-gradient(145deg,rgba(18,26,42,.96),rgba(13,20,33,.96))!important;box-shadow:0 14px 40px rgba(0,0,0,.16)!important;margin-bottom:18px!important;overflow:hidden}
html[data-theme="light"] .right-widget{background:#fff!important}
.shell-account-head{padding:18px!important}.shell-account-head img{width:52px!important;height:52px!important;border:2px solid rgba(139,92,246,.60)!important}.quick-grid{padding:0 14px 14px!important;gap:10px!important}.quick-grid a{min-height:72px!important;border-radius:14px!important;background:rgba(148,163,184,.055)!important;border:1px solid rgba(148,163,184,.06)!important;transition:.18s ease}.quick-grid a:hover{background:var(--accent-soft)!important;border-color:rgba(139,92,246,.22)!important;transform:translateY(-2px);color:#c4b5fd!important}.widget-title{padding:17px 18px 10px!important}.widget-title h6{font-family:Sora,sans-serif;font-size:15px!important}.widget-title a{color:#a78bfa!important}.shell-recent-list{padding:0 10px 12px!important}.shell-recent-list>a{padding:10px!important;border-radius:12px!important}.shell-recent-list>a:hover{background:rgba(139,92,246,.09)!important}.shell-recent-list img{width:42px!important;height:42px!important}
.app-card,.card,.post-card,.composer-card,.feed-card{background:linear-gradient(145deg,rgba(17,24,39,.96),rgba(13,20,33,.96))!important;border:1px solid var(--border)!important;border-radius:20px!important;box-shadow:0 14px 45px rgba(0,0,0,.13)!important;overflow:hidden}
html[data-theme="light"] :is(.app-card,.card,.post-card,.composer-card,.feed-card){background:#fff!important}
.post-card:hover,.feed-card:hover{border-color:rgba(139,92,246,.27)!important;box-shadow:0 22px 60px rgba(0,0,0,.20)!important}
.feed-wrap{max-width:760px!important}.feed-card{margin-bottom:18px!important}.feed-card .card-body{padding:18px!important}.feed-avatar{width:46px!important;height:46px!important;border:2px solid rgba(167,139,250,.45)!important}.feed-author{font-size:15px!important}.feed-content{font-size:15px!important;line-height:1.65!important}.feed-media{margin-left:-18px!important;margin-right:-18px!important}.feed-media-cell{max-height:620px!important}.feed-media-cell img{transition:transform .35s ease}.feed-media-cell:hover img{transform:scale(1.012)}
.feed-actions{margin-top:10px!important;padding-top:8px!important}.feed-btn{min-height:40px!important;border-radius:12px!important}.feed-btn:hover{background:rgba(139,92,246,.11)!important;color:#c4b5fd!important}
.react-popover{background:#182132!important;border:1px solid rgba(148,163,184,.18)!important;border-radius:999px!important;box-shadow:0 18px 50px rgba(0,0,0,.45)!important;padding:7px 10px!important}.react-popover button{font-size:23px!important;transition:.15s}.react-popover button:hover{transform:scale(1.28) translateY(-2px)}
.form-control,.form-select,.input-group-text,textarea{background:var(--surface-2)!important;border-color:var(--border)!important;color:var(--text)!important;border-radius:13px!important}.form-control:focus,.form-select:focus{border-color:rgba(139,92,246,.70)!important;box-shadow:0 0 0 4px rgba(139,92,246,.11)!important}.form-control::placeholder{color:#718096!important}
.btn-primary,.btn-accent{border:0!important;background:linear-gradient(110deg,#7c3aed,#8b5cf6 55%,#a855f7)!important;color:#fff!important;box-shadow:0 10px 26px rgba(124,58,237,.22)!important}.btn-primary:hover,.btn-accent:hover{transform:translateY(-1px);box-shadow:0 15px 32px rgba(124,58,237,.32)!important}
.btn{border-radius:12px!important}.app-dropdown{background:#121a29!important;border:1px solid var(--border)!important;border-radius:16px!important;box-shadow:0 22px 70px rgba(0,0,0,.40)!important;padding:8px!important}.app-dropdown .dropdown-item{border-radius:10px!important;color:#cbd5e1!important;padding:10px 12px!important}.app-dropdown .dropdown-item:hover{background:rgba(139,92,246,.12)!important;color:#c4b5fd!important}
.profile-cover,.group-cover,.page-cover{border-radius:22px!important;overflow:hidden!important;border:1px solid var(--border)!important;box-shadow:var(--shadow)!important}.profile-cover img,.group-cover img,.page-cover img{min-height:260px;object-fit:cover}.profile-avatar{border:5px solid var(--bg)!important;box-shadow:0 0 0 3px #8b5cf6,0 15px 35px rgba(0,0,0,.40)!important}
.nav-tabs{border-bottom-color:var(--border)!important}.nav-tabs .nav-link{color:var(--muted)!important;border:0!important;border-bottom:2px solid transparent!important}.nav-tabs .nav-link.active{background:transparent!important;color:#c4b5fd!important;border-bottom-color:#8b5cf6!important}
.msgr-shell,.messenger-shell{border:1px solid var(--border)!important;border-radius:22px!important;overflow:hidden!important;background:var(--surface)!important;box-shadow:var(--shadow)!important}.msgr-conversations,.msgr-sidebar{background:#0d1421!important;border-color:var(--border)!important}.msgr-thread,.msgr-chat{background:radial-gradient(circle at 50% 0,rgba(139,92,246,.06),transparent 35%),#101725!important}.message-bubble.mine,.msg.mine .bubble{background:linear-gradient(135deg,#7c3aed,#9333ea)!important;color:#fff!important;border-radius:18px 18px 5px 18px!important}.message-bubble:not(.mine),.msg:not(.mine) .bubble{background:#1b2535!important;border:1px solid rgba(148,163,184,.10)!important;border-radius:18px 18px 18px 5px!important}
.vibra-mobile-nav{background:rgba(9,13,22,.93)!important;border-top:1px solid var(--border)!important;backdrop-filter:blur(18px)!important}.vibra-mobile-nav a{color:#8f9bad!important}.vibra-mobile-nav a:hover{color:#a78bfa!important}
@media(max-width:1399.98px){.vibra-app-shell{grid-template-columns:230px minmax(0,1fr) 285px!important;gap:18px!important}.vibra-page-container{padding:0 16px!important}}
@media(max-width:1199.98px){.vibra-app-shell{grid-template-columns:minmax(0,1fr) 300px!important}.vibra-shell-center{padding-left:0!important}}
@media(max-width:991.98px){.vibra-app-shell{display:block!important}.vibra-shell-center{padding-top:16px!important}.vibra-page-container{padding:0 12px!important}.vibra-top-search{width:min(360px,42vw)!important}}
@media(max-width:767.98px){.vibra-topbar{height:64px!important}.vibra-brand span:last-child{display:none}.vibra-brand-mark{width:36px!important;height:36px!important}.vibra-shell-center{padding:12px 0 86px!important}.app-card,.card,.post-card,.composer-card,.feed-card{border-radius:17px!important}.feed-card .card-body{padding:14px!important}.feed-media{margin-left:-14px!important;margin-right:-14px!important}.vibra-mobile-nav{height:68px!important}.vibra-mobile-nav a i{font-size:19px!important}.vibra-mobile-nav a span{font-size:10px!important}}

/* ================================================================
   ADMIN-CONFIGURABLE BRAND + RELIABLE LIGHT/DARK MODE
   Final override layer: removes legacy hard-coded dark/purple/orange UI.
   ================================================================ */
html{color-scheme:light dark}
html[data-theme="light"]{color-scheme:light}
html[data-theme="dark"]{color-scheme:dark}

body.vibra-v25{
  background:
    radial-gradient(circle at 76% -12%,rgba(var(--accent-rgb),.11),transparent 31%),
    radial-gradient(circle at 9% 20%,rgba(var(--accent-rgb),.045),transparent 24%),
    var(--bg)!important;
  color:var(--text)!important;
}
.vibra-v25 .app-main{background:transparent!important;color:var(--text)!important}
body.vibra-v25:before{background-image:linear-gradient(color-mix(in srgb,var(--text) 2.2%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--text) 2.2%,transparent) 1px,transparent 1px)!important}

.vibra-topbar{background:color-mix(in srgb,var(--surface-solid) 82%,transparent)!important;border-color:var(--border)!important}
.vibra-brand{color:var(--text)!important}
.vibra-brand-mark{background:linear-gradient(135deg,var(--accent-3),var(--accent) 55%,var(--accent-2))!important;box-shadow:0 9px 24px rgba(var(--accent-rgb),.30)!important;overflow:hidden}
.vibra-brand-mark img{width:100%;height:100%;object-fit:contain;padding:3px;transform:rotate(5deg)}
.vibra-brand-logo{display:block;max-width:164px;height:38px;object-fit:contain;object-position:left center}
.vibra-top-search{background:var(--surface-2)!important;border-color:var(--border)!important;color:var(--muted)!important}
.vibra-top-search:focus-within{border-color:rgba(var(--accent-rgb),.58)!important;box-shadow:0 0 0 4px rgba(var(--accent-rgb),.10)!important}
.vibra-top-search input{color:var(--text)!important}
.top-icon:hover,.top-icon[aria-expanded="true"]{background:var(--accent-soft)!important;color:var(--accent)!important;border-color:rgba(var(--accent-rgb),.22)!important}
.vibra-user-menu{background:var(--surface-2)!important;border-color:var(--border)!important;color:var(--text)!important}
.vibra-user-menu img,.feed-avatar,.sidebar-profile-card img,.shell-account-head img{border-color:rgba(var(--accent-rgb),.48)!important}

.sidebar-profile-card{background:linear-gradient(145deg,rgba(var(--accent-rgb),.085),color-mix(in srgb,var(--surface) 96%,transparent))!important;border-color:var(--border)!important}
.sidebar-profile-card strong{color:var(--text)!important}
.vibra-side-nav a{color:var(--muted)!important}
.vibra-side-nav a:hover{background:color-mix(in srgb,var(--text) 6%,transparent)!important;color:var(--text)!important}
.vibra-side-nav a.active{background:linear-gradient(90deg,rgba(var(--accent-rgb),.20),rgba(var(--accent-rgb),.06))!important;color:var(--accent)!important;box-shadow:inset 3px 0 var(--accent)!important;border-color:rgba(var(--accent-rgb),.15)!important}
.vibra-side-nav a.active i,.widget-title a,.widget-eyebrow{color:var(--accent)!important}

.right-widget,.app-card,.card,.post-card,.composer-card,.feed-card,.glass-card{
  background:color-mix(in srgb,var(--surface-solid) 96%,var(--accent) 4%)!important;
  border-color:var(--border)!important;
  color:var(--text)!important;
}
html[data-theme="light"] :is(.right-widget,.app-card,.card,.post-card,.composer-card,.feed-card,.glass-card){
  background:rgba(255,255,255,.94)!important;
  box-shadow:0 18px 55px rgba(15,23,42,.075)!important;
}
html[data-theme="dark"] :is(.right-widget,.app-card,.card,.post-card,.composer-card,.feed-card,.glass-card){
  box-shadow:0 16px 48px rgba(0,0,0,.18)!important;
}
.post-card:hover,.feed-card:hover{border-color:rgba(var(--accent-rgb),.26)!important}
.quick-grid a{background:color-mix(in srgb,var(--surface-2) 96%,transparent)!important;color:var(--muted)!important;border-color:var(--border)!important}
.quick-grid a:hover{background:var(--accent-soft)!important;border-color:rgba(var(--accent-rgb),.22)!important;color:var(--accent)!important}
.shell-recent-list>a:hover{background:rgba(var(--accent-rgb),.08)!important}

.feed-actions{border-color:var(--border)!important;background:transparent!important}
.feed-btn{color:var(--muted)!important;transition:.16s ease!important}
.feed-btn:hover{background:var(--accent-soft)!important;color:var(--accent)!important;transform:translateY(-1px)}
.feed-react-wrap.open>.feed-btn,.feed-btn.saved{color:var(--accent)!important}
.react-popover{background:var(--surface-solid)!important;border-color:var(--border)!important;box-shadow:0 18px 50px rgba(0,0,0,.28)!important}
.feed-tab.active{background:var(--accent-soft)!important;color:var(--accent)!important}

.form-control,.form-select,.input-group-text,textarea{background:var(--surface-2)!important;border-color:var(--border)!important;color:var(--text)!important}
.form-control:focus,.form-select:focus{border-color:rgba(var(--accent-rgb),.68)!important;box-shadow:0 0 0 4px rgba(var(--accent-rgb),.105)!important}
.form-control::placeholder{color:var(--muted)!important}
.btn-primary,.btn-accent{background:linear-gradient(110deg,var(--accent-2),var(--accent) 55%,var(--accent-3))!important;box-shadow:0 10px 26px rgba(var(--accent-rgb),.22)!important;color:#fff!important}
.btn-primary:hover,.btn-accent:hover{box-shadow:0 15px 32px rgba(var(--accent-rgb),.30)!important}
.btn-outline-accent{border-color:var(--accent)!important;color:var(--accent)!important}
.btn-outline-accent:hover{background:var(--accent)!important;color:#fff!important}

.app-dropdown{background:var(--surface-solid)!important;border-color:var(--border)!important;color:var(--text)!important;box-shadow:0 22px 70px rgba(0,0,0,.25)!important}
.app-dropdown .dropdown-item{color:var(--text)!important}
.app-dropdown .dropdown-item:hover{background:var(--accent-soft)!important;color:var(--accent)!important}
.profile-avatar{box-shadow:0 0 0 3px var(--accent),0 15px 35px rgba(0,0,0,.25)!important}
.nav-tabs .nav-link.active{color:var(--accent)!important;border-bottom-color:var(--accent)!important}

.msgr-shell,.messenger-shell{background:var(--surface)!important}
.msgr-conversations,.msgr-sidebar{background:var(--surface-solid)!important;border-color:var(--border)!important}
.msgr-thread,.msgr-chat{background:radial-gradient(circle at 50% 0,rgba(var(--accent-rgb),.055),transparent 35%),var(--surface)!important}
.message-bubble.mine,.msg.mine .bubble{background:linear-gradient(135deg,var(--accent-2),var(--accent))!important;color:#fff!important}
.message-bubble:not(.mine),.msg:not(.mine) .bubble{background:var(--surface-2)!important;border-color:var(--border)!important;color:var(--text)!important}
.vibra-mobile-nav{background:color-mix(in srgb,var(--surface-solid) 92%,transparent)!important;border-color:var(--border)!important}
.vibra-mobile-nav a{color:var(--muted)!important}.vibra-mobile-nav a:hover,.vibra-mobile-nav a.active{color:var(--accent)!important;background:var(--accent-soft)!important}

/* Cleaner login/register surface and background shade. */
.app-main.guest{position:relative;isolation:isolate;min-height:calc(100vh - 76px);padding:28px 12px}
.app-main.guest:before,.app-main.guest:after{content:"";position:fixed;z-index:-1;border-radius:50%;filter:blur(8px);pointer-events:none}
.app-main.guest:before{width:420px;height:420px;left:-170px;top:12vh;background:radial-gradient(circle,rgba(var(--accent-rgb),.18),transparent 68%)}
.app-main.guest:after{width:520px;height:520px;right:-220px;bottom:-130px;background:radial-gradient(circle,rgba(var(--accent-rgb),.12),transparent 68%)}
.auth-wrap{width:min(100%,500px);margin:4vh auto!important}
.auth-wrap .glass-card{padding:clamp(1.35rem,4vw,2.35rem)!important;border-radius:24px!important;backdrop-filter:blur(22px)!important}
.auth-brand{display:flex;align-items:center;justify-content:center;gap:10px;min-height:52px}
.auth-brand>img:not(.auth-brand-icon){max-width:220px;max-height:62px;object-fit:contain}
.auth-brand-icon{width:48px;height:48px;object-fit:contain;border-radius:13px}
.auth-logo i{box-shadow:0 12px 28px rgba(var(--accent-rgb),.24)!important}

@media(max-width:767.98px){
  .vibra-brand-logo{max-width:118px;height:34px}
  .app-main.guest{padding:14px 8px}
  .auth-wrap{margin:1.25rem auto!important}
}
