.dashboard-shell-root{interpolate-size:allow-keywords;--font-sans:"Geist",system-ui,-apple-system,sans-serif;--font-mono:"Geist Mono","SF Mono","Menlo",monospace;--space-xs:4px;--space-sm:8px;--space-md:12px;--space-lg:20px;--space-xl:32px;--space-2xl:48px}*,:after,:before{box-sizing:border-box}.dashboard-shell-root{margin:0;padding:0;min-height:0;flex:1 1 auto;display:flex;flex-direction:column}.dashboard-shell-root[data-app-shell-variant=auth]{min-height:var(--app-viewport-stable-height);background:transparent}.dashboard-shell-root[data-app-shell-variant=auth]:has(.dashboard-shell-content>.app-loading--viewport) .site-header{display:none}.dashboard-shell-root{scroll-padding-top:calc(max(12px, env(safe-area-inset-top)) + var(--floating-header-h) + var(--floating-header-gap) + 4px)}.app-shell-content,.dashboard-shell-content{position:relative;display:flex;flex:1 1 auto;flex-direction:column;min-height:0;width:100%}@media (min-width:720px){.dashboard-shell-root{scroll-padding-top:calc(max(14px, env(safe-area-inset-top)) + var(--floating-header-h) + var(--floating-header-gap) + 4px)}}@media (min-width:1024px){.dashboard-shell-root{scroll-padding-top:calc(max(16px, env(safe-area-inset-top)) + var(--floating-header-h) + var(--floating-header-gap) + 4px)}}.dashboard-shell-root{font-family:var(--font-sans);font-size:var(--font-size-md);line-height:1.5;color:var(--tx);background:transparent;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}button{font-family:inherit;font-size:inherit;line-height:inherit;letter-spacing:inherit;cursor:pointer;border:0;background:transparent;padding:0}a,button{color:inherit}a{text-decoration:none}img{max-width:100%;display:block}:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.page{width:100%;max-width:100%;margin-inline:auto;padding-inline:max(12px,env(safe-area-inset-left)) max(12px,env(safe-area-inset-right));padding-block:calc(24px + var(--floating-header-h) + var(--floating-header-gap)) 56px}@media (min-width:720px){.page{max-width:680px;padding-inline:15px;padding-block:calc(40px + var(--floating-header-h) + var(--floating-header-gap)) 72px}}@media (min-width:1024px){.page{max-width:820px;padding-inline:24px;padding-block:calc(48px + var(--floating-header-h) + var(--floating-header-gap)) 96px}}.page .page-head{display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;padding-block:4px 22px}.page .page-title{margin:0;font-size:var(--font-size-3xl);font-weight:800;letter-spacing:-.04em;line-height:1.05;color:var(--tx)}.page .page-subtitle{margin:14px auto 0;font-size:var(--font-size-md);line-height:1.5;color:var(--tx-secondary);max-width:48ch;margin-inline:auto;letter-spacing:-.005em}.floating-user-trigger{display:inline-flex;align-items:center;justify-content:center;width:var(--floating-header-h);height:var(--floating-header-h);padding:0;border:0;background:transparent;cursor:pointer;font:inherit;color:inherit;border-radius:50%;-webkit-tap-highlight-color:transparent;transition:transform var(--motion-press-duration) var(--motion-enter-ease)}.floating-user-trigger:active{transform:scale(.97)}.floating-avatar{flex-shrink:0;width:calc(var(--floating-header-h) * .9);height:calc(var(--floating-header-h) * .9);border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--status-clean);color:var(--color-white);font-family:var(--font-sans);font-size:.9375rem;font-weight:800;letter-spacing:-.03em;line-height:1;user-select:none;box-shadow:var(--sheen),var(--shadow-sm);transition:box-shadow var(--motion-ui-duration) var(--motion-enter-ease);--icon-size:22px}.floating-user-trigger[aria-expanded=true] .floating-avatar{box-shadow:0 0 0 3px color-mix(in oklch,var(--status-clean) var(--tone-40),transparent),var(--shadow-sm)}@media (prefers-reduced-motion:reduce){.floating-user-trigger{transition:none}.floating-user-trigger:active{transform:none}}.proto-popover-host{position:fixed;z-index:300;padding:10px;border:1px solid var(--glass-edge);border-radius:var(--raised-panel-radius-compact);background:var(--glass);-webkit-backdrop-filter:blur(18px) saturate(1.4);backdrop-filter:blur(18px) saturate(1.4);box-shadow:var(--sheen),var(--shadow-md);display:flex;flex-direction:column;gap:10px;min-width:180px;visibility:hidden;opacity:0;pointer-events:none;transform:translateY(-6px) scale(.98);transform-origin:top right;transition:opacity var(--motion-popover-duration) var(--motion-enter-ease),transform var(--motion-popover-duration) var(--motion-enter-ease),visibility 0s linear var(--motion-popover-duration)}.proto-popover-host[data-open=true]{visibility:visible;opacity:1;pointer-events:auto;transform:translateY(0);transition:opacity var(--motion-popover-duration) var(--motion-enter-ease),transform var(--motion-popover-duration) var(--motion-enter-ease),visibility 0s}@starting-style{.proto-popover-host[data-open=true]{opacity:0;transform:translateY(-6px) scale(.98)}}@media (prefers-reduced-motion:reduce){.proto-popover-host{transition:opacity .14s var(--motion-enter-ease),visibility 0s linear .14s;transform:none}.proto-popover-host[data-open=true]{transform:none}}.proto-popover-host--settings{width:min(17rem,calc(100vw - 24px));box-sizing:border-box;overflow:hidden}.settings-actions{display:flex;flex-direction:column;gap:2px}.settings-action{position:relative;display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:999px;background:transparent;border:none;color:var(--tx-secondary);font-size:var(--font-size-md);font-weight:500;cursor:pointer;transition:color var(--transition),background var(--transition);font-family:inherit;text-align:left}.settings-sep{height:1px;margin:4px 10px;background:var(--hairline)}.settings-action:disabled{opacity:.6;cursor:not-allowed}@media (hover:hover) and (pointer:fine){.settings-action:hover{background:color-mix(in oklch,var(--tx) var(--tone-8),transparent);color:var(--tx)}}.settings-action svg{width:15px;height:15px;flex-shrink:0}.settings-action.danger.confirming{background:var(--status-fail);color:var(--color-white)}.settings-action.danger{color:var(--tx-secondary)}@media (hover:hover) and (pointer:fine){.settings-action.danger.confirming:hover{background:var(--status-fail);color:var(--color-white)}.settings-action.danger:not(.confirming):hover{background:var(--status-warm-bg);color:var(--status-fail)}}