/* One quiet header; the dock keeps the primary mobile routes within reach. */
.site-header { position:sticky; top:0; z-index:1020; border-bottom:1px solid var(--rugym-border); background:var(--rugym-bg); }
.site-header-inner { display:flex; align-items:center; justify-content:space-between; gap:16px; max-width:var(--rugym-page-width); min-height:76px; margin:auto; padding:10px var(--rugym-gutter); }
.site-header-brand { display:flex; align-items:center; gap:18px; min-width:0; }
.site-header .brand-mark { box-shadow:none; }
.shell-menu-button { display:flex; align-items:center; justify-content:center; gap:8px; min-width:44px; min-height:44px; padding:8px 12px; border:1px solid var(--rugym-border); border-radius:14px; background:var(--rugym-surface); color:var(--rugym-ink); font-size:.875rem; font-weight:600; }
.shell-menu-button > i { display:grid; place-items:center; font-size:1.4rem; line-height:1; }
.shell-profile { display:flex; align-items:center; gap:10px; min-height:44px; padding:0 8px 0 0; border-radius:24px; color:var(--rugym-ink); font-size:.875rem; font-weight:600; }
.shell-profile > i { color:var(--rugym-muted); font-size:.75rem; }
.shell-menu-button:hover,.shell-profile:hover { color:var(--rugym-primary); background:var(--rugym-primary-soft); }
.shell-guest-actions { display:flex; align-items:center; justify-content:flex-end; flex-wrap:wrap; gap:8px 20px; }
.shell-guest-actions > a { display:flex; align-items:center; justify-content:center; min-height:44px; font-size:.9375rem; font-weight:600; }
.shell-guest-actions .btn { padding:10px 22px; }
.shell-drawer { --bs-offcanvas-width:340px; --bs-offcanvas-bg:var(--rugym-surface); --bs-offcanvas-color:var(--rugym-ink); max-width:calc(100% - 24px); border-right:1px solid var(--rugym-border); }
.shell-drawer .offcanvas-header { justify-content:space-between; padding:16px 20px; border-bottom:1px solid var(--rugym-border); }
.shell-drawer .offcanvas-title { font-size:1.25rem; font-weight:750; letter-spacing:-.025em; }
.shell-drawer .offcanvas-body { display:flex; flex-direction:column; gap:16px; padding:14px 16px max(20px,env(safe-area-inset-bottom)); }
.shell-links { display:grid; gap:3px; }
.shell-links a,.shell-logout button { display:flex; align-items:center; gap:14px; min-height:46px; padding:10px 14px; border:0; border-radius:14px; color:var(--rugym-ink); font-size:.9375rem; font-weight:550; line-height:1.4; }
.shell-links a > i,.shell-logout i { width:24px; flex-shrink:0; text-align:center; color:var(--rugym-muted); font-size:1.2rem; }
.shell-links a.active,.shell-links a:hover { background:var(--rugym-primary-soft); color:var(--rugym-primary); }
.shell-links a.active { font-weight:700; }
.shell-links a.active > i { color:inherit; }
.shell-account-links { padding-top:14px; border-top:1px solid var(--rugym-border); }
.shell-theme { padding:0 4px; }
.shell-theme h3 { margin:0 0 10px; font-size:.875rem; font-weight:600; }
.shell-theme .theme-options span { flex-direction:column; gap:6px; padding:10px 5px; font-size:.75rem; text-align:center; }
.shell-logout { margin-top:auto; padding-top:14px; border-top:1px solid var(--rugym-border); }
.shell-logout button { width:100%; background:none; color:var(--rugym-muted); text-align:left; }
.shell-logout button:hover { background:var(--rugym-primary-soft); color:var(--rugym-primary); }
.user-avatar { --avatar-fg:#5c41bc; --avatar-bg:#eee7ff; display:inline-grid; place-items:center; flex-shrink:0; width:44px; height:44px; border-radius:16px; color:var(--avatar-fg)!important; background:var(--avatar-bg)!important; font-size:1.4rem; line-height:1; }
.user-avatar i { color:inherit; display:grid; place-items:center; width:100%; height:100%; line-height:1; }
.user-avatar.team-person-avatar { width:40px; height:40px; font-size:1.2rem; }
.user-avatar.team-mini-avatar { width:28px; height:28px; border-radius:10px; font-size:1rem; }
.user-avatar.home-member-avatar { width:38px; height:38px; border-radius:50%; font-size:1.25rem; }
.user-avatar.admin-avatar { width:36px; height:36px; border-radius:12px; font-size:1.125rem; }
.user-avatar.admin-avatar.large { width:60px; height:60px; border-radius:20px; font-size:1.75rem; }
.avatar-violet { --avatar-fg:#5c41bc; --avatar-bg:#eee7ff; }
.avatar-lavender { --avatar-fg:#7551b0; --avatar-bg:#f0e7fb; }
.avatar-indigo { --avatar-fg:#4344a3; --avatar-bg:#e8e9ff; }
.avatar-blue { --avatar-fg:#225d9c; --avatar-bg:#e2efff; }
.avatar-cyan { --avatar-fg:#146a70; --avatar-bg:#dbf3f3; }
.avatar-green { --avatar-fg:#237046; --avatar-bg:#e2f4e8; }
.avatar-lime { --avatar-fg:#556c20; --avatar-bg:#edf3d9; }
.avatar-amber { --avatar-fg:#825d0b; --avatar-bg:#fff1cf; }
.avatar-orange { --avatar-fg:#a54a1b; --avatar-bg:#ffeadc; }
.avatar-rose { --avatar-fg:#a43164; --avatar-bg:#fce2ed; }
.avatar-berry { --avatar-fg:#933c7f; --avatar-bg:#f7e4f2; }
.avatar-slate { --avatar-fg:#4a556d; --avatar-bg:#e9edf4; }
.theme-options { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; margin:0; min-width:0; }
.theme-options label { position:relative; min-width:0; cursor:pointer; }
.theme-options input { position:absolute; width:1px; height:1px; opacity:0; }
.theme-options span { display:flex; justify-content:center; align-items:center; gap:8px; height:100%; min-height:48px; padding:10px; border:1px solid var(--rugym-border); border-radius:14px; background:var(--rugym-surface); color:var(--rugym-muted); font-size:.875rem; font-weight:600; line-height:1.4; overflow-wrap:anywhere; }
.theme-options i { font-size:1.2rem; }
.theme-options input:checked + span { border-color:var(--rugym-primary); color:var(--rugym-primary); background:var(--rugym-primary-soft); }
.theme-options input:focus-visible + span { outline:3px solid var(--rugym-primary); outline-offset:3px; }
.theme-options input:disabled + span { cursor:wait; opacity:.7; }
.theme-save-status { min-height:0; margin:6px 0 0; color:var(--rugym-muted); font-size:.8125rem; line-height:1.5; }
.theme-save-status:empty { display:none; }
@media(max-width:991.98px) {
  .site-header-inner { min-height:66px; padding-block:10px; }
  .site-header-brand { gap:10px; }
  .shell-menu-button { padding:0; border-color:transparent; background:transparent; }
  .shell-menu-button span,.shell-profile > span:not(.user-avatar),.shell-profile > i,.shell-about { display:none!important; }
  .shell-profile { padding:0; }
  .shell-guest-actions { gap:12px; }
  .shell-guest-actions .btn { padding:9px 14px; }
}
@media(max-width:359.98px) { .site-header-inner { gap:8px; flex-wrap:wrap; }.shell-guest-actions { margin-left:auto; }.site-header-brand { gap:4px; } }
@media(prefers-reduced-motion:reduce) { .shell-drawer { transition:none!important; } }
