.logo-loader-container{display:flex;align-items:center;justify-content:center;width:100%;height:100%}.logo-loader-container--fullscreen{position:fixed;inset:0;min-height:100vh;background:#fffffff2;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);z-index:9999;animation:fadeIn .2s ease-out;width:100vw;height:100vh;overflow:hidden}.logo-loader{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--spacing-md, 1rem)}.logo-loader__wrapper{position:relative;display:flex;align-items:center;justify-content:center;transition:transform .3s cubic-bezier(.4,0,.2,1)}.logo-loader__image{position:relative;z-index:2;animation:logoRotate 2s cubic-bezier(.4,0,.2,1) infinite;transition:opacity .3s ease,transform .3s ease;will-change:transform;transform:translateZ(0);-webkit-transform:translateZ(0);user-select:none;-webkit-user-select:none;pointer-events:none}@keyframes logoRotate{0%{transform:rotate(0) translateZ(0) scale(1)}50%{transform:rotate(180deg) translateZ(0) scale(1.05)}to{transform:rotate(360deg) translateZ(0) scale(1)}}.logo-loader__ring{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) translateZ(0);border:3px solid transparent;border-radius:50%;animation:ringRotateAndClose 2s cubic-bezier(.4,0,.2,1) infinite;will-change:transform,border-color;z-index:1;transition:border-color .3s ease;box-sizing:border-box}@keyframes ringRotateAndClose{0%{transform:translate(-50%,-50%) rotate(0) translateZ(0);border-top-color:var(--primary, #6c5ce7);border-right-color:transparent;border-bottom-color:transparent;border-left-color:transparent;opacity:.6}25%{transform:translate(-50%,-50%) rotate(90deg) translateZ(0);border-top-color:var(--primary, #6c5ce7);border-right-color:var(--primary, #6c5ce7);border-bottom-color:transparent;border-left-color:transparent;opacity:.8}50%{transform:translate(-50%,-50%) rotate(180deg) translateZ(0);border-top-color:var(--primary, #6c5ce7);border-right-color:var(--primary, #6c5ce7);border-bottom-color:var(--primary, #6c5ce7);border-left-color:transparent;opacity:1}75%{transform:translate(-50%,-50%) rotate(270deg) translateZ(0);border-top-color:var(--primary, #6c5ce7);border-right-color:var(--primary, #6c5ce7);border-bottom-color:var(--primary, #6c5ce7);border-left-color:var(--primary, #6c5ce7);opacity:1}to{transform:translate(-50%,-50%) rotate(360deg) translateZ(0);border-top-color:var(--primary, #6c5ce7);border-right-color:var(--primary, #6c5ce7);border-bottom-color:var(--primary, #6c5ce7);border-left-color:var(--primary, #6c5ce7);opacity:.9}}.logo-loader__text{margin:0;color:var(--text-secondary, #6b7280);font-size:.9375rem;font-weight:500;text-align:center;animation:textFadeIn .5s ease-out .2s both;transition:color .3s ease}@keyframes textFadeIn{0%{opacity:0;transform:translateY(10px) translateZ(0)}to{opacity:1;transform:translateY(0) translateZ(0)}}.logo-loader--small .logo-loader__wrapper{width:24px;height:24px}.logo-loader--small .logo-loader__image{width:20px;height:20px}.logo-loader--small .logo-loader__ring{width:24px;height:24px;border-width:2px}.logo-loader--small .logo-loader__text{font-size:.75rem;margin-top:var(--spacing-xs, .5rem)}.logo-loader--medium .logo-loader__wrapper{width:80px;height:80px}.logo-loader--medium .logo-loader__image{width:64px;height:64px}.logo-loader--medium .logo-loader__ring{width:80px;height:80px;border-width:3px}.logo-loader--medium .logo-loader__text{font-size:.9375rem}.logo-loader--large .logo-loader__wrapper{width:120px;height:120px}.logo-loader--large .logo-loader__image{width:100px;height:100px}.logo-loader--large .logo-loader__ring{width:120px;height:120px;border-width:4px}.logo-loader--large .logo-loader__text{font-size:1.125rem}@media(max-width:480px){.logo-loader--medium .logo-loader__wrapper{width:64px;height:64px}.logo-loader--medium .logo-loader__image{width:52px;height:52px}.logo-loader--medium .logo-loader__ring{width:64px;height:64px}.logo-loader--large .logo-loader__wrapper{width:100px;height:100px}.logo-loader--large .logo-loader__image{width:80px;height:80px}.logo-loader--large .logo-loader__ring{width:100px;height:100px}}@media(min-width:768px){.logo-loader--medium .logo-loader__wrapper{width:96px;height:96px}.logo-loader--medium .logo-loader__image{width:80px;height:80px}.logo-loader--medium .logo-loader__ring{width:96px;height:96px}}@media(min-width:1024px){.logo-loader--large .logo-loader__wrapper{width:140px;height:140px}.logo-loader--large .logo-loader__image{width:120px;height:120px}.logo-loader--large .logo-loader__ring{width:140px;height:140px}}@media(prefers-reduced-motion:reduce){.logo-loader__image{animation:none;transform:none}.logo-loader__ring{animation:ringPulse 2s ease-in-out infinite}.logo-loader__text{animation:none}}@media(max-width:480px){.logo-loader__image,.logo-loader__ring{animation-duration:1.8s}}.toast{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md) var(--spacing-lg);background:var(--bg-secondary);border:2px solid var(--bg-tertiary);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);min-width:300px;max-width:500px;animation:slideInRight .3s ease-out;position:relative;z-index:10000}@keyframes slideInRight{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}.toast-exiting{animation:slideOutRight .3s ease-out forwards}@keyframes slideOutRight{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(100%)}}.toast-icon{flex-shrink:0}.toast-success{border-color:var(--success-dark);background:var(--success)}.toast-success .toast-icon{color:var(--success-dark)}.toast-error{border-color:var(--error-dark);background:var(--error)}.toast-error .toast-icon{color:var(--error-dark)}.toast-warning{border-color:var(--warning-dark);background:var(--warning)}.toast-warning .toast-icon{color:var(--warning-dark)}.toast-info{border-color:var(--info-dark);background:var(--info)}.toast-info .toast-icon{color:var(--info-dark)}.toast-message{flex:1;font-size:.9375rem;font-weight:500;color:var(--text-primary);line-height:1.4}.toast-close{background:transparent;border:none;padding:var(--spacing-xs);cursor:pointer;color:var(--text-secondary);display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);transition:var(--transition);flex-shrink:0}.toast-close:hover{background:var(--bg-tertiary);color:var(--text-primary)}@media(max-width:767px){.toast{min-width:auto;max-width:calc(100vw - var(--spacing-xl));padding:var(--spacing-sm) var(--spacing-md)}.toast-message{font-size:.875rem}}.page-transition{width:100%;min-height:100%;animation:fadeIn .3s cubic-bezier(.4,0,.2,1);will-change:opacity;transform:translateZ(0);-webkit-transform:translateZ(0)}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media(max-width:480px){.page-transition{transition-duration:.12s}}@media(prefers-reduced-motion:reduce){.page-transition{transition:none}.page-transition--fadeIn,.page-transition--fadeOut{opacity:1;transform:none}}.bottom-nav{position:fixed;bottom:0;left:0;right:0;z-index:1000;min-height:calc(70px + env(safe-area-inset-bottom));padding-bottom:calc(10px + env(safe-area-inset-bottom));padding-top:8px;background:#ffffffd9;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-top:1px solid rgba(255,255,255,.5);box-shadow:0 -4px 20px #0000000d;display:none}.bottom-nav-container{display:flex;justify-content:space-around;align-items:flex-start;height:100%;max-width:600px;margin:0 auto}.bottom-nav .nav-item{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;color:var(--text-secondary);text-decoration:none;font-size:.7rem;font-weight:500;min-height:48px;gap:2px;transition:all .2s cubic-bezier(.4,0,.2,1);position:relative;text-align:center;padding:0 2px}.bottom-nav .nav-label{line-height:1.1;max-width:100%;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;word-wrap:break-word}.bottom-nav .nav-item.active{color:var(--primary)}.bottom-nav .nav-item .icon-container{position:relative;transition:transform .2s ease}.bottom-nav .nav-item.active .icon-container{transform:translateY(-2px)}.bottom-nav .nav-item.active:after{content:"";position:absolute;top:6px;right:25%;width:6px;height:6px;background-color:var(--primary);border-radius:50%;box-shadow:0 0 8px var(--primary-light)}.bottom-nav .fab-container{position:relative;top:-20px}.bottom-nav .fab-button{width:56px;height:56px;border-radius:50%;background:linear-gradient(135deg,var(--primary) 0%,var(--primary-light) 100%);color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 16px #6c5ce766,inset 0 2px 4px #ffffff4d;transition:transform .2s cubic-bezier(.34,1.56,.64,1);border:4px solid rgba(255,255,255,.9)}.bottom-nav .fab-button:active{transform:scale(.92)}@media(max-width:768px){.bottom-nav{display:block}}[data-theme=dark] .bottom-nav{background:#0f1016d9;border-top:1px solid rgba(255,255,255,.1)}[data-theme=dark] .bottom-nav .fab-button{border-color:#0f1016e6}.fab-menu{position:fixed;bottom:calc(85px + env(safe-area-inset-bottom));left:50%;transform:translate(-50%) scale(0);display:flex;flex-direction:column;gap:12px;transition:all .3s cubic-bezier(.4,0,.2,1);transform-origin:bottom center;opacity:0;pointer-events:none;z-index:1002;padding-bottom:10px}.fab-menu.open{transform:translate(-50%) scale(1);opacity:1;pointer-events:auto}.fab-menu-item{display:flex;align-items:center;gap:12px;padding:10px 16px;background:#fff;border-radius:20px;box-shadow:0 4px 15px #0000001a;text-decoration:none;color:var(--text-primary);font-weight:500;font-size:.9rem;white-space:nowrap;transition:transform .2s;min-width:160px}.fab-menu-item:active{transform:scale(.95)}.fab-menu-item.income{color:#10b981}.fab-menu-item.expense{color:#ef4444}[data-theme=dark] .fab-menu-item{background:var(--bg-secondary);color:var(--text-primary);box-shadow:0 4px 15px #0000004d;border:1px solid rgba(255,255,255,.1)}.fab-backdrop{position:fixed;inset:0;z-index:1001;animation:fadeIn .3s ease}.bottom-nav .fab-button.active,.bottom-nav .fab-button.active:hover,.bottom-nav .fab-button.active:focus{transform:rotate(45deg);background:#ef4444;box-shadow:none!important;border:none!important;outline:none}.accessibility-modal-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:2000;animation:fadeIn .2s ease;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.accessibility-modal{width:90%;max-width:500px;background:var(--bg-secondary);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);overflow:hidden;max-height:90vh;display:flex;flex-direction:column;animation:slideUp .3s ease}.accessibility-header{padding:var(--spacing-lg);border-bottom:1px solid var(--bg-tertiary);display:flex;align-items:center;justify-content:space-between}.accessibility-header h2{margin:0;font-size:1.5rem;color:var(--text-primary)}.accessibility-content{padding:var(--spacing-lg);overflow-y:auto;flex:1}.setting-group{margin-bottom:var(--spacing-xl);display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-md)}.setting-label{display:flex;gap:var(--spacing-md);flex:1}.setting-icon{font-size:1.5rem;color:var(--primary);flex-shrink:0;margin-top:4px}.setting-label h3{margin:0 0 4px;font-size:1.1rem;color:var(--text-primary)}.setting-label p{margin:0;font-size:.9rem;color:var(--text-secondary)}.segmented-control{background:var(--bg-tertiary);padding:4px;border-radius:var(--radius-md);display:flex;gap:4px}.segment-btn{padding:8px 16px;border:none;background:transparent;color:var(--text-secondary);border-radius:var(--radius-sm);cursor:pointer;font-weight:600;transition:all .2s ease;min-width:48px;display:flex;align-items:center;justify-content:center}.segment-btn.active{background:var(--bg-primary);color:var(--primary);box-shadow:var(--shadow-sm)}.switch{position:relative;display:inline-block;width:50px;height:28px;flex-shrink:0}.switch input{opacity:0;width:0;height:0}.slider{position:absolute;cursor:pointer;inset:0;background-color:var(--bg-tertiary);transition:.4s}.slider:before{position:absolute;content:"";height:20px;width:20px;left:4px;bottom:4px;background-color:#fff;transition:.4s;box-shadow:0 2px 4px #0003}input:checked+.slider{background-color:var(--primary)}input:checked+.slider:before{transform:translate(22px)}.slider.round{border-radius:34px}.slider.round:before{border-radius:50%}.accessibility-footer{padding:var(--spacing-lg);border-top:1px solid var(--bg-tertiary);display:flex;justify-content:space-between;background:var(--bg-secondary)}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}@media(max-width:768px){.setting-group{flex-direction:column;align-items:flex-start}.segmented-control,.switch{margin-left:48px;margin-top:var(--spacing-sm)}}.layout{min-height:100vh;display:flex;flex-direction:column}.layout svg{display:inline-block!important;vertical-align:middle;pointer-events:none;opacity:1!important;visibility:visible!important}.layout-header svg,.header-icon-btn svg,.user-menu-btn svg{color:#fff!important}.layout-header{background:linear-gradient(135deg,#6c5ce7,#4a3f8f);color:#fff;padding:var(--spacing-md);box-shadow:var(--shadow-md);position:sticky;top:0;z-index:100}.header-content{max-width:1400px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-sm)}.header-left{flex:1;min-width:0}.theme-toggle-btn{background:none;border:none;color:var(--text-primary);font-size:1.25rem;cursor:pointer;padding:.5rem;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:background-color .2s}.theme-toggle-btn:hover{background-color:#0000000d}.theme-toggle-sidebar{width:100%;margin-bottom:.5rem;background:none;border:none;cursor:pointer;color:var(--text-secondary)}.theme-toggle-sidebar:hover{background-color:#0000000d;color:var(--primary)}[data-theme=dark] .theme-toggle-btn:hover,[data-theme=dark] .theme-toggle-sidebar:hover{background-color:#ffffff1a}.header-brand{display:flex;align-items:center;gap:var(--spacing-sm)}.header-logo{flex-shrink:0;filter:brightness(1.1) drop-shadow(0 2px 4px rgba(0,0,0,.1));transition:transform .3s ease}.header-logo:hover{transform:scale(1.05)}.header-text{min-width:0}.app-title{font-size:1.25rem;font-weight:700;margin:0;color:#fff!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app-tagline{font-size:.75rem;margin:4px 0 0;opacity:.9;color:#fff!important;display:none}.header-actions{display:flex;align-items:center;gap:var(--spacing-sm)}.header-icon-btn{background:#ffffff26;color:#fff;width:40px;height:40px;border-radius:var(--radius-md);cursor:pointer;display:none;align-items:center;justify-content:center;transition:all .3s ease}.header-icon-btn:hover{background:#ffffff40;transform:translateY(-2px)}.news-button{position:relative}@keyframes pulse{0%,to{box-shadow:0 0 #fff6}50%{box-shadow:0 0 0 6px #fff0}}.news-button{transition:all .3s ease}.news-button:hover{background:#ffffff40;transform:translateY(-2px)}.user-menu{position:relative;display:none}.user-menu-btn{background:#ffffff26;color:#fff;width:40px;height:40px;border-radius:var(--radius-md);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s ease}.user-menu-btn:hover,.user-menu-btn.active{background:#ffffff40;transform:translateY(-2px)}.user-menu-dropdown{position:absolute;top:calc(100% + 8px);right:0;background:var(--bg-secondary);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);min-width:220px;overflow:hidden;z-index:1000;animation:slideDown .2s ease}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.menu-item{width:100%;display:flex;align-items:center;gap:var(--spacing-sm);padding:12px 16px;background:transparent;border:none;color:var(--text-primary);font-size:.95rem;cursor:pointer;transition:all .2s ease;text-align:left}.menu-item svg{flex-shrink:0}.menu-item:hover{background:var(--bg-tertiary)}.menu-item.logout{color:var(--error-dark)}.menu-item.logout:hover{background:var(--error);color:#fff}.menu-divider{height:1px;background:var(--bg-tertiary);margin:4px 0}.mobile-menu-toggle{display:flex;align-items:center;justify-content:center;background:#ffffff26;color:#fff;cursor:pointer;width:40px;height:40px;border-radius:var(--radius-md);transition:all .3s ease}.mobile-menu-toggle:hover{background:#ffffff40}.mobile-menu-toggle svg{color:#fff}.layout-nav{position:fixed;inset:0;background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border-right:var(--glass-border);transform:translate(-100%);transition:transform .3s ease;z-index:200;overflow-y:auto;display:flex;flex-direction:column}.layout-nav.mobile-open{transform:translate(0)}.mobile-nav-header{padding:var(--spacing-md) var(--spacing-lg);border-bottom:var(--glass-border);background:transparent;position:sticky;top:0;z-index:10}.mobile-nav-close-btn{display:flex;align-items:center;gap:var(--spacing-sm);padding:12px 16px;background-color:var(--primary);color:#fff;border:none;border-radius:var(--radius-md);cursor:pointer;font-size:1rem;font-weight:500;transition:all .3s ease;width:100%;justify-content:center}.mobile-nav-close-btn:hover{background-color:var(--primary-dark, #5a4fd4);transform:translateY(-2px);box-shadow:var(--shadow-md)}.mobile-nav-close-btn:active{transform:translateY(0)}.mobile-nav-close-btn:focus-visible{outline:2px solid var(--primary);outline-offset:2px;background-color:var(--primary-dark, #5a4fd4)}.mobile-nav-close-btn svg{flex-shrink:0;transition:transform .3s ease}.mobile-nav-close-btn:hover svg{transform:rotate(90deg)}.mobile-nav-close-text{transition:opacity .3s ease}.nav-list{padding:var(--spacing-xl);margin:0;list-style:none;display:flex;flex-direction:column;gap:var(--spacing-md);flex:1;overflow-y:auto;overflow-x:visible;padding-bottom:120px}.nav-link{display:flex;align-items:center;gap:var(--spacing-md);padding:16px 20px;border-radius:var(--radius-md);color:var(--text-secondary);font-weight:500;transition:all .3s ease;white-space:nowrap;background:transparent;border:none;font-size:1.125rem;cursor:pointer;text-decoration:none;position:relative}.nav-icon{flex-shrink:0;transition:transform .3s ease}.nav-label{transition:opacity .3s ease}.nav-link:hover{background-color:var(--secondary);color:var(--primary);transform:translate(4px)}.nav-link:hover .nav-icon{transform:scale(1.1)}.nav-link.active{background-color:var(--primary);color:#fff;box-shadow:var(--shadow-sm)}.logout-mobile{color:var(--error-dark)!important;margin-top:var(--spacing-md)}.logout-mobile:hover{background-color:var(--error)!important;color:#fff!important}.mobile-section-divider{padding:var(--spacing-md) var(--spacing-lg);margin-top:var(--spacing-md);border-top:1px solid var(--bg-tertiary)}.mobile-section-divider .section-label{font-size:.75rem;font-weight:600;text-transform:uppercase;color:var(--text-light);letter-spacing:.5px}.more-menu-container{position:relative;overflow:visible;display:flex;align-items:center}.more-btn{display:flex;align-items:center;gap:var(--spacing-sm)}.more-chevron{transition:transform .2s ease;margin-left:2px}.more-chevron.open{transform:rotate(180deg)}.more-dropdown{position:absolute;top:calc(100% + 8px);left:50%;background:var(--bg-secondary);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);min-width:220px;width:max-content;overflow:hidden;z-index:1001;animation:slideDown .2s ease;white-space:nowrap;transform-origin:top center;backface-visibility:hidden;-webkit-font-smoothing:antialiased}.more-dropdown-item{width:100%;display:flex;align-items:center;gap:var(--spacing-sm);padding:12px 16px;background:transparent;border:none;color:var(--text-primary);font-size:.95rem;cursor:pointer;transition:all .2s ease;text-align:left}.more-dropdown-item:hover{background:var(--bg-tertiary);color:var(--primary)}.more-dropdown-item svg{flex-shrink:0;color:var(--text-secondary);transition:color .2s ease}.more-dropdown-item:hover svg{color:var(--primary)}.layout-main{flex:1;max-width:1400px;width:100%;margin:0 auto;padding:var(--spacing-md);background-color:var(--bg-primary);min-height:calc(100vh - var(--header-height, 60px));transition:background-color .2s ease;position:relative;z-index:1}@media(max-width:767px){.layout-main{padding-bottom:calc(80px + env(safe-area-inset-bottom))}}.mobile-overlay{position:fixed;inset:0;background:#00000080;z-index:150;animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.desktop-only{display:none!important}.mobile-only{display:block}@media(min-width:768px){.mobile-only{display:none!important}.desktop-only{display:flex!important}.app-title{font-size:1.5rem}.app-tagline{display:block;font-size:.875rem}.mobile-menu-toggle{display:none}.header-icon-btn,.user-menu{display:flex}.layout-nav{position:sticky;inset:73px auto auto;transform:translate(0);background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border-bottom:var(--glass-border);box-shadow:var(--shadow-sm);z-index:99;overflow:visible}.nav-list{max-width:1400px;margin:0 auto;padding:var(--spacing-sm) var(--spacing-md);flex-direction:row;gap:var(--spacing-xs);justify-content:center;overflow-x:visible;overflow-y:visible}.nav-list .more-menu-container{overflow:visible}.nav-link{padding:12px 14px;font-size:1rem;position:relative;min-width:auto}.nav-link:hover{transform:translateY(-2px)}.nav-label{display:none}.nav-link:after{content:attr(title);position:absolute;bottom:-40px;left:50%;transform:translate(-50%) scale(.8);background:var(--text-primary);color:var(--bg-primary);padding:6px 12px;border-radius:var(--radius-sm);font-size:.875rem;white-space:nowrap;opacity:0;pointer-events:none;transition:all .2s ease;z-index:1000}.nav-link:hover:after{opacity:1;transform:translate(-50%) scale(1)}.more-btn{padding:12px 14px}.more-btn .nav-label,.more-chevron{display:none}.more-dropdown{left:auto;right:0;transform:none;animation:slideDownRight .2s ease}@keyframes slideDownRight{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.layout-main{padding:var(--spacing-lg) var(--spacing-md)}}@media(min-width:1024px){.app-title{font-size:1.75rem}.layout-header{padding:var(--spacing-lg) var(--spacing-xl)}.nav-list{padding:var(--spacing-md) var(--spacing-xl);gap:var(--spacing-sm)}.nav-link{padding:12px 20px;gap:var(--spacing-sm)}.nav-label{display:inline}.nav-link:after{display:none}.more-btn{padding:12px 20px;gap:var(--spacing-sm)}.more-btn .nav-label{display:inline}.more-chevron{display:block}.more-dropdown{left:auto;right:0;transform:none;animation:slideDownRight .2s ease}.nav-list .more-menu-container{overflow:visible}.layout-main{padding:var(--spacing-xl)}}@media(min-width:1200px){.nav-list{gap:var(--spacing-md)}.nav-link{padding:12px 24px}}.cookie-consent-banner{position:fixed;bottom:0;left:0;width:100%;background-color:var(--card-bg, #ffffff);color:var(--text-primary, #333333);box-shadow:0 -4px 10px #0000001a;padding:1rem;z-index:9999;border-top:1px solid var(--border-color, #e0e0e0);display:flex;justify-content:center;align-items:center;animation:slideUp .5s ease-out}.cookie-content{max-width:1200px;width:100%;display:flex;flex-direction:column;align-items:center;gap:1rem;text-align:center}@media(min-width:768px){.cookie-content{flex-direction:row;justify-content:space-between;text-align:left}}.cookie-message{font-size:.9rem;line-height:1.5;color:var(--text-secondary, #666666)}.cookie-message a{color:var(--primary-color, #0066cc);text-decoration:underline;cursor:pointer}.cookie-actions{display:flex;gap:1rem;flex-shrink:0}.cookie-btn{padding:.5rem 1.5rem;border-radius:4px;font-weight:500;font-size:.9rem;cursor:pointer;transition:all .2s ease;border:none}.cookie-btn-accept{background-color:var(--primary-color, #0066cc);color:#fff}.cookie-btn-accept:hover{opacity:.9;transform:translateY(-1px)}.cookie-btn-decline{background-color:transparent;border:1px solid var(--border-color, #cccccc);color:var(--text-secondary, #666666)}.cookie-btn-decline:hover{background-color:var(--bg-secondary, #f5f5f5)}@keyframes slideUp{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}.error-boundary{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg-primary);padding:var(--spacing-lg)}.error-content{max-width:600px;text-align:center;background:var(--bg-secondary);padding:var(--spacing-xl);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg)}.error-content h1{font-size:2rem;margin-bottom:var(--spacing-md);color:var(--text-primary)}.error-content p{font-size:1.0625rem;color:var(--text-secondary);margin-bottom:var(--spacing-xl)}.error-details{text-align:left;margin:var(--spacing-lg) 0;padding:var(--spacing-md);background:var(--bg-tertiary);border-radius:var(--radius-md);max-height:300px;overflow-y:auto}.error-details summary{cursor:pointer;font-weight:600;color:var(--error-dark);margin-bottom:var(--spacing-sm)}.error-details pre{font-size:.875rem;color:var(--text-secondary);white-space:pre-wrap;word-break:break-word;margin-top:var(--spacing-sm)}:root{--primary: #8e44ad;--primary-light: #a569bd;--primary-dark: #7d3c98;--primary-gradient: linear-gradient(135deg, #8e44ad 0%, #a569bd 100%);--secondary: #f4ecf7;--accent: #d2b4de;--glass-bg: rgba(255, 255, 255, .85);--glass-border: 1px solid rgba(0, 0, 0, .08);--glass-shadow: 0 8px 32px 0 rgba(31, 38, 135, .08);--glass-blur: blur(12px);--bg-primary: #fdfbfd;--bg-secondary: #ffffff;--bg-tertiary: #f5f5f5;--text-primary: #1e293b;--text-secondary: #475569;--text-light: #94a3b8;--success: #2ecc71;--success-dark: #27ae60;--error: #e74c3c;--error-dark: #c0392b;--warning: #f1c40f;--warning-dark: #f39c12;--info: #3498db;--info-dark: #2980b9;--shadow-sm: 0 2px 8px rgba(142, 68, 173, .05);--shadow-md: 0 4px 16px rgba(142, 68, 173, .08);--shadow-lg: 0 8px 30px rgba(142, 68, 173, .12);--radius-sm: 10px;--radius-md: 16px;--radius-lg: 24px;--radius-xl: 32px;--radius-full: 50%;--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 16px;--spacing-lg: 24px;--spacing-xl: 32px;--transition: all .3s cubic-bezier(.25, .8, .25, 1);--font-scale: 1}[data-font-size=large]{--font-scale: 1.15}[data-font-size=xl]{--font-scale: 1.3}[data-motion=reduced] *,[data-motion=reduced] *:before,[data-motion=reduced] *:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}*{margin:0;padding:0;box-sizing:border-box}html{font-size:calc(16px * var(--font-scale, 1));-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden;width:100%;max-width:100vw;overscroll-behavior-y:none}[data-contrast=high]{--border-width: 2px;--glass-border: 2px solid rgba(0, 0, 0, .4);--text-primary: #000000;--text-secondary: #000000;--bg-primary: #ffffff}[data-theme=dark][data-contrast=high]{--glass-border: 2px solid #ffffff;--text-primary: #ffffff;--text-secondary: #ffffff;--bg-primary: #000000}[data-contrast=high] .btn,[data-contrast=high] input,[data-contrast=high] .card{border:2px solid currentColor}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;background-color:var(--bg-primary);color:var(--text-primary);line-height:1.6;min-height:100vh;overflow-x:hidden;width:100%;max-width:100vw;overscroll-behavior-y:none;position:relative;transition:background-color .2s ease}html{background-color:var(--bg-primary);transition:background-color .2s ease}#root{background-color:var(--bg-primary);min-height:100vh;overflow-x:hidden;width:100%;max-width:100vw;transition:background-color .2s ease}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.3;color:var(--text-primary)}h1{font-size:2rem}h2{font-size:1.75rem}h3{font-size:1.5rem}h4{font-size:1.25rem}h5{font-size:1.125rem}h6{font-size:1rem}p{margin-bottom:var(--spacing-md);color:var(--text-secondary)}a{color:var(--primary);text-decoration:none;transition:var(--transition)}a:hover{color:var(--primary-dark)}button,.btn{padding:8px 16px;border:none;border-radius:var(--radius-sm);font-size:.875rem;font-weight:500;cursor:pointer;transition:var(--transition);display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-sm);font-family:inherit;white-space:nowrap}button svg,.btn svg,a.btn svg{display:inline-flex;align-items:center;justify-content:center;vertical-align:middle;flex-shrink:0;width:22px;height:22px;margin:0;padding:0}.btn-primary{background:linear-gradient(135deg,var(--primary) 0%,var(--primary-light) 100%);color:#fff;box-shadow:var(--shadow-sm)}.btn-primary:hover{background:linear-gradient(135deg,var(--primary-dark) 0%,var(--primary) 100%);transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-primary:active{transform:translateY(0);box-shadow:var(--shadow-sm)}.btn-secondary{background-color:var(--secondary);color:var(--primary)}.btn-secondary:hover{background-color:var(--primary-light);color:#fff}.btn-success{background-color:var(--success-dark);color:#fff}.btn-error{background-color:var(--error-dark);color:#fff}.btn-outline{background-color:transparent;border:2px solid var(--primary);color:var(--primary)}.btn-outline:hover{background-color:var(--primary);color:#fff}.btn-sm{padding:6px 12px;font-size:.8125rem;border-radius:var(--radius-sm)}.page-header .btn,.page-header button{padding:8px 16px;font-size:.875rem;max-width:fit-content}button svg,.btn svg,a.btn svg,button .icon,.btn .icon,a.btn .icon,button * svg,.btn * svg{animation:none!important;transform:none!important;transition:none!important}button:hover svg,.btn:hover svg,a.btn:hover svg,button:hover .icon,.btn:hover .icon,a.btn:hover .icon,button:hover * svg,.btn:hover * svg,button:focus svg,.btn:focus svg,button:active svg,.btn:active svg{animation:none!important;transform:none!important;transition:none!important}button:disabled{opacity:.6;cursor:not-allowed;transform:none!important}.form-group{margin-bottom:var(--spacing-lg)}label{display:block;margin-bottom:var(--spacing-sm);font-weight:500;color:var(--text-primary)}input:not([type=checkbox]):not([type=radio]),textarea,select{width:100%;padding:14px 18px;border:2px solid #e0e0e0;border-radius:var(--radius-md);font-size:1rem;font-family:inherit;transition:var(--transition);background-color:var(--bg-secondary);color:var(--text-primary);line-height:1.5;min-height:48px;-webkit-appearance:none;appearance:none}input[type=checkbox],input[type=radio]{width:auto;min-height:auto;padding:0;margin:0;-webkit-appearance:checkbox;appearance:checkbox;cursor:pointer;flex-shrink:0}input[type=radio]{-webkit-appearance:radio;appearance:radio}[data-theme=dark]{--primary: #8b7af0;--primary-light: #a394f4;--primary-dark: #6c5ce7;--secondary: #00b894;--secondary-light: #55efc4;--secondary-dark: #00cec9;--accent: #fd79a8;--bg-primary: #1a1b26;--bg-secondary: #0f1016;--bg-tertiary: #2d2e3a;--text-primary: #f5f6fa;--text-secondary: #b2bec3;--text-tertiary: #636e72;--card-bg: var(--bg-secondary);--card-border: rgba(255, 255, 255, .1);--card-shadow: 0 4px 6px rgba(0, 0, 0, .3);--glass-bg: rgba(30, 32, 45, .6);--glass-border: rgba(255, 255, 255, .08);--glass-shadow: 0 8px 32px 0 rgba(0, 0, 0, .5);--gradient-primary: linear-gradient(135deg, #6c5ce7 0%, #341f97 100%);--gradient-glass: linear-gradient(135deg, rgba(255, 255, 255, .05) 0%, rgba(255, 255, 255, .01) 100%)}label:has(input[type=checkbox]),label:has(input[type=radio]){cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;display:flex;align-items:center;gap:var(--spacing-sm)}@media(max-width:767px){input[type=checkbox],input[type=radio]{width:28px;height:28px;min-width:28px;min-height:28px;flex-shrink:0}label:has(input[type=checkbox]),label:has(input[type=radio]){min-height:48px;padding:var(--spacing-sm);gap:var(--spacing-md)}}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 4px #6c5ce726;transform:translateY(-1px);transition:var(--transition)}input[type=checkbox]:focus,input[type=radio]:focus{outline:2px solid var(--primary);outline-offset:2px;transform:none;box-shadow:none}input::placeholder,textarea::placeholder{color:var(--text-light)}.card{background-color:var(--bg-secondary);border-radius:var(--radius-lg);padding:var(--spacing-lg);box-shadow:var(--shadow-sm);transition:var(--transition);border:1px solid rgba(0,0,0,.02)}.glass-card{background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:var(--glass-border);box-shadow:var(--glass-shadow);border-radius:var(--radius-lg);transition:var(--transition)}.card:hover,.glass-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:#8e44ad33}.card-header{margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-md);border-bottom:2px solid var(--bg-tertiary)}.loading-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;gap:var(--spacing-md);background-color:var(--bg-primary);transition:background-color .2s ease;width:100%;position:relative}.page-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;gap:var(--spacing-md);padding:var(--spacing-xl);background-color:var(--bg-primary);transition:background-color .2s ease;width:100%}.spinner{width:48px;height:48px;border:4px solid var(--secondary, rgba(0, 0, 0, .1));border-top-color:var(--primary, #6c5ce7);border-right-color:var(--primary, #6c5ce7);border-bottom-color:var(--primary, #6c5ce7);border-left-color:var(--primary, #6c5ce7);border-radius:50%;animation:spinSmooth 1s cubic-bezier(.4,0,.2,1) infinite;transition:all .3s cubic-bezier(.4,0,.2,1);will-change:transform;transform:translateZ(0);-webkit-transform:translateZ(0)}@keyframes spinSmooth{0%{transform:rotate(0) translateZ(0)}to{transform:rotate(360deg) translateZ(0)}}.text-center{text-align:center}.text-right{text-align:right}.text-left{text-align:left}.mt-sm{margin-top:var(--spacing-sm)}.mt-md{margin-top:var(--spacing-md)}.mt-lg{margin-top:var(--spacing-lg)}.mb-sm{margin-bottom:var(--spacing-sm)}.mb-md{margin-bottom:var(--spacing-md)}.mb-lg{margin-bottom:var(--spacing-lg)}.flex{display:flex}.flex-center{display:flex;align-items:center;justify-content:center}.flex-between{display:flex;align-items:center;justify-content:space-between}.flex-column{flex-direction:column}.gap-sm{gap:var(--spacing-sm)}.gap-md{gap:var(--spacing-md)}.gap-lg{gap:var(--spacing-lg)}@media(min-width:768px){html{font-size:calc(17px * var(--font-scale, 1))}h1{font-size:2.5rem}}@media(min-width:1024px){html{font-size:calc(18px * var(--font-scale, 1))}h1{font-size:3rem}h2{font-size:2.25rem}}.page-header .btn,.page-header button{padding:10px 18px;font-size:.875rem;min-height:44px}.empty-state .btn{padding:12px 24px;font-size:.9375rem;min-height:48px}@media(min-width:768px){.page-header .btn,.page-header button{padding:8px 16px;font-size:.875rem;min-height:auto}input,textarea,select{padding:14px 18px;font-size:1.0625rem}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--primary);outline-offset:2px}
