/* Vaultly compact design system — matched to Account page scale */
:root{--ui-radius:1rem;--ui-gap:1rem;--ui-control-py:.55rem;--ui-control-px:.8rem}
html{font-size:15px}
body{font-size:.875rem}
main.mx-auto.max-w-7xl,main.mx-auto.max-w-6xl{max-width:72rem!important}
nav.mx-auto.max-w-7xl,nav.mx-auto.max-w-6xl{max-width:72rem!important}
main.mx-auto{padding-top:1.25rem!important;padding-bottom:1.25rem!important}
main h1.text-3xl{font-size:1.5rem!important;line-height:1.9rem!important}
main h1.text-2xl{font-size:1.35rem!important;line-height:1.7rem!important}
main h2.text-2xl{font-size:1.2rem!important;line-height:1.55rem!important}
main h2.text-xl{font-size:1.05rem!important;line-height:1.4rem!important}
main .rounded-3xl{border-radius:1rem!important}
main .rounded-2xl{border-radius:.9rem!important}
main .p-10{padding:1.25rem!important}
main .p-8{padding:1.25rem!important}
main .p-7{padding:1.25rem!important}
main .p-6{padding:1rem!important}
main .p-5{padding:1rem!important}
main .p-4{padding:.9rem!important}
main .px-5.py-3{padding:.55rem .8rem!important}
main .py-8{padding-top:1.25rem!important;padding-bottom:1.25rem!important}
main .py-7{padding-top:1.1rem!important;padding-bottom:1.1rem!important}
main .py-6{padding-top:1rem!important;padding-bottom:1rem!important}
main .mt-10{margin-top:1.5rem!important}
main .mt-8{margin-top:1.25rem!important}
main .mt-7{margin-top:1rem!important}
main .mt-6{margin-top:1rem!important}
main .gap-5{gap:1rem!important}
main .gap-6{gap:1rem!important}
main .space-y-6>:not([hidden])~:not([hidden]){margin-top:1rem!important}
main button,main a[class*="bg-violet-600"],main label[class*="bg-violet-600"]{font-size:.8rem}
main .min-h-\[480px\]{min-height:360px!important}
/* Admin: keep each tab focused and compact */
#adminTabs{gap:.25rem!important}
.adminSection{margin-top:1rem!important}
.adminSection.p-6{padding:1rem!important}
/* Cards and stat numbers */
main .text-2xl.font-black{font-size:1.35rem!important}
main .text-3xl.font-black{font-size:1.5rem!important}
/* Tables */
main table{font-size:.78rem}
main th,main td{padding:.65rem .75rem!important}
/* Form controls */
main input,main select,main textarea{font-size:.85rem}
/* Keep account as the reference scale */

/* v56: dashboard navigation + plan banner polish */
header nav .justify-self-center{padding:.25rem!important;border-radius:.75rem!important;gap:.15rem!important}
header nav .justify-self-center a{padding:.45rem .65rem!important;border-radius:.6rem!important;font-size:.76rem!important}
header nav .justify-self-end{gap:.4rem!important}
header nav #notificationBell{width:2.25rem!important;height:2.25rem!important;border-radius:.7rem!important}
header nav #logoutBtn{padding:.45rem .7rem!important;border-radius:.7rem!important;font-size:.76rem!important}
header nav #userName{padding:.45rem .7rem!important;border-radius:.7rem!important;font-size:.76rem!important}
header nav #userName.admin-user-chip{border-color:rgba(167,139,250,.28)!important;background:linear-gradient(135deg,rgba(124,58,237,.28),rgba(217,70,239,.14))!important;color:#ddd6fe!important;box-shadow:0 0 18px rgba(124,58,237,.10)}
header nav #userName.staff-user-chip{border-color:rgba(167,139,250,.2)!important;background:rgba(139,92,246,.12)!important;color:#ddd6fe!important}
#planBanner{min-height:0!important;padding:0!important;background:transparent!important;border:0!important}
.plan-banner-inner{display:flex;align-items:center;justify-content:space-between;gap:1rem;border:1px solid rgba(167,139,250,.12);border-radius:.9rem;background:linear-gradient(90deg,rgba(124,58,237,.08),rgba(217,70,239,.035));padding:.65rem .8rem}
.plan-banner-identity{display:flex;align-items:center;gap:.7rem;min-width:0}
.plan-banner-icon{display:grid;place-items:center;width:2rem;height:2rem;flex:0 0 auto;border-radius:.65rem;background:rgba(255,255,255,.04);font-size:.75rem;font-weight:900;color:#c4b5fd}
.plan-banner-icon.premium{background:linear-gradient(135deg,#d946ef,#7c3aed);color:white}
.plan-banner-labels{display:flex;align-items:center;gap:.45rem;min-width:0}
.plan-banner-labels p{margin:0;font-size:8px;font-weight:900;letter-spacing:.18em;color:#a78bfa}
.plan-badge{border-radius:999px;padding:.16rem .42rem;background:rgba(255,255,255,.045);font-size:8px;font-weight:900;text-transform:uppercase;color:#94a3b8}
.plan-badge.premium{background:rgba(217,70,239,.14);color:#f0abfc}
.plan-banner-copy{margin:.2rem 0 0;color:#64748b;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.plan-banner-stats{display:grid;grid-template-columns:repeat(2,minmax(110px,1fr));gap:.4rem;flex:0 0 auto}
.plan-banner-stats>div{padding:.35rem .55rem;border-radius:.6rem;background:rgba(0,0,0,.14)}
.plan-banner-stats span{display:block;font-size:7px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:#475569}
.plan-banner-stats strong{display:block;margin-top:.15rem;font-size:10px;color:#cbd5e1}
.plan-banner-track{height:3px;margin-top:.35rem;overflow:hidden;border-radius:999px;background:rgba(255,255,255,.045)}
.plan-banner-fill{height:100%;border-radius:inherit;background:linear-gradient(90deg,#8b5cf6,#38bdf8)}
.plan-banner-fill.premium{background:linear-gradient(90deg,#d946ef,#8b5cf6)}
.plan-banner-fallback{display:flex;align-items:center;justify-content:space-between;border:1px solid rgba(167,139,250,.12);border-radius:.9rem;background:rgba(124,58,237,.06);padding:.65rem .8rem;font-size:10px;color:#64748b}
.plan-banner-fallback strong{color:#a5b4fc;font-size:10px}
@media(max-width:640px){.plan-banner-inner{align-items:flex-start;flex-direction:column}.plan-banner-stats{width:100%;grid-template-columns:1fr 1fr}.plan-banner-copy{white-space:normal}}

/* v57: unified navigation system — dashboard is the visual source of truth */
.site-nav-link{display:inline-flex!important;align-items:center!important;gap:.5rem!important;border-radius:.6rem!important;padding:.45rem .65rem!important;font-size:.76rem!important;font-weight:600!important;color:#94a3b8!important;line-height:1!important;transition:background .15s ease,color .15s ease,box-shadow .15s ease!important}
.site-nav-link:hover{background:rgba(255,255,255,.07)!important;color:#fff!important}
.site-nav-link svg{color:#94a3b8!important;flex:none!important}
.site-nav-link.active{background:rgba(255,255,255,.10)!important;color:#fff!important;box-shadow:0 0 0 1px rgba(255,255,255,.08) inset!important}
.site-nav-link.active svg{color:#c4b5fd!important}
.site-header-icon{position:relative;display:grid!important;place-items:center!important;width:2.25rem!important;height:2.25rem!important;border-radius:.7rem!important;border:1px solid rgba(255,255,255,.10)!important;background:rgba(255,255,255,.035)!important;color:#cbd5e1!important;transition:background .15s ease,border-color .15s ease,color .15s ease!important}
.site-header-icon:hover{background:rgba(255,255,255,.08)!important;border-color:rgba(255,255,255,.16)!important;color:#fff!important}
.site-logout{display:inline-flex!important;align-items:center!important;justify-content:center!important;height:2.25rem!important;padding:.45rem .7rem!important;border-radius:.7rem!important;border:1px solid rgba(255,255,255,.10)!important;background:rgba(255,255,255,.035)!important;color:#e2e8f0!important;font-size:.76rem!important;font-weight:600!important;line-height:1!important;transition:background .15s ease,border-color .15s ease,color .15s ease!important}
.site-logout:hover{background:rgba(255,255,255,.08)!important;border-color:rgba(255,255,255,.18)!important;color:#fff!important}
header nav #logoutBtn.site-logout,header nav #logout.site-logout{background:rgba(255,255,255,.035)!important;color:#e2e8f0!important;border-color:rgba(255,255,255,.10)!important}
header nav #logoutBtn.site-logout:hover,header nav #logout.site-logout:hover{background:rgba(255,255,255,.08)!important;color:#fff!important}
header nav #userName:not(.admin-user-chip):not(.staff-user-chip),header nav #galleryUserName,header nav #accountUserName{padding:.45rem .65rem!important;border-radius:.7rem!important;border:1px solid rgba(255,255,255,.10)!important;background:rgba(255,255,255,.035)!important;color:#cbd5e1!important;font-size:.76rem!important;font-weight:600!important}
/* Admin header uses the exact same nav/button scale and neutral active treatment. */
header .admin-user-chip{height:2.25rem!important;padding:.45rem .7rem!important;border-radius:.7rem!important}
.admin-header-nav{gap:.15rem!important;padding:.25rem!important;border-radius:.75rem!important}
.admin-header-nav a{padding:.45rem .65rem!important;border-radius:.6rem!important;font-size:.76rem!important}
.admin-header-nav a.active{background:rgba(255,255,255,.10)!important;color:#fff!important;box-shadow:0 0 0 1px rgba(255,255,255,.08) inset!important}
.admin-header-nav a.active svg{color:#c4b5fd!important}
.admin-header-nav a:not(.active){color:#94a3b8!important}
.admin-header-nav a:not(.active):hover{background:rgba(255,255,255,.07)!important;color:#fff!important}
.admin-header-icon{width:2.25rem!important;height:2.25rem!important;border-radius:.7rem!important}
.admin-header-logout{height:2.25rem!important;padding:.45rem .7rem!important;border-radius:.7rem!important;font-size:.76rem!important;background:rgba(255,255,255,.035)!important;border:1px solid rgba(255,255,255,.10)!important;color:#e2e8f0!important}
.admin-header-logout:hover{background:rgba(255,255,255,.08)!important;border-color:rgba(255,255,255,.18)!important;color:#fff!important}
@media(max-width:640px){header nav .justify-self-center{max-width:calc(100vw - 10rem);overflow:hidden}.site-nav-link{padding:.45rem .55rem!important}.site-nav-link span{display:none!important}}


/* v58: one shared authenticated navigation system across Dashboard, Texts, Gallery, Account, Admin and Notifications. */
.site-header{height:auto!important}
.site-header-nav{min-height:3.5rem!important}
.site-nav-wrap{max-width:100%!important}
.site-nav-link{height:2.25rem!important;min-width:0!important;padding:.45rem .65rem!important;border-radius:.6rem!important;font-size:.76rem!important;font-weight:600!important;line-height:1!important;color:#94a3b8!important}
.site-nav-link svg{width:1rem!important;height:1rem!important;color:#94a3b8!important}
.site-nav-link.active{background:rgba(255,255,255,.10)!important;color:#fff!important;box-shadow:0 0 0 1px rgba(255,255,255,.08) inset!important}
.site-nav-link.active svg{color:#c4b5fd!important}
.site-nav-link:hover{background:rgba(255,255,255,.07)!important;color:#fff!important}
.site-user-name{height:2.25rem!important;padding:.45rem .7rem!important;border:1px solid rgba(255,255,255,.10)!important;border-radius:.7rem!important;background:rgba(255,255,255,.035)!important;color:#cbd5e1!important;font-size:.76rem!important;font-weight:600!important;line-height:1.35rem!important}
.site-user-name.admin-user-chip{border-color:rgba(167,139,250,.28)!important;background:linear-gradient(135deg,rgba(124,58,237,.28),rgba(217,70,239,.14))!important;color:#ddd6fe!important}
.site-user-name.staff-user-chip{border-color:rgba(167,139,250,.2)!important;background:rgba(139,92,246,.12)!important;color:#ddd6fe!important}
.site-header-icon{width:2.25rem!important;height:2.25rem!important;border-radius:.7rem!important}
.site-logout{height:2.25rem!important;padding:.45rem .7rem!important;border-radius:.7rem!important;font-size:.76rem!important}
@media(max-width:900px){.site-nav-link{padding:.45rem .55rem!important}.site-nav-link span{display:none!important}.site-nav-wrap{overflow:hidden;max-width:calc(100vw - 12rem)!important}.site-user-name{max-width:100px!important}}
@media(max-width:640px){.site-header-nav{grid-template-columns:auto 1fr auto!important}.site-nav-wrap{justify-self:center!important;max-width:calc(100vw - 9rem)!important}.site-user-name{display:none!important}.site-nav-link{padding:.45rem .5rem!important}}

/* v59: premium header identity polish — same header identity on every authenticated page. */
.site-user-cluster{display:inline-flex!important;align-items:center!important;gap:.35rem!important;min-width:0!important;height:2.25rem!important;padding:.25rem .45rem!important;border:1px solid rgba(255,255,255,.10)!important;border-radius:.7rem!important;background:rgba(255,255,255,.035)!important;color:#e2e8f0!important;transition:background .15s ease,border-color .15s ease!important}
.site-user-cluster:hover{background:rgba(255,255,255,.06)!important;border-color:rgba(255,255,255,.16)!important}
.site-user-name{max-width:8.5rem!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;padding:0 .25rem!important;font-size:.76rem!important;font-weight:700!important;line-height:1!important;color:#e2e8f0!important}
.site-user-name.admin-user-chip{color:#ede9fe!important}
.site-user-name.staff-user-chip{color:#e0f2fe!important}
.site-user-name.premium-user-chip{color:#fae8ff!important}
.site-user-role{display:inline-flex!important;align-items:center!important;height:1.35rem!important;padding:0 .42rem!important;border-radius:.45rem!important;border:1px solid rgba(255,255,255,.10)!important;font-size:.58rem!important;font-weight:900!important;letter-spacing:.07em!important;line-height:1!important}
.site-user-role.user{background:rgba(148,163,184,.09)!important;color:#94a3b8!important;border-color:rgba(148,163,184,.12)!important}
.site-user-role.premium{background:linear-gradient(135deg,rgba(124,58,237,.22),rgba(217,70,239,.16))!important;color:#e9d5ff!important;border-color:rgba(167,139,250,.24)!important}
.site-user-role.helper{background:rgba(14,165,233,.10)!important;color:#bae6fd!important;border-color:rgba(56,189,248,.18)!important}
.site-user-role.admin{background:linear-gradient(135deg,rgba(124,58,237,.28),rgba(217,70,239,.16))!important;color:#ddd6fe!important;border-color:rgba(167,139,250,.30)!important}
.site-user-cluster + .relative{margin-left:.05rem!important}
@media(max-width:900px){.site-user-name{max-width:6.5rem!important}.site-user-cluster{padding:.25rem .35rem!important}.site-user-role{display:none!important}}
@media(max-width:640px){.site-user-cluster{height:2.25rem!important}.site-user-name{max-width:5rem!important}.site-user-role{display:none!important}}

/* v60: final shared header identity — no boxed username; role follows the name. */
.site-user-cluster{
  display:inline-flex!important;align-items:center!important;gap:.55rem!important;
  min-width:0!important;height:2.25rem!important;padding:0!important;
  border:0!important;background:transparent!important;box-shadow:none!important;
}
.site-user-cluster:hover{background:transparent!important;border-color:transparent!important}
.site-user-avatar{
  display:grid!important;place-items:center!important;flex:none!important;
  width:2.05rem!important;height:2.05rem!important;border-radius:.68rem!important;
  background:linear-gradient(135deg,#8b5cf6,#d946ef)!important;
  color:#fff!important;font-size:.72rem!important;font-weight:900!important;
  box-shadow:0 7px 20px rgba(139,92,246,.18)!important;
}
.site-user-avatar.admin{background:linear-gradient(135deg,#7c3aed,#d946ef)!important}
.site-user-avatar.helper{background:linear-gradient(135deg,#0284c7,#8b5cf6)!important}
.site-user-avatar.premium{background:linear-gradient(135deg,#a21caf,#7c3aed)!important}
.site-user-avatar.user{background:linear-gradient(135deg,#64748b,#8b5cf6)!important}
.site-user-copy{display:inline-flex!important;align-items:center!important;gap:.4rem!important;min-width:0!important}
.site-user-name{
  display:block!important;max-width:8rem!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;
  height:auto!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;
  color:#f1f5f9!important;font-size:.76rem!important;font-weight:800!important;line-height:1!important;
}
.site-user-name.admin-user-chip,.site-user-name.staff-user-chip,.site-user-name.premium-user-chip{background:transparent!important;border:0!important;color:#f1f5f9!important}
.site-user-role{flex:none!important;height:1.25rem!important;padding:0 .38rem!important;border-radius:.4rem!important;font-size:.55rem!important;letter-spacing:.08em!important;font-weight:900!important}
.site-user-role.admin{background:rgba(139,92,246,.16)!important;color:#d8b4fe!important;border-color:rgba(167,139,250,.24)!important}
.site-user-role.helper{background:rgba(14,165,233,.12)!important;color:#bae6fd!important;border-color:rgba(56,189,248,.2)!important}
.site-user-role.premium{background:rgba(217,70,239,.12)!important;color:#f5d0fe!important;border-color:rgba(232,121,249,.2)!important}
.site-user-role.user{background:rgba(148,163,184,.09)!important;color:#94a3b8!important;border-color:rgba(148,163,184,.14)!important}
.site-nav-wrap{overflow:visible!important}
@media(max-width:900px){.site-user-name{max-width:7rem!important}.site-user-copy{gap:.3rem!important}}
@media(max-width:640px){.site-user-avatar{width:1.9rem!important;height:1.9rem!important}.site-user-name{max-width:5.5rem!important}.site-user-role{display:none!important}}

/* v61: header role cleanup — Admin is a normal nav tab, never a boxed control. */
#adminLink.site-nav-link{display:none!important}
#adminLink.site-nav-link.is-visible{display:inline-flex!important}
.site-nav-wrap #adminLink.site-nav-link{height:2.25rem!important;min-width:0!important;padding:.45rem .65rem!important;border-radius:.6rem!important}
.site-nav-wrap #adminLink.site-nav-link.active{background:rgba(255,255,255,.10)!important;color:#fff!important;box-shadow:0 0 0 1px rgba(255,255,255,.08) inset!important}
.site-user-cluster{gap:.45rem!important}
.site-user-avatar{width:1.9rem!important;height:1.9rem!important;border-radius:.62rem!important;box-shadow:0 5px 14px rgba(139,92,246,.14)!important}
.site-user-copy{gap:.35rem!important}
.site-user-name{max-width:9rem!important;font-size:.75rem!important}
.site-user-role{height:1.18rem!important;padding:0 .34rem!important;font-size:.52rem!important;border-radius:.36rem!important}
@media(max-width:900px){.site-user-name{max-width:7rem!important}.site-nav-wrap #adminLink.site-nav-link{padding:.45rem .55rem!important}}
@media(max-width:640px){.site-user-name{max-width:5.5rem!important}.site-nav-wrap #adminLink.site-nav-link{padding:.45rem .5rem!important}}

/* v64: Admin tabbar matches the global Vaultly navigation instead of a separate purple-button system. */
.admin-tabbar{gap:.25rem!important;padding:.25rem!important;border-radius:.75rem!important;background:rgba(255,255,255,.035)!important;border-color:rgba(255,255,255,.10)!important}
.adminTab{height:2.25rem!important;padding:.45rem .7rem!important;border-radius:.6rem!important;font-size:.76rem!important;font-weight:600!important;line-height:1!important;background:transparent!important;color:#94a3b8!important;box-shadow:none!important}
.adminTab:hover{background:rgba(255,255,255,.07)!important;color:#fff!important}
.adminTab.admin-tab-active{background:rgba(255,255,255,.10)!important;color:#fff!important;box-shadow:0 0 0 1px rgba(255,255,255,.08) inset!important}
.adminTab.admin-tab-active:hover{background:rgba(255,255,255,.12)!important}
.site-user-cluster{background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important}
.site-user-avatar{width:1.85rem!important;height:1.85rem!important;border-radius:.58rem!important;font-size:.68rem!important}
.site-user-name{max-width:8rem!important;font-size:.74rem!important}
.site-user-role{height:1.15rem!important;font-size:.51rem!important;padding:0 .32rem!important}
.site-header-icon,.site-logout{height:2.2rem!important}
@media(max-width:900px){.adminTab{padding:.45rem .55rem!important}.site-user-name{max-width:6.5rem!important}}
@media(max-width:640px){.admin-tabbar{overflow-x:auto;flex-wrap:nowrap!important}.adminTab{flex:0 0 auto}.site-user-role{display:none!important}}

/* ==========================================================================
   v72: layout & consistency pass — final word over earlier versions
   ========================================================================== */
html{font-size:15px}
/* shared page header */
.page-head{display:flex;flex-direction:column;gap:1rem;justify-content:space-between}
@media(min-width:640px){.page-head{flex-direction:row;align-items:flex-end}}
.page-eyebrow{margin:0;font-size:.72rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:#a78bfa}
.page-title{margin:.3rem 0 0;font-size:1.65rem;line-height:1.15;font-weight:900;letter-spacing:-.02em}
.page-sub{margin:.4rem 0 0;font-size:.875rem;color:#64748b}
.section-label{font-size:.72rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:#64748b}
.btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;height:2.6rem;padding:0 1.1rem;border-radius:.8rem;background:#7c3aed;color:#fff;font-size:.85rem;font-weight:700;white-space:nowrap;box-shadow:0 8px 24px rgba(124,58,237,.22);transition:background .15s}
.btn-primary:hover{background:#8b5cf6}
.btn-ghost{display:inline-flex;align-items:center;justify-content:center;height:2.25rem;padding:0 .9rem;border-radius:.7rem;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.03);color:#cbd5e1;font-size:.8rem;font-weight:600}
.btn-ghost:hover{background:rgba(255,255,255,.07);color:#fff}
.seg{display:inline-flex;padding:.2rem;border:1px solid rgba(255,255,255,.1);border-radius:.75rem;background:rgba(255,255,255,.03)}
.seg-btn{height:1.85rem;padding:0 .85rem;border-radius:.55rem;font-size:.8rem;font-weight:600;color:#94a3b8}
.seg-btn:hover{color:#fff}
.seg-btn.active{background:rgba(255,255,255,.1);color:#fff;box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}

/* header: readable sizes, aligned identity, clean mobile */
.site-nav-link{font-size:.8rem!important;gap:.45rem!important}
.site-nav-link.hidden{display:none!important}
.site-user-cluster{text-decoration:none!important;border-radius:.75rem!important;padding:.15rem .5rem .15rem .15rem!important;transition:background .15s}
.site-user-cluster:hover{background:rgba(255,255,255,.05)!important}
.site-user-copy{align-items:center!important}
.site-user-name{height:auto!important;padding:0!important;border:0!important;background:none!important;box-shadow:none!important;line-height:1.2!important;font-size:.8rem!important}
.site-user-role{font-size:.62rem!important;letter-spacing:.06em!important}
.site-logout{gap:.4rem!important;font-size:.8rem!important}
.site-logout svg{display:none}
@media(max-width:1100px){.site-user-copy{display:none!important}.site-user-cluster{padding:.15rem!important}}
@media(max-width:900px){.site-nav-link span{display:none!important}.site-nav-link{padding:.45rem .6rem!important}.site-nav-wrap{max-width:none!important;overflow:visible!important}.site-logout span{display:none}.site-logout svg{display:block}.site-logout{width:2.25rem!important;padding:0!important}}
@media(max-width:640px){
  .site-header-nav{grid-template-columns:auto 1fr auto!important;gap:.4rem!important;padding-left:.75rem!important;padding-right:.75rem!important}
  .site-brand-name{display:none}
  .site-nav-wrap{justify-self:center!important;gap:0!important}
  .site-nav-link{padding:.45rem .5rem!important}
  .site-header-actions{gap:.3rem!important}
  .site-user-cluster{display:none!important}
}

/* plan banner: readable text, progress bar inside the storage stat */
#planBanner:empty{display:none}
.plan-banner-inner{padding:.8rem 1rem!important;border-radius:1rem!important}
.plan-banner-icon{width:2.25rem!important;height:2.25rem!important;font-size:.85rem!important}
.plan-banner-labels p{font-size:.68rem!important;letter-spacing:.16em!important;text-transform:uppercase}
.plan-banner-copy{font-size:.8rem!important;color:#94a3b8!important}
.plan-banner-stats{grid-template-columns:minmax(170px,1fr) minmax(110px,auto)!important;gap:.5rem!important}
.plan-banner-stats>div{padding:.5rem .75rem!important;border-radius:.7rem!important;background:rgba(0,0,0,.2)!important}
.plan-banner-stats span{font-size:.62rem!important;letter-spacing:.12em!important;color:#64748b!important}
.plan-banner-stats strong{font-size:.85rem!important;color:#e2e8f0!important;white-space:nowrap}
.plan-stat-storage .plan-banner-track{margin-top:.4rem!important;height:4px!important;background:rgba(255,255,255,.08)!important}
@media(max-width:640px){.plan-banner-stats{grid-template-columns:1fr 1fr!important}}

/* dashboard quick links */
.dash-links{display:grid;gap:.75rem;grid-template-columns:1fr}
@media(min-width:768px){.dash-links{grid-template-columns:repeat(3,1fr)}}
.dash-link{display:flex;align-items:center;gap:.85rem;padding:1rem;border:1px solid rgba(255,255,255,.08);border-radius:1rem;background:rgba(255,255,255,.025);transition:border-color .15s,background .15s}
.dash-link:hover{border-color:rgba(167,139,250,.3);background:rgba(139,92,246,.06)}
.dash-link-icon{display:grid;place-items:center;width:2.5rem;height:2.5rem;flex:none;border-radius:.8rem;background:rgba(139,92,246,.12);color:#c4b5fd}
.dash-link b{display:block;font-size:.9rem}
.dash-link small{display:block;margin-top:.1rem;font-size:.78rem;color:#64748b}
.dash-link-arrow{color:#475569;transition:transform .15s,color .15s}
.dash-link:hover .dash-link-arrow{color:#c4b5fd;transform:translateX(3px)}

/* gallery */
.gallery-tools{display:flex;flex-wrap:wrap;gap:.6rem}
.gallery-tools>input{flex:1 1 260px}
.gallery-tools>select,.gallery-tools>button{flex:0 0 auto}
.gallery-tools>*{height:2.75rem;padding-top:0!important;padding-bottom:0!important}
#galleryBulkDelete:disabled{display:none}
@media(max-width:640px){.gallery-tools>select{flex:1 1 calc(50% - .3rem)}.gallery-tools>input{flex-basis:100%}}
#galleryGrid article{display:flex;flex-direction:column}
.card-body{padding:.8rem .9rem .85rem}
.card-actions{display:grid;grid-template-columns:repeat(4,1fr);gap:.35rem;margin-top:.7rem}
.card-act{display:grid;place-items:center;height:2.1rem;border-radius:.6rem;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.03);color:#cbd5e1;transition:background .15s,color .15s,border-color .15s}
.card-act:hover{background:rgba(255,255,255,.08);color:#fff;border-color:rgba(255,255,255,.16)}
.card-act.danger{color:#fca5a5;border-color:rgba(248,113,113,.18)}
.card-act.danger:hover{background:rgba(248,113,113,.1);color:#fecaca}
.card-fav{position:absolute;right:.6rem;top:.6rem;display:grid;place-items:center;width:2rem;height:2rem;border-radius:.65rem;border:1px solid rgba(255,255,255,.18);background:rgba(0,0,0,.45);color:#fff;font-size:.95rem;line-height:1;backdrop-filter:blur(6px);transition:background .15s}
.card-fav:hover{background:rgba(124,58,237,.6)}
.card-fav.on{background:#7c3aed;border-color:#8b5cf6;color:#fff}
#galleryGrid [data-select]{width:2rem!important;height:2rem!important;left:.6rem!important;top:.6rem!important;border-radius:.65rem!important;backdrop-filter:blur(6px)}

/* text editor */
.editor-head{display:flex;flex-direction:column;gap:.75rem}
.editor-tools{display:flex;flex-wrap:wrap;gap:.4rem}
.tool-btn{height:2rem;padding:0 .75rem;border-radius:.6rem;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.03);color:#cbd5e1;font-size:.78rem;font-weight:600;white-space:nowrap}
.tool-btn:hover:not(:disabled){background:rgba(255,255,255,.08);color:#fff}
.tool-btn.danger{color:#fca5a5;border-color:rgba(248,113,113,.2)}
.tool-btn.danger:hover:not(:disabled){background:rgba(248,113,113,.1)}
.tool-btn:disabled{opacity:.35;cursor:not-allowed}

/* mobile: never scroll sideways */
@media(max-width:640px){body{overflow-x:clip}main{overflow-wrap:anywhere}}
header nav #userName,header nav #userName.admin-user-chip,header nav #userName.staff-user-chip,header nav #userName:not(.admin-user-chip):not(.staff-user-chip){height:auto!important;padding:0!important;border:0!important;background:none!important;box-shadow:none!important;line-height:1.2!important;font-size:.8rem!important;color:#e2e8f0!important}
@media(min-width:640px){.page-head{align-items:center}}
/* v72: grids never push past the screen; admin stats 2-up on phones */
main .grid>*{min-width:0}
@media(max-width:640px){#stats{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:.6rem!important}#stats .admin-stat{padding:.8rem!important}}
.relative>.absolute.-inset-10.blur-3xl{inset:0!important}

/* v73: crisp, readable header text (whole-pixel sizes, no blur layer, better contrast) */
.site-header{backdrop-filter:none!important;-webkit-backdrop-filter:none!important;background:#030712!important}
.site-header,.site-header *{text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
.site-nav-link{font-size:14px!important;font-weight:500!important;color:#cbd5e1!important;height:36px!important;padding:0 12px!important;gap:8px!important}
.site-nav-link svg{color:#94a3b8!important}
.site-nav-link.active{color:#fff!important;font-weight:600!important}
header nav #userName,header nav #userName.admin-user-chip,header nav #userName.staff-user-chip{font-size:14px!important;font-weight:600!important;color:#f1f5f9!important}
.site-user-role{font-size:11px!important;font-weight:700!important;height:20px!important}
.site-user-avatar{font-size:13px!important;font-weight:800!important}
.site-logout,header nav #logoutBtn.site-logout{font-size:14px!important;font-weight:500!important;color:#e2e8f0!important;height:36px!important}
.btn-primary{font-size:14px!important;font-weight:600!important}
.btn-ghost{font-size:14px!important}
.site-brand-name{font-size:18px!important}
@media(max-width:900px){.site-nav-link{padding:0 10px!important}}
@media(max-width:640px){.site-nav-link{padding:0 8px!important}}
.site-user-role.hidden{display:none!important}
/* v74: name no longer clipped (old line-height:1 + overflow:hidden cut the letters) */
header nav #userName,.site-user-name{line-height:20px!important;height:20px!important;padding:0 1px!important;overflow:hidden!important;font-weight:600!important;font-size:14px!important;letter-spacing:0!important}
.site-user-copy{gap:8px!important}
.site-user-role{display:inline-flex!important;align-items:center!important;height:20px!important;padding:0 7px!important;font-size:11px!important;font-weight:700!important;letter-spacing:.06em!important;line-height:20px!important;border-radius:6px!important;border:1px solid transparent}
.site-user-role.hidden{display:none!important}
.site-user-avatar{width:32px!important;height:32px!important;border-radius:10px!important;font-size:14px!important;line-height:1!important}
@media(max-width:1100px){.site-user-copy{display:none!important}}
/* v75: give the name's first/last letters room so they are never clipped at the edges */
header nav #userName,.site-user-name{padding:0 4px!important;margin:0 -4px!important;overflow:hidden!important;text-overflow:ellipsis!important;max-width:11rem!important}
.site-user-cluster{gap:12px!important}.site-user-copy{gap:12px!important}
