/* v278: compact mobile shell; desktop retains its existing sidebar and controls. */
#member-menu-toggle{display:none}
#member-menu{position:fixed;inset:calc(84px + env(safe-area-inset-top)) 12px auto;width:calc(100% - 24px);max-width:480px;max-height:calc(100dvh - 104px - env(safe-area-inset-top) - env(safe-area-inset-bottom));margin:0 auto;padding:18px;border-radius:24px;overflow:auto;overscroll-behavior:contain;box-shadow:0 20px 70px #24133030;border:1px solid var(--line)}
#member-menu::backdrop{background:#17102259;backdrop-filter:blur(4px)}
.member-menu-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px}
.member-menu-head h2{font-size:20px;margin:0;letter-spacing:-.4px}
.member-menu-head button{border:1px solid var(--line);background:var(--soft);color:var(--purple);border-radius:50%;width:40px;height:40px;display:grid;place-items:center}
.member-menu-head svg{width:18px;height:18px}
#member-menu-pages section+section{margin-top:18px}
#member-menu-pages h3,#member-menu-actions-label{font-size:11px;font-weight:600;color:var(--muted);margin:0 0 8px;letter-spacing:.3px}
.member-menu-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.member-menu-tile{display:flex;align-items:center;gap:10px;min-width:0;min-height:62px;padding:10px 12px;border:1px solid var(--line);border-radius:16px;background:var(--bg);color:var(--ink);text-align:left;transition:transform .18s,background .18s,border-color .18s}
.member-menu-tile .care-icon{width:34px;height:34px;flex:none;margin:0;object-fit:contain}
.member-menu-tile span{font-size:12px;line-height:1.35;font-weight:600;overflow-wrap:anywhere;min-width:0}
.member-menu-tile[aria-current]{background:var(--soft);border-color:var(--purple);color:var(--purple)}
.member-menu-tile:active{transform:scale(.97)}
#member-menu-actions{border-top:1px solid var(--line);padding-top:16px;margin-top:18px}
#member-menu-actions>div{display:flex;gap:8px;flex-wrap:wrap}
#member-menu-actions button{font-size:12px;min-height:44px;padding:10px 14px;background:var(--soft);border-radius:14px}
body.member-menu-open{overflow:hidden}
@media(max-width:700px){
 .topbar{display:flex;position:sticky;top:0;z-index:12;height:calc(76px + env(safe-area-inset-top));min-height:76px;flex-wrap:nowrap;gap:8px;padding:calc(8px + env(safe-area-inset-top)) 16px 8px;background:var(--surface);border-bottom:1px solid var(--line)}
 .topbar .brand{width:132px;flex:0 1 132px;min-width:96px;display:flex;align-items:center}
 .topbar .brand img{width:100%;height:auto;max-width:132px;max-height:46px}
 .toptools{width:auto;flex-wrap:nowrap;justify-content:flex-end;gap:6px;flex:none}
 .toptools #language{width:54px;max-width:54px;height:40px;min-height:40px;padding:6px;font-size:11px;border-radius:14px;font-weight:600;background:var(--bg)}
 .toptools #theme,#member-menu-toggle{display:grid;place-items:center;width:40px;height:40px;min-width:40px;min-height:40px;border-radius:14px;background:var(--bg);border:1px solid var(--line);padding:0;color:var(--purple)}
 #member-menu-toggle svg{width:20px;height:20px}
 .toptools #install-app,.toptools #logout{display:none!important}
 .app-shell{display:block;margin:22px auto;padding:0 18px}
 .sidebar{display:none}
 .content-head{margin:0 0 22px;gap:12px}
 .content-head h1{font-size:27px;line-height:1.25;letter-spacing:-.6px;scroll-margin-top:98px}
 .content-head .eyebrow{margin-bottom:7px;font-size:9px;letter-spacing:1.5px}
 .content-head p{font-size:12px;line-height:1.6;max-width:52ch}
 .card{border-radius:20px;padding:20px}
 .card h2,.toolbar h2{font-size:19px;line-height:1.35}
 .care-summary{gap:12px}
 .toolbar{gap:12px;margin-bottom:18px;flex-wrap:wrap}
 .toolbar>div{min-width:0}
 .photo-card{padding:0}
 .login-wrap{margin-top:24px}
 .app-status{margin-top:0}
}
@media(max-width:359px){.topbar{padding-inline:12px}.topbar .brand{width:108px;flex-basis:108px}.app-shell{padding-inline:14px}.member-menu-tile{padding:9px;gap:7px}.member-menu-tile .care-icon{width:30px;height:30px}.member-menu-tile span{font-size:11px}}
@media(prefers-reduced-motion:no-preference){#member-menu[open]{animation:member-menu-enter .22s cubic-bezier(.2,.8,.2,1)}@keyframes member-menu-enter{from{opacity:0;transform:translateY(-8px) scale(.98)}to{opacity:1;transform:none}}}
