html:has(#app-shell:not(.is-hidden)) { overscroll-behavior-y: contain; }
body #refresh-workspace-button { display:grid; place-items:center; flex:0 0 44px; width:44px; height:44px; min-width:44px; padding:10px; border:1px solid var(--border); border-radius:50%; background:var(--surface); color:var(--text); }
body #refresh-workspace-button:hover { background:var(--bg); }
body #refresh-workspace-button:focus-visible { outline:2px solid var(--product-accent, #416b59); outline-offset:3px; }
body #refresh-workspace-button svg { width:19px; height:19px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
body .pull-refresh { position:fixed; z-index:45; top:env(safe-area-inset-top, 0px); left:var(--refresh-left, 50%); transform:translate(-50%, calc(var(--refresh-pull, 64px) - 18px)); display:flex; align-items:center; gap:9px; max-width:calc(100vw - 32px); padding:11px 16px; border:1px solid var(--border); border-radius:999px; background:var(--surface, #fff); color:var(--text, #20362c); box-shadow:0 6px 24px #00000014; font-size:13px; line-height:1.4; font-weight:500; pointer-events:none; }
body .pull-refresh[hidden] { display:none; }
.pull-refresh svg { flex:0 0 18px; width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.pull-refresh[data-state="ready"] { color:var(--product-accent, #416b59); }
.pull-refresh[data-state="ready"] svg { transform:rotate(180deg); }
.pull-refresh[data-state="refreshing"] svg, #refresh-workspace-button[aria-busy="true"] svg { animation:refresh-turn .85s linear infinite; }
.pull-refresh[data-state="success"] { color:var(--product-accent, #416b59); }
.pull-refresh .refresh-check { display:none; }
.pull-refresh[data-state="success"] .refresh-arrow { display:none; }
.pull-refresh[data-state="success"] .refresh-check { display:block; }
.pull-refresh[data-state="notice"] svg { display:none; }
@keyframes refresh-turn { to { transform:rotate(360deg); } }
@media (max-width:480px) {
  body .topbar-actions { gap:6px; }
  body #account-button { display:grid; place-items:center; width:44px; height:44px; min-width:44px; padding:10px; border-radius:50%; }
  body #account-button svg { display:block; width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
  body #account-button span { position:absolute; width:1px; height:1px; padding:0; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
}
@media (prefers-reduced-motion:reduce) { .pull-refresh svg, #refresh-workspace-button svg { animation:none !important; } }
