/* Scoped account utility; the accepted public rail and footer keep their geometry. */
.shell-utilities { display:flex; align-items:center; gap:16px; flex:none; }
.shell-account { position:relative; width:73px; display:flex; justify-content:center; flex:none; }
.shell .shell-account .sign-in { display:flex; }
.shell-account-slot { display:grid; place-items:center; width:73px; min-height:44px; padding:4px; border:0; font:600 15px/1.3 var(--font-body); color:var(--navy); background:transparent; }
button.shell-account-slot { cursor:pointer; }
.shell-account-slot[aria-busy] { background:var(--stone); clip-path:var(--paper-cut); }
.shell-avatar { display:grid; place-items:center; width:44px; height:44px; border:1px solid var(--navy); border-radius:50%; padding:2px; background:var(--navy); color:var(--cream); font:600 15px/1 var(--font-body); cursor:pointer; }
.shell-account-panel { position:absolute; right:0; top:calc(100% + 12px); width:320px; max-width:calc(100vw - 32px); max-height:calc(100dvh - 114px); overflow:auto; background:var(--cream); padding:20px 24px; border:1px solid var(--stone); border-bottom:5px solid var(--navy); box-shadow:0 8px 20px #2232451c; }
.shell-account-name { font:750 22px/1.25 var(--font-display); overflow-wrap:anywhere; margin:0 0 14px; }
.shell-account-panel nav { display:flex; flex-direction:column; border-top:1px solid var(--stone); padding:8px 0; }
.shell-account-panel a { display:flex; align-items:center; min-height:44px; padding:8px 6px; font:600 15px/1.4 var(--font-body); overflow-wrap:anywhere; }
.shell-account-panel a:is(:hover,:focus-visible) { background:var(--navy); color:var(--cream); }
@media(max-width:1100px) { .shell.account-open { position:fixed; } }
@media(max-width:380px) { .shell:has(.shell-account) { padding-inline:28px; gap:8px; } .shell-utilities { gap:4px; } .shell-account { width:62px; } .shell-account .sign-in,.shell-account-slot { width:62px; font-size:14px; } }

.shell-account-retry { position:absolute; top:100%; border:0; background:var(--cream); color:var(--navy); font:600 12px/1.4 var(--font-body); padding:4px 8px; min-height:28px; cursor:pointer; }
.shell-account-slot[hidden] { display:none; }
@media(max-width:1100px) { .shell-account-panel { position:fixed; top:90px; right:16px; max-width:calc(100% - 32px); } }
.shell-account-panel[hidden] { display:none; }

.shell-avatar img {width:100%;height:100%;border-radius:50%;object-fit:cover;}
.shell-account-panel a {gap:10px;font-size:16px;}
.shell-account-group {font:600 12px/1.4 var(--font-body);text-transform:uppercase;letter-spacing:.08em;margin:8px 6px;color:var(--navy);}
.shell-context-mark {display:grid;place-items:center;width:34px;height:34px;flex:none;border-radius:50%;overflow:hidden;background:var(--navy);color:var(--cream);font:600 13px/1 var(--font-body);}
.shell-context-mark img {width:100%;height:100%;object-fit:cover;}
