.portal-app{background:var(--color-bg);min-height:100dvh;color:var(--color-text);flex-direction:column;display:flex}.portal-app__header{z-index:1;justify-content:space-between;align-items:center;gap:var(--space-3);min-height:var(--tap-target-min);padding:var(--space-3) var(--space-4);background:var(--color-bg-brand);color:var(--color-text-on-brand);box-shadow:var(--shadow-sm);display:flex;position:sticky;top:0}.portal-app__brand{align-items:center;min-width:0;display:flex}.portal-app__wordmark{height:var(--space-8);width:auto;display:block}.portal-app__name{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight);text-shadow:var(--glow-shade)}.portal-app__signout.ui-btn{min-height:var(--tap-target-min);color:var(--color-text-on-brand)}.portal-app__main{width:100%;max-width:var(--layout-portal-max-width);padding:var(--space-4);flex:1;margin:0 auto}.portal-app__loading{color:var(--color-text-muted);font-size:var(--font-size-md)}.portal-app__state{margin-top:var(--space-6);padding:var(--space-6) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-bg-elevated);box-shadow:var(--shadow-xs)}.portal-app__state-title{margin:0 0 var(--space-2);font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight)}.portal-app__state-body{color:var(--color-text-secondary);font-size:var(--font-size-md);line-height:var(--line-height-snug);margin:0}
