/* First authenticated entry — same semantic component language as Profile. */
.app-welcome{display:grid;justify-items:center;gap:var(--app-ui-space-4);width:min(100%,620px);margin:clamp(var(--app-ui-space-9),9vh,var(--app-ui-size-110)) auto;padding:clamp(var(--app-ui-space-6),6vw,var(--app-ui-space-11)) var(--app-ui-space-5);border:var(--app-ui-border-width) solid var(--component-app-shell-border);border-radius:var(--app-ui-radius-sheet);background:var(--app-ui-surface-warm);box-shadow:var(--app-ui-shadow-card);color:var(--component-app-shell-text);text-align:center}
.app-welcome-eyebrow,.app-placeholder-eyebrow{margin:0;color:var(--component-app-shell-muted);font:var(--app-ui-weight-semibold) var(--app-ui-type-caption)/var(--app-ui-line-detail) var(--app-ui-font-mono);letter-spacing:var(--app-ui-letter-spacing-label)}
.app-welcome-mark{display:grid;width:var(--app-ui-size-68);height:var(--app-ui-size-68);place-items:center;border:var(--app-ui-border-width) solid var(--semantic-accent-border);border-radius:var(--app-ui-radius-card);background:var(--gradient-owner-control-active);color:var(--semantic-accent);font-size:var(--app-ui-type-display);font-weight:var(--app-ui-weight-bold)}
.app-welcome h1{max-width:560px;margin:var(--app-ui-space-1) 0 0;color:var(--app-ui-text-primary);font-size:var(--app-ui-type-display);line-height:var(--app-ui-line-tight);letter-spacing:var(--app-ui-letter-spacing-tight);overflow-wrap:anywhere}
.app-welcome h1 span{background:var(--semantic-accent-gradient);-webkit-background-clip:text;background-clip:text;color:transparent}
.app-welcome>p:not(.app-welcome-eyebrow){max-width:440px;margin:0;color:var(--component-app-shell-muted);font-size:var(--app-ui-type-body);line-height:var(--app-ui-line-relaxed)}
.app-welcome-role{padding:var(--app-ui-space-2) var(--app-ui-space-3);border:var(--app-ui-border-width) solid var(--component-app-shell-border);border-radius:var(--app-ui-radius-pill);color:var(--component-app-shell-muted);font-size:var(--app-ui-type-caption)}
.app-welcome-continue{display:inline-flex;min-width:min(100%,220px);min-height:var(--app-ui-control-height);align-items:center;justify-content:center;gap:var(--app-ui-space-3);margin-top:var(--app-ui-space-2);padding:0 var(--app-ui-space-5);border:0;border-radius:var(--app-ui-radius-pill);background:var(--semantic-accent-gradient);color:var(--component-app-shell-cta-text);font:var(--app-ui-weight-bold) var(--app-ui-type-small)/1.2 var(--app-ui-font-family);cursor:pointer;transition:transform var(--app-ui-motion-fast) var(--app-ui-ease-standard),filter var(--app-ui-motion-standard) var(--app-ui-ease-standard)}
.app-welcome-continue:active{transform:scale(var(--app-ui-scale-pressed))}
.authenticated-app-shell{position:relative;width:min(100%,1100px);min-height:55vh;margin:0 auto;color:var(--component-app-shell-text)}
.authenticated-app-content{min-width:0;padding:clamp(3px,.75vw,8px) clamp(10px,2vw,18px) calc(112px + var(--safe-bottom));outline:none}
.authenticated-bottom-nav{isolation:isolate;overflow:visible}
.authenticated-bottom-nav::before{content:"";position:absolute;z-index:0;inset:var(--app-ui-size-1);border-radius:inherit;background:linear-gradient(180deg,var(--component-app-shell-material-highlight),transparent 48%);pointer-events:none}
.authenticated-bottom-nav::after{content:"";position:absolute;z-index:-1;top:calc(-1 * var(--app-ui-size-26));right:calc(-1 * var(--app-ui-size-1));left:calc(-1 * var(--app-ui-size-1));height:var(--app-ui-size-26);background:linear-gradient(180deg,transparent,var(--semantic-background));pointer-events:none}
.authenticated-bottom-nav .app-ui-tab{position:relative;z-index:1;font-size:var(--app-ui-tab-label-size);-webkit-tap-highlight-color:transparent}
.authenticated-bottom-nav .app-ui-tab.is-active{box-shadow:inset 0 var(--app-ui-size-1) 0 var(--component-app-shell-material-highlight)}
.authenticated-bottom-nav .app-ui-tab.is-active .app-ui-tab__icon svg{filter:drop-shadow(var(--app-ui-tab-icon-active-shadow) var(--semantic-accent-glow))}
.authenticated-bottom-nav .app-ui-tab:not(.is-active):active{color:var(--app-ui-text-primary);background:var(--app-ui-hover-surface)}
.app-tab-avatar{width:var(--app-ui-tab-avatar-size);height:var(--app-ui-tab-avatar-size);border:var(--app-ui-border-width) solid var(--component-app-shell-border);border-radius:var(--app-ui-radius-avatar);object-fit:cover}
.app-tab.is-active .app-tab-avatar,.app-ui-tab.is-active .app-tab-avatar-fallback{border:var(--app-ui-profile-avatar-border) solid var(--semantic-accent);box-shadow:0 0 0 var(--app-ui-profile-avatar-shadow-inner) var(--component-app-shell-material)}
.app-tab-avatar-fallback{display:grid;width:var(--app-ui-tab-avatar-size);height:var(--app-ui-tab-avatar-size);place-items:center;border:var(--app-ui-border-width) solid var(--component-app-shell-border);border-radius:var(--app-ui-radius-avatar);background:var(--gradient-owner-control-active);color:var(--component-app-shell-active);font-size:var(--app-ui-type-caption);font-weight:var(--app-ui-weight-strong)}
.app-placeholder-screen{width:min(100%,var(--app-ui-size-760));margin:0 auto;padding:var(--app-ui-space-6) 0}
.app-placeholder-screen .app-placeholder-eyebrow{margin-bottom:var(--app-ui-space-2)}
.app-placeholder-screen h1{margin:0 0 var(--app-ui-space-6);color:var(--component-app-shell-text);font-size:var(--app-ui-type-display);font-weight:var(--app-ui-weight-bold);line-height:var(--app-ui-line-tight);letter-spacing:var(--app-ui-letter-spacing-tight);overflow-wrap:anywhere}
.app-placeholder-state{display:grid;justify-items:center;gap:var(--app-ui-space-3);padding:clamp(var(--app-ui-space-7),6vw,var(--app-ui-space-11)) var(--app-ui-space-5);border:var(--app-ui-border-width) solid var(--component-app-shell-border);border-radius:var(--app-ui-radius-sheet);background:var(--component-profile-surface);box-shadow:var(--app-ui-shadow-card);color:var(--component-app-shell-text);text-align:center}
.app-placeholder-mark{display:grid;width:var(--app-ui-size-68);height:var(--app-ui-size-68);place-items:center;border:var(--app-ui-border-width) solid var(--semantic-accent-border);border-radius:var(--app-ui-radius-card);background:var(--gradient-owner-control-active);color:var(--semantic-accent);font-size:var(--app-ui-type-title)}
.app-placeholder-state strong{font-size:var(--app-ui-type-section);font-weight:var(--app-ui-weight-semibold)}
.app-placeholder-state p{max-width:var(--app-ui-size-440);margin:0;color:var(--component-app-shell-muted);font-size:var(--app-ui-type-body);line-height:var(--app-ui-line-relaxed)}
@media(max-width:600px){.app-placeholder-screen{padding:var(--app-ui-space-5) var(--app-ui-space-3)}.app-placeholder-state{padding-inline:var(--app-ui-space-4)}}
.authenticated-app-shell.has-fullscreen-form .authenticated-bottom-nav,html.pin-guard-pending .authenticated-bottom-nav,html.pin-guard-locked .authenticated-bottom-nav{display:none}
.authenticated-app-shell.has-fullscreen-form .authenticated-app-content{padding-bottom:24px}
@media(max-width:600px){.authenticated-app-content{padding-top:0;padding-inline:0}.app-welcome{margin:var(--app-ui-space-6) auto;border-radius:var(--app-ui-radius-sheet)}.authenticated-bottom-nav{inset-block-end:calc(var(--app-ui-tab-bar-mobile-inset) + var(--safe-bottom));padding:var(--app-ui-tab-bar-padding-mobile)}.authenticated-bottom-nav .app-ui-tab{min-height:var(--app-ui-tab-item-height-mobile)}}

/* Keep public navigation out of the authenticated workspace; preserve the shared Back control. */
body:has(.authenticated-app-shell) .sidebar,
body:has(.authenticated-app-shell) .scrim,
body:has(.app-welcome) .sidebar,
body:has(.app-welcome) .scrim{display:none}
body:has(.authenticated-app-shell) .site-header .header-menu-toggle,
body:has(.authenticated-app-shell) .site-header .mobile-toggle,
body:has(.authenticated-app-shell) .site-header .wordmark,
body:has(.authenticated-app-shell) .site-header .header-account,
body:has(.authenticated-app-shell) .site-header .header-nav,
body:has(.app-welcome) .site-header .header-menu-toggle,
body:has(.app-welcome) .site-header .mobile-toggle,
body:has(.app-welcome) .site-header .wordmark,
body:has(.app-welcome) .site-header .header-account,
body:has(.app-welcome) .site-header .header-nav{display:none}
body:has(.authenticated-app-shell) .site-header .header-inner,
body:has(.app-welcome) .site-header .header-inner{justify-content:flex-start;min-height:21px}

.app-ui-tab:focus-visible,.app-welcome-continue:focus-visible{outline:var(--app-ui-focus-outline-width) solid var(--app-ui-focus);outline-offset:var(--app-ui-focus-outline-offset-large)}

.auth-layout:has(.authenticated-app-shell){max-width:1100px}

@keyframes app-screen-enter{
  from{opacity:0;transform:translate3d(0,8px,0)}
  to{opacity:1;transform:translate3d(0,0,0)}
}
.app-welcome{animation:app-screen-enter .32s ease both}
@media(prefers-reduced-motion:reduce){
  .app-welcome-continue,.app-tab{transition:none}
  .app-welcome-continue:active,.app-tab:active{transform:none}
  .app-welcome{animation:none}
}

/* Keep the public footer outside authenticated workspaces. */
body[data-page="authenticated-welcome"] .footer,
body[data-page="authenticated-workspace"] .footer{display:none}



/* Authenticated navigation — prototype v3 component contract. */
.authenticated-bottom-nav.app-ui-v3-tabbar{position:fixed;inset-inline-start:50%;inset-inline-end:auto;inset-block-end:calc(var(--app-ui-v3-tabbar-inset-bottom) + var(--safe-bottom));width:min(var(--app-ui-v3-max-width),calc(100% - var(--app-ui-v3-tabbar-inset-inline) - var(--app-ui-v3-tabbar-inset-inline) - var(--safe-left) - var(--safe-right)));height:var(--app-ui-v3-tabbar-height);min-height:var(--app-ui-v3-tabbar-height);padding:6px;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;border:1px solid var(--app-ui-v3-glass-line);border-radius:var(--app-ui-v3-tabbar-radius);background:var(--app-ui-v3-glass);box-shadow:inset 0 1px 0 var(--app-ui-v3-glass-edge),var(--app-ui-v3-shadow);-webkit-backdrop-filter:blur(var(--app-ui-v3-tabbar-blur)) saturate(1.5);backdrop-filter:blur(var(--app-ui-v3-tabbar-blur)) saturate(1.5);transform:translateX(-50%)}
.authenticated-bottom-nav.app-ui-v3-tabbar::before,.authenticated-bottom-nav.app-ui-v3-tabbar::after{display:none}
.authenticated-bottom-nav .app-ui-v3-tab{min-height:0;padding:0;border-radius:var(--app-ui-v3-tab-radius);font-size:11px;font-weight:500}
.authenticated-bottom-nav .app-ui-v3-tab.is-active{border-color:var(--app-ui-v3-accent-line);background:var(--app-ui-v3-surface-accent-gradient);color:var(--app-ui-v3-accent);box-shadow:none}
.authenticated-bottom-nav .app-ui-v3-tab.is-active svg{filter:drop-shadow(0 0 7px var(--app-ui-v3-accent-glow))}
.authenticated-bottom-nav .app-ui-v3-tab:not(.is-active):active{background:var(--app-ui-v3-press);color:var(--app-ui-v3-text)}
@media(max-width:600px){.authenticated-bottom-nav.app-ui-v3-tabbar{inset-block-end:calc(var(--app-ui-v3-tabbar-inset-bottom) + var(--safe-bottom));padding:6px}}
@media(prefers-reduced-motion:reduce){.authenticated-bottom-nav.app-ui-v3-tabbar,.authenticated-bottom-nav .app-ui-v3-tab{transition:none}}
