*{box-sizing:border-box}html{height:100%;font-size:14px}body{font-family:var(--font-family);color:var(--text-color);background-color:var(--surface-ground);margin:0;padding:0;min-height:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{text-decoration:none;color:var(--primary-color)}.preloader{position:fixed;z-index:999999;background:#111827;width:100%;height:100%;display:flex;align-items:center;justify-content:center}.preloader-content{border:3px solid rgba(129,140,248,.2);border-top-color:#818cf8;border-radius:50%;width:40px;height:40px;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.layout-sidebar{position:fixed;width:220px;height:calc(100vh - 48px);z-index:999;overflow-y:auto;-webkit-user-select:none;-moz-user-select:none;user-select:none;top:48px;left:0;transition:transform .2s,left .2s;border-radius:0;background:var(--surface-card);color:var(--text-color);border-right:1px solid var(--surface-border)}.layout-sidebar .layout-menu{list-style-type:none;margin:0;padding:8px}.layout-sidebar .layout-menu li a{cursor:pointer;text-decoration:none;display:flex;align-items:center;gap:10px;color:var(--text-color-secondary);padding:10px 12px;transition:all .15s ease;font-weight:500;font-size:13px;border-radius:8px;margin-bottom:2px}.layout-sidebar .layout-menu li a .menu-label{flex:1}.layout-sidebar .layout-menu li a .menu-icon{font-size:16px;width:20px;text-align:center}.layout-sidebar .layout-menu li a .menuitem-toggle-icon{margin-left:auto;font-size:12px}.layout-sidebar .layout-menu li a:focus{outline:0 none;outline-offset:0;transition:box-shadow .2s;box-shadow:inset var(--focus-ring)}.layout-sidebar .layout-menu li a:hover{color:var(--text-color);background:var(--surface-hover)}.layout-sidebar .layout-menu li a.router-link-exact-active{color:var(--primary-color-text);background:var(--primary-color)}.layout-sidebar .layout-menu li a .p-badge{margin-left:auto}.layout-sidebar .layout-menu li.layout-menuitem-category{margin-top:8px;padding-top:8px;border-top:1px solid var(--surface-border)}.layout-sidebar .layout-menu li.layout-menuitem-category:first-child{margin-top:0;padding-top:0;border-top:none}.layout-sidebar .layout-menu li .layout-menuitem-root-text{text-transform:uppercase;color:var(--text-color-secondary);font-weight:600;margin-bottom:4px;padding:4px 12px;font-size:11px;letter-spacing:.05em;opacity:.6}.layout-sidebar .layout-menu li.active-menuitem>a .menuitem-toggle-icon:before{content:""}.layout-sidebar .layout-menu li ul{list-style-type:none;margin:0;padding:4px 0 4px 12px}.layout-sidebar .layout-menu li ul.layout-submenu-wrapper-enter-from,.layout-sidebar .layout-menu li ul.layout-submenu-wrapper-leave-to{max-height:0}.layout-sidebar .layout-menu li ul.layout-submenu-wrapper-enter-to,.layout-sidebar .layout-menu li ul.layout-submenu-wrapper-leave-from{max-height:1000px}.layout-sidebar .layout-menu li ul.layout-submenu-wrapper-leave-active{overflow:hidden;transition:max-height .45s cubic-bezier(0,1,0,1)}.layout-sidebar .layout-menu li ul.layout-submenu-wrapper-enter-active{overflow:hidden;transition:max-height 1s ease-in-out}.layout-sidebar .layout-menu li ul ul{padding-left:1rem}.layout-sidebar.mini{width:100px}.layout-sidebar.mini .layout-menu li a{display:block;text-align:center;padding:12px 8px}.layout-sidebar.mini .layout-menu li a .menu-label{display:block;padding-top:4px;font-size:10px;text-align:center;margin-left:0}.layout-sidebar.mini .layout-menu li a .menu-icon{display:block;font-size:20px}.layout-sidebar.mini .layout-menu li ul{margin:4px}.layout-sidebar::-webkit-scrollbar{width:6px}.layout-sidebar::-webkit-scrollbar-track{background:transparent}.layout-sidebar::-webkit-scrollbar-thumb{background:var(--surface-300);border-radius:3px}.layout-sidebar::-webkit-scrollbar-thumb:hover{background:var(--surface-400)}.card{background-color:var(--surface-card);padding:1.5rem;margin:0;color:var(--text-color);border-radius:8px;border:1px solid var(--surface-border)}.card .card-w-title{padding-bottom:2rem}.page-section{padding:0}h1,h2,h3,h4,h5,h6{margin:1.5rem 0 1rem 0;font-family:inherit;font-weight:600;line-height:1.3;color:var(--text-color)}h1:first-child,h2:first-child,h3:first-child,h4:first-child,h5:first-child,h6:first-child{margin-top:0}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}mark{background:rgba(129,140,248,.2);color:var(--primary-color);padding:.25rem .4rem;border-radius:8px;font-family:monospace}blockquote{margin:1rem 0;padding:.75rem 1rem;border-left:3px solid var(--primary-color);background:var(--surface-card);border-radius:0 8px 8px 0}hr{border-top:solid var(--surface-border);border-width:1px 0 0 0;margin:1rem 0}p{margin:0 0 1rem 0;line-height:1.6;color:var(--text-color-secondary)}p:last-child{margin-bottom:0}code{background:var(--surface-overlay);padding:2px 6px;border-radius:4px;font-size:.875em;font-family:JetBrains Mono,Fira Code,monospace}.layout-main-container{display:flex;flex-direction:column;flex:1;overflow:hidden;transition:margin-left .2s}.layout-main{flex:1;padding:0;overflow-y:auto;overflow-x:hidden}.layout-footer{height:32px;padding:0 16px;background-color:var(--surface-card);border-top:1px solid var(--surface-border);display:flex;justify-content:center;align-items:center;font-size:11px;color:var(--text-color-secondary);flex-shrink:0}@media(max-width:991px){.layout-topbar{justify-content:space-between}.layout-topbar .layout-toggle-menu{order:2;margin-right:0}.layout-topbar .layout-topbar-logo{width:auto;order:0}.layout-topbar .layout-topbar-menu{order:1}.layout-topbar .layout-topbar-menu .page-button{order:0}.layout-topbar .layout-topbar-menu .page-button .p-button-label{display:none}.layout-topbar .layout-topbar-menu .layout-menu-user-button{order:2}.layout-topbar .layout-topbar-menu .layout-topbar-menu-button{order:1}}@media(min-width:992px){.layout-wrapper.layout-overlay .layout-main-container{margin-left:0;padding-left:2rem}.layout-wrapper.layout-overlay .layout-sidebar{transform:translateX(-100%);left:0;top:0;height:100vh;border-top-left-radius:0;border-bottom-left-radius:0}.layout-wrapper.layout-overlay.layout-overlay-sidebar-active .layout-sidebar{transform:translateX(0)}.layout-wrapper.layout-static .layout-main-container{margin-left:220px}.layout-wrapper.layout-static .layout-main-container.mini{margin-left:100px}.layout-wrapper.layout-static.layout-static-sidebar-inactive .layout-sidebar{transform:translateX(-100%);left:0}.layout-wrapper.layout-static.layout-static-sidebar-inactive .layout-main-container{margin-left:0;padding-left:2rem}.layout-wrapper .layout-mask{display:none}}@media(max-width:991px){.layout-wrapper .layout-main-container{margin-left:0;padding-left:2rem}.layout-wrapper .layout-sidebar{transform:translateX(-100%);left:0;top:0;height:100vh;border-top-left-radius:0;border-bottom-left-radius:0}.layout-wrapper .layout-mask{z-index:998;background-color:var(--maskbg)}.layout-wrapper .layout-mask.layout-mask-enter-from,.layout-wrapper .layout-mask.layout-mask-leave-to{background-color:transparent}.layout-wrapper.layout-mobile-sidebar-active .layout-sidebar{transform:translateX(0)}.layout-wrapper.layout-mobile-sidebar-active .layout-mask{display:block}.body-overflow-hidden{overflow:hidden}}:root{--primary-color-rgb:99,102,241}.app-root[data-v-a666f0f2]{display:flex;flex-direction:column;height:100vh;overflow:hidden;background:var(--surface-ground)}.app-topbar[data-v-a666f0f2]{display:flex;align-items:center;height:48px;min-height:48px;background:var(--surface-card);border-bottom:1px solid var(--surface-border);position:relative;z-index:1000;-webkit-user-select:none;-moz-user-select:none;user-select:none;padding:0 8px 0 0}.app-brand[data-v-a666f0f2]{display:flex;align-items:center;gap:8px;padding:0 16px 0 12px;flex-shrink:0}.app-logo[data-v-a666f0f2]{height:22px;width:22px;border-radius:4px;-o-object-fit:contain;object-fit:contain}.app-title[data-v-a666f0f2]{font-weight:600;font-size:13px;color:var(--text-color);letter-spacing:.02em}.app-nav[data-v-a666f0f2]{flex:1;display:flex;align-items:center;justify-content:center;gap:2px;min-width:0;overflow:visible}.nav-item[data-v-a666f0f2]{position:relative}.nav-item-trigger[data-v-a666f0f2]{display:flex;align-items:center;gap:6px;padding:6px 14px;border-radius:6px;cursor:pointer;color:var(--text-color-secondary);font-size:13px;font-weight:500;white-space:nowrap;transition:all .15s ease}.nav-item-trigger[data-v-a666f0f2]:hover{background:var(--surface-hover);color:var(--text-color)}.nav-icon[data-v-a666f0f2]{font-size:14px}.nav-chevron[data-v-a666f0f2]{font-size:10px;transition:transform .2s ease}.nav-item:hover .nav-chevron[data-v-a666f0f2]{transform:rotate(180deg)}.nav-submenu[data-v-a666f0f2]{position:absolute;top:100%;left:50%;transform:translateX(-50%);margin-top:4px;min-width:180px;background:var(--surface-overlay);border:1px solid var(--surface-border);border-radius:8px;padding:4px;box-shadow:0 8px 24px rgba(0,0,0,.3);opacity:0;visibility:hidden;transition:opacity .15s ease,visibility .15s ease,transform .15s ease;transform:translateX(-50%) translateY(4px);z-index:1001}.nav-item--open .nav-submenu[data-v-a666f0f2],.nav-item:hover .nav-submenu[data-v-a666f0f2]{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}.nav-submenu-item[data-v-a666f0f2]{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:6px;cursor:pointer;font-size:13px;color:var(--text-color-secondary);transition:all .15s ease;white-space:nowrap}.nav-submenu-item[data-v-a666f0f2]:hover{background:var(--surface-hover);color:var(--text-color)}.nav-sub-icon[data-v-a666f0f2]{font-size:14px;width:18px;text-align:center}.topbar-actions[data-v-a666f0f2]{display:flex;align-items:center;gap:8px}.action-btn[data-v-a666f0f2]{width:34px!important;height:34px!important}.action-btn[data-v-a666f0f2] .p-button-icon{font-size:16px;color:var(--text-color-secondary)}.topbar-divider[data-v-a666f0f2]{width:1px;height:24px;background:var(--surface-border);margin:0 4px}.user-menu-trigger[data-v-a666f0f2]{display:flex;align-items:center;gap:8px;padding:4px 8px 4px 4px;border-radius:8px;cursor:pointer;transition:background .15s ease}.user-menu-trigger[data-v-a666f0f2]:hover{background:var(--surface-hover)}.user-avatar[data-v-a666f0f2]{width:32px;height:32px;border-radius:8px;background:linear-gradient(135deg,var(--primary-color) 0,var(--primary-600) 100%);display:flex;align-items:center;justify-content:center;flex-shrink:0}.user-avatar span[data-v-a666f0f2]{font-size:13px;font-weight:700;color:var(--primary-color-text)}.user-info[data-v-a666f0f2]{display:flex;flex-direction:column;line-height:1.2}.user-name[data-v-a666f0f2]{font-size:13px;font-weight:600;color:var(--text-color)}.user-role[data-v-a666f0f2]{font-size:11px;color:var(--text-color-secondary)}.user-chevron[data-v-a666f0f2]{font-size:10px;color:var(--text-color-secondary);margin-left:2px}.notif-badge[data-v-a666f0f2]{transform:translate(40%,-40%)!important;font-size:10px!important;min-width:16px!important;height:16px!important;line-height:16px!important}.layout-main-container[data-v-a666f0f2]{flex:1;display:flex;flex-direction:column;overflow:hidden;background:var(--surface-ground)}.layout-main[data-v-a666f0f2]{flex:1;overflow-y:auto;overflow-x:hidden;padding:0}.auth-container[data-v-a666f0f2],.layout-footer[data-v-a666f0f2]{display:flex;align-items:center;justify-content:center}.layout-footer[data-v-a666f0f2]{height:32px;padding:0 16px;background:var(--surface-card);border-top:1px solid var(--surface-border);font-size:11px;color:var(--text-color-secondary);flex-shrink:0}.notification-panel[data-v-a666f0f2]{width:380px}.notification-panel[data-v-a666f0f2] .p-overlaypanel-content{padding:0}.notif-panel-header[data-v-a666f0f2]{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid var(--surface-border)}.notif-panel-header h3[data-v-a666f0f2]{margin:0;font-size:14px;font-weight:600;color:var(--text-color)}.notif-panel-body[data-v-a666f0f2]{max-height:360px;overflow-y:auto;padding:8px}.notif-empty[data-v-a666f0f2]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px 16px;color:var(--text-color-secondary);gap:8px}.notif-empty i[data-v-a666f0f2]{font-size:24px;opacity:.5}.notif-empty p[data-v-a666f0f2]{margin:0;font-size:13px}.notif-item[data-v-a666f0f2]{display:flex;align-items:flex-start;padding:10px 12px;border-radius:8px;transition:background .15s ease;gap:8px}.notif-item[data-v-a666f0f2]:hover{background:var(--surface-hover)}.notif-item.unread[data-v-a666f0f2]{background:var(--highlight-bg)}.notif-content[data-v-a666f0f2]{flex:1;min-width:0}.notif-title[data-v-a666f0f2]{font-weight:600;font-size:13px;color:var(--text-color);margin-bottom:2px}.notif-message[data-v-a666f0f2]{font-size:12px;color:var(--text-color-secondary);line-height:1.4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.notif-time[data-v-a666f0f2]{font-size:11px;color:var(--text-color-secondary);margin-top:4px;opacity:.7}.notif-dismiss[data-v-a666f0f2]{flex-shrink:0;opacity:0;transition:opacity .15s ease}.notif-item:hover .notif-dismiss[data-v-a666f0f2]{opacity:1}.notif-panel-footer[data-v-a666f0f2]{display:flex;justify-content:space-between;padding:8px 16px;border-top:1px solid var(--surface-border)}.user-menu-panel[data-v-a666f0f2]{width:260px}.user-menu-panel[data-v-a666f0f2] .p-overlaypanel-content{padding:0}.user-menu-header[data-v-a666f0f2]{display:flex;align-items:center;gap:12px;padding:16px;border-bottom:1px solid var(--surface-border)}.user-menu-avatar[data-v-a666f0f2]{width:42px;height:42px;border-radius:10px;background:linear-gradient(135deg,var(--primary-color) 0,var(--primary-600) 100%);display:flex;align-items:center;justify-content:center;flex-shrink:0}.user-menu-avatar span[data-v-a666f0f2]{font-size:16px;font-weight:700;color:var(--primary-color-text)}.user-menu-details[data-v-a666f0f2]{flex:1;min-width:0}.user-menu-name[data-v-a666f0f2]{font-size:14px;font-weight:600;color:var(--text-color);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-menu-email[data-v-a666f0f2]{font-size:12px;color:var(--text-color-secondary);margin-top:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-menu-role-badge[data-v-a666f0f2]{margin-top:4px}.user-menu-role-badge[data-v-a666f0f2] .p-tag{font-size:10px;padding:1px 6px}.user-menu-body[data-v-a666f0f2]{padding:8px}.user-menu-item[data-v-a666f0f2]{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:8px;cursor:pointer;transition:background .15s ease;font-size:13px;color:var(--text-color-secondary);font-weight:500}.user-menu-item[data-v-a666f0f2]:hover{background:var(--surface-hover);color:var(--text-color)}.user-menu-item .pi[data-v-a666f0f2]{font-size:14px;width:18px;text-align:center}.user-menu-footer[data-v-a666f0f2]{padding:8px;border-top:1px solid var(--surface-border)}.logout-item[data-v-a666f0f2]:hover{color:#ef4444}.page-dialog[data-v-a666f0f2],.page-dialog[data-v-a666f0f2] .p-dialog-content{padding:0}.loading-dialog[data-v-a666f0f2] .p-dialog-content{padding:24px}@media (max-width:768px){.app-title[data-v-a666f0f2],.nav-chevron[data-v-a666f0f2],.nav-label[data-v-a666f0f2]{display:none}.nav-item-trigger[data-v-a666f0f2]{padding:6px 10px}.topbar-divider[data-v-a666f0f2],.user-chevron[data-v-a666f0f2],.user-info[data-v-a666f0f2]{display:none}}.p-fileupload .p-fileupload-buttonbar,.p-fileupload .p-fileupload-content{padding:10px}