.toast{position:fixed;bottom:24px;right:24px;padding:14px 20px;border-radius:var(--radius-md, 12px);display:flex;align-items:center;gap:12px;font-weight:600;z-index:2000;animation:toastSlideIn .3s ease;max-width:400px;font-size:.9rem;font-family:inherit}.toast-success{background-color:var(--bg-card);color:var(--success);border:1px solid var(--success);box-shadow:var(--shadow-md)}.toast-error{background-color:var(--bg-card);color:var(--danger);border:1px solid var(--danger);box-shadow:var(--shadow-md)}.toast-info{background-color:var(--bg-card);color:var(--info);border:1px solid var(--info);box-shadow:var(--shadow-md)}.toast-icon{font-weight:700;font-size:1.1rem}.toast-message{font-size:.9rem;color:var(--text-primary, #1d1d1f);font-weight:500}@keyframes toastSlideIn{0%{transform:translateY(100px);opacity:0}to{transform:translateY(0);opacity:1}}@media(max-width:768px){.toast{bottom:14px;right:14px;left:14px;max-width:none;padding:12px 16px}}@media(max-width:480px){.toast{bottom:10px;right:10px;left:10px;border-radius:var(--radius-sm, 8px);font-size:.85rem}}.login-container{position:relative;isolation:isolate;min-height:100vh;min-height:100svh;display:flex;justify-content:center;align-items:center;padding:24px;box-sizing:border-box;overflow:hidden;background:radial-gradient(circle at 18% 18%,rgba(var(--accent-rgb),.045),transparent 24%),radial-gradient(circle at 82% 12%,rgba(255,255,255,.02),transparent 18%),radial-gradient(circle at 50% 90%,rgba(var(--accent-rgb),.03),transparent 24%),var(--bg-primary);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif}[data-theme=light] .login-container{background:radial-gradient(circle at 18% 18%,rgba(var(--accent-rgb),.06),transparent 24%),radial-gradient(circle at 82% 12%,rgba(0,0,0,.02),transparent 18%),radial-gradient(circle at 50% 90%,rgba(var(--accent-rgb),.04),transparent 24%),var(--bg-primary)}.login-container:before,.login-container:after{content:"";position:absolute;inset:auto;pointer-events:none;z-index:0;border-radius:999px;filter:blur(24px);opacity:.7}.login-container:before{width:360px;height:360px;left:-120px;top:-120px;background:radial-gradient(circle,rgba(var(--accent-rgb),.07),transparent 68%)}.login-container:after{width:420px;height:420px;right:-150px;bottom:-170px;background:radial-gradient(circle,rgba(255,255,255,.03),transparent 66%)}.login-content{position:relative;z-index:1;width:100%;max-width:450px;display:flex;flex-direction:column;align-items:center;gap:28px;animation:pageFadeIn .7s cubic-bezier(.22,1,.36,1) both}.login-header{text-align:center;animation:headerReveal .72s cubic-bezier(.22,1,.36,1) both}.auth-logo{width:min(100%,320px);height:auto;display:block;margin:0 auto 12px;filter:drop-shadow(0 16px 30px rgba(0,0,0,.28));animation:logoFloat 6.5s ease-in-out infinite;transform-origin:center}[data-theme=light] .auth-logo{filter:drop-shadow(0 10px 22px rgba(0,0,0,.12))}.app-title{font-size:2.5rem;font-weight:700;color:var(--text-primary);margin:0 0 10px;letter-spacing:-1px}.app-tagline{max-width:28ch;margin:0 auto;color:var(--text-secondary);font-size:.98rem;font-weight:500;line-height:1.5;letter-spacing:.01em}[data-theme=light] .app-tagline{color:var(--text-secondary)}.login-box{position:relative;overflow:hidden;width:100%;max-width:400px;box-sizing:border-box;padding:40px;border-radius:calc(var(--radius-lg) + 4px);border:1px solid rgba(255,255,255,.08);background:linear-gradient(180deg,#1a1c22b8,#0f10159e);box-shadow:0 20px 54px #0000006b,0 0 0 1px #ffffff05,0 0 30px rgba(var(--accent-rgb),.05);backdrop-filter:blur(14px) saturate(130%);-webkit-backdrop-filter:blur(14px) saturate(130%);animation:cardReveal .78s cubic-bezier(.22,1,.36,1) both}[data-theme=light] .login-box{border:1px solid var(--border-light);background:linear-gradient(180deg,#fffffff5,#fcfcfdf0);box-shadow:0 18px 42px #00000014,0 0 0 1px #ffffffa6,0 0 22px rgba(var(--accent-rgb),.04);backdrop-filter:blur(10px) saturate(120%);-webkit-backdrop-filter:blur(10px) saturate(120%)}.login-box:before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:linear-gradient(135deg,rgba(255,255,255,.05),transparent 30%),radial-gradient(circle at top,rgba(var(--accent-rgb),.08),transparent 42%);opacity:.55}[data-theme=light] .login-box:before{background:linear-gradient(135deg,rgba(var(--accent-rgb),.04),transparent 34%),radial-gradient(circle at top,rgba(var(--accent-rgb),.06),transparent 44%);opacity:.65}.login-box:after{content:"";position:absolute;inset:1px;z-index:0;pointer-events:none;border-radius:inherit;background:linear-gradient(180deg,rgba(255,255,255,.02),transparent 18%);mask:linear-gradient(#000,#000) content-box,linear-gradient(#000,#000);-webkit-mask:linear-gradient(#000,#000) content-box,linear-gradient(#000,#000);padding:1px;opacity:.25}.login-box>form{position:relative;z-index:1}.login-box h2{position:relative;z-index:1;margin:0 0 28px;color:var(--text-primary);font-size:1.6rem;font-weight:700;text-align:center;letter-spacing:-.5px}[data-theme=light] .login-box h2{color:var(--text-primary)}.form-group{display:flex;flex-direction:column;margin-bottom:16px;transition:transform .2s ease}.form-group:focus-within{transform:translateY(-1px)}.login-box input{margin-bottom:8px;padding:13px 16px;border:1px solid rgba(255,255,255,.09);border-radius:12px;background-color:#ffffff0a;color:var(--text-primary);font-size:.95rem;transition:border-color .2s ease,box-shadow .2s ease,background-color .2s ease,transform .2s ease,color .2s ease;box-shadow:inset 0 1px #ffffff05;caret-color:var(--accent)}[data-theme=light] .login-box input{border:1px solid var(--border);background-color:var(--bg-input);box-shadow:inset 0 1px #ffffff8c}.login-box input::placeholder{color:var(--text-tertiary);opacity:.95}[data-theme=light] .login-box input::placeholder{color:#6e6e73e0}.login-box input:hover{border-color:rgba(var(--accent-rgb),.28);background-color:#ffffff0e}[data-theme=light] .login-box input:hover{background-color:var(--bg-card);border-color:rgba(var(--accent-rgb),.22)}.login-box input:focus{outline:none;border-color:rgba(var(--accent-rgb),.78);background-color:#ffffff13;box-shadow:0 0 0 4px rgba(var(--accent-rgb),.12),0 12px 24px #0000002e;transform:translateY(-1px)}[data-theme=light] .login-box input:focus{background-color:var(--bg-card);box-shadow:0 0 0 4px rgba(var(--accent-rgb),.1)}input:-webkit-autofill,input:-webkit-autofill:hover,input:-webkit-autofill:focus,textarea:-webkit-autofill,select:-webkit-autofill{-webkit-text-fill-color:var(--text-primary);transition:background-color 5000s ease-in-out 0s;box-shadow:0 0 0 1000px var(--bg-input) inset}[data-theme=light] input:-webkit-autofill,[data-theme=light] input:-webkit-autofill:hover,[data-theme=light] input:-webkit-autofill:focus,[data-theme=light] textarea:-webkit-autofill,[data-theme=light] select:-webkit-autofill{box-shadow:0 0 0 1000px var(--bg-input) inset}.login-box input.input-error{border-color:#f44336b3;background-color:#f4433614}.login-box input.input-error:focus{border-color:#f44336f2;box-shadow:0 0 0 4px #f4433624}.error-message{display:block;margin-top:4px;margin-bottom:8px;color:var(--danger);font-size:.8rem;font-weight:500}.match-message,.mismatch-message{display:block;margin-top:4px;margin-bottom:8px;font-size:.8rem;font-weight:500}.match-message{color:#34d399}.mismatch-message{color:var(--danger)}.password-strength{display:flex;align-items:center;gap:8px;margin-top:2px;margin-bottom:12px}.strength-label{color:var(--text-secondary);font-size:.85rem;font-weight:500}.strength-badge{padding:4px 10px;border-radius:999px;color:#fff;font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.submit-btn{position:relative;overflow:hidden;width:100%;margin-bottom:20px;padding:13px 16px;border:none;border-radius:12px;background:linear-gradient(135deg,var(--accent) 0%,rgba(var(--accent-rgb),.84) 100%);color:#fff;font-size:1rem;font-weight:600;cursor:pointer;box-shadow:0 16px 30px rgba(var(--accent-rgb),.24),inset 0 1px #ffffff2e;transition:transform .2s ease,box-shadow .2s ease,filter .2s ease,background-color .2s ease}[data-theme=light] .submit-btn{box-shadow:0 14px 24px rgba(var(--accent-rgb),.18),inset 0 1px #ffffff38}[data-theme=light] .submit-btn:hover{box-shadow:0 18px 30px rgba(var(--accent-rgb),.22),0 0 0 1px rgba(var(--accent-rgb),.14),inset 0 1px #ffffff38}.submit-btn:before{content:"";position:absolute;inset:0 0 0 -120%;width:60%;background:linear-gradient(120deg,transparent,rgba(255,255,255,.34),transparent);transform:skew(-18deg);transition:left .55s ease;pointer-events:none}.submit-btn:hover{transform:translateY(-2px);filter:brightness(1.04);box-shadow:0 20px 38px rgba(var(--accent-rgb),.28),0 0 0 1px rgba(var(--accent-rgb),.18),inset 0 1px #fff3}.submit-btn:hover:before{left:140%}.submit-btn:active{transform:translateY(0) scale(.99);box-shadow:0 12px 24px rgba(var(--accent-rgb),.2),inset 0 1px #ffffff24}.submit-btn:disabled{cursor:not-allowed;opacity:.72;transform:none;filter:none;box-shadow:0 12px 24px rgba(var(--accent-rgb),.18),inset 0 1px #ffffff1f}.toggle-link{display:block;width:100%;padding:8px 0;color:var(--text-secondary);font-size:.95rem;text-align:center}[data-theme=light] .toggle-link{color:var(--text-secondary)}.toggle-link-underline{display:inline-block;padding:4px 8px;border-radius:999px;color:var(--accent);font-weight:600;text-decoration:none;cursor:pointer;transition:color .2s ease,background-color .2s ease,transform .2s ease}.toggle-link-underline:hover{background-color:rgba(var(--accent-rgb),.08);color:var(--accent-hover);transform:translateY(-1px)}.toggle-link-underline:focus-visible{outline:2px solid rgba(var(--accent-rgb),.35);outline-offset:2px}@keyframes pageFadeIn{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes headerReveal{0%{opacity:0;transform:translateY(10px) scale(.99)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes cardReveal{0%{opacity:0;transform:translateY(18px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes logoFloat{0%,to{transform:translateZ(0)}50%{transform:translate3d(0,-4px,0)}}.alert{position:fixed;top:20px;right:20px;padding:16px 20px;border-radius:var(--radius-sm);border:1px solid;display:flex;align-items:center;gap:12px;max-width:400px;box-shadow:var(--shadow-lg);animation:slideIn .3s ease;z-index:1000;background:var(--bg-card)}.alert-error{border-color:var(--danger)}.alert-success{border-color:var(--success)}.alert-message{color:var(--text-primary);font-size:.95rem;flex:1;font-weight:500}.alert-error .alert-message{color:var(--danger)}.alert-success .alert-message{color:var(--success)}.alert-close{background:none;border:none;color:var(--text-tertiary);font-size:1.2rem;cursor:pointer;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center}@media(max-width:480px){.login-container{padding:20px 16px}.login-content{gap:22px}.auth-logo{width:min(100%,260px);margin-bottom:10px}.app-title{font-size:2rem}.app-tagline{font-size:.95rem}.login-box{padding:28px 22px}.login-box h2{font-size:1.4rem;margin-bottom:24px}}@media(prefers-reduced-motion:reduce){.login-content,.login-header,.login-box,.auth-logo,.form-group,.submit-btn,.submit-btn:before,.toggle-link-underline{animation:none!important;transition-duration:.01ms!important;transition-delay:0ms!important}.auth-logo{transform:none}.submit-btn:before{display:none}}.notfound-container{min-height:100vh;display:grid;place-items:center;background:var(--bg-primary, #f5f5f7);padding:1.5rem}.notfound-card{text-align:center;background:var(--bg-card, #ffffff);padding:48px 40px;border-radius:var(--radius-lg, 16px);box-shadow:var(--shadow-md, 0 4px 12px rgba(0,0,0,.08));border:1px solid var(--border-light, #e8e8ed);max-width:440px;width:100%}.notfound-code{display:block;font-size:5rem;font-weight:800;color:var(--border, #d2d2d7);line-height:1;margin-bottom:12px;letter-spacing:-2px}.notfound-title{font-size:1.5rem;font-weight:700;color:var(--text-primary, #1d1d1f);margin:0 0 10px}.notfound-text{font-size:.95rem;color:var(--text-secondary, #6e6e73);margin:0 0 28px;line-height:1.5}.notfound-link{display:inline-block;padding:10px 24px;background:var(--accent, #0071e3);color:#fff;border-radius:var(--radius-sm, 8px);text-decoration:none;font-weight:600;font-size:.9rem;transition:all .2s ease}.notfound-link:hover{background:var(--accent-hover, #0077ed);transform:translateY(-1px);box-shadow:0 4px 12px rgba(var(--accent-rgb),.25)}@media(max-width:480px){.notfound-card{padding:32px 24px}.notfound-code{font-size:3.5rem}.notfound-title{font-size:1.25rem}}@keyframes sidebarReveal{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:translate(0)}}@keyframes sidebarItemReveal{0%{opacity:0;transform:translate(-12px)}to{opacity:1;transform:translate(0)}}.sidebar{position:fixed;left:0;top:0;height:100vh;height:100dvh;width:280px;background:linear-gradient(180deg,var(--bg-card),var(--bg-elevated));color:var(--text-primary);display:flex;flex-direction:column;box-sizing:border-box;z-index:1000;overflow-y:auto;overflow-x:hidden;transition:width .42s cubic-bezier(.22,1,.36,1),box-shadow .42s cubic-bezier(.22,1,.36,1),transform .42s cubic-bezier(.22,1,.36,1);will-change:width,transform;box-shadow:0 14px 34px #0000000a,1px 0 0 var(--border-light);border-right:1px solid rgba(0,0,0,.04);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif}.sidebar *,.sidebar *:before,.sidebar *:after{box-sizing:border-box}.sidebar.collapsed{width:72px}.sidebar.expanded{width:260px}.sidebar-header{display:flex;align-items:center;gap:12px;padding:20px 16px;border-bottom:1px solid rgba(var(--accent-rgb),.1);min-height:64px;flex-shrink:0;position:relative;z-index:1;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.brand-lockup{display:flex;align-items:center;gap:10px;min-width:0;flex:1 1 auto;overflow:hidden}.brand-icon{width:auto;height:30px;display:block;flex-shrink:0;object-fit:contain}.toggle-btn{width:38px;height:38px;border:1px solid rgba(var(--accent-rgb),.12);background:linear-gradient(180deg,var(--bg-card),var(--bg-elevated));color:var(--text-secondary);border-radius:var(--radius-sm);cursor:pointer;font-size:18px;display:flex;align-items:center;justify-content:center;transition:all .2s ease;flex-shrink:0}.toggle-btn:hover{background:linear-gradient(180deg,rgba(var(--accent-rgb),.08),rgba(var(--accent-rgb),.04));color:var(--text-primary);border-color:rgba(var(--accent-rgb),.18);box-shadow:0 8px 16px rgba(var(--accent-rgb),.08)}.toggle-btn:active{transform:scale(.95)}.close-btn{width:36px;height:36px;border:none;background:rgba(var(--accent-rgb),.06);color:var(--text-secondary);border-radius:var(--radius-sm);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;flex-shrink:0}.close-btn:hover{background:rgba(var(--accent-rgb),.12);color:var(--text-primary)}.close-btn:active{transform:scale(.95)}.close-btn svg{width:18px;height:18px}.logo-text{font-size:17px;font-weight:700;white-space:nowrap;display:inline-block;max-width:180px;overflow:hidden;transition:opacity .28s ease,transform .28s ease,max-width .42s cubic-bezier(.22,1,.36,1);color:var(--text-primary);letter-spacing:-.5px}.sidebar.collapsed .logo-text{opacity:0;transform:translate(-8px);max-width:0;pointer-events:none;transition-delay:.1s}.sidebar.expanded .logo-text{opacity:1;transform:translate(0);max-width:180px;transition-delay:0s}.sidebar.collapsed .brand-lockup{justify-content:flex-start}.sidebar-nav{flex:1;overflow-y:auto;min-height:0;padding:12px 0 16px;position:relative;z-index:1}.nav-item{display:flex;align-items:center;gap:12px;padding:12px 14px;color:var(--text-secondary);text-decoration:none;transition:transform .22s ease,background .22s ease,color .22s ease,box-shadow .22s ease,border-color .22s ease;position:relative;margin:2px 8px;border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:14px;font-weight:500;background:linear-gradient(180deg,transparent,rgba(var(--accent-rgb),.02));border:1px solid transparent}.sidebar.sidebar-intro .nav-item{animation:sidebarItemReveal .35s ease both;animation-delay:var(--item-delay, 0ms)}.nav-item:before{display:none}.sidebar.collapsed .nav-item{width:calc(100% - 12px);justify-content:flex-start;gap:12px;padding:12px 14px;margin:2px 6px;min-height:48px;align-self:stretch}.nav-item:hover{background:linear-gradient(180deg,rgba(var(--accent-rgb),.08),rgba(var(--accent-rgb),.04));color:var(--text-primary);border-color:rgba(var(--accent-rgb),.12);box-shadow:0 8px 18px rgba(var(--accent-rgb),.06);transform:translate(2px)}.nav-item:active{transform:scale(.98)}.nav-item.active{background:linear-gradient(135deg,rgba(var(--accent-rgb),.14),rgba(var(--accent-rgb),.06));color:var(--accent);font-weight:600;border-color:rgba(var(--accent-rgb),.18);box-shadow:0 10px 22px rgba(var(--accent-rgb),.08)}.sidebar.collapsed .nav-item.active{border-radius:var(--radius-sm)}.sidebar.collapsed .nav-item.active:after{display:none}.nav-item.active:after{content:"";position:absolute;left:0;top:14px;bottom:14px;width:3px;border-radius:999px;background:linear-gradient(180deg,var(--accent),rgba(var(--accent-rgb),.5))}.nav-icon{width:26px;height:26px;min-width:26px;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:transform .2s ease}.nav-icon-svg{display:block;overflow:visible;width:22px;height:22px;transition:transform .22s ease,color .22s ease}.nav-item:hover .nav-icon{transform:translate(1px) scale(1.04)}.nav-label{font-size:14px;font-weight:500;display:inline-block;max-width:180px;overflow:hidden;transition:opacity .14s ease,transform .14s ease,max-width .14s ease,visibility 0s linear .14s}.sidebar.collapsed .nav-label{width:0;min-width:0;opacity:0;transform:translate(-4px);max-width:0;visibility:hidden;pointer-events:none;transition-delay:0s}.sidebar.expanded .nav-label{opacity:1;transform:translate(0);max-width:180px;visibility:visible;transition-delay:0s}.sidebar-footer{flex-shrink:0;padding:12px 8px;border-top:1px solid rgba(var(--accent-rgb),.1);margin-top:auto;position:relative;z-index:1}.logout-btn{display:flex;align-items:center;gap:12px;width:100%;padding:11px 14px;background:linear-gradient(180deg,transparent,rgba(var(--accent-rgb),.02));color:var(--danger);border:none;border-radius:var(--radius-sm);cursor:pointer;font-size:14px;font-weight:500;transition:transform .22s ease,background .22s ease,box-shadow .22s ease,color .22s ease;white-space:nowrap;position:relative;overflow:hidden}.sidebar.collapsed .logout-btn{width:calc(100% - 12px);margin:0 6px;padding:11px 14px;display:flex;justify-content:flex-start;gap:12px;min-height:48px}.logout-icon{width:22px;height:22px;flex-shrink:0;transition:transform .2s ease}.logout-label{display:inline-block;max-width:180px;overflow:hidden;transition:opacity .14s ease,transform .14s ease,max-width .14s ease,visibility 0s linear .14s}.sidebar.collapsed .logout-label{width:0;min-width:0;opacity:0;transform:translate(-4px);max-width:0;visibility:hidden;pointer-events:none;transition-delay:0s}.sidebar.expanded .logout-label{opacity:1;transform:translate(0);max-width:180px;visibility:visible;transition-delay:0s}.logout-btn:before{display:none}.logout-btn:hover{background:linear-gradient(180deg,#ff3b3014,#ff3b300a);color:var(--danger);box-shadow:0 8px 18px #ff3b3012}.logout-btn:active{transform:scale(.98)}.logout-btn:hover .logout-icon{transform:translate(3px)}.sidebar-nav::-webkit-scrollbar{width:4px}.sidebar-nav::-webkit-scrollbar-track{background:transparent}.sidebar-nav::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px}.sidebar-nav::-webkit-scrollbar-thumb:hover{background:var(--text-tertiary)}.sidebar-overlay{position:fixed;inset:0;background:#0f0f0f38;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:999;opacity:0;visibility:hidden;transition:opacity .35s cubic-bezier(.22,1,.36,1),visibility .35s cubic-bezier(.22,1,.36,1)}.sidebar-overlay.active{opacity:1;visibility:visible}.desktop-only{display:flex}.mobile-only{display:none}@media(max-width:900px){.sidebar{width:300px;transform:translate(-100%);transition:transform .42s cubic-bezier(.22,1,.36,1),box-shadow .42s cubic-bezier(.22,1,.36,1);z-index:1001;border-radius:0 var(--radius-lg) var(--radius-lg) 0;box-shadow:0 24px 40px #0000001f}.sidebar.collapsed,.sidebar.expanded{width:300px}.sidebar.mobile-open{transform:translate(0);box-shadow:10px 0 34px #00000024}.desktop-only{display:none!important}.mobile-only{display:flex}.sidebar-header{justify-content:space-between;padding:16px 20px}.brand-lockup{gap:12px}.sidebar.mobile-open .sidebar-header{justify-content:space-between}.brand-icon{height:30px}.logo-text{font-size:18px;font-weight:700}.nav-item{margin:0 12px;padding:14px 18px;border-radius:var(--radius-sm);font-size:15px}.sidebar.mobile-open .nav-item{justify-content:flex-start;padding:14px 18px}.sidebar.mobile-open .logo-text,.sidebar.mobile-open .nav-label,.sidebar.mobile-open .logout-label{display:inline;opacity:1;width:auto;min-width:0;max-width:none;transform:none;visibility:visible;pointer-events:auto;overflow:visible}.logout-btn{margin:0 12px;padding:14px 18px;border-radius:var(--radius-sm);font-size:15px}.sidebar-footer{padding:12px 8px}}@media(max-width:640px){.sidebar,.sidebar.collapsed,.sidebar.expanded{width:85vw;max-width:300px;min-width:260px}.sidebar-header{padding:16px 14px}.brand-lockup{gap:8px}.brand-icon{height:28px}.nav-item{margin:0 8px;padding:12px 14px;font-size:14px}.sidebar.mobile-open .nav-item{padding:12px 14px}.logout-btn{margin:0 8px;padding:12px 14px;font-size:14px}.sidebar-footer{padding:10px 8px}.logo-text{font-size:16px}}@media(hover:none)and (pointer:coarse){.nav-item:hover{background:transparent}.nav-item:active{background:rgba(var(--accent-rgb),.06);transform:scale(.98)}.logout-btn:hover{background:transparent}.logout-btn:active{background:#ff3b3014;transform:scale(.98)}}@media(prefers-reduced-motion:reduce){.sidebar,.sidebar-header,.nav-item,.toggle-btn,.close-btn,.logout-btn,.nav-icon,.logout-icon,.sidebar-overlay{animation:none!important;transition-duration:.01ms!important;transition-delay:0ms!important}}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html,body,#root{height:100%}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Helvetica Neue,sans-serif;background-color:var(--bg-primary);background-image:radial-gradient(circle at top,rgba(var(--accent-rgb),.035),transparent 34%),radial-gradient(circle at bottom left,rgba(255,255,255,.02),transparent 30%);background-repeat:no-repeat;background-attachment:fixed;color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{background-color:var(--bg-primary);background-image:linear-gradient(180deg,rgba(255,255,255,.01),transparent 18%),radial-gradient(circle at 50% 0%,rgba(var(--accent-rgb),.02),transparent 30%);background-repeat:no-repeat}.route-transition-shell{min-height:100%;width:100%;transform-origin:center top}.route-transition-shell.route-enter{animation:route-page-enter .34s cubic-bezier(.22,1,.36,1) both;will-change:opacity,transform,filter}.route-transition-shell.route-exit{animation:route-page-exit .22s ease both;will-change:opacity,transform,filter}.route-transition-shell.route-idle{will-change:auto}:root{--bg-primary: #f5f5f7;--bg-card: #ffffff;--bg-input: #f5f5f7;--bg-elevated: #fcfcfd;--bg-accent-soft: rgba(0, 113, 227, .08);--bg-info-soft: rgba(0, 122, 255, .08);--bg-warning-soft: rgba(255, 159, 10, .08);--bg-danger-soft: rgba(255, 59, 48, .08);--text-primary: #1d1d1f;--text-secondary: #6e6e73;--text-tertiary: #86868b;--border: #d2d2d7;--border-light: #e8e8ed;--accent: #0071e3;--accent-hover: #0077ed;--accent-rgb: 0, 113, 227;--success: #34c759;--warning: #ff9f0a;--danger: #ff3b30;--info: #007aff;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .06);--shadow-md: 0 4px 12px rgba(0, 0, 0, .08);--shadow-lg: 0 8px 30px rgba(0, 0, 0, .12);--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px}[data-theme=dark]{--bg-primary: #0f0f0f;--bg-card: #1a1a1a;--bg-input: #262626;--bg-elevated: #202020;--bg-accent-soft: rgba(79, 195, 247, .14);--bg-info-soft: rgba(33, 150, 243, .16);--bg-warning-soft: rgba(255, 152, 0, .16);--bg-danger-soft: rgba(244, 67, 54, .16);--text-primary: #ffffff;--text-secondary: #b3b3b3;--text-tertiary: #808080;--border: #333333;--border-light: #2a2a2a;--accent: #4fc3f7;--accent-hover: #81d4fa;--accent-rgb: 79, 195, 247;--success: #4caf50;--warning: #ff9800;--danger: #f44336;--info: #2196f3;--shadow-sm: 0 2px 6px rgba(0, 0, 0, .4);--shadow-md: 0 4px 15px rgba(0, 0, 0, .5);--shadow-lg: 0 8px 30px rgba(0, 0, 0, .6)}.theme-switching,.theme-switching *,.theme-switching *:before,.theme-switching *:after{transition:none!important}@keyframes route-page-enter{0%{opacity:0;transform:translate3d(0,18px,0) scale(.992);filter:blur(8px)}to{opacity:1;transform:translateZ(0) scale(1);filter:blur(0)}}@keyframes route-page-exit{0%{opacity:1;transform:translateZ(0) scale(1);filter:blur(0)}to{opacity:0;transform:translate3d(0,-14px,0) scale(.996);filter:blur(6px)}}@media(prefers-reduced-motion:reduce){.route-transition-shell{will-change:auto}.route-transition-shell.route-enter,.route-transition-shell.route-exit{animation:none}}.route-loading-shell{display:flex;justify-content:center;align-items:center;min-height:100vh;width:100%}.route-loading-icon{width:56px;height:56px;object-fit:contain;animation:route-loading-pulse 1.8s ease-in-out infinite;transform-origin:center;filter:drop-shadow(0 6px 16px rgba(0,0,0,.12))}.page-loading-state{display:flex;justify-content:center;align-items:center;min-height:100vh;width:100%}@keyframes route-loading-pulse{0%,to{opacity:.42;transform:scale(.97)}50%{opacity:1;transform:scale(1.03)}}@media(prefers-reduced-motion:reduce){.route-loading-icon{animation:none;opacity:.9;transform:none}}@media(max-width:768px){.app-main-content :is(.dashboard-container,.analytics-container,.reports-container,.subscriptions-container,.settings-container) .mobile-menu-btn{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;flex-shrink:0;padding:0;border:1px solid rgba(var(--accent-rgb),.16);border-radius:14px;background:linear-gradient(180deg,var(--bg-card),var(--bg-elevated));color:var(--accent);font-size:1rem;line-height:1;box-shadow:var(--shadow-sm);cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,background-color .2s ease,border-color .2s ease,color .2s ease}.app-main-content :is(.dashboard-container,.analytics-container,.reports-container,.subscriptions-container,.settings-container) .mobile-menu-btn:hover{background:var(--bg-input);border-color:rgba(var(--accent-rgb),.24);color:var(--text-primary);box-shadow:var(--shadow-md);transform:translateY(-1px)}.app-main-content :is(.dashboard-container,.analytics-container,.reports-container,.subscriptions-container,.settings-container) .mobile-menu-btn:active{transform:scale(.97)}.app-main-content :is(.dashboard-container,.analytics-container,.reports-container,.subscriptions-container,.settings-container) .mobile-menu-btn:focus-visible{outline:2px solid rgba(var(--accent-rgb),.35);outline-offset:2px}}
