:root{--color-primary-50: #e8f5e9;--color-primary-100: #c8e6c9;--color-primary-200: #a5d6a7;--color-primary-300: #81c784;--color-primary-400: #66bb6a;--color-primary-500: #18A058;--color-primary-600: #36ad6a;--color-primary-700: #0c7a43;--color-primary-800: #0a6b3a;--color-primary-900: #074d2a;--color-primary: #18A058;--color-primary-hover: #36ad6a;--color-primary-pressed: #0c7a43;--color-primary-active: rgba(24, 160, 88, .1);--color-success-500: #18A058;--color-success-hover: #36ad6a;--color-success-pressed: #0c7a43;--color-warning-500: #f0a020;--color-warning-hover: #f2c97d;--color-warning-pressed: #c08010;--color-error-500: #d03050;--color-error-hover: #e88080;--color-error-pressed: #a01030;--color-info-500: #2080f0;--color-info-hover: #4098fc;--color-info-pressed: #1060c0;--text-primary: #1f2329;--text-secondary: #4e5969;--text-tertiary: #86909c;--text-disabled: #c0c4cc;--bg-layout: #f5f7fa;--bg-container: #ffffff;--bg-elevated: #fafbfc;--bg-subtle: #f7f8fa;--bg-muted: #f0f1f3;--bg-hover: #f5f5f5;--bg-inverted: #1a1a2e;--bg-mask: rgba(0, 0, 0, .45);--border-color: #e5e7eb;--border-subtle: #f0f1f3;--border-hover: #d1d5db;--border-focus: #18A058;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono: "SF Mono", Monaco, "Cascadia Code", "Roboto Mono", Consolas, monospace;--leading-tight: 1.25;--leading-normal: 1.5;--leading-relaxed: 1.625;--space-0: 0;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--space-16: 64px;--radius-none: 0;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-full: 9999px;--shadow-xs: 0 1px 2px rgba(0, 0, 0, .05);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .1);--shadow-md: 0 4px 6px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px rgba(0, 0, 0, .1);--shadow-xl: 0 20px 25px rgba(0, 0, 0, .15);--z-base: 0;--z-dropdown: 1000;--z-sticky: 1020;--z-fixed: 1030;--z-modal-backdrop: 1040;--z-modal: 1050;--z-popover: 1060;--z-tooltip: 1070;--z-toast: 1080;--duration-instant: 50ms;--duration-fast: .1s;--duration-normal: .15s;--duration-moderate: .2s;--duration-slow: .3s;--duration-slower: .5s;--ease-standard: cubic-bezier(.4, 0, .2, 1);--ease-decelerate: cubic-bezier(0, 0, .2, 1);--ease-accelerate: cubic-bezier(.4, 0, 1, 1);--ease-linear: linear;--transition-instant: var(--duration-instant) var(--ease-standard);--transition-fast: var(--duration-fast) var(--ease-standard);--transition-normal: var(--duration-slow) var(--ease-standard);--transition-slow: var(--duration-slower) var(--ease-standard);--ease-in: var(--ease-accelerate);--ease-out: var(--ease-decelerate);--ease-in-out: var(--ease-standard);--sidebar-bg: #001529;--sidebar-text: rgba(255, 255, 255, .65);--sidebar-text-active: #ffffff;--sidebar-item-hover: rgba(255, 255, 255, .08);--sidebar-item-active: #18A058;--sidebar-width: 220px;--sidebar-collapsed-width: 64px;--header-bg: #ffffff;--header-height: 56px;--header-shadow: 0 1px 4px rgba(0, 0, 0, .08);--header-border: 1px solid var(--border-color);--page-padding: var(--space-6);--page-header-margin-bottom: var(--space-4);--page-title-font-size: var(--text-lg);--page-title-font-weight: var(--font-weight-bold);--page-title-color: var(--text-primary);--table-header-bg: #fafafa;--table-row-hover: #f5f5f5;--table-border: var(--border-color);--table-padding: var(--space-3) var(--space-4);--stat-card-bg: var(--bg-container);--stat-card-border: 1px solid var(--border-color);--stat-card-radius: var(--radius-md);--stat-card-shadow: var(--shadow-sm);--stat-card-padding: var(--space-4);--stat-label-color: var(--text-secondary);--stat-label-font-size: var(--text-sm);--stat-value-color: var(--text-primary);--stat-value-font-size: var(--text-2xl);--stat-value-font-weight: var(--font-weight-bold);--filter-bar-bg: var(--bg-container);--filter-bar-padding: var(--space-4);--filter-bar-gap: var(--space-3);--filter-bar-border: 1px solid var(--border-color);--filter-bar-radius: var(--radius-md);--pagination-margin-top: var(--space-4);--pagination-align: flex-end;--config-section-gap: var(--space-6);--config-item-gap: var(--space-4);--config-label-width: 140px;--config-label-color: var(--text-secondary);--config-label-font-size: var(--text-sm)}html.dark,.dark-mode{--color-primary-50: #0d2818;--color-primary-100: #143d25;--color-primary-200: #1a5233;--color-primary-300: #21764a;--color-primary-400: #27965f;--color-primary-500: #2adb5c;--color-primary-600: #45e06f;--color-primary-700: #6ae88f;--color-primary-800: #8feeb0;--color-primary-900: #b5f5d0;--color-primary: #2adb5c;--color-primary-hover: #45e06f;--color-primary-pressed: #21b84e;--color-primary-active: rgba(42, 219, 92, .15);--color-success-500: #36ad6a;--color-success-hover: #63e2b7;--color-success-pressed: #18A058;--color-warning-500: #f2c97d;--color-warning-hover: #f5d9a0;--color-warning-pressed: #f0a020;--color-error-500: #e88080;--color-error-hover: #f0a0a0;--color-error-pressed: #d03050;--color-info-500: #4098fc;--color-info-hover: #70b8fc;--color-info-pressed: #2080f0;--text-primary: #f0f0f0;--text-secondary: #e0e0e0;--text-tertiary: #9ca3af;--text-disabled: #555555;--bg-layout: #18181c;--bg-container: #242428;--bg-elevated: #2a2a2e;--bg-hover: #3a3a3e;--bg-inverted: #f0f0f0;--bg-mask: rgba(0, 0, 0, .65);--border-color: #363636;--border-subtle: #2f2f33;--border-hover: #4a4a4a;--border-focus: #2adb5c;--shadow-xs: 0 1px 2px rgba(0, 0, 0, .3);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .4);--shadow-md: 0 4px 6px rgba(0, 0, 0, .4);--shadow-lg: 0 10px 15px rgba(0, 0, 0, .5);--shadow-xl: 0 20px 25px rgba(0, 0, 0, .6);--sidebar-bg: #001529;--sidebar-text: rgba(255, 255, 255, .65);--sidebar-text-active: #ffffff;--sidebar-item-hover: rgba(255, 255, 255, .08);--sidebar-item-active: #2adb5c;--header-bg: #242428;--header-shadow: 0 1px 4px rgba(0, 0, 0, .3);--header-border: 1px solid var(--border-color);--table-header-bg: #2a2a2e;--table-row-hover: #363636;--stat-card-bg: var(--bg-container);--stat-card-border: 1px solid var(--border-color);--stat-card-shadow: none;--filter-bar-bg: var(--bg-container);--filter-bar-border: 1px solid var(--border-color);--config-label-color: var(--text-secondary);--bg-subtle: #2f2f33;--bg-muted: #363636}html{scroll-behavior:smooth}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--bg-container)}::-webkit-scrollbar-thumb{background:var(--border-hover);border-radius:var(--radius-sm)}::-webkit-scrollbar-thumb:hover{background:var(--color-primary-500)}@keyframes adminFadeIn{0%{opacity:0}to{opacity:1}}@keyframes adminSlideUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes adminScaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes adminShakeX{0%,to{transform:translate(0)}20%{transform:translate(-4px)}40%{transform:translate(4px)}60%{transform:translate(-3px)}80%{transform:translate(3px)}}@keyframes adminRotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.admin-anim-fade-in{animation:adminFadeIn var(--duration-slow) var(--ease-decelerate)}.admin-anim-slide-up{animation:adminSlideUp var(--duration-slow) var(--ease-decelerate)}.admin-anim-scale-in{animation:adminScaleIn var(--duration-moderate) var(--ease-standard)}.admin-anim-shake{animation:adminShakeX .3s var(--ease-standard)}.admin-btn-interactive{transition:transform var(--duration-fast) var(--ease-standard),background-color var(--duration-fast) var(--ease-standard)}.admin-btn-interactive:hover{transform:scale(1.02)}.admin-btn-interactive:active{transform:scale(.98)}.admin-card-interactive{transition:transform var(--duration-normal) var(--ease-decelerate),box-shadow var(--duration-normal) var(--ease-decelerate),border-color var(--duration-normal) var(--ease-decelerate)}.admin-card-interactive:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.n-data-table-tr{transition:background-color var(--duration-fast) var(--ease-standard)}.n-modal .n-modal-body-wrapper{animation:adminScaleIn var(--duration-moderate) var(--ease-standard)}.n-card{transition:border-color var(--duration-normal) var(--ease-standard),box-shadow var(--duration-normal) var(--ease-standard)}.n-card.n-card--hoverable:hover{border-color:var(--border-hover)!important;box-shadow:var(--shadow-md)}html.dark .n-card.n-card--hoverable:hover{border-color:var(--color-primary-active)!important}.admin-skeleton{background:linear-gradient(90deg,var(--bg-subtle) 25%,var(--bg-muted) 50%,var(--bg-subtle) 75%);background-size:200% 100%;animation:adminSkeletonLoading 1.5s ease-in-out infinite;border-radius:var(--radius-sm)}@keyframes adminSkeletonLoading{0%{background-position:200% 0}to{background-position:-200% 0}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.app-container{min-height:100vh;background-color:var(--bg-layout);transition:background-color var(--duration-slow) var(--ease-standard)}.app-container.dark-mode{background-color:var(--bg-layout)}@media (max-width: 768px){*{-webkit-tap-highlight-color:transparent}.n-card{border-radius:8px!important}.n-card-header,.n-card__content{padding:12px!important}.n-button{min-height:36px}.n-data-table-wrapper{border-radius:8px}.n-data-table-th,.n-data-table-td{white-space:nowrap}.n-modal{margin:0!important}.n-dialog{max-width:90vw!important}.n-form-item-label{font-size:var(--text-sm)!important}.n-pagination{flex-wrap:wrap;justify-content:center;gap:var(--space-2)}::-webkit-scrollbar{height:4px;width:4px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#00000026;border-radius:4px}.dark-mode ::-webkit-scrollbar-thumb{background:#ffffff26}}@media (max-width: 480px){.n-card-header__main{font-size:var(--text-base)!important}.n-button--small{font-size:var(--text-xs)!important;padding:0 var(--space-2)!important}}.logo[data-v-3625a8a8]{height:64px;display:flex;align-items:center;justify-content:center;gap:12px;padding:0 16px;font-size:20px;font-weight:700;color:#222;border-bottom:1px solid #f0f0f0;transition:all .3s ease}.dark-mode .logo[data-v-3625a8a8]{color:#fff200;border-bottom-color:#333}.logo-icon[data-v-3625a8a8]{display:flex;align-items:center;justify-content:center;transition:all .3s ease;flex-shrink:0}.logo-text[data-v-3625a8a8]{color:#222;white-space:nowrap;overflow:hidden;transition:opacity .3s ease}.dark-mode .logo-text[data-v-3625a8a8]{color:#fff200}.layout-header[data-v-3625a8a8]{background:#fff;padding:0 24px;height:64px;display:flex;align-items:center;justify-content:space-between}.dark-mode .layout-header[data-v-3625a8a8]{background:#1f1f1f}.header-left[data-v-3625a8a8]{display:flex;align-items:center;gap:8px}.menu-trigger[data-v-3625a8a8]{padding:0 8px}.mobile-header[data-v-3625a8a8]{padding:0 12px;height:56px}.mobile-title[data-v-3625a8a8]{font-size:16px;font-weight:600;color:#222}.dark-mode .mobile-title[data-v-3625a8a8]{color:#e0e0e0}.mobile-logo[data-v-3625a8a8]{height:56px;display:flex;align-items:center;justify-content:center;gap:10px;font-size:18px;font-weight:700;color:#222;border-bottom:1px solid #f0f0f0}.dark-mode .mobile-logo[data-v-3625a8a8]{color:#fff200;border-bottom-color:#333}.mobile-logo .logo-text[data-v-3625a8a8]{font-size:18px}.mobile-drawer-content[data-v-3625a8a8]{display:flex;flex-direction:column;height:100%;overflow:hidden}.mobile-drawer-content[data-v-3625a8a8] .n-menu{flex:1;overflow-y:auto}.n-drawer-body-content-wrapper{height:100%}.dark-mode .n-drawer{--n-body-color: #1f1f1f}.dark-mode .n-drawer .n-menu{background:#1f1f1f}.product-dropdown{padding:8px;min-width:260px}.product-item{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:8px;text-decoration:none;color:inherit;transition:background .2s;cursor:pointer}.product-item:hover{background:#18a05814}.dark-mode .product-item:hover{background:#ffffff0f}.product-icon{width:36px;height:36px;min-width:36px;border-radius:8px;display:flex;align-items:center;justify-content:center}.product-info{flex:1;min-width:0}.product-name{font-size:14px;font-weight:600;color:#333;line-height:1.4}.dark-mode .product-name{color:#e0e0e0}.product-desc{font-size:12px;color:#999;line-height:1.4}
