.main-navigation{position:sticky;top:0;z-index:1000;background-color:var(--color-nav-bg);border-bottom:1px solid var(--color-secondary-200);box-shadow:var(--shadow-sm)}.nav-container{max-width:1200px;margin:0 auto;padding:0 var(--space-lg);display:flex;align-items:center;justify-content:space-between;min-height:64px;position:relative}.nav-brand{display:flex;align-items:center;gap:var(--space-sm);flex-shrink:0;pointer-events:none;user-select:none}.brand-text{display:flex;align-items:baseline;flex-wrap:wrap;gap:2px;color:var(--color-nav-text);font-family:var(--font-primary);line-height:1.2}.brand-name{font-size:var(--text-xl);font-weight:700;color:var(--color-nav-text)}.brand-subtitle{font-size:var(--text-sm);font-weight:400;color:var(--color-nav-text);opacity:.85}.nav-menu-desktop{display:flex;list-style:none;margin:0;padding:0;gap:var(--space-xs);align-items:center}.nav-menu-desktop .nav-link{background:none;border:none;padding:var(--space-md) var(--space-lg);border-radius:var(--radius-lg);color:var(--color-nav-text);font-size:var(--text-base);font-weight:500;cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;font-family:inherit;pointer-events:auto}.nav-menu-desktop .nav-link:hover{background-color:var(--color-primary-50);color:var(--color-primary-700)}.nav-menu-desktop .nav-link:focus{outline:2px solid var(--color-primary-500);outline-offset:2px}.nav-menu-desktop .nav-link.active{background-color:var(--color-primary-100);color:var(--color-primary-800);font-weight:600}.mobile-menu-toggle{display:none;flex-direction:column;gap:4px;background:none;border:none;padding:var(--space-sm);cursor:pointer;border-radius:var(--radius-md);transition:background-color var(--transition-fast);z-index:1001}.mobile-menu-toggle:hover{background-color:var(--color-primary-50)}.mobile-menu-toggle:focus{outline:2px solid var(--color-primary-500);outline-offset:2px}.hamburger-line{width:24px;height:2px;background-color:var(--color-nav-text);transition:all var(--transition-normal);transform-origin:center}.line-1-open{transform:rotate(45deg) translate(5px,5px)}.line-2-open{opacity:0}.line-3-open{transform:rotate(-45deg) translate(7px,-6px)}.nav-menu-mobile{position:fixed;top:0;left:0;width:100vw;height:100vh;background-color:var(--color-bg-primary);flex-direction:column;padding:var(--space-4xl) var(--space-lg);gap:var(--space-md);transform:translateY(-100%);opacity:0;visibility:hidden;transition:transform var(--transition-normal) ease-out,opacity var(--transition-normal) ease-out,visibility var(--transition-normal);z-index:999;display:flex;align-items:center;justify-content:center;list-style:none;margin:0}.nav-menu-mobile.menu-open{transform:translateY(0);opacity:1;visibility:visible;z-index:1000}.nav-menu-mobile .nav-link{width:100%;max-width:300px;text-align:center;padding:var(--space-lg);border-radius:var(--radius-md);background:none;border:none;color:var(--color-text-primary);font-size:var(--text-xl);font-weight:500;cursor:pointer;transition:all var(--transition-fast);font-family:inherit;pointer-events:auto}.nav-menu-mobile .nav-link:hover{background-color:var(--color-primary-50);color:var(--color-primary-700)}.nav-menu-mobile .nav-link.active{background-color:var(--color-primary-100);color:var(--color-primary-800);font-weight:600}.menu-overlay{position:fixed;inset:0;background-color:#00000080;z-index:998;opacity:0;animation:fadeIn var(--transition-fast) forwards}@keyframes fadeIn{to{opacity:1}}@media (max-width: 768px){.nav-menu-desktop{display:none}.mobile-menu-toggle{display:flex}.brand-text{flex-direction:column;align-items:flex-start;gap:0}.brand-name{font-size:var(--text-lg)}.brand-subtitle{font-size:var(--text-xs);line-height:1.1}}@media (max-width: 480px){.brand-subtitle{display:none}}@media (min-width: 769px){.nav-menu-mobile,.menu-overlay{display:none}}.app-shell{min-height:100vh;display:flex;flex-direction:column;background-color:var(--color-bg-primary);--shell-padding: var(--space-lg);--shell-gap: var(--space-xl)}.skip-link{position:absolute;top:-40px;left:6px;background:var(--color-primary-500);color:var(--color-text-inverse);padding:var(--space-sm) var(--space-md);text-decoration:none;border-radius:var(--radius-md);z-index:var(--z-modal);transition:top var(--transition-fast);font-weight:500;font-size:var(--text-sm);border:2px solid transparent}.skip-link:focus{top:6px;outline:2px solid var(--color-text-inverse);outline-offset:2px}.skip-link:hover{background:var(--color-primary-600);text-decoration:underline}.skip-link+.skip-link{left:180px}.skip-link:focus-visible{top:6px;outline:2px solid var(--color-text-inverse);outline-offset:2px}.main-content{flex:1;width:100%;padding:var(--shell-gap) 0;min-height:60vh}.content-wrapper{width:100%;max-width:1200px;margin:0 auto;padding:0 var(--shell-padding)}.loading-indicator{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:50vh;padding:var(--space-4xl);text-align:center;gap:var(--space-lg)}.loading-spinner{width:40px;height:40px;border:3px solid var(--color-primary-100);border-top:3px solid var(--color-primary-500);border-radius:50%;animation:spin 1s linear infinite}.loading-text{font-size:var(--text-lg);color:var(--color-text-secondary);font-weight:500;margin:0;max-width:400px;line-height:var(--leading-relaxed)}.error-message{text-align:center;padding:var(--space-4xl);background-color:var(--color-accent-50);border:2px solid var(--color-primary-200);border-radius:var(--radius-xl);margin:var(--space-xl);max-width:600px;margin-left:auto;margin-right:auto}.error-message h2{color:var(--color-text-primary);margin-bottom:var(--space-lg);font-size:var(--text-2xl);font-weight:600}.error-message p{color:var(--color-text-secondary);margin-bottom:var(--space-xl);line-height:var(--leading-relaxed);font-size:var(--text-base)}.error-actions{display:flex;gap:var(--space-md);justify-content:center;flex-wrap:wrap;margin-bottom:var(--space-lg)}.error-details{margin-top:var(--space-lg);text-align:left}.error-details summary{cursor:pointer;font-size:var(--text-sm);color:var(--color-text-muted);margin-bottom:var(--space-sm)}.error-technical{font-family:monospace;font-size:var(--text-xs);color:var(--color-text-muted);background-color:var(--color-secondary-100);padding:var(--space-sm);border-radius:var(--radius-md);word-break:break-all}.app-footer{background-color:var(--color-bg-secondary);border-top:1px solid var(--color-secondary-200);padding:var(--space-2xl) 0;margin-top:var(--space-4xl)}.footer-content{text-align:center;max-width:800px;margin:0 auto}.footer-text{font-size:var(--text-base);color:var(--color-text-secondary);margin-bottom:var(--space-lg);line-height:var(--leading-relaxed)}.footer-nav{display:flex;gap:var(--space-lg);justify-content:center;flex-wrap:wrap}.footer-link{display:inline-block;font-size:var(--text-base);color:var(--color-primary-600);background:none;border:none;cursor:pointer;text-decoration:underline;padding:var(--space-sm) var(--space-md);border-radius:var(--radius-md);transition:all var(--transition-fast)}.footer-link:hover{color:var(--color-primary-700);background-color:var(--color-primary-50);text-decoration:none}.footer-link:focus{outline:2px solid var(--color-primary-500);outline-offset:2px}@media (max-width: 768px){.app-shell{--shell-padding: var(--space-md);--shell-gap: var(--space-lg)}.main-content{padding:var(--space-lg) 0}.loading-indicator{padding:var(--space-2xl);min-height:40vh}.loading-text{font-size:var(--text-base)}.error-message{margin:var(--space-md);padding:var(--space-2xl)}.error-actions{flex-direction:column;align-items:center}.error-actions button{width:100%;max-width:280px}.app-footer{padding:var(--space-xl) 0}.footer-nav{flex-direction:column;gap:var(--space-md)}.footer-link{width:100%;text-align:center}}@media (max-width: 480px){.app-shell{--shell-padding: var(--space-sm)}.skip-link+.skip-link{left:6px;top:46px}}.reduced-motion .loading-spinner{animation:none;border:3px solid var(--color-primary-500)}.reduced-motion *{animation-duration:.01ms!important;transition-duration:.01ms!important}.reduced-motion .content-wrapper{transition:none!important}.high-contrast{--color-primary-500: #000000;--color-text-primary: #000000;--color-bg-primary: #ffffff;--color-secondary-200: #000000}.high-contrast .error-message{border-color:#000;background-color:#fff}.high-contrast .loading-spinner{border-color:#ccc;border-top-color:#000}[data-font-size=large]{--text-base: 1.125rem;--text-lg: 1.25rem;--text-xl: 1.375rem;--text-2xl: 1.625rem;--text-3xl: 2rem;--text-4xl: 2.5rem}[data-font-size=large] .app-shell{--shell-padding: var(--space-xl);--shell-gap: var(--space-2xl)}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}[tabindex="-1"]:focus{outline:2px solid var(--color-primary-500);outline-offset:2px;border-radius:var(--radius-sm)}*:focus-visible{outline:2px solid var(--color-primary-500);outline-offset:2px;border-radius:var(--radius-sm)}.main-content>*+*{margin-top:var(--shell-gap)}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.error-actions[role=group]{display:flex;gap:var(--space-md);justify-content:center;flex-wrap:wrap;margin-bottom:var(--space-lg)}.error-actions button{position:relative}.error-actions button:focus{outline:2px solid var(--color-primary-500);outline-offset:2px;z-index:1}.footer-nav[role=navigation]{display:flex;gap:var(--space-lg);justify-content:center;flex-wrap:wrap}.footer-link{position:relative}.footer-link:focus-visible{outline:2px solid var(--color-primary-500);outline-offset:2px}
