@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";html,body{width:100%;min-height:100%;margin:0;padding:0;font-size:14px;background-color:var(--color-bg-1);-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;--color-bg-popup: var(--bg-secondary) !important;--color-bg-2: var(--bg-secondary) !important;--color-bg-3: var(--bg-secondary) !important}a{text-decoration:none;cursor:pointer}.cl{zoom:1}.cl:after{content:" ";display:block;height:0;clear:both;visibility:hidden}.z{float:left}.y{float:right}.arco-input-wrapper .arco-input[disabled]{-webkit-text-fill-color:var(--color-text-2)!important}.arco-btn-size-custom{display:inline-flex;align-items:center;padding:10px 18px;height:42px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer}.arco-btn-size-custom .arco-btn-icon{font-size:16px;margin-right:6px}.arco-select-view-size-custom{border-radius:8px;height:42px;padding-right:12px;padding-left:12px;font-size:14px;background:var(--bg-secondary);border:1px solid var(--color-neutral-3)}.arco-select-view-size-custom:hover{background:var(--bg-secondary);border:1px solid var(--color-primary)}.arco-btn-refresh{background:#6b7280;border-color:#6b7280;color:#fff}.arco-btn-shows{background:#2563eb;border-color:#2563eb;color:#fff}.arco-btn-add{background:var(--color-primary);border-color:var(--color-primary);color:#fff;height:52px;font-size:16px;padding:10px 28px}.arco-btn-back{background:#6b7280;border-color:#6b7280;color:#fff;height:52px;font-size:16px;padding:10px 28px}.arco-btn-operate{background:var(--bg-secondary);border:1px solid #e2e8f0;color:#64748b;border-radius:6px}[data-theme=dark] .arco-btn-operate{border:1px solid var(--bg-secondary)}.arco-btn-operate:hover{border-color:var(--color-primary);color:var(--color-primary);background:rgba(139,92,246,.05)}.t-table .arco-table-header{border-radius:12px 12px 0 0}.t-table .arco-table-body{border-radius:0 0 12px 12px}.t-table .arco-table-container,.t-table .arco-table-container .arco-table-content{border-radius:12px}.t-table .arco-table-cell{padding:15px}.t-table .arco-table-th{background-color:#f7f8fa}.t-table .arco-table-td{background-color:#fff;border-bottom:1px solid var(--border-color)}.t-table .arco-table-tr:hover .arco-table-td{background-color:#f7f8fa!important}.t-table .arco-table-tr-checked .arco-table-td{background-color:#f7f8fa}[data-theme=dark] .t-table .arco-table-th{background-color:var(--bg-secondary)}[data-theme=dark] .t-table .arco-table-td{background:#131b28}[data-theme=dark] .t-table .arco-table-tr:hover .arco-table-td,[data-theme=dark] .t-table .arco-table-tr-checked .arco-table-td{background-color:var(--bg-secondary)!important}.arco-table-hover .arco-table-tr-drag .arco-table-td.arco-table-col-fixed-left:before,.arco-table-hover .arco-table-tr-drag .arco-table-td.arco-table-col-fixed-right:before,.arco-table-hover:not(.arco-table-dragging) .arco-table-tr:not(.arco-table-tr-empty):not(.arco-table-tr-summary):hover .arco-table-td.arco-table-col-fixed-left:before,.arco-table-hover:not(.arco-table-dragging) .arco-table-tr:not(.arco-table-tr-empty):not(.arco-table-tr-summary):hover .arco-table-td.arco-table-col-fixed-right:before{background-color:#0000}.t-table .arco-table-th .arco-checkbox-icon,.t-table .arco-table-td .arco-checkbox-icon{width:16px;height:16px}.t-table .arco-table-cell-expand-icon .arco-table-cell-inline-icon{margin-right:6px}.t-table .arco-table-td:hover .t-table-input,.t-table .arco-table-tr .input-id-0{border:1px solid var(--color-neutral-3)}.t-table .t-table-input{border:1px solid #ffffff;background-color:#fff;border-radius:6px}[data-theme=dark] .t-table .t-table-input{border:1px solid #131b28;background-color:#131b28}.t-form .arco-form-item-label-col{position:relative}.t-form .arco-form-item-label:focus-visible{color:var(--color-primary)}.t-form .t-item-input .arco-form-item-label,.t-form .t-item-cascader .arco-form-item-label,.t-form .t-item-datePicker .arco-form-item-label,.t-form .t-item-textarea .arco-form-item-label{position:absolute;left:10px;top:-3px;padding:0 5px;font-size:13px;font-weight:500;color:var(--color-text-2);background:var(--bg-secondary);transition:all .2s ease;z-index:999}.t-form .t-item-switch .arco-form-item-label,.t-form .t-item-inputNumber .arco-form-item-label{position:absolute;left:0px;top:12px;font-size:13px;font-weight:500;color:var(--color-text-2);background:var(--bg-secondary);transition:all .2s ease;z-index:999}.t-form .t-item-switch .arco-form-item-label{top:-4px}.t-form .arco-input-wrapper,.t-form .arco-select-view-single,.t-form .arco-textarea-wrapper,.t-form .arco-picker,.t-form .arco-input-tag{padding:8px 12px;font-size:15px;background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;transition:all .2s ease}.t-form .arco-input-focus,.t-form .arco-select-view-focus,.t-form .arco-textarea-focus,.t-form .arco-picker-focused,.t-form .arco-input-tag-focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(var(--color-primary-rgb),.1)}:focus-visible{outline:0px solid #fff!important;outline-offset:0px!important}.t-form .arco-textarea{padding:4px 0}.t-form .arco-picker{height:48px}.t-form .t-form-switch{position:relative;width:100%;border-bottom:1px solid var(--border-color);height:24px}.t-form .t-form-switch .arco-switch{position:absolute;right:0;top:-18px}.t-table .arco-switch-checked,.t-form .arco-switch-checked{background-color:var(--color-primary)}.t-form .t-item-inputNumber{padding:0 12px;font-size:14px;background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;transition:all .2s ease}.t-form .t-form-inputNumber{position:relative;width:100%;height:38px}.t-form .t-form-inputNumber .arco-input{padding-top:4px;padding-bottom:4px;font-size:13px}.t-form .t-form-inputNumber .arco-input-wrapper{padding:0 12px;width:100px;position:absolute;right:0;top:0px}.t-form .arco-form-item-status-error .arco-input-wrapper:not(.arco-input-disabled),.t-form .arco-form-item-status-error .arco-textarea-wrapper:not(.arco-textarea-disabled){background-color:transparent;border-color:rgb(var(--danger-6))}.t-form .arco-form-item-message{min-height:30px;font-size:13px;line-height:30px;margin-bottom:5px}.t-form .t-form-card{border-radius:12px;margin-bottom:20px}.t-form .t-form-card .arco-collapse-item-header{line-height:36px;background:var(--bg-tertiary);border-bottom:1px solid var(--border-color)}.t-form .t-form-card .arco-collapse-item-header-right{padding-right:20px;padding-left:45px}.t-form .t-form-card .arco-collapse-item-icon-hover .arco-icon{color:var(--text-muted)}.t-form .t-form-card .arco-collapse-item-content{background-color:var(--bg-card);padding-right:20px;padding-left:20px}.t-form .t-form-card .arco-collapse-item-content-box{padding:20px 0}.t-form .t-form-card .arco-collapse-item-header-title{font-size:15px;font-weight:600;color:var(--text-primary)}.t-form .t-form-card .arco-collapse-item-header-extra{position:absolute;top:10px;left:20px}.t-form .t-form-card .arco-collapse-item-header-extra .arco-icon{color:var(--color-primary)}.t-form .t-form-card .arco-collapse-item-icon-right{right:20px}.t-form .t-form-card .t-badge{font-size:12px;font-weight:600;background:var(--color-primary);border:none;border-radius:20px;color:#fff;cursor:pointer;position:absolute;top:-7px;right:30px;height:28px;line-height:28px;padding:0 20px}.t-top-fixed{position:fixed;top:auto;bottom:10px;right:30px;z-index:1000;animation:slideUp .3s ease-out}.t-top-fixed .arco-btn-add{box-shadow:0 4px 12px rgba(var(--color-primary-rgb),.4)}.addons-setup-modal{padding:0;border-radius:16px;background-color:#0000}.addons-setup-modal .arco-modal-header{display:none}.t-button{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;padding:16px 20px;background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;margin-bottom:20px}.t-modal-content{background:var(--bg-secondary);border-radius:16px;width:100%;box-shadow:0 20px 60px #0003;animation:modalIn .25s ease}.t-modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--border-color)}.t-modal-title{display:flex;align-items:center;gap:10px;font-size:16px;font-weight:600;color:var(--text-primary)}.t-modal-close{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:8px;color:var(--text-primary);cursor:pointer;transition:all .2s ease}.t-modal-body{padding:24px}.t-modal-body-content{text-align:center;padding:8px 0}.t-modal-body-text{font-size:15px;color:var(--text-primary);margin:0 0 12px;line-height:1.6}.t-modal-body-warning{font-size:13px;color:#ef4444;margin:0}.t-modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:16px 24px;border-top:1px solid var(--border-color)}.t-modal-footer-cancel{padding:10px 24px;border:1px solid var(--border-color);border-radius:8px;background:var(--bg-secondary);color:var(--text-primary);font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.t-modal-footer-ok{padding:10px 24px;border:none;border-radius:8px;background:var(--color-primary);color:#fff;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.arco-modal{background:var(--bg-secondary);border-radius:16px;box-shadow:0 20px 60px #0003;animation:modalIn .25s ease}.arco-modal-header{padding:16px 24px;height:80px;border-bottom:1px solid var(--border-color)}.arco-modal-header .arco-modal-title-align-center{justify-content:left}.arco-modal-header .arco-modal-close-btn .arco-icon{font-size:16px}.arco-modal-title{font-size:var(--text-xl);font-weight:var(--font-semibold);color:var(--text-primary)}.arco-modal-footer .arco-btn-secondary{height:44px;padding:10px 24px;border:1px solid var(--border-color)!important;border-radius:8px;background:var(--bg-secondary);color:var(--text-primary);font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.arco-modal-footer .arco-btn-primary{height:44px;padding:10px 24px;border:1px solid var(--color-primary)!important;border-radius:8px;background:var(--color-primary);color:#fff;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.arco-modal-footer .arco-btn-secondary:hover{background:var(--bg-secondary);color:var(--text-primary)}.arco-modal-footer .arco-btn-primary:hover{color:#fff;background-color:var(--color-primary)}#nprogress{pointer-events:none}#nprogress .bar{background:#29d;position:fixed;z-index:1031;top:0;left:0;width:100%;height:2px}#nprogress .peg{display:block;position:absolute;right:0px;width:100px;height:100%;box-shadow:0 0 10px #29d,0 0 5px #29d;opacity:1;-webkit-transform:rotate(3deg) translate(0px,-4px);-ms-transform:rotate(3deg) translate(0px,-4px);transform:rotate(3deg) translateY(-4px)}#nprogress .spinner{display:block;position:fixed;z-index:1031;top:15px;right:15px}#nprogress .spinner-icon{width:18px;height:18px;box-sizing:border-box;border:solid 2px transparent;border-top-color:#29d;border-left-color:#29d;border-radius:50%;-webkit-animation:nprogress-spinner .4s linear infinite;animation:nprogress-spinner .4s linear infinite}.nprogress-custom-parent{overflow:hidden;position:relative}.nprogress-custom-parent #nprogress .spinner,.nprogress-custom-parent #nprogress .bar{position:absolute}@-webkit-keyframes nprogress-spinner{0%{-webkit-transform:rotate(0deg)}to{-webkit-transform:rotate(360deg)}}@keyframes nprogress-spinner{0%{transform:rotate(0)}to{transform:rotate(360deg)}}:root{--color-primary: #6366f1;--color-primary-light: #818cf8;--color-primary-dark: #4f46e5;--color-primary-rgb: 99, 102, 241;--color-accent: #8b5cf6;--color-accent-rgb: 139, 92, 246;--color-success: #10b981;--color-success-rgb: 16, 185, 129;--color-warning: #f59e0b;--color-warning-rgb: 245, 158, 11;--color-error: #ef4444;--color-error-rgb: 239, 68, 68;--color-info: #3b82f6;--color-info-rgb: 59, 130, 246;--gradient-primary: linear-gradient(135deg, #6366f1 0%, #8b5cf6 100%);--gradient-accent: linear-gradient(135deg, #3b82f6 0%, #6366f1 100%);--gradient-purple: linear-gradient(135deg, #8b5cf6 0%, #a855f7 100%);--gradient-green: linear-gradient(135deg, #10b981 0%, #34d399 100%);--gradient-orange: linear-gradient(135deg, #f59e0b 0%, #fb923c 100%);--gradient-dark-bg: linear-gradient(135deg, #0f172a 0%, #1e1b4b 50%, #0f172a 100%);--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", "Noto Sans SC", Helvetica, Arial, sans-serif;--font-mono: "SF Mono", "Fira Code", "JetBrains Mono", Consolas, "Liberation Mono", Menlo, monospace;--font-cn: "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", "Noto Sans SC", sans-serif;--text-xs: .8125rem;--text-sm: .875rem;--text-base: .9375rem;--text-md: 1rem;--text-lg: 1.0625rem;--text-xl: 1.1875rem;--text-2xl: 1.5rem;--text-3xl: 1.75rem;--text-4xl: 2.25rem;--font-normal: 450;--font-medium: 500;--font-semibold: 600;--font-bold: 700;--leading-none: 1;--leading-tight: 1.25;--leading-snug: 1.375;--leading-normal: 1.5;--leading-relaxed: 1.625;--leading-loose: 1.75;--tracking-tight: -.025em;--tracking-normal: 0;--tracking-wide: .025em;--space-xs: .25rem;--space-sm: .5rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--space-2xl: 3rem;--space-3xl: 4rem;--radius-sm: .25rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--radius-2xl: 1.5rem;--radius-full: 9999px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .1);--shadow-md: 0 4px 6px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 25px rgba(0, 0, 0, .15);--shadow-xl: 0 20px 40px rgba(0, 0, 0, .2);--shadow-glow: 0 0 20px rgba(99, 102, 241, .3);--shadow-glow-lg: 0 0 40px rgba(99, 102, 241, .4);--transition-fast: .15s ease;--transition-normal: .3s ease;--transition-slow: .5s ease;--sidebar-width: 260px;--sidebar-collapsed: 72px;--header-height: 64px;--content-max-width: 1400px;--z-dropdown: 100;--z-sticky: 200;--z-fixed: 300;--z-modal: 400;--z-toast: 500}[data-theme=dark]{--bg-primary: #0f172a;--bg-secondary: #1e293b;--bg-tertiary: #334155;--bg-table: #1e293b;--bg-hover: rgba(255, 255, 255, .05);--bg-card: rgba(30, 41, 59, .8);--text-primary: #f1f5f9;--text-secondary: #94a3b8;--text-muted: #64748b;--border-color: rgba(255, 255, 255, .1);--border-light: rgba(255, 255, 255, .05);--glass-bg: rgba(15, 23, 42, .8);--glass-border: rgba(255, 255, 255, .1);--glass-shadow: 0 8px 32px rgba(0, 0, 0, .3);--input-bg: rgba(255, 255, 255, .05);--input-border: rgba(255, 255, 255, .1);--input-focus: rgba(99, 102, 241, .2);--scrollbar-track: rgba(255, 255, 255, .05);--scrollbar-thumb: rgba(255, 255, 255, .2)}[data-theme=light]{--bg-primary: #f8fafc;--bg-secondary: #ffffff;--bg-tertiary: #f1f5f9;--bg-table: #f7f8fa;--bg-hover: rgba(0, 0, 0, .05);--bg-card: rgba(255, 255, 255, .9);--text-primary: #0f172a;--text-secondary: #475569;--text-muted: #94a3b8;--border-color: rgba(0, 0, 0, .1);--border-light: rgba(0, 0, 0, .05);--glass-bg: rgba(255, 255, 255, .9);--glass-border: rgba(0, 0, 0, .1);--glass-shadow: 0 8px 32px rgba(0, 0, 0, .1);--input-bg: #ffffff;--input-border: rgba(0, 0, 0, .15);--input-focus: rgba(99, 102, 241, .2);--scrollbar-track: rgba(0, 0, 0, .05);--scrollbar-thumb: rgba(0, 0, 0, .2);--gradient-dark-bg: linear-gradient(135deg, #f8fafc 0%, #e0e7ff 50%, #f8fafc 100%)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--leading-normal);color:var(--text-primary);background:var(--bg-primary);min-height:100vh;overflow-x:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;font-feature-settings:"kern" 1,"liga" 1}table td,table th,.arco-table-td,.arco-table-th,.data-table td,.data-table th{font-feature-settings:"tnum" on,"lnum" on}.col-id,.arco-table-td[data-index=id],td[class*=id],.id-cell,.number-cell{font-family:Inter,-apple-system,BlinkMacSystemFont,SF Pro Display,Segoe UI,sans-serif;font-weight:500;font-variant-numeric:tabular-nums;letter-spacing:.01em}input[type=text],input[type=number],input[type=email],input[type=url],input[type=tel],input[type=password],textarea,.arco-input,.arco-input-wrapper input,.arco-textarea{font-family:Inter,-apple-system,BlinkMacSystemFont,SF Pro Display,PingFang SC,Microsoft YaHei,sans-serif;font-feature-settings:"tnum" on,"lnum" on;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}button,.btn,.arco-btn{font-family:Inter,-apple-system,BlinkMacSystemFont,SF Pro Display,PingFang SC,Microsoft YaHei,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.arco-tag,.arco-badge,.type-badge,.status-badge,.label-badge{font-family:Inter,-apple-system,BlinkMacSystemFont,SF Pro Display,PingFang SC,Microsoft YaHei,sans-serif;font-weight:500;-webkit-font-smoothing:antialiased}.url-text,.path-text,.code-text,[class*=url],[class*=path]{font-family:Inter,-apple-system,BlinkMacSystemFont,SF Pro Display,Segoe UI,sans-serif;font-feature-settings:"tnum" on,"lnum" on;letter-spacing:0}.arco-pagination,.arco-pagination-item,.pagination,.page-number{font-family:Inter,-apple-system,BlinkMacSystemFont,SF Pro Display,Segoe UI,sans-serif;font-variant-numeric:tabular-nums;font-weight:500}.stat-number,.count,.total,.arco-statistic-value{font-family:Inter,-apple-system,BlinkMacSystemFont,SF Pro Display,Segoe UI,sans-serif;font-variant-numeric:tabular-nums;font-weight:500;-webkit-font-smoothing:antialiased}.time,.date,.datetime,.arco-picker-input input{font-family:Inter,-apple-system,BlinkMacSystemFont,SF Pro Display,Segoe UI,sans-serif;font-variant-numeric:tabular-nums;letter-spacing:.01em}.sort-input,input[type=number].sort-input{font-family:Inter,-apple-system,BlinkMacSystemFont,SF Pro Display,Segoe UI,sans-serif;font-variant-numeric:tabular-nums;font-weight:500}table input[type=text],table input[type=number],.data-table input[type=text],.data-table input[type=number],.arco-table input[type=text],.arco-table input[type=number],.name-input,.url-input,.sort-input{height:34px;padding:6px 10px;font-size:14px;line-height:1.4;border-radius:6px;box-sizing:border-box}.sort-input{text-align:center}.arco-table-td .arco-input,.arco-table-td .arco-input-wrapper input{height:34px;padding:6px 10px;font-size:14px}html.theme-transitioning,html.theme-transitioning *,html.theme-transitioning *:before,html.theme-transitioning *:after{transition:background-color .3s ease,background .3s ease,color .3s ease,border-color .3s ease,box-shadow .3s ease,fill .3s ease,stroke .3s ease!important}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--scrollbar-track);border-radius:4px}::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:4px;transition:background var(--transition-fast)}::-webkit-scrollbar-thumb:hover{background:var(--color-primary)}*{scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) var(--scrollbar-track)}a{color:var(--color-primary);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-primary-light)}img,video{max-width:100%;height:auto;display:block}button,input,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit;color:inherit}button{cursor:pointer;border:none;background:none}ul,ol{list-style:none}table{border-collapse:collapse;width:100%}h1,h2,h3,h4,h5,h6{font-weight:var(--font-semibold);line-height:var(--leading-tight);color:var(--text-primary);margin:0}h1{font-size:var(--text-4xl)}h2{font-size:var(--text-3xl)}h3{font-size:var(--text-2xl)}h4{font-size:var(--text-xl)}h5{font-size:var(--text-lg)}h6{font-size:var(--text-base)}p{margin:0 0 var(--space-md) 0;color:var(--text-secondary)}strong,b{font-weight:var(--font-semibold)}small{font-size:var(--text-sm)}code{font-family:var(--font-mono);font-size:.9em;padding:2px 6px;background:var(--bg-tertiary);border-radius:var(--radius-sm)}::selection{background:rgba(var(--color-primary-rgb),.3);color:var(--text-primary)}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.hidden{display:none!important}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.text-primary{color:var(--text-primary)!important}.text-secondary{color:var(--text-secondary)!important}.text-muted{color:var(--text-muted)!important}.text-accent{color:var(--color-primary)!important}.text-success{color:var(--color-success)!important}.text-warning{color:var(--color-warning)!important}.text-error{color:var(--color-error)!important}.font-medium{font-weight:var(--font-medium)}.font-semibold{font-weight:var(--font-semibold)}.font-bold{font-weight:var(--font-bold)}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.line-clamp-2{display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.flex{display:flex}.inline-flex{display:inline-flex}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-end{justify-content:flex-end}.gap-xs{gap:var(--space-xs)}.gap-sm{gap:var(--space-sm)}.gap-md{gap:var(--space-md)}.gap-lg{gap:var(--space-lg)}.flex-1{flex:1}.flex-shrink-0{flex-shrink:0}.grid{display:grid}.grid-cols-2{grid-template-columns:repeat(2,1fr)}.grid-cols-3{grid-template-columns:repeat(3,1fr)}.grid-cols-4{grid-template-columns:repeat(4,1fr)}.m-0{margin:0}.mt-sm{margin-top:var(--space-sm)}.mt-md{margin-top:var(--space-md)}.mt-lg{margin-top:var(--space-lg)}.mb-sm{margin-bottom:var(--space-sm)}.mb-md{margin-bottom:var(--space-md)}.mb-lg{margin-bottom:var(--space-lg)}.ml-auto{margin-left:auto}.mr-auto{margin-right:auto}.p-0{padding:0}.p-sm{padding:var(--space-sm)}.p-md{padding:var(--space-md)}.p-lg{padding:var(--space-lg)}.px-md{padding-left:var(--space-md);padding-right:var(--space-md)}.py-md{padding-top:var(--space-md);padding-bottom:var(--space-md)}.w-full{width:100%}.h-full{height:100%}.min-h-screen{min-height:100vh}.rounded{border-radius:var(--radius-md)}.rounded-lg{border-radius:var(--radius-lg)}.rounded-full{border-radius:var(--radius-full)}.transition{transition:all var(--transition-normal)}.transition-fast{transition:all var(--transition-fast)}.bg-animated{background:var(--gradient-dark-bg);background-size:400% 400%;animation:gradientShift 15s ease infinite}@keyframes gradientShift{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}body[arco-theme=dark] .edui-editor{background:#1e293b!important;border-color:#ffffff26!important;border:1px solid rgba(255,255,255,.15)!important}body[arco-theme=dark] .edui-editor-iframeholder{background:#1e293b!important;border-right:1px solid rgba(255,255,255,.15)!important;margin-right:-1px!important}body[arco-theme=dark] .edui-editor iframe{background:#1e293b!important}body[arco-theme=dark] .edui-editor-toolbarbox,body[arco-theme=dark] .edui-toolbar{background:#1e293b!important;border-color:#ffffff1a!important}body[arco-theme=dark] .edui-toolbar .edui-btn,body[arco-theme=dark] .edui-toolbar .edui-btn-body,body[arco-theme=dark] .edui-toolbar .edui-splitborder,body[arco-theme=dark] .edui-toolbar .edui-box{background:transparent!important}body[arco-theme=dark] .edui-toolbar .edui-btn:hover,body[arco-theme=dark] .edui-toolbar .edui-btn-body:hover{background:rgba(255,255,255,.15)!important;border-radius:4px!important}body[arco-theme=dark] .edui-toolbar .edui-icon{filter:invert(1) brightness(1.2)!important;opacity:.9!important}body[arco-theme=dark] .edui-toolbar .edui-btn:hover .edui-icon{opacity:1!important}body[arco-theme=dark] .edui-toolbar .edui-iconfont{color:#e2e8f0!important}body[arco-theme=dark] .edui-toolbar .edui-btn:hover .edui-iconfont{color:#fff!important}body[arco-theme=dark] .edui-toolbar .edui-splitborder{border-color:#fff3!important}body[arco-theme=dark] .edui-toolbar .edui-arrow{filter:invert(1)!important}body[arco-theme=dark] .edui-toolbar .edui-combox-body,body[arco-theme=dark] .edui-toolbar .edui-button-body,body[arco-theme=dark] .edui-toolbar .edui-menubutton-body,body[arco-theme=dark] .edui-toolbar .edui-splitbutton-body{background:transparent!important;border-color:#ffffff1a!important}body[arco-theme=dark] .edui-toolbar .edui-combox-body:hover,body[arco-theme=dark] .edui-toolbar .edui-button-body:hover,body[arco-theme=dark] .edui-toolbar .edui-menubutton-body:hover,body[arco-theme=dark] .edui-toolbar .edui-splitbutton-body:hover{background:rgba(255,255,255,.15)!important}body[arco-theme=dark] .edui-toolbar .edui-combox .edui-combox-body .edui-button-body .edui-label{color:#e2e8f0!important}body[arco-theme=dark] .edui-editor-iframeholder{background:#1e293b!important;position:relative!important}body[arco-theme=dark] .edui-editor-iframeholder:after{content:""!important;position:absolute!important;top:0!important;right:0!important;width:1px!important;height:100%!important;background:rgba(255,255,255,.15)!important;pointer-events:none!important;z-index:10!important}body[arco-theme=dark] .edui-editor-bottomContainer{background:#1e293b!important;border-color:#ffffff1a!important}body[arco-theme=dark] .edui-editor-breadcrumb{background:#1e293b!important;color:#94a3b8!important}body[arco-theme=dark] .edui-editor-breadcrumb span{color:#94a3b8!important}body[arco-theme=dark] .edui-popup,body[arco-theme=dark] .edui-menu,body[arco-theme=dark] .edui-dropdown-menu{background:#1e293b!important;border-color:#ffffff26!important;box-shadow:0 4px 12px #0000004d!important}body[arco-theme=dark] .edui-popup .edui-popup-body,body[arco-theme=dark] .edui-menu .edui-menu-body{background:#1e293b!important}body[arco-theme=dark] .edui-menu .edui-menuitem{color:#e2e8f0!important}body[arco-theme=dark] .edui-menu .edui-menuitem:hover{background:rgba(255,255,255,.1)!important}body[arco-theme=dark] .edui-menu .edui-menuitem .edui-label{color:#e2e8f0!important}body[arco-theme=dark] .edui-colorpicker{background:#1e293b!important;border-color:#ffffff26!important}body[arco-theme=dark] .edui-dialog{background:transparent!important;border:none!important;box-shadow:none!important}body[arco-theme=dark] .edui-dialog-body{background:#1e293b!important;border:1px solid rgba(255,255,255,.15)!important;box-shadow:0 8px 32px #0006!important;border-radius:10px!important;overflow:hidden!important}body[arco-theme=dark] .edui-dialog-shadow{display:none!important}body[arco-theme=dark] .edui-dialog-titlebar{background:#334155!important;border-color:#ffffff1a!important;height:40px!important;line-height:40px!important;border-radius:0!important}body[arco-theme=dark] .edui-dialog-caption{color:#f1f5f9!important;line-height:40px!important}body[arco-theme=dark] .edui-dialog-content{border-radius:0!important}body[arco-theme=dark] .edui-dialog-foot{border-radius:0 0 10px 10px!important}.edui-dialog{background:transparent!important;border:none!important;box-shadow:none!important}.edui-dialog-body{border-radius:10px!important;overflow:hidden!important}.edui-dialog-shadow{display:none!important}.edui-dialog-titlebar{height:40px!important;line-height:40px!important;border-radius:0!important}.edui-dialog-caption{line-height:40px!important}body[arco-theme=dark] .edui-dialog-closebutton{filter:invert(.85)!important}body[arco-theme=dark] .edui-dialog-foot .edui-btn,body[arco-theme=dark] .edui-dialog-buttons .edui-btn,body[arco-theme=dark] .edui-dialog .edui-okbutton,body[arco-theme=dark] .edui-dialog .edui-cancelbutton,body[arco-theme=dark] .edui-dialog-buttons .edui-button,body[arco-theme=dark] .edui-dialog-buttons .edui-button-body{background:#475569!important;border-color:#fff3!important;color:#f1f5f9!important;border-radius:4px!important}body[arco-theme=dark] .edui-dialog-buttons .edui-button .edui-label{color:#f1f5f9!important}body[arco-theme=dark] .edui-dialog-foot .edui-btn:hover,body[arco-theme=dark] .edui-dialog-buttons .edui-btn:hover,body[arco-theme=dark] .edui-dialog .edui-okbutton:hover,body[arco-theme=dark] .edui-dialog .edui-cancelbutton:hover,body[arco-theme=dark] .edui-dialog-buttons .edui-button:hover .edui-button-body,body[arco-theme=dark] .edui-dialog-buttons .edui-state-hover .edui-button-body{background:#64748b!important;border-color:#ffffff40!important}body[arco-theme=dark] .edui-dialog-foot{background:#1e293b!important;border-top:1px solid rgba(255,255,255,.1)!important;height:60px!important;min-height:60px!important;padding:0 15px!important;box-sizing:border-box!important;display:flex!important;align-items:center!important;justify-content:flex-end!important}.edui-dialog-foot{height:60px!important;min-height:60px!important;padding:0 15px!important;box-sizing:border-box!important;display:flex!important;align-items:center!important;justify-content:flex-end!important}.edui-dialog-buttons{display:flex!important;flex-direction:row-reverse!important;align-items:center!important;justify-content:flex-start!important;gap:10px!important;height:100%!important}body[arco-theme=dark] .edui-dialog .edui-okbutton{background:#3b82f6!important;border-color:#3b82f6!important;color:#fff!important}body[arco-theme=dark] .edui-dialog .edui-okbutton:hover{background:#2563eb!important;border-color:#2563eb!important}body[arco-theme=dark] .edui-dialog-body iframe{background:#1e293b!important}body[arco-theme=dark] .edui-tablepicker{background:#1e293b!important;border-color:#ffffff26!important}body[arco-theme=dark] .edui-tablepicker .edui-tablepicker-cell{border-color:#fff3!important}body[arco-theme=dark] .edui-tablepicker .edui-tablepicker-cell-on{background:rgba(59,130,246,.3)!important}body[arco-theme=dark] .edui-listitem{color:#e2e8f0!important}body[arco-theme=dark] .edui-listitem:hover{background:rgba(255,255,255,.1)!important}body[arco-theme=dark] .edui-listitem-selected{background:rgba(59,130,246,.2)!important}body[arco-theme=dark] .edui-editor-body textarea{background:#0f172a!important;color:#e2e8f0!important;border-color:#ffffff1a!important}body[arco-theme=dark] .edui-toolbar .edui-state-disabled .edui-icon{opacity:.3!important}body[arco-theme=dark] .edui-toolbar .edui-state-active,body[arco-theme=dark] .edui-toolbar .edui-state-opened{background:rgba(59,130,246,.25)!important;border-radius:4px!important}body[arco-theme=dark] .edui-editor-toolbarboxouter,body[arco-theme=dark] .edui-editor-toolbarboxinner{background:#1e293b!important;border-color:#ffffff1a!important}body[arco-theme=dark] .edui-editor-body{background:#1e293b!important}body[arco-theme=dark] .edui-tab-nav{background:#334155!important;border-color:#ffffff1a!important}body[arco-theme=dark] .edui-tab-nav .edui-tab{background:transparent!important;color:#94a3b8!important;border-color:#ffffff1a!important}body[arco-theme=dark] .edui-tab-nav .edui-tab-active{background:#1e293b!important;color:#f1f5f9!important}body[arco-theme=dark] .edui-tab-content{background:#1e293b!important}body[arco-theme=dark] .edui-dialog input[type=text],body[arco-theme=dark] .edui-dialog input[type=number],body[arco-theme=dark] .edui-dialog textarea,body[arco-theme=dark] .edui-dialog select{background:#334155!important;border-color:#ffffff26!important;color:#e2e8f0!important}body[arco-theme=dark] .edui-dialog input[type=text]:focus,body[arco-theme=dark] .edui-dialog input[type=number]:focus,body[arco-theme=dark] .edui-dialog textarea:focus,body[arco-theme=dark] .edui-dialog select:focus{border-color:#3b82f6!important;box-shadow:0 0 0 2px #3b82f633!important}body[arco-theme=dark] .edui-dialog label{color:#e2e8f0!important}body[arco-theme=dark] .edui-dialog .edui-tip,body[arco-theme=dark] .edui-dialog .tip{color:#94a3b8!important}body[arco-theme=dark] .edui-editor::-webkit-scrollbar,body[arco-theme=dark] .edui-editor-iframeholder::-webkit-scrollbar,body[arco-theme=dark] .edui-editor-body::-webkit-scrollbar{width:10px!important;height:10px!important}body[arco-theme=dark] .edui-editor::-webkit-scrollbar-track,body[arco-theme=dark] .edui-editor-iframeholder::-webkit-scrollbar-track,body[arco-theme=dark] .edui-editor-body::-webkit-scrollbar-track{background:#1e293b!important;border-left:1px solid rgba(255,255,255,.15)!important}body[arco-theme=dark] .edui-editor::-webkit-scrollbar-thumb,body[arco-theme=dark] .edui-editor-iframeholder::-webkit-scrollbar-thumb,body[arco-theme=dark] .edui-editor-body::-webkit-scrollbar-thumb{background:#334155!important;border-radius:5px!important;border:2px solid #1e293b!important}body[arco-theme=dark] .edui-editor::-webkit-scrollbar-thumb:hover,body[arco-theme=dark] .edui-editor-iframeholder::-webkit-scrollbar-thumb:hover,body[arco-theme=dark] .edui-editor-body::-webkit-scrollbar-thumb:hover{background:#475569!important}body[arco-theme=dark] .edui-editor::-webkit-scrollbar-corner,body[arco-theme=dark] .edui-editor-iframeholder::-webkit-scrollbar-corner,body[arco-theme=dark] .edui-editor-body::-webkit-scrollbar-corner{background:#1e293b!important}body[arco-theme=dark] .edui-dialog::-webkit-scrollbar,body[arco-theme=dark] .edui-dialog-body::-webkit-scrollbar,body[arco-theme=dark] .edui-popup::-webkit-scrollbar,body[arco-theme=dark] .edui-menu::-webkit-scrollbar{width:8px!important;height:8px!important}body[arco-theme=dark] .edui-dialog::-webkit-scrollbar-track,body[arco-theme=dark] .edui-dialog-body::-webkit-scrollbar-track,body[arco-theme=dark] .edui-popup::-webkit-scrollbar-track,body[arco-theme=dark] .edui-menu::-webkit-scrollbar-track{background:#0f172a!important}body[arco-theme=dark] .edui-dialog::-webkit-scrollbar-thumb,body[arco-theme=dark] .edui-dialog-body::-webkit-scrollbar-thumb,body[arco-theme=dark] .edui-popup::-webkit-scrollbar-thumb,body[arco-theme=dark] .edui-menu::-webkit-scrollbar-thumb{background:#334155!important;border-radius:4px!important}body[arco-theme=dark] .edui-dialog::-webkit-scrollbar-thumb:hover,body[arco-theme=dark] .edui-dialog-body::-webkit-scrollbar-thumb:hover,body[arco-theme=dark] .edui-popup::-webkit-scrollbar-thumb:hover,body[arco-theme=dark] .edui-menu::-webkit-scrollbar-thumb:hover{background:#475569!important}.arco-modal-wrapper,.arco-modal-wrapper .arco-modal-mask{z-index:2000000!important}.arco-modal-wrapper .arco-modal{z-index:2000001!important}.app-layout{display:flex;min-height:100vh;min-width:320px;background:var(--bg-primary);position:relative;overflow-x:visible;overflow-y:visible}.sidebar{position:fixed;left:0;top:0;bottom:0;width:var(--sidebar-width);background:var(--bg-secondary);display:flex;flex-direction:column;z-index:var(--z-sticky);transition:width var(--transition-normal),transform var(--transition-normal);overflow:visible}.sidebar.collapsed{width:var(--sidebar-collapsed);overflow:visible}.sidebar.collapsing{overflow:hidden!important}.sidebar.collapsing .nav-section-content{transition:none!important}.sidebar.collapsed .sidebar-logo span,.sidebar.collapsed .nav-text,.sidebar.collapsed .nav-badge{opacity:0;width:0;overflow:hidden;white-space:nowrap;transition:opacity .15s ease,width .15s ease;pointer-events:none}.sidebar.collapsed .sidebar-header{justify-content:center;padding:0}.sidebar.collapsed .sidebar-logo{justify-content:center;width:100%;padding:0}.sidebar.collapsed .sidebar-logo .logo-icon{margin:0}.sidebar.collapsed .nav-section-title{opacity:0;height:0;overflow:hidden;margin:0;padding:0;transition:opacity .15s ease,height .15s ease}.sidebar.collapsed .nav-section-header{opacity:0;height:0;overflow:hidden;padding:0;margin:0;pointer-events:none;transition:opacity .15s ease,height .15s ease}.sidebar.collapsed .nav-section-content{max-height:none!important;opacity:1!important;transition:none!important}.sidebar.collapsed .nav-section{margin-bottom:var(--space-xs);padding-top:var(--space-xs);border-top:none!important}.sidebar.collapsed .nav-section:first-child{border-top:none;padding-top:0}.sidebar.collapsed .nav-single .nav-item-single{justify-content:center;padding:var(--space-sm)}.sidebar.collapsed .nav-single .nav-item-single .nav-text{opacity:0;width:0;overflow:hidden}.sidebar.collapsed .nav-single .nav-item-single .nav-icon{margin-right:0}.sidebar.collapsed .nav-item{display:flex!important;justify-content:center!important;align-items:center!important;padding:12px!important;margin:2px 6px!important;position:relative;width:42px!important;height:42px!important;box-sizing:border-box;border-radius:var(--radius-md)!important}.sidebar.collapsed .nav-item.active:before{display:none}.sidebar.collapsed .nav-item .nav-icon,.sidebar.collapsed .nav-item>svg,.sidebar.collapsed .nav-item>svg.nav-icon{display:block!important;opacity:1!important;visibility:visible!important;width:20px!important;height:20px!important;min-width:20px!important;min-height:20px!important;margin:0!important;flex-shrink:0;color:var(--text-secondary)!important;stroke:currentColor!important}.sidebar.collapsed .nav-item:hover .nav-icon,.sidebar.collapsed .nav-item:hover>svg,.sidebar.collapsed .nav-item.active .nav-icon,.sidebar.collapsed .nav-item.active>svg{color:var(--color-primary)!important}.sidebar.collapsed .nav-item[data-title]{position:relative;overflow:visible!important}.sidebar.collapsed .nav-item[data-title]:after{display:none!important}.nav-tooltip{position:fixed;padding:8px 14px;background:var(--bg-secondary);color:var(--text-primary);font-size:var(--text-sm);font-weight:var(--font-medium);border-radius:8px;white-space:nowrap;opacity:0;visibility:hidden;transition:opacity .15s ease,visibility .15s ease;box-shadow:0 4px 20px #0006;border:1px solid var(--border-color);z-index:999999;pointer-events:none}.nav-tooltip.visible{opacity:1;visibility:visible}.sidebar.collapsed .nav-item:hover{background:var(--bg-hover);box-shadow:none!important}.sidebar-header{height:var(--header-height);padding:0 var(--space-lg);position:relative;z-index:1;display:flex;align-items:center;box-sizing:border-box;flex-shrink:0}.sidebar:after{content:"";position:absolute;right:0;top:0;bottom:0;width:1px;background:linear-gradient(180deg,transparent 0%,rgba(var(--color-primary-rgb),.3) 10%,rgba(var(--color-primary-rgb),.15) 50%,rgba(var(--color-primary-rgb),.3) 90%,transparent 100%)}.sidebar-logo{display:flex;align-items:center;gap:var(--space-md);text-decoration:none;transition:all var(--transition-normal)}.sidebar-logo .logo-icon{width:38px;height:38px;background:var(--gradient-primary);border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;font-size:var(--text-lg);font-weight:var(--font-bold);color:#fff;flex-shrink:0;box-shadow:0 4px 12px rgba(var(--color-primary-rgb),.4);transition:transform var(--transition-fast)}.sidebar-logo:hover .logo-icon{transform:scale(1.05)}.sidebar-logo span{font-size:var(--text-xl);font-weight:var(--font-bold);background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;white-space:nowrap;transition:opacity var(--transition-normal),width var(--transition-normal)}.sidebar-nav{flex:1;padding:var(--space-md);overflow-y:auto;overflow-x:visible;position:relative;z-index:1;scrollbar-width:thin;scrollbar-color:transparent transparent;transition:scrollbar-color .3s ease}.sidebar-nav:hover{scrollbar-color:rgba(255,255,255,.2) transparent}.sidebar-nav::-webkit-scrollbar{width:6px}.sidebar-nav::-webkit-scrollbar-track{background:transparent}.sidebar-nav::-webkit-scrollbar-thumb{background:transparent;border-radius:3px;transition:background .3s ease}.sidebar-nav:hover::-webkit-scrollbar-thumb{background:rgba(255,255,255,.2)}.sidebar-nav::-webkit-scrollbar-thumb:hover{background:rgba(255,255,255,.3)}.sidebar.collapsed .sidebar-nav{overflow:visible!important;position:relative;padding:32px 8px 40px;display:flex;flex-direction:column;height:calc(100vh - var(--header-height))}.sidebar.collapsed .nav-scroll-content{overflow-y:scroll;overflow-x:visible;flex:1;scrollbar-width:none;-ms-overflow-style:none;padding:var(--space-sm) var(--space-xs)}.sidebar.collapsed .nav-scroll-content::-webkit-scrollbar{display:none}.nav-scroll-btn{display:none;position:absolute;left:50%;transform:translate(-50%);width:40px;height:26px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);cursor:pointer;z-index:5;align-items:center;justify-content:center;color:var(--text-secondary);transition:all .2s ease;opacity:0;visibility:hidden;pointer-events:none}.nav-scroll-btn:hover{background:var(--bg-hover);color:var(--color-primary);border-color:var(--color-primary)}.nav-scroll-btn svg{width:14px;height:14px}.nav-scroll-btn.scroll-up{top:4px}.nav-scroll-btn.scroll-down{bottom:12px}.sidebar.collapsed .nav-scroll-btn{display:flex}.sidebar.collapsed .nav-scroll-btn.visible{opacity:1;visibility:visible;pointer-events:auto}.sidebar.collapsed .nav-section,.sidebar.collapsed .nav-section-content{overflow:visible!important;position:relative}.sidebar.collapsed .nav-item{position:relative;z-index:1}.sidebar.collapsed .nav-item[data-title]:after{z-index:999999!important;position:absolute!important}.nav-section{margin-bottom:var(--space-md)}.nav-single{margin-bottom:var(--space-xs)}.nav-single .nav-item-single{display:flex;align-items:center;padding:var(--space-sm) var(--space-md);border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);text-decoration:none}.nav-single .nav-item-single:hover{background:var(--bg-hover);color:var(--text-primary)}.nav-single .nav-item-single .nav-icon{width:20px;height:20px;margin-right:var(--space-sm);flex-shrink:0}.nav-single .nav-item-single .nav-text{font-size:var(--text-sm);font-weight:var(--font-medium)}.nav-section-title{font-size:var(--text-xs);font-weight:var(--font-semibold);color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;padding:var(--space-sm) var(--space-md);margin-bottom:var(--space-xs);transition:all var(--transition-normal)}.nav-collapsible .nav-section-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-sm) var(--space-md);cursor:pointer;border-radius:var(--radius-md);transition:all var(--transition-fast);margin-bottom:var(--space-xs)}.nav-collapsible .nav-section-header:hover{background:var(--bg-hover)}.nav-collapsible .nav-section-header .nav-section-title{padding:0;margin:0}.nav-section-arrow{color:var(--text-muted);transition:transform .3s ease;flex-shrink:0}.nav-collapsible .nav-section-arrow{transform:rotate(-90deg)}.nav-collapsible.expanded .nav-section-arrow{transform:rotate(0)}.nav-section-content{overflow:hidden;max-height:0;transition:max-height .3s ease,opacity .3s ease;opacity:0}.nav-collapsible.expanded .nav-section-content{max-height:1000px;opacity:1}.nav-item{display:flex;align-items:center;padding:10px var(--space-md);border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);position:relative;margin-bottom:2px;text-decoration:none}.nav-item:hover{background:var(--bg-hover);color:var(--text-primary)}.nav-item.active{background:rgba(var(--color-primary-rgb),.12);color:var(--color-primary)}.nav-item.active:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:3px;height:20px;background:var(--color-primary);border-radius:0 3px 3px 0}.nav-icon{width:20px;height:20px;margin-right:var(--space-md);flex-shrink:0;transition:margin var(--transition-normal),color var(--transition-fast);color:currentColor;display:block}.nav-text{flex:1;white-space:nowrap;font-size:var(--text-base);font-weight:var(--font-medium);transition:opacity var(--transition-normal),width var(--transition-normal)}.nav-badge{background:var(--color-error);color:#fff;font-size:var(--text-xs);padding:2px 6px;border-radius:var(--radius-full);min-width:18px;text-align:center;font-weight:var(--font-semibold);transition:opacity var(--transition-normal)}.nav-item.is-plugin-item{padding-left:calc(var(--space-md) + 12px)}.nav-item.is-plugin .nav-icon,.nav-item.is-plugin .plugin-icon{width:18px;height:18px;margin-right:10px;opacity:.85}.nav-item.is-plugin .plugin-icon{display:flex;align-items:center;justify-content:center}.nav-item.is-plugin .plugin-icon svg{width:18px;height:18px}.nav-item.is-plugin:hover .plugin-icon,.nav-item.is-plugin.active .plugin-icon{opacity:1}.nav-item.is-plugin.active .plugin-icon svg{color:var(--color-primary)}.sidebar.collapsed .nav-item.is-plugin-item{padding-left:0}.sidebar.collapsed .nav-item.is-plugin .plugin-icon{margin-right:0}.sidebar.collapsed .nav-item.is-plugin .plugin-icon svg{width:20px;height:20px}.main-wrapper{flex:1;margin-left:var(--sidebar-width);display:flex;flex-direction:column;min-height:100vh;transition:margin-left var(--transition-normal);position:relative;z-index:1}.sidebar.collapsed~.main-wrapper,.app-layout:has(.sidebar.collapsed) .main-wrapper{margin-left:var(--sidebar-collapsed)}.sidebar.collapsed~.main-wrapper .main-content,.app-layout:has(.sidebar.collapsed) .main-content{max-width:calc(100% - var(--space-lg) * 2)}.header{height:var(--header-height);background:var(--glass-bg);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);display:flex;align-items:center;padding:0 var(--space-lg);position:sticky;top:0;z-index:var(--z-sticky)}.header:after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:linear-gradient(90deg,transparent 0%,var(--color-primary) 20%,var(--color-primary-light) 50%,var(--color-primary) 80%,transparent 100%);opacity:.5}.header-left{display:flex;align-items:center;gap:var(--space-md)}.sidebar-toggle{width:36px;height:36px;border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;color:var(--text-secondary);transition:all var(--transition-fast);background:transparent;border:none;cursor:pointer}.sidebar-toggle:hover{background:var(--bg-hover);color:var(--color-primary)}.sidebar-toggle .toggle-collapse{display:block}.sidebar-toggle .toggle-expand{display:none}.sidebar.collapsed~.main-wrapper .sidebar-toggle .toggle-collapse,.app-layout:has(.sidebar.collapsed) .sidebar-toggle .toggle-collapse,#sidebar-container:has(.sidebar.collapsed)~.main-wrapper .sidebar-toggle .toggle-collapse{display:none}.sidebar.collapsed~.main-wrapper .sidebar-toggle .toggle-expand,.app-layout:has(.sidebar.collapsed) .sidebar-toggle .toggle-expand,#sidebar-container:has(.sidebar.collapsed)~.main-wrapper .sidebar-toggle .toggle-expand{display:block}.global-search{position:relative;display:flex;align-items:center;background:var(--bg-tertiary);border-radius:var(--radius-lg);border:1px solid transparent;transition:all var(--transition-fast)}.global-search:focus-within{background:var(--bg-hover);border-color:rgba(var(--color-primary-rgb),.3);box-shadow:0 0 0 3px rgba(var(--color-primary-rgb),.1)}.global-search .search-prefix-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--text-muted);pointer-events:none;transition:color var(--transition-fast)}.global-search:focus-within .search-prefix-icon{color:var(--color-primary)}.global-search input{width:240px;height:38px;padding:0 44px 0 38px;background:transparent;border:none;color:var(--text-primary);font-size:var(--text-base);font-weight:var(--font-normal)}.global-search input::placeholder{color:var(--text-muted)}.global-search input:focus{outline:none}.global-search .search-btn{position:absolute;right:4px;top:50%;transform:translateY(-50%);width:30px;height:30px;display:flex;align-items:center;justify-content:center;background:var(--color-primary);border:none;border-radius:var(--radius-md);color:#fff;cursor:pointer;transition:all var(--transition-fast)}.global-search .search-btn:hover{background:var(--color-primary-dark);transform:translateY(-50%) scale(1.05)}.global-search .search-btn:active{transform:translateY(-50%) scale(.95)}.header-right{margin-left:auto;display:flex;align-items:center;gap:var(--space-md)}.header-divider{width:1px;height:24px;background:linear-gradient(180deg,transparent,var(--border-color),transparent);margin:0 var(--space-xs)}.user-status{width:8px;height:8px;background:var(--color-success);border-radius:50%;box-shadow:0 0 0 2px var(--bg-secondary),0 0 8px var(--color-success);animation:statusPulse 2s ease-in-out infinite}@keyframes statusPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(.9)}}.page-header-top{display:flex;align-items:center;justify-content:space-between;gap:var(--space-lg);margin-bottom:var(--space-xs)}.version-badge{display:inline-flex;align-items:center;gap:10px;padding:10px 18px;background:rgba(var(--color-primary-rgb),.08);border:1px solid rgba(var(--color-primary-rgb),.2);border-radius:var(--radius-lg);transition:all var(--transition-fast);backdrop-filter:blur(8px)}.version-badge:hover{background:rgba(var(--color-primary-rgb),.15);border-color:rgba(var(--color-primary-rgb),.35);transform:translateY(-2px);box-shadow:0 4px 12px rgba(var(--color-primary-rgb),.15)}.version-icon{width:28px;height:28px;background:var(--gradient-primary);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;color:#fff;box-shadow:0 2px 8px rgba(var(--color-primary-rgb),.4)}.version-name{font-size:var(--text-base);font-weight:var(--font-semibold);color:var(--color-primary)}.version-divider{color:var(--border-color);font-size:var(--text-sm);opacity:.5}.version-date{font-size:var(--text-sm);color:var(--text-secondary);font-weight:var(--font-medium)}.header-btn{width:40px;height:40px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;color:var(--text-secondary);position:relative;transition:all var(--transition-fast);background:none;border:none;cursor:pointer}.header-btn:hover{background:var(--bg-hover);color:var(--text-primary)}@keyframes spin{to{transform:rotate(360deg)}}.spin-icon{animation:spin 1s linear infinite}.header-btn:disabled{opacity:.5;cursor:not-allowed}.header-btn .badge{position:absolute;top:6px;right:6px;width:8px;height:8px;background:var(--color-error);border-radius:var(--radius-full);border:2px solid var(--bg-secondary)}.help-dropdown,.lang-dropdown,.translate-dropdown{position:relative}.help-dropdown:after,.lang-dropdown:after,.translate-dropdown:after{content:"";position:absolute;top:100%;left:0;right:0;height:12px;background:transparent}.help-panel,.lang-panel,.translate-panel{position:absolute;top:calc(100% + 8px);right:0;min-width:160px;background:var(--bg-secondary);border-radius:var(--radius-lg);box-shadow:0 10px 40px #0000004d;border:1px solid var(--border-color);padding:var(--space-sm) 0;opacity:0;visibility:hidden;transform:translateY(-4px);transition:all .2s ease;z-index:var(--z-dropdown)}.help-dropdown:hover .help-panel,.lang-dropdown:hover .lang-panel,.translate-dropdown:hover .translate-panel{opacity:1;visibility:visible;transform:translateY(0)}.help-item,.lang-item,.translate-item{display:flex;align-items:center;gap:var(--space-sm);padding:10px var(--space-md);color:var(--text-secondary);text-decoration:none;transition:all var(--transition-fast);font-size:var(--text-base);font-weight:var(--font-normal)}.help-item:hover,.lang-item:hover,.translate-item:hover{background:var(--bg-hover);color:var(--text-primary)}.help-item svg{color:var(--text-muted);flex-shrink:0}.help-item:hover svg{color:var(--color-primary)}.lang-flag,.translate-flag{font-size:18px;line-height:1}.lang-item.active,.translate-item.active{color:var(--color-primary);background:rgba(var(--color-primary-rgb),.1)}.theme-dropdown{position:relative}.theme-dropdown:after{content:"";position:absolute;top:100%;left:0;right:0;height:12px;background:transparent}.theme-icon-sun{display:block}.theme-icon-moon,[data-theme=dark] .theme-icon-sun{display:none}[data-theme=dark] .theme-icon-moon{display:block}.theme-panel{position:absolute;top:calc(100% + 8px);right:0;width:240px;background:var(--bg-secondary);border-radius:var(--radius-lg);box-shadow:0 10px 40px #0000004d;border:1px solid var(--border-color);padding:var(--space-md);opacity:0;visibility:hidden;transform:translateY(-4px);transition:all .2s ease;z-index:var(--z-dropdown)}.theme-dropdown:hover .theme-panel,.theme-dropdown.active .theme-panel{opacity:1;visibility:visible;transform:translateY(0)}.theme-section{margin-bottom:var(--space-md)}.theme-section:last-child{margin-bottom:0}.theme-section-title{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-muted);margin-bottom:var(--space-sm)}.theme-mode-switch{display:flex;gap:var(--space-sm)}.theme-mode-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;padding:8px 12px;background:var(--bg-tertiary);border:1px solid transparent;border-radius:var(--radius-md);color:var(--text-secondary);font-size:var(--text-sm);font-weight:var(--font-medium);cursor:pointer;transition:all var(--transition-fast)}.theme-mode-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.theme-mode-btn.active{background:rgba(var(--color-primary-rgb),.15);border-color:var(--color-primary);color:var(--color-primary)}.theme-colors{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;padding:4px 0}.theme-color-btn{width:36px;height:36px;border-radius:8px;background:var(--btn-color);border:2px solid transparent;cursor:pointer;transition:all var(--transition-fast);position:relative;box-shadow:0 2px 4px #0000001a}.theme-color-btn:hover{transform:scale(1.08);box-shadow:0 4px 12px #0003}.theme-color-btn.active{transform:scale(1.05)}.theme-color-btn.active:after{content:"\2713";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:16px;font-weight:700;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.4)}.notification-btn{position:relative}.notification-count{position:absolute;top:4px;right:4px;min-width:16px;height:16px;padding:0 4px;background:var(--color-error);color:#fff;font-size:10px;font-weight:var(--font-semibold);border-radius:8px;display:flex;align-items:center;justify-content:center;line-height:1}.fullscreen-btn.is-fullscreen .fullscreen-enter{display:none}.fullscreen-btn.is-fullscreen .fullscreen-exit{display:block!important}.user-dropdown{position:relative}.user-dropdown:after{content:"";position:absolute;top:100%;left:0;right:0;height:12px;background:transparent}.user-trigger{display:inline-flex;align-items:center;gap:10px;padding:5px 14px 5px 8px;background:var(--bg-tertiary);border-radius:50px;cursor:pointer;transition:all var(--transition-fast);white-space:nowrap}.user-trigger:hover{background:var(--bg-hover)}.user-avatar{width:34px;height:34px;border-radius:var(--radius-full);overflow:hidden;border:2px solid var(--color-primary);flex-shrink:0}.user-avatar img{width:100%;height:100%;object-fit:cover}.user-brief{display:flex;flex-direction:column;line-height:1.3}.user-brief .user-name{font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--text-primary)}.user-brief .user-role{font-size:var(--text-xs);font-weight:var(--font-medium);color:var(--color-primary);max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-arrow{color:var(--text-muted);transition:transform var(--transition-fast)}.user-dropdown:hover .user-arrow{transform:rotate(180deg)}.user-panel{position:absolute;top:calc(100% + 8px);right:0;width:280px;background:var(--bg-secondary);border-radius:var(--radius-xl);box-shadow:0 10px 40px #0000004d;border:1px solid var(--border-color);overflow:hidden;opacity:0;visibility:hidden;transform:translateY(-4px);transition:all .2s ease;z-index:var(--z-dropdown)}.user-panel.user-panel-simple{width:auto;min-width:120px;border-radius:var(--radius-lg)}.user-panel.user-panel-simple .user-panel-menu{padding:var(--space-xs) 0}.user-panel.user-panel-simple .user-panel-item{padding:10px var(--space-lg);font-size:14px;white-space:nowrap}.user-panel.user-panel-simple .user-panel-item:hover{color:var(--color-primary)}.user-panel.user-panel-simple .user-panel-footer{padding:var(--space-xs) 0}.user-panel.user-panel-simple .user-panel-logout{padding:10px var(--space-lg);font-size:14px;white-space:nowrap}.user-dropdown:hover .user-panel{opacity:1;visibility:visible;transform:translateY(0)}.user-panel-menu{padding:var(--space-sm) 0}.user-panel-item{display:flex;align-items:center;gap:var(--space-md);padding:12px var(--space-lg);color:var(--text-secondary);text-decoration:none;transition:all var(--transition-fast);font-size:var(--text-base);font-weight:var(--font-normal)}.user-panel-item:hover{background:var(--bg-hover);color:var(--text-primary)}.user-panel-lang{display:flex;align-items:center;justify-content:space-between;padding:10px var(--space-lg);border-top:1px solid var(--border-color);margin-top:var(--space-xs)}.user-panel-lang-title{display:flex;align-items:center;gap:8px;color:var(--text-secondary);font-size:var(--text-sm);font-weight:var(--font-medium)}.user-panel-lang-title svg{color:var(--text-muted)}.user-panel-lang-options{display:flex;gap:4px}.lang-option{width:32px;height:28px;border:1px solid var(--border-color);border-radius:var(--radius-sm);background:var(--bg-tertiary);color:var(--text-secondary);font-size:var(--text-xs);font-weight:var(--font-medium);cursor:pointer;transition:all var(--transition-fast)}.lang-option:hover{border-color:var(--color-primary);color:var(--color-primary)}.lang-option.active{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.user-panel-footer{border-top:1px solid var(--border-color);padding:var(--space-sm) 0}.user-panel-logout{display:flex;align-items:center;gap:var(--space-md);padding:12px var(--space-lg);color:var(--color-error);text-decoration:none;transition:all var(--transition-fast);font-size:var(--text-base);font-weight:var(--font-medium)}.user-panel-logout:hover{background:rgba(239,68,68,.1)}.user-panel-logout svg{flex-shrink:0}.main-content{flex:1;padding:var(--space-lg);max-width:var(--content-max-width);width:100%;margin:0 auto}.main-content micro-app{display:block;overflow:visible}.main-content micro-app-body{min-height:auto!important;overflow:visible!important}.page-header{margin-bottom:var(--space-xl)}.page-title{font-size:var(--text-3xl);font-weight:var(--font-bold);color:var(--text-primary);margin-bottom:var(--space-xs);letter-spacing:var(--tracking-tight);line-height:var(--leading-tight)}.page-subtitle{color:var(--text-secondary);font-size:var(--text-md);margin:0;line-height:var(--leading-relaxed);font-weight:var(--font-normal)}.welcome-username{display:inline-block;font-weight:var(--font-bold);font-size:var(--text-md);color:var(--color-primary);position:relative;padding:0 2px;animation:welcomeGlow 2s ease-in-out infinite}.welcome-username:after{content:"";position:absolute;bottom:-2px;left:0;right:0;height:2px;background:var(--color-primary);border-radius:1px;opacity:.6}@keyframes welcomeGlow{0%,to{filter:brightness(1)}50%{filter:brightness(1.2)}}.breadcrumb{display:flex;align-items:center;gap:var(--space-sm);font-size:var(--text-base);font-weight:var(--font-normal);color:var(--text-muted);margin-bottom:var(--space-md)}.breadcrumb a{color:var(--text-secondary)}.breadcrumb a:hover{color:var(--color-primary)}.breadcrumb .separator{color:var(--text-muted)}.content-grid{display:grid;gap:var(--space-lg)}.content-grid.cols-2{grid-template-columns:repeat(2,1fr)}.content-grid.cols-3{grid-template-columns:repeat(3,1fr)}.content-grid.cols-4{grid-template-columns:repeat(4,1fr)}.card{background:var(--bg-card);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:var(--space-lg);transition:all var(--transition-normal)}.card:hover{border-color:rgba(var(--color-primary-rgb),.3);box-shadow:var(--shadow-glow);transform:translateY(-2px)}.card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-md);gap:var(--space-md)}.card-title{font-size:var(--text-xl);font-weight:var(--font-semibold);color:var(--text-primary);letter-spacing:var(--tracking-tight)}.card-tabs{display:flex;gap:4px;background:var(--bg-tertiary);padding:4px;border-radius:var(--radius-md)}.card-tab{padding:6px 12px;font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-muted);background:transparent;border:none;border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap}.card-tab:hover{color:var(--text-primary)}.card-tab.active{background:var(--bg-secondary);color:var(--color-primary);box-shadow:0 1px 3px #0000001a}.card-body{color:var(--text-secondary)}.stat-card{display:block;background:var(--bg-card);backdrop-filter:blur(10px);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:var(--space-lg);min-height:140px;position:relative;overflow:hidden;transition:all var(--transition-normal);text-decoration:none;cursor:pointer}.stat-card:before{content:"";position:absolute;top:0;right:0;width:100px;height:100px;background:radial-gradient(circle at 100% 0%,transparent 30px,rgba(var(--color-primary-rgb),.03) 31px,transparent 32px),radial-gradient(circle at 100% 0%,transparent 50px,rgba(var(--color-primary-rgb),.04) 51px,transparent 52px),radial-gradient(circle at 100% 0%,transparent 70px,rgba(var(--color-primary-rgb),.03) 71px,transparent 72px);transition:all var(--transition-normal);pointer-events:none}.stat-card:after{content:"";position:absolute;top:12px;right:12px;width:6px;height:6px;background:var(--color-primary);border-radius:50%;opacity:.4;transition:all var(--transition-fast)}.stat-card:hover{transform:translateY(-4px);border-color:rgba(var(--color-primary-rgb),.4);box-shadow:var(--shadow-glow-lg)}.stat-card:hover:before{background:radial-gradient(circle at 100% 0%,transparent 30px,rgba(var(--color-primary-rgb),.06) 31px,transparent 32px),radial-gradient(circle at 100% 0%,transparent 50px,rgba(var(--color-primary-rgb),.08) 51px,transparent 52px),radial-gradient(circle at 100% 0%,transparent 70px,rgba(var(--color-primary-rgb),.06) 71px,transparent 72px)}.stat-card:hover:after{opacity:.8;transform:scale(1.5);box-shadow:0 0 8px var(--color-primary)}.stat-icon{width:52px;height:52px;border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;margin-bottom:var(--space-md);color:#fff;position:relative;z-index:1}.stat-icon svg{width:26px;height:26px}.stat-icon.blue{background:var(--gradient-accent)}.stat-icon.purple{background:var(--gradient-purple)}.stat-icon.green{background:var(--gradient-green)}.stat-icon.orange{background:var(--gradient-orange)}.stat-content{display:flex;align-items:baseline;gap:var(--space-sm);margin-bottom:4px}.stat-value{font-size:var(--text-2xl);font-weight:var(--font-bold);color:var(--text-primary);line-height:1}.stat-change{display:inline-flex;align-items:center;gap:2px;font-size:var(--text-sm);font-weight:var(--font-semibold)}.stat-change.up{color:var(--color-error)}.stat-change.down{color:var(--color-success)}.stat-change svg{width:14px;height:14px}.stat-label{font-size:var(--text-base);color:var(--text-secondary);font-weight:var(--font-medium)}.stat-link{position:absolute;bottom:var(--space-md);right:var(--space-md);width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-md);color:var(--text-muted);background:var(--bg-tertiary);transition:all var(--transition-fast)}.stat-card:hover .stat-link{color:#fff;background:var(--color-primary);transform:translate(2px,-2px)}.stat-link svg{transition:transform var(--transition-fast)}.stat-card:hover .stat-link svg{transform:translate(1px,-1px)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-lg);font-size:var(--text-base);font-weight:var(--font-medium);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);border:none;white-space:nowrap}.btn-primary{background:var(--gradient-primary);color:#fff;box-shadow:0 4px 15px rgba(var(--color-primary-rgb),.3)}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(var(--color-primary-rgb),.4)}.btn-secondary{background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-color)}.btn-secondary:hover{background:var(--bg-hover);border-color:var(--color-primary)}.btn-ghost{background:transparent;color:var(--text-secondary)}.btn-ghost:hover{background:var(--bg-hover);color:var(--text-primary)}.btn-danger{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff}.btn-success{background:linear-gradient(135deg,#10b981,#059669);color:#fff}.btn-sm{padding:var(--space-xs) var(--space-md);font-size:var(--text-xs)}.btn-lg{padding:var(--space-md) var(--space-xl);font-size:var(--text-base)}.btn-icon{width:36px;height:36px;padding:0}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none!important}.form-group{margin-bottom:var(--space-md)}.form-label{display:block;font-size:var(--text-base);font-weight:var(--font-medium);color:var(--text-primary);margin-bottom:var(--space-sm)}.form-input{width:100%;height:44px;padding:0 var(--space-md);background:var(--input-bg);border:1px solid var(--input-border);border-radius:var(--radius-md);color:var(--text-primary);transition:all var(--transition-fast)}.form-input::placeholder{color:var(--text-muted)}.form-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--input-focus)}.form-input.error{border-color:var(--color-error);box-shadow:0 0 0 3px #ef444433}.form-textarea{min-height:120px;padding:var(--space-md);resize:vertical}.form-hint{font-size:var(--text-sm);color:var(--text-muted);margin-top:var(--space-xs)}.form-error{font-size:var(--text-sm);color:var(--color-error);margin-top:var(--space-xs)}.form-select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:40px}.form-checkbox,.form-radio{display:flex;align-items:center;gap:var(--space-sm);cursor:pointer}.form-checkbox input,.form-radio input{width:18px;height:18px;accent-color:var(--color-primary);cursor:pointer}.toggle{position:relative;width:44px;height:24px;cursor:pointer}.toggle input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;inset:0;background:var(--bg-tertiary);border-radius:var(--radius-full);transition:all var(--transition-fast)}.toggle-slider:before{content:"";position:absolute;left:2px;top:2px;width:20px;height:20px;background:white;border-radius:var(--radius-full);transition:all var(--transition-fast);box-shadow:var(--shadow-sm)}.toggle input:checked+.toggle-slider{background:var(--gradient-primary)}.toggle input:checked+.toggle-slider:before{transform:translate(20px)}.table-container{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);overflow:hidden}.table{width:100%;border-collapse:collapse}.table th,.table td{padding:var(--space-md);text-align:left;border-bottom:1px solid var(--border-light)}.table th{background:var(--bg-tertiary);font-weight:var(--font-semibold);font-size:var(--text-base);color:var(--text-primary);letter-spacing:.02em}.table tbody tr{transition:background var(--transition-fast)}.table tbody tr:hover{background:var(--bg-hover)}.table tbody tr:last-child td{border-bottom:none}.badge{display:inline-flex;align-items:center;padding:4px 10px;font-size:var(--text-sm);font-weight:var(--font-medium);border-radius:var(--radius-full)}.badge-primary{background:rgba(var(--color-primary-rgb),.15);color:var(--color-primary)}.badge-success{background:rgba(16,185,129,.15);color:var(--color-success)}.badge-warning{background:rgba(245,158,11,.15);color:var(--color-warning)}.badge-error{background:rgba(239,68,68,.15);color:var(--color-error)}.badge-info{background:rgba(59,130,246,.15);color:var(--color-info)}.avatar{width:40px;height:40px;border-radius:var(--radius-full);background:var(--gradient-primary);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:var(--font-semibold);flex-shrink:0}.avatar-sm{width:32px;height:32px;font-size:var(--text-sm)}.avatar-lg{width:48px;height:48px;font-size:var(--text-lg)}.avatar-xl{width:64px;height:64px;font-size:var(--text-xl)}.avatar img{width:100%;height:100%;object-fit:cover;border-radius:inherit}.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.6);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:var(--z-modal);opacity:0;visibility:hidden;transition:all var(--transition-normal)}.modal-overlay.active{opacity:1;visibility:visible}.modal{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-xl);width:90%;max-width:500px;max-height:90vh;overflow:hidden;transform:scale(.9) translateY(20px);transition:transform var(--transition-normal)}.modal-overlay.active .modal{transform:scale(1) translateY(0)}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-lg);border-bottom:1px solid var(--border-light)}.modal-title{font-size:var(--text-xl);font-weight:var(--font-semibold);color:var(--text-primary)}.modal-close{width:32px;height:32px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;color:var(--text-muted);transition:all var(--transition-fast)}.modal-close:hover{background:var(--bg-hover);color:var(--text-primary)}.modal-body{padding:var(--space-lg);overflow-y:auto}.modal-footer{display:flex;justify-content:flex-end;gap:var(--space-sm);padding:var(--space-lg);border-top:1px solid var(--border-light)}.toast-container{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:var(--z-toast, 9999);display:flex;flex-direction:column;align-items:center;gap:12px;pointer-events:none}.toast{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:12px 15px;border-radius:10px;box-shadow:0 6px 20px #00000026;min-height:50px;max-width:400px;animation:toastFadeIn .3s ease;pointer-events:auto;font-family:Inter,-apple-system,BlinkMacSystemFont,SF Pro Display,PingFang SC,Microsoft YaHei,sans-serif}.toast.success{background:linear-gradient(135deg,#10b981 0%,#059669 100%);color:#fff}.toast.warning{background:linear-gradient(135deg,#f59e0b 0%,#d97706 100%);color:#fff}.toast.error{background:linear-gradient(135deg,#ef4444 0%,#dc2626 100%);color:#fff}.toast.info{background:linear-gradient(135deg,#3b82f6 0%,#2563eb 100%);color:#fff}.toast-icon{width:20px;height:20px;flex-shrink:0;display:flex;align-items:center;justify-content:center;color:#fff}.toast-icon svg{width:20px;height:20px}.toast-message{font-size:15px;font-weight:500;color:#fff;line-height:1.5;white-space:nowrap;-webkit-font-smoothing:antialiased}.toast-close{width:20px;height:20px;display:flex;align-items:center;justify-content:center;color:#fffc;cursor:pointer;transition:color .15s;flex-shrink:0;font-size:18px;line-height:1}.toast-close:hover{color:#fff}@keyframes toastFadeIn{0%{opacity:0;transform:scale(.85)}to{opacity:1;transform:scale(1)}}@keyframes toastFadeOut{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.85)}}.dropdown{position:relative}.dropdown-menu{position:absolute;top:100%;right:0;min-width:180px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);padding:var(--space-xs);opacity:0;visibility:hidden;transform:translateY(10px);transition:all var(--transition-fast);z-index:var(--z-dropdown)}.dropdown.active .dropdown-menu,.dropdown-menu.show{opacity:1;visibility:visible;transform:translateY(4px)}.dropdown-item.active{background:rgba(var(--color-primary-rgb),.1);color:var(--color-primary)}.chart-date-menu,.trend-date-menu{min-width:120px;max-height:280px;overflow-y:auto}.chart-date-menu .dropdown-item,.trend-date-menu .dropdown-item{font-size:var(--text-sm);padding:var(--space-sm) var(--space-md)}.dropdown-item{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);font-size:var(--text-base);font-weight:var(--font-normal)}.dropdown-item:hover{background:var(--bg-hover);color:var(--text-primary)}.dropdown-divider{height:1px;background:var(--border-light);margin:var(--space-xs) 0}.tabs{display:flex;gap:var(--space-xs);border-bottom:1px solid var(--border-color);margin-bottom:var(--space-lg)}.tab{padding:var(--space-md) var(--space-lg);color:var(--text-secondary);font-size:var(--text-base);font-weight:var(--font-medium);cursor:pointer;position:relative;transition:all var(--transition-fast)}.tab:hover{color:var(--text-primary)}.tab.active{color:var(--color-primary)}.tab.active:after{content:"";position:absolute;bottom:-1px;left:0;right:0;height:2px;background:var(--gradient-primary);border-radius:2px 2px 0 0}.pagination{display:flex;align-items:center;gap:var(--space-xs)}.pagination-btn{min-width:36px;height:36px;padding:0 var(--space-sm);border-radius:var(--radius-md);color:var(--text-secondary);font-size:var(--text-base);font-weight:var(--font-medium);transition:all var(--transition-fast)}.pagination-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.pagination-btn.active{background:var(--gradient-primary);color:#fff}.pagination-btn:disabled{opacity:.5;cursor:not-allowed}.progress{height:8px;background:var(--bg-tertiary);border-radius:var(--radius-full);overflow:hidden}.progress-bar{height:100%;background:var(--gradient-primary);border-radius:var(--radius-full);transition:width var(--transition-slow)}.empty-state{text-align:center;padding:var(--space-3xl)}.empty-state-icon{width:80px;height:80px;margin:0 auto var(--space-lg);color:var(--text-muted);opacity:.5}.empty-state-title{font-size:var(--text-xl);font-weight:var(--font-semibold);color:var(--text-primary);margin-bottom:var(--space-sm)}.empty-state-text{color:var(--text-secondary);font-size:var(--text-base);margin-bottom:var(--space-lg)}.skeleton{background:linear-gradient(90deg,var(--bg-tertiary) 25%,var(--bg-hover) 50%,var(--bg-tertiary) 75%);background-size:200% 100%;animation:skeleton-loading 1.5s infinite;border-radius:var(--radius-md)}.skeleton-text{height:16px;margin-bottom:var(--space-sm)}.skeleton-title{height:24px;width:60%;margin-bottom:var(--space-md)}.skeleton-avatar{width:40px;height:40px;border-radius:var(--radius-full)}@keyframes skeleton-loading{0%{background-position:200% 0}to{background-position:-200% 0}}.tooltip{position:fixed;background:var(--bg-tertiary);color:var(--text-primary);padding:6px 12px;border-radius:var(--radius-sm);font-size:var(--text-xs);z-index:1200;opacity:0;transform:translateY(4px);transition:all .2s ease;pointer-events:none;white-space:nowrap;box-shadow:var(--shadow-md);border:1px solid var(--border-color)}.tooltip.visible{opacity:1;transform:translateY(0)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}@keyframes slideOutRight{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(100%)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes glow-pulse{0%,to{box-shadow:0 0 20px rgba(var(--color-primary-rgb),.3)}50%{box-shadow:0 0 40px rgba(var(--color-primary-rgb),.6)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes pulse-scale{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes particle-float{0%,to{transform:translateY(0) translate(0);opacity:0}10%{opacity:1}90%{opacity:1}to{transform:translateY(-100vh) translate(20px);opacity:0}}.animate-fadeIn{animation:fadeIn .5s ease forwards}.animate-fadeInUp{animation:fadeInUp .5s ease forwards}.animate-fadeInDown{animation:fadeInDown .5s ease forwards}.animate-scaleIn{animation:scaleIn .3s ease forwards}.animate-glow{animation:glow-pulse 2s ease-in-out infinite}.animate-float{animation:float 3s ease-in-out infinite}.animate-pulse{animation:pulse 2s ease-in-out infinite}.animate-spin{animation:spin 1s linear infinite}.delay-100{animation-delay:.1s}.delay-200{animation-delay:.2s}.delay-300{animation-delay:.3s}.delay-400{animation-delay:.4s}.delay-500{animation-delay:.5s}.hover-lift{transition:transform var(--transition-normal),box-shadow var(--transition-normal)}.hover-lift:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.hover-scale{transition:transform var(--transition-fast)}.hover-scale:hover{transform:scale(1.02)}.loader{width:40px;height:40px;border:3px solid var(--border-color);border-top-color:var(--color-primary);border-radius:50%;animation:spin .8s linear infinite}.loader-dots{display:flex;gap:6px}.loader-dots span{width:8px;height:8px;background:var(--color-primary);border-radius:50%;animation:pulse-scale 1.4s ease-in-out infinite}.loader-dots span:nth-child(2){animation-delay:.2s}.loader-dots span:nth-child(3){animation-delay:.4s}.page-loader{position:fixed;inset:0;background:var(--bg-primary);display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:9999;transition:opacity .5s ease,visibility .5s ease}.page-loader.hidden{opacity:0;visibility:hidden}.page-loader-logo{width:80px;height:80px;background:var(--gradient-primary);border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;font-size:32px;font-weight:700;color:#fff;margin-bottom:var(--space-lg);animation:pulse-scale 1.5s ease-in-out infinite;box-shadow:var(--shadow-glow-lg)}.page-loader-text{color:var(--text-secondary);font-size:var(--text-sm);margin-top:var(--space-md)}.particles{position:fixed;inset:0;pointer-events:none;overflow:hidden;z-index:0}.particle{position:absolute;width:4px;height:4px;background:var(--color-primary);border-radius:50%;opacity:.3;animation:particle-float 15s linear infinite}.particle:nth-child(1){left:10%;animation-delay:0s;animation-duration:12s}.particle:nth-child(2){left:20%;animation-delay:2s;animation-duration:14s}.particle:nth-child(3){left:30%;animation-delay:4s;animation-duration:16s}.particle:nth-child(4){left:40%;animation-delay:1s;animation-duration:13s}.particle:nth-child(5){left:50%;animation-delay:3s;animation-duration:15s}.particle:nth-child(6){left:60%;animation-delay:5s;animation-duration:11s}.particle:nth-child(7){left:70%;animation-delay:2s;animation-duration:17s}.particle:nth-child(8){left:80%;animation-delay:4s;animation-duration:14s}.particle:nth-child(9){left:90%;animation-delay:1s;animation-duration:12s}.particle:nth-child(10){left:95%;animation-delay:3s;animation-duration:16s}.grid-bg{position:fixed;inset:0;background-image:linear-gradient(rgba(var(--color-primary-rgb),.03) 1px,transparent 1px),linear-gradient(90deg,rgba(var(--color-primary-rgb),.03) 1px,transparent 1px);background-size:50px 50px;pointer-events:none;z-index:0}.gradient-orb{position:fixed;width:500px;height:500px;border-radius:50%;filter:blur(120px);opacity:.08;pointer-events:none;z-index:0}.gradient-orb-1{top:-250px;right:-250px;background:var(--color-primary)}.gradient-orb-2{bottom:-250px;left:-250px;background:var(--color-accent)}.animate-on-scroll{opacity:0}.animate-on-scroll.animate-fadeInUp{opacity:1}@media (min-width: 1536px){:root{--content-max-width: 1600px}.content-grid.cols-4{grid-template-columns:repeat(4,1fr)}.content-grid.cols-5{grid-template-columns:repeat(5,1fr)}}@media (min-width: 1280px){.content-grid.cols-4{grid-template-columns:repeat(4,1fr)}.user-menu .user-info{display:block}.user-menu .user-name{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-primary)}.user-menu .user-role{font-size:var(--text-xs);color:var(--text-muted)}}@media (min-width: 1024px){.mobile-only{display:none!important}.content-grid.cols-3{grid-template-columns:repeat(3,1fr)}.content-grid.cols-4{grid-template-columns:repeat(4,1fr)}}@media (min-width: 768px) and (max-width: 1023px){.sidebar{width:var(--sidebar-collapsed)}.sidebar .sidebar-logo span,.sidebar .nav-text,.sidebar .nav-badge,.sidebar .sidebar-footer-info,.sidebar .nav-section-title{display:none!important;opacity:0;visibility:hidden}.sidebar .nav-item{display:flex!important;justify-content:center!important;align-items:center!important;padding:12px!important;margin:2px auto!important;width:44px!important;height:44px!important}.sidebar .nav-icon{display:block!important;opacity:1!important;visibility:visible!important;margin:0!important;width:20px!important;height:20px!important}.sidebar .nav-section{border-top:none!important}.main-wrapper{margin-left:var(--sidebar-collapsed)}.content-grid.cols-3,.content-grid.cols-4{grid-template-columns:repeat(2,1fr)}.global-search{width:240px}.desktop-only{display:none!important}}@media (min-width: 640px) and (max-width: 767px){.sidebar{transform:translate(-100%);width:var(--sidebar-width)}.sidebar.mobile-open{transform:translate(0)}.main-wrapper{margin-left:0}.mobile-menu-btn{display:flex!important}.content-grid.cols-2,.content-grid.cols-3,.content-grid.cols-4{grid-template-columns:repeat(2,1fr)}.global-search{display:none}.mobile-search-btn{display:flex!important}.desktop-only{display:none!important}}@media (max-width: 639px){:root{--space-lg: 16px;--space-xl: 24px}.sidebar{transform:translate(-100%);width:100%;max-width:300px}.sidebar.mobile-open{transform:translate(0)}.sidebar-overlay{position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:calc(var(--z-sticky) - 1);opacity:0;visibility:hidden;transition:all var(--transition-normal)}.sidebar-overlay.active{opacity:1;visibility:visible}.main-wrapper{margin-left:0;min-width:320px}.header{padding:0 var(--space-md);min-width:320px}.mobile-menu-btn{display:flex!important}.global-search{display:none}.mobile-search-btn{display:flex!important}.main-content{padding:var(--space-md);min-width:0;overflow-x:auto}.page-title{font-size:var(--text-xl)}.content-grid,.content-grid.cols-2,.content-grid.cols-3,.content-grid.cols-4{grid-template-columns:1fr}.stat-card{padding:var(--space-md)}.stat-value{font-size:var(--text-2xl)}.card{padding:var(--space-md)}.table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch}.table th,.table td{padding:var(--space-sm);font-size:var(--text-sm)}.table .hide-mobile{display:none}.btn-group-responsive{flex-direction:column;width:100%}.btn-group-responsive .btn{width:100%}.modal{width:95%;max-height:85vh;margin:var(--space-md)}.modal-header,.modal-body,.modal-footer{padding:var(--space-md)}.tabs{overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.tabs::-webkit-scrollbar{display:none}.tab{padding:var(--space-sm) var(--space-md);white-space:nowrap}.toast-container{left:50%;right:auto;top:50%;bottom:auto;transform:translate(-50%,-50%);width:90%;max-width:400px}.toast{min-width:auto;width:100%}.pagination{justify-content:center;flex-wrap:wrap}.pagination-info{width:100%;text-align:center;margin-bottom:var(--space-sm)}.desktop-only{display:none!important}.gradient-orb,.particles{display:none}}html{min-width:320px;overflow-x:auto;overflow-y:auto}body{min-width:320px;overflow-x:visible}.app-layout{min-width:320px;overflow-x:auto}.main-wrapper,.main-content{min-width:0;overflow-x:visible}@media (max-width: 1200px){.content-layout{min-width:800px}.table-container{overflow-x:auto;-webkit-overflow-scrolling:touch}.toolbar-row{min-width:700px}}@media (max-width: 1024px){.content-layout{min-width:600px}.toolbar-row{min-width:550px}}.mobile-menu-btn,.mobile-search-btn{display:none;width:40px;height:40px;align-items:center;justify-content:center;border-radius:var(--radius-md);color:var(--text-secondary);transition:all var(--transition-fast);background:none;border:none;cursor:pointer}.mobile-menu-btn:hover,.mobile-search-btn:hover{background:var(--bg-hover);color:var(--text-primary)}@media (hover: none) and (pointer: coarse){.nav-item,.btn,.dropdown-item,.tab{min-height:44px}.form-input,.form-select{min-height:48px}.hover-lift:hover,.hover-glow:hover,.hover-scale:hover{transform:none}.card:hover{transform:none;box-shadow:none}.stat-card:hover{transform:none}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.page-loader,.particles,.gradient-orb{display:none}}@media print{.sidebar,.header,.page-loader,.toast-container,.modal-overlay,.particles,.gradient-orb,.grid-bg{display:none!important}.main-wrapper{margin-left:0}.main-content{padding:0;max-width:none}body{background:white;color:#000}.card{border:1px solid #ddd;box-shadow:none;break-inside:avoid}a{color:#000;text-decoration:underline}}@media (max-height: 500px) and (orientation: landscape){.sidebar{padding-top:var(--space-sm);padding-bottom:var(--space-sm)}.sidebar-header{padding:var(--space-sm) var(--space-md)}.sidebar-nav{padding:var(--space-sm)}.nav-item{padding:var(--space-xs) var(--space-md)}.header{height:56px}.main-content{padding:var(--space-sm) var(--space-md)}}
