.account-page { max-width:1000px; margin:0 auto 24px; }
.account-page h2 { margin:0 0 8px; }
.account-page > .section-note { margin-bottom:24px; }
.account-page .nutrition-profile,.account-page .emergency-section,.account-page .glucose-source-section { margin-top:20px; }
.module-save { display:flex; align-items:center; flex-wrap:wrap; gap:12px; padding:20px 0; margin:12px 0; border-top:1px solid var(--border); }
.module-save > span { flex:1; min-width:180px; }
.account-identity { display:flex; align-items:center; gap:18px; padding:20px; margin:22px 0; border:1px solid var(--border); border-radius:16px; background:var(--thead); overflow-wrap:anywhere; }
.account-identity img { width:72px; height:72px; border-radius:50%; object-fit:cover; }
.account-identity h3,.account-identity p { margin:4px 0; }
.account-privacy { border-top:1px solid var(--border); margin-top:28px; padding-top:20px; }
.account-privacy a { display:inline-block; margin:6px 20px 6px 0; color:var(--brand); }
.danger-zone { margin-top:28px; padding:20px; border:1px solid #ef4444; border-radius:14px; background:rgba(239,68,68,.06); }
.danger-zone h3 { color:#dc2626; }
.danger-zone a { display:inline-flex; text-decoration:none; border:1px solid #ef4444; }
.drawer-backdrop { position:fixed; inset:0; background:rgba(0,0,0,.42); z-index:1100; }
.account-drawer { position:fixed; inset:0 0 0 auto; height:100dvh; width:min(360px,90vw); background:var(--card); color:var(--text); z-index:1101; box-shadow:-12px 0 40px #0003; padding:18px 16px max(24px,env(safe-area-inset-bottom)); overflow-y:auto; transform:translateX(105%); visibility:hidden; transition:transform .2s ease,visibility .2s; text-align:left; }
.account-drawer.open { transform:translateX(0); visibility:visible; }
.drawer-head { display:flex; align-items:center; justify-content:space-between; font-size:1.25rem; padding-bottom:14px; border-bottom:1px solid var(--border); }
.drawer-group { margin:22px 12px 8px; font-size:0.6875rem; font-weight:800; text-transform:uppercase; letter-spacing:.1em; color:var(--muted); }
.account-drawer nav button { width:100%; border:0; border-radius:10px; background:transparent; padding:13px 12px; font:inherit; color:var(--text); text-align:left; cursor:pointer; }
.account-drawer nav button:hover { background:var(--thead); }
.account-drawer nav button[aria-current="page"] { background:var(--brand); color:#fff; font-weight:700; }
.drawer-footer { padding:24px 12px 0; color:var(--muted); font-size:0.75rem; }
body.drawer-open { overflow:hidden; }
.accessory-shop { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; margin:24px 0 32px; }
.accessory-product { display:flex; flex-direction:column; gap:12px; padding:16px; border:1px solid var(--border); border-radius:16px; background:var(--card); }
.accessory-product h3,.accessory-product p { margin:0; }
.accessory-product p { color:var(--muted); line-height:1.5; flex:1; }
.accessory-product button { margin-top:6px; }
.accessory-image { min-height:150px; display:grid; place-content:center; text-align:center; gap:10px; border-radius:12px; background:var(--thead); color:var(--brand); }
.accessory-image span { font-size:3.5rem; }
.accessory-image small { font-size:0.6875rem; color:var(--muted); }
.accessory-list { display:grid; gap:10px; margin:16px 0 28px; }
.accessory-item { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:12px; border:1px solid var(--border); border-radius:12px; padding:16px; }
.accessory-item small { display:block; margin-top:6px; color:var(--muted); }
.module-load-error { padding:12px; border:1px solid #ef4444; border-radius:10px; margin:12px 0; }
@media(max-width:700px) { .accessory-shop{grid-template-columns:1fr;} .module-save button{width:100%;} .account-identity{padding:14px;} }
@media(prefers-reduced-motion:reduce) { .account-drawer{transition:none;} }
