.app-layout[data-v-f0ef2fb2]{height:100vh;min-height:100vh;display:flex;position:relative;overflow:hidden}@supports (height:100svh){.app-layout[data-v-f0ef2fb2]{height:100svh;min-height:100svh}}.sidebar[data-v-f0ef2fb2]{width:var(--sidebar-width);background:var(--bg-sidebar);border-right:1px solid var(--border-color);z-index:100;transition:width var(--transition-normal), transform var(--transition-normal);flex-direction:column;display:flex;position:fixed;top:0;bottom:0;left:0}.sidebar.collapsed[data-v-f0ef2fb2]{width:var(--sidebar-collapsed)}.sidebar.collapsed .nav-item[data-v-f0ef2fb2]{justify-content:center;padding:12px}.sidebar.collapsed .sidebar-footer[data-v-f0ef2fb2]{padding:12px}@media (width<=1024px){.sidebar[data-v-f0ef2fb2]{width:280px;box-shadow:var(--shadow-xl);transform:translate(-100%)}.mobile-open .sidebar[data-v-f0ef2fb2]{transform:translate(0)}}.sidebar-header[data-v-f0ef2fb2]{border-bottom:1px solid var(--border-light);justify-content:space-between;align-items:center;min-height:65px;padding:16px 20px;display:flex;position:relative}.collapsed .sidebar-header[data-v-f0ef2fb2]{justify-content:center;padding:16px 12px}.logo[data-v-f0ef2fb2]{cursor:pointer;transition:transform var(--transition-fast);align-items:center;gap:12px;display:flex}.logo[data-v-f0ef2fb2]:active{transform:scale(.97)}.logo-icon svg[data-v-f0ef2fb2]{width:36px;height:36px}.logo-text[data-v-f0ef2fb2]{background:var(--primary-gradient);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:1.2rem;font-weight:700}.collapse-btn[data-v-f0ef2fb2]{border-radius:var(--radius-sm);width:28px;height:28px;color:var(--text-tertiary);transition:all var(--transition-fast);border:1px solid #0000;justify-content:center;align-items:center;display:flex}.collapse-btn svg[data-v-f0ef2fb2]{width:16px;height:16px}.collapse-btn[data-v-f0ef2fb2]:hover{background:var(--bg-hover);color:var(--primary)}.collapsed .collapse-btn[data-v-f0ef2fb2]{background:var(--bg-sidebar);border-color:var(--border-color);box-shadow:var(--shadow-md);color:var(--text-secondary);position:absolute;top:18px;right:-14px}.collapsed .collapse-btn[data-v-f0ef2fb2]:hover{background:var(--bg-hover);border-color:var(--primary-light);color:var(--primary)}@media (width<=1024px){.collapse-btn[data-v-f0ef2fb2]{display:none}}.sidebar-nav[data-v-f0ef2fb2]{flex-direction:column;flex:1;gap:4px;padding:12px;display:flex;overflow-y:auto}.nav-item[data-v-f0ef2fb2]{border-radius:var(--radius-md);color:var(--text-secondary);transition:all var(--transition-fast);transition:transform var(--transition-fast);align-items:center;gap:12px;padding:12px 16px;display:flex;position:relative}.nav-item[data-v-f0ef2fb2]:active{transform:scale(.97)}.nav-item[data-v-f0ef2fb2]:hover{background:var(--bg-hover);color:var(--primary)}.nav-item.active[data-v-f0ef2fb2]{background:var(--bg-active);color:var(--primary);font-weight:600}.nav-item.active[data-v-f0ef2fb2]:before{content:"";background:var(--primary);border-radius:var(--radius-full);width:3px;height:20px;position:absolute;top:50%;left:0;transform:translateY(-50%)}.nav-icon[data-v-f0ef2fb2]{flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;display:flex}.nav-icon[data-v-f0ef2fb2] svg{width:100%;height:100%}.nav-label[data-v-f0ef2fb2]{white-space:nowrap;font-size:.9rem}.sidebar-footer[data-v-f0ef2fb2]{border-top:1px solid var(--border-light);padding:16px 20px}.storage-info[data-v-f0ef2fb2]{margin-bottom:16px}.storage-header[data-v-f0ef2fb2]{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.storage-label[data-v-f0ef2fb2]{color:var(--text-tertiary);font-size:.75rem}.storage-value[data-v-f0ef2fb2]{color:var(--text-secondary);font-size:.75rem;font-weight:500}.storage-bar[data-v-f0ef2fb2]{background:var(--bg-tertiary);border-radius:var(--radius-full);height:4px;overflow:hidden}.storage-fill[data-v-f0ef2fb2]{background:var(--primary-gradient);border-radius:var(--radius-full);height:100%;transition:width var(--transition-slow)}.user-info[data-v-f0ef2fb2]{border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);align-items:center;gap:12px;padding:8px;display:flex}.user-info[data-v-f0ef2fb2]:hover{background:var(--bg-hover)}.user-avatar[data-v-f0ef2fb2]{border-radius:var(--radius-full);background:var(--primary-gradient);color:#fff;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:.9rem;font-weight:700;display:flex;overflow:hidden}.avatar-image[data-v-f0ef2fb2]{object-fit:cover;width:100%;height:100%}.user-name[data-v-f0ef2fb2]{font-size:.85rem;font-weight:600;display:block}.user-role[data-v-f0ef2fb2]{color:var(--text-tertiary);font-size:.7rem}.main-area[data-v-f0ef2fb2]{margin-left:var(--sidebar-width);transition:margin-left var(--transition-normal);flex-direction:column;flex:1;height:100%;min-height:0;display:flex;overflow:hidden}.sidebar-collapsed .main-area[data-v-f0ef2fb2]{margin-left:var(--sidebar-collapsed)}@media (width<=1024px){.main-area[data-v-f0ef2fb2]{margin-left:0!important}}.top-header[data-v-f0ef2fb2]{height:var(--header-height);background:var(--bg-primary);border-bottom:1px solid var(--border-color);z-index:50;justify-content:space-between;align-items:center;gap:16px;padding:0 24px;display:flex;position:sticky;top:0}@media (width<=640px){.top-header[data-v-f0ef2fb2]{padding:0 16px}}.header-title h1[data-v-f0ef2fb2]{color:var(--text-primary);font-size:1.15rem;font-weight:700}@media (width<=640px){.header-title h1[data-v-f0ef2fb2]{font-size:1rem}}.header-actions[data-v-f0ef2fb2]{align-items:center;gap:8px;display:flex}.search-box[data-v-f0ef2fb2]{align-items:center;display:flex;position:relative}@media (width<=640px){.search-box[data-v-f0ef2fb2]{display:none}}.search-icon[data-v-f0ef2fb2]{width:16px;height:16px;color:var(--text-tertiary);pointer-events:none;transition:color var(--transition-fast);position:absolute;left:12px}.search-input[data-v-f0ef2fb2]{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-full);width:200px;color:var(--text-primary);transition:all var(--transition-normal);padding:8px 12px 8px 36px;font-size:.85rem}.search-input[data-v-f0ef2fb2]::placeholder{color:var(--text-tertiary)}.search-input.focused[data-v-f0ef2fb2]{border-color:var(--primary);width:280px;box-shadow:0 0 0 3px #f973161a}.search-input.focused+.search-icon[data-v-f0ef2fb2]{color:var(--primary)}.header-btn[data-v-f0ef2fb2]{border-radius:var(--radius-full);width:36px;height:36px;color:var(--text-secondary);transition:all var(--transition-fast);justify-content:center;align-items:center;display:flex;position:relative}.header-btn svg[data-v-f0ef2fb2]{width:18px;height:18px}.header-btn[data-v-f0ef2fb2]:hover{background:var(--bg-hover);color:var(--primary)}.notification-wrapper[data-v-f0ef2fb2]{position:relative}.notification-badge[data-v-f0ef2fb2]{background:var(--danger);color:#fff;border:2px solid var(--bg-primary);border-radius:999px;justify-content:center;align-items:center;min-width:18px;height:18px;padding:0 5px;font-size:.65rem;font-weight:700;display:inline-flex;position:absolute;top:2px;right:1px}.notification-panel[data-v-f0ef2fb2]{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);width:min(360px,100vw - 32px);max-height:420px;box-shadow:var(--shadow-xl);z-index:120;padding:14px;position:absolute;top:calc(100% + 10px);right:0;overflow:auto}.notification-panel-header[data-v-f0ef2fb2]{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.notification-panel-header h3[data-v-f0ef2fb2]{font-size:.95rem;font-weight:700}.notification-mark-all[data-v-f0ef2fb2]{color:var(--primary);border-radius:var(--radius-sm);transition:all var(--transition-fast);padding:4px 8px;font-size:.75rem}.notification-mark-all[data-v-f0ef2fb2]:hover:not(:disabled){background:var(--bg-hover)}.notification-mark-all[data-v-f0ef2fb2]:disabled{opacity:.5;cursor:not-allowed}.notification-list[data-v-f0ef2fb2]{flex-direction:column;gap:8px;display:flex}.notification-item[data-v-f0ef2fb2]{text-align:left;border-radius:var(--radius-md);border:1px solid var(--border-light);background:var(--bg-secondary);width:100%;transition:all var(--transition-fast);cursor:pointer;padding:10px 12px}.notification-item[data-v-f0ef2fb2]:hover{background:var(--bg-hover);border-color:var(--border-color)}.notification-item.unread[data-v-f0ef2fb2]{background:#f9731614;border-color:#f9731640}.notification-item-header[data-v-f0ef2fb2]{justify-content:space-between;align-items:center;gap:12px;margin-bottom:4px;display:flex}.notification-title[data-v-f0ef2fb2]{color:var(--text-primary);font-size:.82rem;font-weight:600}.notification-time[data-v-f0ef2fb2]{color:var(--text-tertiary);flex-shrink:0;font-size:.72rem}.notification-content[data-v-f0ef2fb2]{color:var(--text-secondary);font-size:.76rem;line-height:1.5}.notification-empty[data-v-f0ef2fb2]{text-align:center;color:var(--text-tertiary);padding:18px 4px;font-size:.8rem}.mobile-menu-btn[data-v-f0ef2fb2]{border-radius:var(--radius-sm);width:36px;height:36px;color:var(--text-secondary);justify-content:center;align-items:center;display:flex}.mobile-menu-btn svg[data-v-f0ef2fb2]{width:20px;height:20px}.main-content[data-v-f0ef2fb2]{min-height:0;padding:24px var(--content-gutter) 32px;flex:1;overflow:hidden auto}@media (width<=640px){.main-content[data-v-f0ef2fb2]{padding:16px}}.page-shell[data-v-f0ef2fb2]{min-width:0;min-height:100%;overflow:hidden}@supports (overflow:clip){.page-shell[data-v-f0ef2fb2]{overflow:clip}}@media (hover:none),(pointer:coarse){.main-content[data-v-f0ef2fb2]{scrollbar-width:none;-ms-overflow-style:none}.main-content[data-v-f0ef2fb2]::-webkit-scrollbar{width:0;height:0;display:none}}.mobile-overlay[data-v-f0ef2fb2]{display:none}@media (width<=1024px){.mobile-overlay[data-v-f0ef2fb2]{background:var(--bg-overlay);z-index:99;display:block;position:fixed;inset:0}.desktop-only[data-v-f0ef2fb2]{display:none}}.mobile-only[data-v-f0ef2fb2]{display:none}@media (width<=1024px){.mobile-only[data-v-f0ef2fb2]{display:flex}}:root{--animate-duration:1s;--animate-delay:1s;--animate-repeat:1}.animate__animated{animation-duration:1s;-webkit-animation-duration:var(--animate-duration);animation-duration:var(--animate-duration);animation-fill-mode:both}.animate__animated.animate__infinite{animation-iteration-count:infinite}.animate__animated.animate__repeat-1{animation-iteration-count:1;-webkit-animation-iteration-count:var(--animate-repeat);animation-iteration-count:var(--animate-repeat)}.animate__animated.animate__repeat-2{animation-iteration-count:2;-webkit-animation-iteration-count:calc(var(--animate-repeat) * 2);animation-iteration-count:calc(var(--animate-repeat) * 2)}.animate__animated.animate__repeat-3{animation-iteration-count:3;-webkit-animation-iteration-count:calc(var(--animate-repeat) * 3);animation-iteration-count:calc(var(--animate-repeat) * 3)}.animate__animated.animate__delay-1s{animation-delay:1s;-webkit-animation-delay:var(--animate-delay);animation-delay:var(--animate-delay)}.animate__animated.animate__delay-2s{animation-delay:2s;-webkit-animation-delay:calc(var(--animate-delay) * 2);animation-delay:calc(var(--animate-delay) * 2)}.animate__animated.animate__delay-3s{animation-delay:3s;-webkit-animation-delay:calc(var(--animate-delay) * 3);animation-delay:calc(var(--animate-delay) * 3)}.animate__animated.animate__delay-4s{animation-delay:4s;-webkit-animation-delay:calc(var(--animate-delay) * 4);animation-delay:calc(var(--animate-delay) * 4)}.animate__animated.animate__delay-5s{animation-delay:5s;-webkit-animation-delay:calc(var(--animate-delay) * 5);animation-delay:calc(var(--animate-delay) * 5)}.animate__animated.animate__faster{animation-duration:.5s;-webkit-animation-duration:calc(var(--animate-duration) / 2);animation-duration:calc(var(--animate-duration) / 2)}.animate__animated.animate__fast{animation-duration:.8s;-webkit-animation-duration:calc(var(--animate-duration) * .8);animation-duration:calc(var(--animate-duration) * .8)}.animate__animated.animate__slow{animation-duration:2s;-webkit-animation-duration:calc(var(--animate-duration) * 2);animation-duration:calc(var(--animate-duration) * 2)}.animate__animated.animate__slower{animation-duration:3s;-webkit-animation-duration:calc(var(--animate-duration) * 3);animation-duration:calc(var(--animate-duration) * 3)}@media print,(prefers-reduced-motion:reduce){.animate__animated{transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}.animate__animated[class*=Out]{opacity:0}}@keyframes bounce{0%,20%,53%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1);transform:translate(0,0)}40%,43%{animation-timing-function:cubic-bezier(.755,.05,.855,.06);transform:translateY(-30px)scaleY(1.1)}70%{animation-timing-function:cubic-bezier(.755,.05,.855,.06);transform:translateY(-15px)scaleY(1.05)}80%{transition-timing-function:cubic-bezier(.215,.61,.355,1);transform:translate(0,0)scaleY(.95)}90%{transform:translateY(-4px)scaleY(1.02)}}.animate__bounce{transform-origin:bottom;animation-name:bounce}@keyframes flash{0%,50%,to{opacity:1}25%,75%{opacity:0}}.animate__flash{animation-name:flash}@keyframes pulse{0%{transform:scale(1)}50%{transform:scale3d(1.05,1.05,1.05)}to{transform:scale(1)}}.animate__pulse{animation-name:pulse;animation-timing-function:ease-in-out}@keyframes rubberBand{0%{transform:scale(1)}30%{transform:scale(1.25,.75)}40%{transform:scale(.75,1.25)}50%{transform:scale(1.15,.85)}65%{transform:scale(.95,1.05)}75%{transform:scale(1.05,.95)}to{transform:scale(1)}}.animate__rubberBand{animation-name:rubberBand}@keyframes shakeX{0%,to{transform:translate(0,0)}10%,30%,50%,70%,90%{transform:translate(-10px)}20%,40%,60%,80%{transform:translate(10px)}}.animate__shakeX{animation-name:shakeX}@keyframes shakeY{0%,to{transform:translate(0,0)}10%,30%,50%,70%,90%{transform:translateY(-10px)}20%,40%,60%,80%{transform:translateY(10px)}}.animate__shakeY{animation-name:shakeY}@keyframes headShake{0%{transform:translate(0)}6.5%{transform:translate(-6px)rotateY(-9deg)}18.5%{transform:translate(5px)rotateY(7deg)}31.5%{transform:translate(-3px)rotateY(-5deg)}43.5%{transform:translate(2px)rotateY(3deg)}50%{transform:translate(0)}}.animate__headShake{animation-name:headShake;animation-timing-function:ease-in-out}@keyframes swing{20%{transform:rotate(15deg)}40%{transform:rotate(-10deg)}60%{transform:rotate(5deg)}80%{transform:rotate(-5deg)}to{transform:rotate(0)}}.animate__swing{transform-origin:top;animation-name:swing}@keyframes tada{0%{transform:scale(1)}10%,20%{transform:scale3d(.9,.9,.9)rotate(-3deg)}30%,50%,70%,90%{transform:scale3d(1.1,1.1,1.1)rotate(3deg)}40%,60%,80%{transform:scale3d(1.1,1.1,1.1)rotate(-3deg)}to{transform:scale(1)}}.animate__tada{animation-name:tada}@keyframes wobble{0%{transform:translate(0,0)}15%{transform:translate(-25%)rotate(-5deg)}30%{transform:translate(20%)rotate(3deg)}45%{transform:translate(-15%)rotate(-3deg)}60%{transform:translate(10%)rotate(2deg)}75%{transform:translate(-5%)rotate(-1deg)}to{transform:translate(0,0)}}.animate__wobble{animation-name:wobble}@keyframes jello{0%,11.1%,to{transform:translate(0,0)}22.2%{transform:skew(-12.5deg)skewY(-12.5deg)}33.3%{transform:skew(6.25deg)skewY(6.25deg)}44.4%{transform:skew(-3.125deg)skewY(-3.125deg)}55.5%{transform:skew(1.5625deg)skewY(1.5625deg)}66.6%{transform:skew(-.78125deg)skewY(-.78125deg)}77.7%{transform:skew(.390625deg)skewY(.390625deg)}88.8%{transform:skew(-.195313deg)skewY(-.195313deg)}}.animate__jello{transform-origin:50%;animation-name:jello}@keyframes heartBeat{0%{transform:scale(1)}14%{transform:scale(1.3)}28%{transform:scale(1)}42%{transform:scale(1.3)}70%{transform:scale(1)}}.animate__heartBeat{animation-name:heartBeat;animation-duration:1.3s;-webkit-animation-duration:calc(var(--animate-duration) * 1.3);animation-duration:calc(var(--animate-duration) * 1.3);animation-timing-function:ease-in-out}@keyframes backInDown{0%{opacity:.7;transform:translateY(-1200px)scale(.7)}80%{opacity:.7;transform:translateY(0)scale(.7)}to{opacity:1;transform:scale(1)}}.animate__backInDown{animation-name:backInDown}@keyframes backInLeft{0%{opacity:.7;transform:translate(-2000px)scale(.7)}80%{opacity:.7;transform:translate(0)scale(.7)}to{opacity:1;transform:scale(1)}}.animate__backInLeft{animation-name:backInLeft}@keyframes backInRight{0%{opacity:.7;transform:translate(2000px)scale(.7)}80%{opacity:.7;transform:translate(0)scale(.7)}to{opacity:1;transform:scale(1)}}.animate__backInRight{animation-name:backInRight}@keyframes backInUp{0%{opacity:.7;transform:translateY(1200px)scale(.7)}80%{opacity:.7;transform:translateY(0)scale(.7)}to{opacity:1;transform:scale(1)}}.animate__backInUp{animation-name:backInUp}@keyframes backOutDown{0%{opacity:1;transform:scale(1)}20%{opacity:.7;transform:translateY(0)scale(.7)}to{opacity:.7;transform:translateY(700px)scale(.7)}}.animate__backOutDown{animation-name:backOutDown}@keyframes backOutLeft{0%{opacity:1;transform:scale(1)}20%{opacity:.7;transform:translate(0)scale(.7)}to{opacity:.7;transform:translate(-2000px)scale(.7)}}.animate__backOutLeft{animation-name:backOutLeft}@keyframes backOutRight{0%{opacity:1;transform:scale(1)}20%{opacity:.7;transform:translate(0)scale(.7)}to{opacity:.7;transform:translate(2000px)scale(.7)}}.animate__backOutRight{animation-name:backOutRight}@keyframes backOutUp{0%{opacity:1;transform:scale(1)}20%{opacity:.7;transform:translateY(0)scale(.7)}to{opacity:.7;transform:translateY(-700px)scale(.7)}}.animate__backOutUp{animation-name:backOutUp}@keyframes bounceIn{0%,20%,40%,60%,80%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:scale3d(.3,.3,.3)}20%{transform:scale3d(1.1,1.1,1.1)}40%{transform:scale3d(.9,.9,.9)}60%{opacity:1;transform:scale3d(1.03,1.03,1.03)}80%{transform:scale3d(.97,.97,.97)}to{opacity:1;transform:scale(1)}}.animate__bounceIn{animation-duration:.75s;-webkit-animation-duration:calc(var(--animate-duration) * .75);animation-duration:calc(var(--animate-duration) * .75);animation-name:bounceIn}@keyframes bounceInDown{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translateY(-3000px)scaleY(3)}60%{opacity:1;transform:translateY(25px)scaleY(.9)}75%{transform:translateY(-10px)scaleY(.95)}90%{transform:translateY(5px)scaleY(.985)}to{transform:translate(0,0)}}.animate__bounceInDown{animation-name:bounceInDown}@keyframes bounceInLeft{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate(-3000px)scaleX(3)}60%{opacity:1;transform:translate(25px)scaleX(1)}75%{transform:translate(-10px)scaleX(.98)}90%{transform:translate(5px)scaleX(.995)}to{transform:translate(0,0)}}.animate__bounceInLeft{animation-name:bounceInLeft}@keyframes bounceInRight{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate(3000px)scaleX(3)}60%{opacity:1;transform:translate(-25px)scaleX(1)}75%{transform:translate(10px)scaleX(.98)}90%{transform:translate(-5px)scaleX(.995)}to{transform:translate(0,0)}}.animate__bounceInRight{animation-name:bounceInRight}@keyframes bounceInUp{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translateY(3000px)scaleY(5)}60%{opacity:1;transform:translateY(-20px)scaleY(.9)}75%{transform:translateY(10px)scaleY(.95)}90%{transform:translateY(-5px)scaleY(.985)}to{transform:translate(0,0)}}.animate__bounceInUp{animation-name:bounceInUp}@keyframes bounceOut{20%{transform:scale3d(.9,.9,.9)}50%,55%{opacity:1;transform:scale3d(1.1,1.1,1.1)}to{opacity:0;transform:scale3d(.3,.3,.3)}}.animate__bounceOut{animation-duration:.75s;-webkit-animation-duration:calc(var(--animate-duration) * .75);animation-duration:calc(var(--animate-duration) * .75);animation-name:bounceOut}@keyframes bounceOutDown{20%{transform:translateY(10px)scaleY(.985)}40%,45%{opacity:1;transform:translateY(-20px)scaleY(.9)}to{opacity:0;transform:translateY(2000px)scaleY(3)}}.animate__bounceOutDown{animation-name:bounceOutDown}@keyframes bounceOutLeft{20%{opacity:1;transform:translate(20px)scaleX(.9)}to{opacity:0;transform:translate(-2000px)scaleX(2)}}.animate__bounceOutLeft{animation-name:bounceOutLeft}@keyframes bounceOutRight{20%{opacity:1;transform:translate(-20px)scaleX(.9)}to{opacity:0;transform:translate(2000px)scaleX(2)}}.animate__bounceOutRight{animation-name:bounceOutRight}@keyframes bounceOutUp{20%{transform:translateY(-10px)scaleY(.985)}40%,45%{opacity:1;transform:translateY(20px)scaleY(.9)}to{opacity:0;transform:translateY(-2000px)scaleY(3)}}.animate__bounceOutUp{animation-name:bounceOutUp}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.animate__fadeIn{animation-name:fadeIn}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-100%)}to{opacity:1;transform:translate(0,0)}}.animate__fadeInDown{animation-name:fadeInDown}@keyframes fadeInDownBig{0%{opacity:0;transform:translateY(-2000px)}to{opacity:1;transform:translate(0,0)}}.animate__fadeInDownBig{animation-name:fadeInDownBig}@keyframes fadeInLeft{0%{opacity:0;transform:translate(-100%)}to{opacity:1;transform:translate(0,0)}}.animate__fadeInLeft{animation-name:fadeInLeft}@keyframes fadeInLeftBig{0%{opacity:0;transform:translate(-2000px)}to{opacity:1;transform:translate(0,0)}}.animate__fadeInLeftBig{animation-name:fadeInLeftBig}@keyframes fadeInRight{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0,0)}}.animate__fadeInRight{animation-name:fadeInRight}@keyframes fadeInRightBig{0%{opacity:0;transform:translate(2000px)}to{opacity:1;transform:translate(0,0)}}.animate__fadeInRightBig{animation-name:fadeInRightBig}@keyframes fadeInUp{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translate(0,0)}}.animate__fadeInUp{animation-name:fadeInUp}@keyframes fadeInUpBig{0%{opacity:0;transform:translateY(2000px)}to{opacity:1;transform:translate(0,0)}}.animate__fadeInUpBig{animation-name:fadeInUpBig}@keyframes fadeInTopLeft{0%{opacity:0;transform:translate(-100%,-100%)}to{opacity:1;transform:translate(0,0)}}.animate__fadeInTopLeft{animation-name:fadeInTopLeft}@keyframes fadeInTopRight{0%{opacity:0;transform:translate(100%,-100%)}to{opacity:1;transform:translate(0,0)}}.animate__fadeInTopRight{animation-name:fadeInTopRight}@keyframes fadeInBottomLeft{0%{opacity:0;transform:translate(-100%,100%)}to{opacity:1;transform:translate(0,0)}}.animate__fadeInBottomLeft{animation-name:fadeInBottomLeft}@keyframes fadeInBottomRight{0%{opacity:0;transform:translate(100%,100%)}to{opacity:1;transform:translate(0,0)}}.animate__fadeInBottomRight{animation-name:fadeInBottomRight}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}.animate__fadeOut{animation-name:fadeOut}@keyframes fadeOutDown{0%{opacity:1}to{opacity:0;transform:translateY(100%)}}.animate__fadeOutDown{animation-name:fadeOutDown}@keyframes fadeOutDownBig{0%{opacity:1}to{opacity:0;transform:translateY(2000px)}}.animate__fadeOutDownBig{animation-name:fadeOutDownBig}@keyframes fadeOutLeft{0%{opacity:1}to{opacity:0;transform:translate(-100%)}}.animate__fadeOutLeft{animation-name:fadeOutLeft}@keyframes fadeOutLeftBig{0%{opacity:1}to{opacity:0;transform:translate(-2000px)}}.animate__fadeOutLeftBig{animation-name:fadeOutLeftBig}@keyframes fadeOutRight{0%{opacity:1}to{opacity:0;transform:translate(100%)}}.animate__fadeOutRight{animation-name:fadeOutRight}@keyframes fadeOutRightBig{0%{opacity:1}to{opacity:0;transform:translate(2000px)}}.animate__fadeOutRightBig{animation-name:fadeOutRightBig}@keyframes fadeOutUp{0%{opacity:1}to{opacity:0;transform:translateY(-100%)}}.animate__fadeOutUp{animation-name:fadeOutUp}@keyframes fadeOutUpBig{0%{opacity:1}to{opacity:0;transform:translateY(-2000px)}}.animate__fadeOutUpBig{animation-name:fadeOutUpBig}@keyframes fadeOutTopLeft{0%{opacity:1;transform:translate(0,0)}to{opacity:0;transform:translate(-100%,-100%)}}.animate__fadeOutTopLeft{animation-name:fadeOutTopLeft}@keyframes fadeOutTopRight{0%{opacity:1;transform:translate(0,0)}to{opacity:0;transform:translate(100%,-100%)}}.animate__fadeOutTopRight{animation-name:fadeOutTopRight}@keyframes fadeOutBottomRight{0%{opacity:1;transform:translate(0,0)}to{opacity:0;transform:translate(100%,100%)}}.animate__fadeOutBottomRight{animation-name:fadeOutBottomRight}@keyframes fadeOutBottomLeft{0%{opacity:1;transform:translate(0,0)}to{opacity:0;transform:translate(-100%,100%)}}.animate__fadeOutBottomLeft{animation-name:fadeOutBottomLeft}@keyframes flip{0%{animation-timing-function:ease-out;transform:perspective(400px)scale(1)translate(0,0)rotateY(-360deg)}40%{animation-timing-function:ease-out;transform:perspective(400px)scale(1)translateZ(150px)rotateY(-190deg)}50%{animation-timing-function:ease-in;transform:perspective(400px)scale(1)translateZ(150px)rotateY(-170deg)}80%{animation-timing-function:ease-in;transform:perspective(400px)scale3d(.95,.95,.95)translate(0,0)rotateY(0)}to{animation-timing-function:ease-in;transform:perspective(400px)scale(1)translate(0,0)rotateY(0)}}.animate__animated.animate__flip{backface-visibility:visible;animation-name:flip}@keyframes flipInX{0%{opacity:0;animation-timing-function:ease-in;transform:perspective(400px)rotateX(90deg)}40%{animation-timing-function:ease-in;transform:perspective(400px)rotateX(-20deg)}60%{opacity:1;transform:perspective(400px)rotateX(10deg)}80%{transform:perspective(400px)rotateX(-5deg)}to{transform:perspective(400px)}}.animate__flipInX{animation-name:flipInX;backface-visibility:visible!important}@keyframes flipInY{0%{opacity:0;animation-timing-function:ease-in;transform:perspective(400px)rotateY(90deg)}40%{animation-timing-function:ease-in;transform:perspective(400px)rotateY(-20deg)}60%{opacity:1;transform:perspective(400px)rotateY(10deg)}80%{transform:perspective(400px)rotateY(-5deg)}to{transform:perspective(400px)}}.animate__flipInY{animation-name:flipInY;backface-visibility:visible!important}@keyframes flipOutX{0%{transform:perspective(400px)}30%{opacity:1;transform:perspective(400px)rotateX(-20deg)}to{opacity:0;transform:perspective(400px)rotateX(90deg)}}.animate__flipOutX{animation-duration:.75s;-webkit-animation-duration:calc(var(--animate-duration) * .75);animation-duration:calc(var(--animate-duration) * .75);animation-name:flipOutX;backface-visibility:visible!important}@keyframes flipOutY{0%{transform:perspective(400px)}30%{opacity:1;transform:perspective(400px)rotateY(-15deg)}to{opacity:0;transform:perspective(400px)rotateY(90deg)}}.animate__flipOutY{animation-duration:.75s;-webkit-animation-duration:calc(var(--animate-duration) * .75);animation-duration:calc(var(--animate-duration) * .75);animation-name:flipOutY;backface-visibility:visible!important}@keyframes lightSpeedInRight{0%{opacity:0;transform:translate(100%)skew(-30deg)}60%{opacity:1;transform:skew(20deg)}80%{transform:skew(-5deg)}to{transform:translate(0,0)}}.animate__lightSpeedInRight{animation-name:lightSpeedInRight;animation-timing-function:ease-out}@keyframes lightSpeedInLeft{0%{opacity:0;transform:translate(-100%)skew(30deg)}60%{opacity:1;transform:skew(-20deg)}80%{transform:skew(5deg)}to{transform:translate(0,0)}}.animate__lightSpeedInLeft{animation-name:lightSpeedInLeft;animation-timing-function:ease-out}@keyframes lightSpeedOutRight{0%{opacity:1}to{opacity:0;transform:translate(100%)skew(30deg)}}.animate__lightSpeedOutRight{animation-name:lightSpeedOutRight;animation-timing-function:ease-in}@keyframes lightSpeedOutLeft{0%{opacity:1}to{opacity:0;transform:translate(-100%)skew(-30deg)}}.animate__lightSpeedOutLeft{animation-name:lightSpeedOutLeft;animation-timing-function:ease-in}@keyframes rotateIn{0%{opacity:0;transform:rotate(-200deg)}to{opacity:1;transform:translate(0,0)}}.animate__rotateIn{transform-origin:50%;animation-name:rotateIn}@keyframes rotateInDownLeft{0%{opacity:0;transform:rotate(-45deg)}to{opacity:1;transform:translate(0,0)}}.animate__rotateInDownLeft{transform-origin:0 100%;animation-name:rotateInDownLeft}@keyframes rotateInDownRight{0%{opacity:0;transform:rotate(45deg)}to{opacity:1;transform:translate(0,0)}}.animate__rotateInDownRight{transform-origin:100% 100%;animation-name:rotateInDownRight}@keyframes rotateInUpLeft{0%{opacity:0;transform:rotate(45deg)}to{opacity:1;transform:translate(0,0)}}.animate__rotateInUpLeft{transform-origin:0 100%;animation-name:rotateInUpLeft}@keyframes rotateInUpRight{0%{opacity:0;transform:rotate(-90deg)}to{opacity:1;transform:translate(0,0)}}.animate__rotateInUpRight{transform-origin:100% 100%;animation-name:rotateInUpRight}@keyframes rotateOut{0%{opacity:1}to{opacity:0;transform:rotate(200deg)}}.animate__rotateOut{transform-origin:50%;animation-name:rotateOut}@keyframes rotateOutDownLeft{0%{opacity:1}to{opacity:0;transform:rotate(45deg)}}.animate__rotateOutDownLeft{transform-origin:0 100%;animation-name:rotateOutDownLeft}@keyframes rotateOutDownRight{0%{opacity:1}to{opacity:0;transform:rotate(-45deg)}}.animate__rotateOutDownRight{transform-origin:100% 100%;animation-name:rotateOutDownRight}@keyframes rotateOutUpLeft{0%{opacity:1}to{opacity:0;transform:rotate(-45deg)}}.animate__rotateOutUpLeft{transform-origin:0 100%;animation-name:rotateOutUpLeft}@keyframes rotateOutUpRight{0%{opacity:1}to{opacity:0;transform:rotate(90deg)}}.animate__rotateOutUpRight{transform-origin:100% 100%;animation-name:rotateOutUpRight}@keyframes hinge{0%{animation-timing-function:ease-in-out}20%,60%{animation-timing-function:ease-in-out;transform:rotate(80deg)}40%,80%{opacity:1;animation-timing-function:ease-in-out;transform:rotate(60deg)}to{opacity:0;transform:translateY(700px)}}.animate__hinge{animation-duration:2s;-webkit-animation-duration:calc(var(--animate-duration) * 2);animation-duration:calc(var(--animate-duration) * 2);transform-origin:0 0;animation-name:hinge}@keyframes jackInTheBox{0%{opacity:0;transform-origin:bottom;transform:scale(.1)rotate(30deg)}50%{transform:rotate(-10deg)}70%{transform:rotate(3deg)}to{opacity:1;transform:scale(1)}}.animate__jackInTheBox{animation-name:jackInTheBox}@keyframes rollIn{0%{opacity:0;transform:translate(-100%)rotate(-120deg)}to{opacity:1;transform:translate(0,0)}}.animate__rollIn{animation-name:rollIn}@keyframes rollOut{0%{opacity:1}to{opacity:0;transform:translate(100%)rotate(120deg)}}.animate__rollOut{animation-name:rollOut}@keyframes zoomIn{0%{opacity:0;transform:scale3d(.3,.3,.3)}50%{opacity:1}}.animate__zoomIn{animation-name:zoomIn}@keyframes zoomInDown{0%{opacity:0;animation-timing-function:cubic-bezier(.55,.055,.675,.19);transform:scale3d(.1,.1,.1)translateY(-1000px)}60%{opacity:1;animation-timing-function:cubic-bezier(.175,.885,.32,1);transform:scale3d(.475,.475,.475)translateY(60px)}}.animate__zoomInDown{animation-name:zoomInDown}@keyframes zoomInLeft{0%{opacity:0;animation-timing-function:cubic-bezier(.55,.055,.675,.19);transform:scale3d(.1,.1,.1)translate(-1000px)}60%{opacity:1;animation-timing-function:cubic-bezier(.175,.885,.32,1);transform:scale3d(.475,.475,.475)translate(10px)}}.animate__zoomInLeft{animation-name:zoomInLeft}@keyframes zoomInRight{0%{opacity:0;animation-timing-function:cubic-bezier(.55,.055,.675,.19);transform:scale3d(.1,.1,.1)translate(1000px)}60%{opacity:1;animation-timing-function:cubic-bezier(.175,.885,.32,1);transform:scale3d(.475,.475,.475)translate(-10px)}}.animate__zoomInRight{animation-name:zoomInRight}@keyframes zoomInUp{0%{opacity:0;animation-timing-function:cubic-bezier(.55,.055,.675,.19);transform:scale3d(.1,.1,.1)translateY(1000px)}60%{opacity:1;animation-timing-function:cubic-bezier(.175,.885,.32,1);transform:scale3d(.475,.475,.475)translateY(-60px)}}.animate__zoomInUp{animation-name:zoomInUp}@keyframes zoomOut{0%{opacity:1}50%{opacity:0;transform:scale3d(.3,.3,.3)}to{opacity:0}}.animate__zoomOut{animation-name:zoomOut}@keyframes zoomOutDown{40%{opacity:1;animation-timing-function:cubic-bezier(.55,.055,.675,.19);transform:scale3d(.475,.475,.475)translateY(-60px)}to{opacity:0;animation-timing-function:cubic-bezier(.175,.885,.32,1);transform:scale3d(.1,.1,.1)translateY(2000px)}}.animate__zoomOutDown{transform-origin:bottom;animation-name:zoomOutDown}@keyframes zoomOutLeft{40%{opacity:1;transform:scale3d(.475,.475,.475)translate(42px)}to{opacity:0;transform:scale(.1)translate(-2000px)}}.animate__zoomOutLeft{transform-origin:0;animation-name:zoomOutLeft}@keyframes zoomOutRight{40%{opacity:1;transform:scale3d(.475,.475,.475)translate(-42px)}to{opacity:0;transform:scale(.1)translate(2000px)}}.animate__zoomOutRight{transform-origin:100%;animation-name:zoomOutRight}@keyframes zoomOutUp{40%{opacity:1;animation-timing-function:cubic-bezier(.55,.055,.675,.19);transform:scale3d(.475,.475,.475)translateY(60px)}to{opacity:0;animation-timing-function:cubic-bezier(.175,.885,.32,1);transform:scale3d(.1,.1,.1)translateY(-2000px)}}.animate__zoomOutUp{transform-origin:bottom;animation-name:zoomOutUp}@keyframes slideInDown{0%{visibility:visible;transform:translateY(-100%)}to{transform:translate(0,0)}}.animate__slideInDown{animation-name:slideInDown}@keyframes slideInLeft{0%{visibility:visible;transform:translate(-100%)}to{transform:translate(0,0)}}.animate__slideInLeft{animation-name:slideInLeft}@keyframes slideInRight{0%{visibility:visible;transform:translate(100%)}to{transform:translate(0,0)}}.animate__slideInRight{animation-name:slideInRight}@keyframes slideInUp{0%{visibility:visible;transform:translateY(100%)}to{transform:translate(0,0)}}.animate__slideInUp{animation-name:slideInUp}@keyframes slideOutDown{0%{transform:translate(0,0)}to{visibility:hidden;transform:translateY(100%)}}.animate__slideOutDown{animation-name:slideOutDown}@keyframes slideOutLeft{0%{transform:translate(0,0)}to{visibility:hidden;transform:translate(-100%)}}.animate__slideOutLeft{animation-name:slideOutLeft}@keyframes slideOutRight{0%{transform:translate(0,0)}to{visibility:hidden;transform:translate(100%)}}.animate__slideOutRight{animation-name:slideOutRight}@keyframes slideOutUp{0%{transform:translate(0,0)}to{visibility:hidden;transform:translateY(-100%)}}.animate__slideOutUp{animation-name:slideOutUp}:root{--primary:#f97316;--primary-light:#fdba74;--primary-dark:#ea580c;--primary-gradient:linear-gradient(135deg, #f97316 0%, #fb923c 50%, #fdba74 100%);--bg-primary:#fff;--bg-secondary:#f8fafc;--bg-tertiary:#f1f5f9;--bg-card:#fff;--bg-sidebar:#fff;--bg-hover:#f973160f;--bg-active:#f973161a;--bg-overlay:#0000004d;--text-primary:#0f172a;--text-secondary:#475569;--text-tertiary:#94a3b8;--text-inverse:#fff;--border-color:#e2e8f0;--border-light:#f1f5f9;--shadow-sm:0 1px 2px #0000000a;--shadow-md:0 4px 12px #0000000f;--shadow-lg:0 8px 24px #00000014;--shadow-xl:0 16px 48px #0000001a;--shadow-primary:0 4px 16px #f9731640;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:20px;--radius-full:9999px;--transition-fast:.12s cubic-bezier(.4, 0, .2, 1);--transition-normal:.18s cubic-bezier(.4, 0, .2, 1);--transition-slow:.28s cubic-bezier(.4, 0, .2, 1);--transition-spring:.34s cubic-bezier(.34, 1.56, .64, 1);--animate-duration:.42s;--animate-delay:80ms;--sidebar-width:260px;--sidebar-collapsed:72px;--header-height:64px;--content-max-width:1680px;--content-gutter:clamp(18px, 2.4vw, 32px);--success:#22c55e;--warning:#eab308;--danger:#ef4444;--info:#3b82f6}[data-theme=dark]{--primary:#fb923c;--primary-light:#fdba74;--primary-dark:#f97316;--bg-primary:#0f172a;--bg-secondary:#1e293b;--bg-tertiary:#334155;--bg-card:#1e293b;--bg-sidebar:#1e293b;--bg-hover:#fb923c14;--bg-active:#fb923c26;--bg-overlay:#0009;--text-primary:#f1f5f9;--text-secondary:#94a3b8;--text-tertiary:#64748b;--text-inverse:#0f172a;--border-color:#334155;--border-light:#1e293b;--shadow-sm:0 1px 2px #0003;--shadow-md:0 4px 12px #0000004d;--shadow-lg:0 8px 24px #0006;--shadow-xl:0 16px 48px #00000080;--shadow-primary:0 4px 16px #fb923c33}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body,#app{height:100%}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px}body{background-color:var(--bg-primary);color:var(--text-primary);transition:background-color var(--transition-normal), color var(--transition-normal);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,sans-serif;line-height:1.6;overflow-x:hidden}a{color:inherit;text-decoration:none}button{cursor:pointer;font:inherit;color:inherit;background:0 0;border:none}input,textarea,select{font:inherit;color:inherit;background:0 0;border:none;outline:none}ul,ol{list-style:none}img{max-width:100%;display:block}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--text-tertiary);border-radius:var(--radius-full);transition:background var(--transition-fast)}::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}.fade-enter-active,.fade-leave-active{transition:opacity var(--transition-fast)}.fade-enter-from,.fade-leave-to{opacity:0}.slide-up-enter-active,.slide-up-leave-active{transition:opacity var(--transition-normal), transform var(--transition-normal)}.slide-up-enter-from{opacity:0;transform:translateY(12px)}.slide-up-leave-to{opacity:0;transform:translateY(-8px)}.slide-right-enter-active,.slide-right-leave-active{transition:opacity var(--transition-normal), transform var(--transition-normal)}.slide-right-enter-from{opacity:0;transform:translate(-12px)}.slide-right-leave-to{opacity:0;transform:translate(10px)}.scale-enter-active,.scale-leave-active{transition:opacity var(--transition-normal), transform var(--transition-normal)}.scale-enter-from,.scale-leave-to{opacity:0;transform:scale(.97)}.page-enter-active{transition:opacity .18s cubic-bezier(.4,0,.2,1),transform .18s cubic-bezier(.4,0,.2,1)}.page-leave-active{transition:opacity .12s cubic-bezier(.4,0,.2,1),transform .12s cubic-bezier(.4,0,.2,1)}.page-enter-from{opacity:0;transform:translateY(8px)}.page-leave-to{opacity:0;transform:translateY(-4px)}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes pulse-glow{0%,to{box-shadow:0 0 #f973164d}50%{box-shadow:0 0 20px 4px #f9731626}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.skeleton{background:linear-gradient(90deg, var(--bg-tertiary) 25%, var(--bg-secondary) 50%, var(--bg-tertiary) 75%);border-radius:var(--radius-sm);background-size:200% 100%;animation:1.5s infinite shimmer}
