.app-shell-main-content{flex-direction:column;flex:1;min-width:0;display:flex}.app-administration-footer{color:var(--text-muted);font-size:var(--font-size-caption);padding:var(--space-2) var(--space-6) calc(var(--space-2) + env(safe-area-inset-bottom));justify-content:center;margin-top:auto;display:flex}.app-administration-footer .app-administration-links{gap:var(--space-0) var(--space-5);flex-wrap:wrap;justify-content:center;display:flex}.app-shell .app-administration-footer a{color:inherit;font:inherit;min-height:var(--touch-target);min-width:var(--touch-target);justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.app-shell .app-administration-footer a:hover,.app-shell .app-administration-footer a:focus-visible{color:var(--text-secondary);text-underline-offset:2px;text-decoration:underline}.app-shell a[href^=mailto\:]{color:color-mix(in srgb, var(--teal) 78%, var(--ink) 22%);font-weight:var(--font-weight-bold);text-decoration:underline;-webkit-text-decoration-color:color-mix(in srgb, currentColor 45%, transparent);text-decoration-color:color-mix(in srgb, currentColor 45%, transparent);text-underline-offset:2px}.app-shell a[href^=mailto\:]:hover,.app-shell a[href^=mailto\:]:focus-visible{color:color-mix(in srgb, var(--teal) 62%, var(--ink) 38%);text-decoration-color:currentColor}@media (max-width:900px){.app-administration-footer{padding-bottom:calc(var(--mobile-nav-h) + var(--space-2))}}.app-release-version{font-size:var(--font-size-caption);font-variant-numeric:tabular-nums;opacity:.82;white-space:nowrap}@media (max-width:900px){.app-release-version{overflow-wrap:anywhere;white-space:normal;max-width:100%}}.app-test-mode-banner{padding:var(--space-2) var(--space-4);border-bottom:1px solid var(--theme-warn-border);background:var(--semantic-warning-bg);color:var(--text-primary);text-align:center;justify-content:center;align-items:center;display:flex}.app-test-mode-banner strong{color:var(--text-primary);font-weight:var(--font-weight-bold)}.app-test-mode-banner span{font-size:var(--font-size-note);line-height:var(--line-height-body)}
@media (prefers-reduced-motion:reduce){.app-shell,.app-shell *,.app-shell :before,.app-shell :after{scroll-behavior:auto!important;transition-duration:.01ms!important;transition-delay:0s!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
.app-shell-main-content :where(strong,b){font-weight:var(--font-weight-bold)}.app-sidebar{border-right:1px solid var(--color-silver);height:100vh;width:var(--sidebar-w);transition:width var(--t-base), transform var(--t-base);z-index:40;flex-direction:column;flex-shrink:0;display:flex;position:sticky;top:0;overflow:hidden}.app-sidebar.collapsed{width:var(--sidebar-w-collapsed)}.sidebar-brand{align-items:center;gap:var(--space-2);border-bottom:1px solid var(--color-silver);display:flex}.sidebar-logo{background:var(--brand-mark-surface);border:1px solid color-mix(in srgb, var(--semantic-warning) 90%, transparent);box-shadow:var(--shadow-sm);flex-shrink:0;justify-content:center;align-items:center;display:flex;overflow:hidden}.sidebar-logo svg{width:100%;height:auto;display:block}.mobile-brand-mark{height:34px;padding:var(--space-1);width:34px}.sidebar-name{white-space:nowrap;overflow:hidden}.sidebar-name strong{display:block}.sidebar-name span{font-size:var(--font-size-body)}.sidebar-nav{scrollbar-width:none;flex-direction:column;flex:1;display:flex;overflow:hidden auto}.sidebar-nav::-webkit-scrollbar{display:none}.sidebar-link{isolation:isolate;text-align:left;transition:background var(--t-fast), color var(--t-fast);white-space:nowrap;background:0 0;border:0;align-items:center;width:100%;text-decoration:none;display:flex;position:relative}.sidebar-link:disabled{color:color-mix(in srgb, var(--action-text) 85%, transparent);cursor:default}.sidebar-link:disabled:hover{background:0 0}.sidebar-icon{font-size:var(--font-size-body);flex-shrink:0;justify-content:center;align-items:center;display:flex}.sidebar-label{white-space:normal;overflow:hidden}.app-sidebar :is(.sidebar-label,.sidebar-nav-group-label,.theme-toggle){text-transform:capitalize}.sidebar-divider{border:0;border-top:1px solid var(--color-silver);margin:var(--space-1) var(--space-2)}.sidebar-bottom{border-top:1px solid var(--color-silver);gap:var(--space-0);flex-direction:column;display:flex}.sidebar-profile{background:color-mix(in srgb, var(--action-text) 4%, transparent);align-items:center;gap:var(--space-2);margin-top:var(--space-1);padding:var(--space-2) var(--space-2);transition:background var(--t-fast);text-decoration:none;display:flex;overflow:hidden}.sidebar-profile:hover{background:color-mix(in srgb, var(--action-text) 8%, transparent)}.sidebar-avatar{border-radius:var(--radius-full);color:var(--action-text);font-size:var(--font-size-body);font-weight:var(--font-weight-bold);height:var(--touch-target);width:var(--touch-target);flex-shrink:0;justify-content:center;align-items:center;display:flex}.sidebar-profile-info{overflow:hidden}.sidebar-profile-info strong{color:color-mix(in srgb, var(--action-text) 85%, transparent);font-size:var(--font-size-body);text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.sidebar-profile-info span{font-size:var(--font-size-body)}.sidebar-overlay{background:color-mix(in srgb, var(--color-navy) 55%, transparent);z-index:39;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:none;position:fixed;inset:0}.mobile-topbar{align-items:center;gap:var(--space-3);min-height:var(--touch-target);padding:var(--space-0) var(--space-4);z-index:38;justify-content:space-between;display:none;position:sticky;top:0}.hamburger-btn{cursor:pointer;gap:var(--space-1);height:var(--touch-target);min-width:var(--touch-target);padding:var(--space-0);background:0 0;border:0;flex-direction:column;justify-content:center;width:36px;display:flex}.hamburger-btn span{background:color-mix(in srgb, var(--action-text) 85%, transparent);border-radius:var(--radius-sm);height:2px;transition:transform var(--t-base), opacity var(--t-base);width:22px;display:block}.mobile-bottom-nav{border-top:1px solid var(--color-silver);z-index:38;height:var(--mobile-nav-h);align-items:stretch;display:none;position:fixed;bottom:0;left:0;right:0}.mobile-nav-item{color:color-mix(in srgb, var(--action-text) 85%, transparent);cursor:pointer;font-size:var(--font-size-body);font-weight:var(--font-weight-semibold);align-items:center;gap:var(--space-1);letter-spacing:normal;min-inline-size:var(--touch-target);padding:var(--space-1) var(--space-0);text-align:center;transition:color var(--t-fast), background var(--t-fast);background:0 0;border:0;flex-direction:column;flex:auto;justify-content:center;text-decoration:none;display:flex}.mobile-nav-item:hover:not(:disabled){color:color-mix(in srgb, var(--action-text) 85%, transparent);background:color-mix(in srgb, var(--action-text) 4%, transparent)}.mobile-nav-item.active{color:var(--action-text)}.mobile-nav-item:disabled{color:color-mix(in srgb, var(--action-text) 85%, transparent);cursor:default}.mobile-nav-icon{font-size:var(--font-size-body);line-height:var(--line-height-body)}.mobile-nav-label{font-size:var(--font-size-caption);line-height:var(--line-height-body);white-space:nowrap;max-width:100%}@media (max-width:680px){.app-sidebar{height:100vh;width:var(--sidebar-w);box-shadow:none;position:fixed;top:0;left:0;transform:translate(-100%)}.app-sidebar.mobile-open{box-shadow:var(--shadow-sm);transform:translate(0)}.sidebar-collapse-btn{display:none}.sidebar-overlay{display:block}.mobile-topbar,.mobile-bottom-nav{display:flex}}@media print{.app-sidebar,.mobile-topbar,.mobile-bottom-nav{display:none}}.sidebar-avatar{background:var(--theme-accent-text)}@media (prefers-reduced-motion:reduce){.sidebar-link{transition-duration:.01ms}}.theme-toggle.sidebar{border-radius:var(--radius-sm);color:color-mix(in srgb, var(--action-text) 85%, transparent);font-size:var(--font-size-body);font-weight:var(--font-weight-semibold);gap:var(--space-3);padding:var(--space-0) var(--space-3);background:0 0;border-color:#0000;justify-content:flex-start;width:100%}.theme-toggle.sidebar:hover{background:color-mix(in srgb, var(--action-text) 4%, transparent);color:var(--action-text);border-color:#0000;transform:none}.theme-toggle.sidebar.compact{padding:var(--space-0);width:var(--touch-target);justify-content:center}body:has(.app-shell) .theme-floating-toggle{display:none}.sidebar-profile-warning{background:var(--semantic-warning-bg);border:1px solid var(--semantic-warning);border-radius:var(--radius-md);color:var(--text-primary);font-size:var(--font-size-body);line-height:var(--line-height-body);margin:var(--space-0) var(--space-3) var(--space-2);padding:var(--space-2) var(--space-3);text-decoration:none;display:block}.sidebar-profile-warning strong{margin-bottom:var(--space-0);display:block}html[data-theme=dark] .sidebar-profile-warning{background:color-mix(in srgb, var(--semantic-warning) 10%, transparent);border-color:color-mix(in srgb, var(--semantic-warning) 34%, transparent);color:var(--semantic-warning)}html[data-theme=dark] .sidebar-logo,html[data-theme=dark] .sidebar-avatar{background:var(--theme-accent-text);color:var(--action-text)}@media print{.sidebar-profile-warning{display:none}}.app-shell .sidebar-logo,html[data-theme=dark] .app-shell .sidebar-logo{background:var(--brand-mark-surface);border-color:color-mix(in srgb, var(--semantic-warning) 88%, transparent)}.app-shell .sidebar-avatar,html[data-theme=dark] .app-shell .sidebar-avatar{background:var(--solid-action);color:var(--action-text)}@media (display-mode:standalone){.app-sidebar{padding-top:var(--pwa-safe-top);padding-bottom:var(--pwa-safe-bottom)}}@media (display-mode:standalone) and (max-width:680px){.mobile-topbar{min-height:calc(var(--touch-target) + var(--space-2) + var(--pwa-safe-top));padding-top:var(--pwa-safe-top)}.mobile-bottom-nav{height:calc(var(--mobile-nav-h) + var(--pwa-safe-bottom));padding-bottom:var(--pwa-safe-bottom)}}.app-sidebar,.mobile-topbar,.mobile-bottom-nav,html[data-theme=dark] .app-sidebar{border-color:var(--color-silver)}html[data-theme=dark] .mobile-topbar,html[data-theme=dark] .mobile-bottom-nav{background:var(--background);border-color:var(--color-silver)}:root:not([data-theme=dark]) .app-sidebar,:root:not([data-theme=dark]) .mobile-topbar,:root:not([data-theme=dark]) .mobile-bottom-nav{background:var(--color-navy);border-color:color-mix(in srgb, var(--color-silver) 24%, transparent)}:root:not([data-theme=dark]) .sidebar-link{color:var(--color-silver)}.app-sidebar{box-shadow:var(--shadow-sm)}.sidebar-brand{min-height:var(--touch-target);padding:var(--space-4)}.sidebar-logo{border-radius:var(--radius-md);height:42px;padding:var(--space-1);width:46px}.sidebar-name strong{font-size:var(--font-size-body);font-weight:var(--font-weight-bold);letter-spacing:-.025em}.sidebar-name span{letter-spacing:.01em}.sidebar-nav{gap:var(--space-1);padding:var(--space-3) var(--space-2)}.sidebar-link{border-radius:var(--radius-sm);font-size:var(--font-size-body);font-weight:var(--font-weight-semibold);gap:var(--space-3);min-height:var(--touch-target);padding:var(--space-0) var(--space-3)}.sidebar-link:before{background:linear-gradient(90deg, color-mix(in srgb, var(--action-text) 9%, transparent), color-mix(in srgb, var(--action-text) 4%, transparent) 55%, transparent);border-radius:inherit;content:"";opacity:0;pointer-events:none;z-index:-1;transition:opacity .35s;position:absolute;inset:0}.sidebar-link.active:before{opacity:1}.app-shell .app-sidebar.collapsed .sidebar-link:before{background:radial-gradient(closest-side, color-mix(in srgb, var(--action-text) 11%, transparent), transparent)}.sidebar-icon{width:20px}.sidebar-link.active .sidebar-icon{color:var(--brand-aqua)}.sidebar-bottom{padding:var(--space-2)}.sidebar-profile{border:1px solid color-mix(in srgb, var(--action-text) 6%, transparent);border-radius:var(--radius-md)}.sidebar-avatar{box-shadow:var(--shadow-sm)}.sidebar-test-mode.active{border-color:color-mix(in srgb, var(--theme-accent-text) 42%, transparent);background:color-mix(in srgb, var(--brand-mist) 34%, transparent)}.app-shell .sidebar-link:focus-visible,.app-shell .mobile-nav-item:focus-visible,.app-shell .hamburger-btn:focus-visible,.app-shell .sidebar-profile:focus-visible,.app-shell .sidebar-avatar:focus-visible{outline:3px solid var(--theme-accent-text);outline-offset:2px}.app-shell .sidebar-edge-toggle:focus-visible{outline:3px solid var(--theme-accent-text)}.app-shell .sidebar-account-trigger:focus-visible{outline:3px solid var(--theme-accent-text);outline-offset:2px}.app-shell .sidebar-edge-toggle{border-radius:var(--radius-sm);color:color-mix(in srgb, var(--action-text) 85%, transparent);cursor:pointer;font-size:var(--font-size-body);font-weight:var(--font-weight-semibold);align-items:center;gap:var(--space-3);min-height:var(--touch-target);padding:var(--space-0) var(--space-3);transition:background var(--t-fast), color var(--t-fast);white-space:nowrap;z-index:2;background:0 0;border:0;display:flex}.app-shell .sidebar-edge-toggle:hover{background:color-mix(in srgb, var(--action-text) 4%, transparent);color:var(--action-text)}.app-shell .app-sidebar.collapsed .sidebar-edge-toggle{padding:var(--space-0);width:var(--touch-target);justify-content:center;align-self:center}.app-shell .sidebar-edge-toggle:focus-visible{outline-offset:-3px}.app-shell .sidebar-nav-group{gap:var(--space-1);flex-direction:column;display:flex}.app-shell .sidebar-nav-group+.sidebar-nav-group{border-top:1px solid color-mix(in srgb, var(--action-text) 6%, transparent);margin-top:var(--space-2);padding-top:var(--space-2)}.app-shell .sidebar-nav-group-label{font-size:var(--font-size-caption);font-weight:var(--font-weight-medium);padding:var(--space-2) var(--space-3) var(--space-1)}.app-shell .app-sidebar.collapsed .sidebar-brand{gap:var(--space-0);padding:var(--space-4) var(--space-1);flex-direction:column;justify-content:center}.app-shell .app-sidebar.collapsed .sidebar-nav-group+.sidebar-nav-group{margin-top:var(--space-1);padding-top:var(--space-1)}.app-shell .sidebar-profile-info span{color:color-mix(in srgb, var(--action-text) 85%, transparent)}.app-shell button.sidebar-profile{border:1px solid color-mix(in srgb, var(--action-text) 6%, transparent);color:inherit;cursor:pointer;font:inherit;min-height:var(--touch-target);padding:var(--space-2) var(--space-2);text-align:left;justify-content:flex-start;width:100%}.app-shell .sidebar-account-trigger.open{background:color-mix(in srgb, var(--action-text) 8%, transparent);border-color:color-mix(in srgb, var(--color-aqua) 22%, transparent)}.app-shell .sidebar-avatar{width:36px;height:36px}.app-shell .sidebar-avatar svg{width:26px;height:26px;display:block}.app-shell .sidebar-account-chevron{color:color-mix(in srgb, var(--action-text) 85%, transparent);height:7px;margin-left:auto;margin-right:var(--space-1);transition:transform var(--t-fast), color var(--t-fast);border-bottom:1.5px solid;border-right:1.5px solid;flex:0 0 7px;width:7px;transform:rotate(45deg)}.app-shell .sidebar-account-trigger.open .sidebar-account-chevron{color:var(--brand-aqua);transform:rotate(225deg)}.app-shell .sidebar-account-panel[hidden]{display:none}.app-shell .sidebar-account-panel{border:1px solid color-mix(in srgb, var(--action-text) 8%, transparent);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);gap:var(--space-1);margin-bottom:var(--space-1);padding:var(--space-1);flex-direction:column;display:flex}html[data-theme=dark] .app-shell .sidebar-account-panel{background:var(--sidebar-background)}.app-shell .sidebar-account-action{min-height:var(--touch-target);padding-inline:var(--space-2)}.app-shell .sidebar-account-logout{border-top:1px solid color-mix(in srgb, var(--action-text) 7%, transparent);border-radius:0 0 var(--radius-sm) var(--radius-sm);margin-top:var(--space-1);padding-top:var(--space-1)}.app-shell .sidebar-secondary-actions{gap:var(--space-1);flex-direction:column;display:flex}.app-shell .sidebar-bottom-separator{border-top:1px solid color-mix(in srgb, var(--action-text) 7%, transparent);margin:var(--space-1) var(--space-2) var(--space-0)}.app-shell .app-sidebar.collapsed .sidebar-nav{padding-inline:var(--space-2);align-items:center}.app-shell .app-sidebar.collapsed .sidebar-nav-group,.app-shell .app-sidebar.collapsed .sidebar-secondary-actions{align-items:center;width:100%}.app-shell .app-sidebar.collapsed .sidebar-link{gap:var(--space-0);min-height:var(--touch-target);padding-inline:var(--space-0);justify-content:center}.app-shell .app-sidebar.collapsed .sidebar-icon{flex:0 0 20px;width:20px;height:20px}.app-shell .app-sidebar.collapsed .sidebar-icon svg{flex:none;display:block}.app-shell .app-sidebar.collapsed .sidebar-divider,.app-shell .app-sidebar.collapsed .sidebar-bottom-separator{width:40px;margin-left:auto;margin-right:auto}.app-shell .app-sidebar.collapsed .sidebar-bottom{padding-inline:var(--space-2);align-items:center}.app-shell .app-sidebar.collapsed .sidebar-account-trigger{height:var(--touch-target);margin-top:var(--space-0);min-height:var(--touch-target);padding:var(--space-0);width:var(--touch-target);justify-content:center}.app-shell .mobile-topbar .sidebar-avatar{height:var(--touch-target);width:var(--touch-target)}.app-shell .mobile-topbar .sidebar-avatar svg{width:22px;height:22px}@media (max-width:680px){.app-shell .sidebar-edge-toggle{display:none}}.app-sidebar,.mobile-topbar,.mobile-bottom-nav{font-family:var(--font-family-sans);font-size:var(--font-size-body);line-height:var(--line-height-body);background:var(--color-navy);color:var(--action-text)}html[data-theme=dark] .app-sidebar{background:var(--sidebar-background)}.app-shell .sidebar-edge-toggle{margin:var(--space-2) var(--space-2) var(--space-0);flex-shrink:0;align-self:stretch;position:relative;top:auto;right:auto;transform:none}.app-shell .app-sidebar.collapsed .sidebar-link{height:var(--touch-target);width:var(--touch-target)}.app-shell .sidebar-account-panel{background:var(--color-navy)}.sidebar-link,.sidebar-name span,.sidebar-profile-info span,.sidebar-icon{color:color-mix(in srgb, var(--action-text) 85%, transparent)}.app-shell .sidebar-nav-group-label{color:color-mix(in srgb, var(--action-text) 62%, transparent)}.sidebar-name strong,.sidebar-link.active{color:var(--action-text)}.sidebar-link:hover:not(:disabled){background:color-mix(in srgb, var(--action-text) 4%, transparent);color:var(--action-text)}.mobile-topbar .sidebar-logo{width:var(--touch-target);height:var(--touch-target)}.sidebar-profile-warning{min-height:var(--touch-target)}.app-shell:has(.app-sidebar.mobile-open) .mobile-bottom-nav{visibility:hidden}@media (max-width:680px){html:has(.app-shell .mobile-bottom-nav){--mobile-nav-h:calc(var(--font-size-body) * var(--line-height-body) + var(--font-size-caption) * var(--line-height-body) + var(--space-5))}html:has(.mobile-topbar){scroll-padding-top:calc(var(--touch-target) + var(--space-3))}html:has(.mobile-bottom-nav){scroll-padding-bottom:calc(var(--mobile-nav-h) + var(--space-3))}}@media (display-mode:standalone) and (max-width:680px){html:has(.mobile-topbar){scroll-padding-top:calc(var(--touch-target) + var(--space-3) + var(--pwa-safe-top))}html:has(.mobile-bottom-nav){scroll-padding-bottom:calc(var(--mobile-nav-h) + var(--space-3) + var(--pwa-safe-bottom))}}.sidebar-drawer-close{border:1px solid color-mix(in srgb, var(--action-text) 24%, transparent);border-radius:var(--radius-sm);color:var(--action-text);cursor:pointer;min-height:var(--touch-target);min-width:var(--touch-target);background:0 0;flex:none;justify-content:center;align-items:center;margin-left:auto;display:inline-flex}.sidebar-drawer-close:focus-visible{outline:3px solid var(--color-aqua);outline-offset:2px}@media (max-width:360px){.mobile-bottom-nav{padding-inline:var(--space-1);box-sizing:border-box;gap:var(--space-1)}.mobile-nav-label{font-weight:var(--font-weight-regular);letter-spacing:-.04em;font-stretch:75%}}
