[hidden] { display: none !important; }
/* App shell only: login / denied / loading screens and the header user chip. */
.screen { min-height: 50vh; display: flex; flex-direction: column; align-items: flex-start; justify-content: center; gap: var(--s-4); max-width: 560px; }
.spinner { width: 32px; height: 32px; border-radius: 50%; border: 3px solid var(--line-1); border-top-color: var(--gray-900); animation: spin .8s linear infinite; }
@keyframes spin { to { transform: rotate(360deg); } }
#screen-loading { align-items: center; max-width: none; }
.user-chip { display: inline-flex; align-items: center; gap: var(--s-2); margin-left: var(--s-3); padding-left: var(--s-3); border-left: var(--bw-strong) solid rgba(22,23,26,.25); }
.link-btn { appearance: none; border: 0; background: none; padding: 0; font: 600 13px/1.4 var(--font-sans); color: var(--fg-1); text-decoration: underline; cursor: pointer; }
main[aria-busy="true"] { opacity: .55; transition: opacity .15s; }
