:root {
  --app-bg-light: radial-gradient(circle at 8% 10%, #d4c1a9 0%, #c1d2e6 36%, #c6bbde 66%, #bfc7d6 100%);
  --app-bg-dark: radial-gradient(circle at 15% 18%, #2a1146 0%, #111827 46%, #070b14 100%);
  --app-top-lock-light: #aebbcc;
  --app-top-lock-dark: #17233a;
  --app-border-light: #bcc6d6;
  --app-card-light: #e6ebf3;
}

body.app-theme-body {
  min-height: 100vh;
  background: var(--app-bg-light);
  overflow-x: hidden;
  position: relative;
}
[data-bs-theme="dark"] body.app-theme-body {
  background: var(--app-bg-dark);
}

.app-shell-unified {
  position: relative;
  z-index: 2;
  max-width: 1240px;
  margin: 0 auto;
}


/* Unified top menu styles */
.top-btn{min-height:30px;display:inline-flex;align-items:center;font-weight:600;padding:.2rem .48rem;font-size:.78rem}
.feature-btn{border-width:2px;font-weight:700;padding:.48rem .9rem;border-radius:.8rem;box-shadow:0 .35rem .8rem rgba(0,0,0,.08)}
.upload-btn{background:linear-gradient(135deg,#06b6d4,#0284c7);border-color:transparent;color:#fff}
.blog-btn{background:linear-gradient(135deg,#f59e0b,#ea580c);border-color:transparent;color:#fff}
.public-btn{background:linear-gradient(135deg,#8b5cf6,#6366f1);border-color:transparent;color:#fff}
.feature-btn:hover{filter:brightness(1.05);color:#fff}
.profile-chip{display:flex;align-items:center;gap:.45rem;padding:.35rem .5rem;border:1px solid rgba(148,163,184,.28);border-radius:.8rem;background:rgba(255,255,255,.45)}
.chip-btn{border:none;border-radius:.55rem;padding:.28rem .5rem;font-size:.74rem;font-weight:700}
.chip-btn.profile{background:linear-gradient(135deg,#0ea5e9,#2563eb);color:#fff}
.chip-btn.logout{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff}
.notify-wrap{position:relative;display:inline-flex;align-items:center}
.notify-bell-btn{position:relative;border:none;border-radius:.6rem;padding:.34rem .56rem;font-size:.9rem;line-height:1;background:linear-gradient(135deg,rgba(56,189,248,.2),rgba(59,130,246,.16));color:#0f172a;text-decoration:none}
.notify-bell-btn:hover{filter:brightness(1.05);color:#0f172a}
.notify-bell-badge{position:absolute;top:-.32rem;right:-.32rem;min-width:1.1rem;height:1.1rem;padding:0 .28rem;border-radius:999px;background:#dc2626;color:#fff;font-size:.64rem;font-weight:600;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 .25rem .55rem rgba(220,38,38,.35)}
.status-dot{width:.5rem;height:.5rem;border-radius:999px;display:inline-block}
.status-online{background:#22c55e}
.status-offline{background:#94a3b8}
.role-badge{display:inline-flex;align-items:center;border-radius:999px;color:#fff;font-size:.65rem;padding:.06rem .38rem;margin-left:.15rem}
[data-bs-theme="dark"] .profile-chip{background:rgba(15,23,42,.58);border-color:rgba(148,163,184,.35)}
[data-bs-theme="dark"] .notify-bell-btn{color:#e2e8f0;background:linear-gradient(135deg,rgba(59,130,246,.38),rgba(16,185,129,.24))}
[data-bs-theme="dark"] .notify-bell-btn:hover{color:#f8fafc}

.context-btn{background:linear-gradient(135deg,#f97316 0%,#fb923c 38%,#38bdf8 100%);border-color:transparent;color:#fff;box-shadow:0 8px 18px rgba(56,189,248,.24)}
.context-btn:hover{filter:brightness(1.05);color:#fff}
[data-bs-theme="dark"] .context-btn{box-shadow:0 10px 22px rgba(14,165,233,.28)}
