.sidebar-logo[data-v-21b5ec2d]{padding:20px 16px;display:flex;align-items:center;gap:10px;border-bottom:1px solid var(--border-color)}.logo-icon-wrapper[data-v-21b5ec2d]{width:34px;height:34px;border-radius:10px;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;align-items:center;justify-content:center;flex-shrink:0}[data-v-21b5ec2d] .n-scrollbar-content{display:flex;flex-direction:column;height:100%}[data-v-21b5ec2d] .n-menu{flex:1;overflow-y:auto;overflow-x:hidden;min-height:0;scrollbar-width:none;-ms-overflow-style:none}[data-v-21b5ec2d] .n-menu::-webkit-scrollbar{display:none}.sidebar-footer[data-v-21b5ec2d]{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-top:1px solid var(--border-color);font-size:12px;flex-shrink:0}.project-link[data-v-21b5ec2d]{display:inline-flex;align-items:center;gap:4px;color:#64748b;text-decoration:none;transition:color .2s}.project-link[data-v-21b5ec2d]:hover{color:#667eea}.project-link-text[data-v-21b5ec2d]{font-size:12px}.version-text[data-v-21b5ec2d]{color:#475569;font-size:11px}.logo-text[data-v-21b5ec2d]{font-size:18px;font-weight:700;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent}[data-v-21b5ec2d] .n-menu--collapsed .n-menu-item-content{padding-left:0!important;padding-right:0!important;grid-template-columns:1fr!important;grid-template-areas:"icon"!important}[data-v-21b5ec2d] .n-menu--collapsed .n-menu-item-content .n-menu-item-content-header,[data-v-21b5ec2d] .n-menu--collapsed .n-menu-item-content .n-menu-item-content__arrow{display:none}[data-v-21b5ec2d] .n-menu--collapsed .n-menu-item-content .n-menu-item-content__icon{margin-right:0!important;justify-self:center}.sidebar-close[data-v-21b5ec2d]{display:flex;justify-content:flex-end;padding:12px 16px 0}.header-bar[data-v-b564122b]{height:48px;display:flex;align-items:center;justify-content:space-between;padding:0 16px;background:var(--bg-secondary);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--border-color);flex-shrink:0;gap:12px;position:relative;z-index:10}.header-left[data-v-b564122b]{display:flex;align-items:center;gap:8px}.home-btn[data-v-b564122b]{display:flex;align-items:center;gap:6px;font-weight:700}.home-text[data-v-b564122b]{font-size:15px;font-weight:700;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.header-right[data-v-b564122b]{display:flex;align-items:center;gap:8px}.menu-toggle[data-v-b564122b]{display:none}.user-btn[data-v-b564122b]{display:flex;align-items:center;gap:4px}.user-name[data-v-b564122b]{font-size:13px;color:var(--text-primary);max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}*{margin:0;padding:0;box-sizing:border-box}html,body,#app{height:100%}:root{--bg-primary: #0f172a;--bg-secondary: rgba(30, 41, 59, .85);--bg-card: rgba(30, 41, 59, .55);--text-primary: #f1f5f9;--text-secondary: #94a3b8;--border-color: rgba(255,255,255,.08);--radius-sm: 8px;--radius-md: 12px;--radius-lg: 20px;--shadow-card: 0 8px 24px -6px rgba(0,0,0,.5), 0 0 0 1px rgba(255,255,255,.04) inset;--shadow-card-hover: 0 12px 36px -8px rgba(0,0,0,.6), 0 0 0 1px rgba(255,255,255,.06) inset, 0 0 20px rgba(102,126,234,.08);--glow-primary: 0 0 24px rgba(102,126,234,.12);--gradient-primary: linear-gradient(135deg, #667eea, #764ba2)}body{background:var(--bg-primary);color:var(--text-primary);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.main-content:before{content:"";position:fixed;top:-20%;right:-10%;width:600px;height:600px;border-radius:50%;background:radial-gradient(circle,rgba(102,126,234,.04) 0%,transparent 70%);pointer-events:none;z-index:0}.login-layout{height:100vh}.app-layout{display:flex;height:100vh}.main-area{flex:1;display:flex;flex-direction:column;min-width:0}.main-content{flex:1;overflow-y:auto;overflow-x:hidden;background:var(--bg-primary);display:flex;flex-direction:column;min-height:0}.main-content::-webkit-scrollbar{width:6px}.main-content::-webkit-scrollbar-track{background:transparent}.main-content::-webkit-scrollbar-thumb{background:#94a3b833;border-radius:3px}.main-content::-webkit-scrollbar-thumb:hover{background:#94a3b866}.main-content,.n-drawer-body-content-wrapper,.n-modal-body-content-wrapper,.n-modal .n-card__content,.n-modal .n-card__content-wrapper,.n-modal.n-card .n-card__content,.n-modal.n-card .n-card__content-wrapper,.n-card[role=dialog] .n-card__content,.n-card[role=dialog] .n-card__content-wrapper,.model-edit-modal .n-card__content,.model-edit-modal .n-card__content-wrapper,.n-base-select-menu,.n-data-table-base-table-body{scrollbar-width:thin;scrollbar-color:rgba(148,163,184,.2) transparent}.n-drawer-body-content-wrapper::-webkit-scrollbar,.n-modal-body-content-wrapper::-webkit-scrollbar,.n-modal .n-card__content::-webkit-scrollbar,.n-modal .n-card__content-wrapper::-webkit-scrollbar,.n-modal.n-card .n-card__content::-webkit-scrollbar,.n-modal.n-card .n-card__content-wrapper::-webkit-scrollbar,.n-card[role=dialog] .n-card__content::-webkit-scrollbar,.n-card[role=dialog] .n-card__content-wrapper::-webkit-scrollbar,.model-edit-modal .n-card__content::-webkit-scrollbar,.model-edit-modal .n-card__content-wrapper::-webkit-scrollbar,.n-base-select-menu::-webkit-scrollbar,.n-data-table-base-table-body::-webkit-scrollbar{width:6px;height:6px}.n-drawer-body-content-wrapper::-webkit-scrollbar-track,.n-modal-body-content-wrapper::-webkit-scrollbar-track,.n-modal .n-card__content::-webkit-scrollbar-track,.n-modal .n-card__content-wrapper::-webkit-scrollbar-track,.n-modal.n-card .n-card__content::-webkit-scrollbar-track,.n-modal.n-card .n-card__content-wrapper::-webkit-scrollbar-track,.n-card[role=dialog] .n-card__content::-webkit-scrollbar-track,.n-card[role=dialog] .n-card__content-wrapper::-webkit-scrollbar-track,.model-edit-modal .n-card__content::-webkit-scrollbar-track,.model-edit-modal .n-card__content-wrapper::-webkit-scrollbar-track,.n-base-select-menu::-webkit-scrollbar-track,.n-data-table-base-table-body::-webkit-scrollbar-track{background:transparent}.n-drawer-body-content-wrapper::-webkit-scrollbar-thumb,.n-modal-body-content-wrapper::-webkit-scrollbar-thumb,.n-modal .n-card__content::-webkit-scrollbar-thumb,.n-modal .n-card__content-wrapper::-webkit-scrollbar-thumb,.n-modal.n-card .n-card__content::-webkit-scrollbar-thumb,.n-modal.n-card .n-card__content-wrapper::-webkit-scrollbar-thumb,.n-card[role=dialog] .n-card__content::-webkit-scrollbar-thumb,.n-card[role=dialog] .n-card__content-wrapper::-webkit-scrollbar-thumb,.model-edit-modal .n-card__content::-webkit-scrollbar-thumb,.model-edit-modal .n-card__content-wrapper::-webkit-scrollbar-thumb,.n-base-select-menu::-webkit-scrollbar-thumb,.n-data-table-base-table-body::-webkit-scrollbar-thumb{background:#94a3b833;border-radius:3px}.n-drawer-body-content-wrapper::-webkit-scrollbar-thumb:hover,.n-modal-body-content-wrapper::-webkit-scrollbar-thumb:hover,.n-modal .n-card__content::-webkit-scrollbar-thumb:hover,.n-modal .n-card__content-wrapper::-webkit-scrollbar-thumb:hover,.n-modal.n-card .n-card__content::-webkit-scrollbar-thumb:hover,.n-modal.n-card .n-card__content-wrapper::-webkit-scrollbar-thumb:hover,.n-card[role=dialog] .n-card__content::-webkit-scrollbar-thumb:hover,.n-card[role=dialog] .n-card__content-wrapper::-webkit-scrollbar-thumb:hover,.model-edit-modal .n-card__content::-webkit-scrollbar-thumb:hover,.model-edit-modal .n-card__content-wrapper::-webkit-scrollbar-thumb:hover,.n-base-select-menu::-webkit-scrollbar-thumb:hover,.n-data-table-base-table-body::-webkit-scrollbar-thumb:hover{background:#94a3b866}.n-popover{scrollbar-width:thin;scrollbar-color:rgba(148,163,184,.2) transparent}.n-popover *::-webkit-scrollbar{width:6px;height:6px}.n-popover *::-webkit-scrollbar-track{background:transparent}.n-popover *::-webkit-scrollbar-thumb{background:#94a3b833;border-radius:3px}.n-popover *::-webkit-scrollbar-thumb:hover{background:#94a3b866}.content-container{width:100%;max-width:1400px;margin:0 auto;padding:24px 32px;display:flex;flex-direction:column;flex:1;min-height:0}.fade-slide-enter-active,.fade-slide-leave-active{transition:all .25s ease}.fade-slide-enter-from{opacity:0;transform:translateY(12px)}.fade-slide-leave-to{opacity:0;transform:translateY(-8px)}.page-header{margin-bottom:8px}.page-header h2{margin:0;font-size:24px;font-weight:700;display:flex;align-items:center}.page-subtitle{color:#94a3b8;font-size:14px;margin-top:4px}.n-card{border-radius:var(--radius-lg)!important;box-shadow:var(--shadow-card)!important;border:1px solid var(--border-color)!important;background:var(--bg-card)!important;backdrop-filter:blur(16px)!important;-webkit-backdrop-filter:blur(16px)!important;transition:box-shadow .25s ease,transform .25s ease,border-color .25s ease}.n-card:hover{box-shadow:var(--shadow-card-hover)!important;border-color:#ffffff1a!important;transform:translateY(-1px)}.n-layout-sider{background:var(--bg-secondary)!important;backdrop-filter:blur(16px)!important;-webkit-backdrop-filter:blur(16px)!important}.n-data-table{border-radius:var(--radius-md);background:transparent!important}.n-data-table-wrapper,.n-data-table-base-table,.n-data-table-table,.n-data-table-thead{background:transparent!important}.n-data-table-th{background:#ffffff08!important;border-bottom:1px solid rgba(255,255,255,.06)!important}.n-data-table-td{background:transparent!important;border-bottom:1px solid rgba(255,255,255,.03)!important}.n-data-table-tr:hover .n-data-table-td{background:#ffffff0a!important}.n-data-table-tr--striped .n-data-table-td{background:#ffffff04!important}.n-card__content{background:transparent!important}.n-card__header{background:transparent!important;border-bottom:1px solid rgba(255,255,255,.06)!important;padding:16px 20px!important}.n-modal{background:#1e293beb!important;backdrop-filter:blur(20px)!important;-webkit-backdrop-filter:blur(20px)!important;border:1px solid var(--border-color)!important}.n-modal-mask{background:#00000080!important;backdrop-filter:blur(4px)!important;-webkit-backdrop-filter:blur(4px)!important}.n-button{border-radius:var(--radius-sm)!important}.n-tag{border-radius:6px!important}.n-input{background:#ffffff0a!important;border-color:#ffffff14!important}.n-input:hover{border-color:#ffffff29!important}.n-input--focus{border-color:#667eea!important}.n-select .n-base-selection{background:#ffffff0a!important;border-color:#ffffff14!important}.n-alert{background:#ffffff08!important;-webkit-backdrop-filter:blur(8px)!important;backdrop-filter:blur(8px)!important;border:1px solid rgba(255,255,255,.06)!important}.n-spin-container{display:block!important;width:100%!important}.n-space--vertical>.n-space-item{width:100%!important}.n-data-table-wrapper{overflow-x:auto!important;-webkit-overflow-scrolling:touch}.n-data-table{min-width:100%}.main-area .n-card{overflow:hidden;align-self:stretch}.sidebar-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:99;background:#00000080;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.sidebar-mobile-wrapper{position:fixed;left:0;top:0;bottom:0;z-index:100;width:220px;transform:translate(-100%);transition:transform .3s ease}.sidebar-mobile-wrapper.open{transform:translate(0)}.sidebar-mobile-wrapper .n-layout-sider{width:220px!important;height:100%}@media(max-width:767px){.content-container{padding:16px!important}.page-header{flex-direction:column!important;align-items:flex-start!important;gap:8px}.page-header h2{font-size:20px!important}.n-grid>.n-gi{min-width:100%!important}.n-data-table{overflow-x:auto}.chart-card-body{flex-direction:column!important;text-align:center}.chart-card-body .cache-stat-row{justify-content:center}}@media(max-width:1023px){.content-container{padding:20px!important}}@media(max-width:767px){.content-container{padding:12px!important;max-width:100%!important}}@media(max-width:480px){.login-card{width:90vw!important;padding:16px!important}.login-header h1{font-size:24px!important}}@media(max-width:600px){.n-modal-content,.n-card[role=dialog]{max-width:calc(100vw - 32px)!important;margin:16px!important}}@media(max-width:600px){.n-form .n-form-item{flex-direction:column}.n-form .n-form-item-label{text-align:left;padding-bottom:4px!important}}
