.app-shell{flex-direction:column;min-height:100vh;display:flex}:root{--app-header-h:4.25rem}.app-header{z-index:20;background:var(--surface-container);border-bottom:var(--rule);position:sticky;top:0}.app-header-row{align-items:center;gap:var(--space-4);padding-block:var(--space-3);display:flex}.app-brand{color:var(--on-surface);white-space:nowrap;font-size:1.125rem;font-weight:600;text-decoration:none}.app-header-actions{align-items:center;gap:var(--space-3);margin-inline-start:auto;display:flex}.app-hamburger{border-radius:var(--radius);padding:var(--space-2);cursor:pointer;color:var(--on-surface);background:0 0;border:none;justify-content:center;align-items:center;display:none}.app-hamburger:hover{background:color-mix(in srgb, var(--on-surface) var(--state-hover), transparent)}.app-nav-drawer{border-top:var(--rule);padding:var(--space-3)}.app-content{padding-block:var(--space-5);flex:1}@media (max-width:899px){.app-hamburger{display:inline-flex}.app-nav-desktop{display:none}}.nav-list{gap:var(--space-4);margin:0;padding:0;list-style:none;display:flex}.app-nav-drawer .nav-list{gap:var(--space-1);flex-direction:column}.nav-link{color:var(--on-surface-variant);padding-block:var(--space-1);transition:color var(--transition-fast), border-color var(--transition-fast);border-bottom:2px solid #0000;font-size:.9375rem;font-weight:600;text-decoration:none;display:inline-block}.app-nav-drawer .nav-link{padding:var(--space-2) 0;display:block}.nav-link:hover{color:var(--on-surface)}.nav-link-active{color:var(--primary);border-bottom-color:var(--primary)}.locale-switch{border:1px solid var(--outline-variant);border-radius:var(--radius-pill);gap:2px;padding:2px;display:flex}.locale-switch-option{border-radius:var(--radius-pill);padding:var(--space-1) var(--space-2);letter-spacing:.02em;color:var(--on-surface-variant);cursor:pointer;transition:background-color var(--transition-fast);background:0 0;border:none;font-size:.75rem;font-weight:600}.locale-switch-option:hover{background:color-mix(in srgb, var(--on-surface) var(--state-hover), transparent)}.locale-switch-option-active{background:var(--secondary-container);color:var(--on-secondary-container)}.theme-toggle{border-radius:var(--radius);padding:var(--space-2);color:var(--on-surface);cursor:pointer;transition:background-color var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;display:inline-flex}.theme-toggle:hover{background:color-mix(in srgb, var(--on-surface) var(--state-hover), transparent)}.view-toggle{border:var(--rule);border-radius:var(--radius);flex:none;display:inline-flex;overflow:hidden}.view-toggle>button{padding:var(--space-2) var(--space-3);color:var(--on-surface-variant);cursor:pointer;transition:background-color var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;display:inline-flex}.view-toggle>button+button{border-left:var(--rule)}.view-toggle>button:hover{background:color-mix(in srgb, var(--on-surface) var(--state-hover), transparent)}.view-toggle>button[aria-pressed=true]{background:var(--secondary-container);color:var(--on-secondary-container)}.user-menu{position:relative}.user-menu-trigger{cursor:pointer;background:0 0;border:none;border-radius:50%;padding:0;display:block}.user-menu-avatar{object-fit:cover;background:var(--primary);width:32px;height:32px;color:var(--on-primary);border-radius:50%;justify-content:center;align-items:center;font-size:.875rem;font-weight:600;display:flex}.user-menu-panel{top:calc(100% + var(--space-2));background:var(--surface-container-high);border:1px solid var(--outline-variant);border-radius:var(--radius);box-shadow:var(--shadow-2);min-width:10rem;padding:var(--space-1);z-index:30;flex-direction:column;display:flex;position:absolute;right:0}.user-menu-item{text-align:left;border-radius:var(--radius);width:100%;padding:var(--space-2) var(--space-3);font:inherit;color:var(--on-surface);cursor:pointer;background:0 0;border:none;text-decoration:none;display:block}.user-menu-item:hover{background:color-mix(in srgb, var(--on-surface) var(--state-hover), var(--surface-container-high))}
