*{margin:0;-webkit-tap-highlight-color:transparent}html,body{-webkit-user-select:none;-moz-user-select:none;user-select:none;width:100%;height:100%}body{overflow-x:hidden;font-size:16px}uni-app,uni-page,uni-page-wrapper,uni-page-body{display:block;box-sizing:border-box;width:100%}uni-page-wrapper{position:relative}#app,uni-app,uni-page,uni-page-wrapper{height:100%}.uni-mask{position:fixed;z-index:999;top:0;right:0;left:0;bottom:0;background:rgba(0,0,0,.5)}.uni-fade-enter-active,.uni-fade-leave-active{transition-duration:.25s;transition-property:opacity;transition-timing-function:ease}.uni-fade-enter-from,.uni-fade-leave-active{opacity:0}.uni-loading,uni-button[loading]:before{background-color:transparent;background-image:url(data:image/svg+xml;base64,\ PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMjAiIGhlaWdodD0iMTIwIiB2aWV3Qm94PSIwIDAgMTAwIDEwMCI+PHBhdGggZmlsbD0ibm9uZSIgZD0iTTAgMGgxMDB2MTAwSDB6Ii8+PHJlY3Qgd2lkdGg9IjciIGhlaWdodD0iMjAiIHg9IjQ2LjUiIHk9IjQwIiBmaWxsPSIjRTlFOUU5IiByeD0iNSIgcnk9IjUiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAgLTMwKSIvPjxyZWN0IHdpZHRoPSI3IiBoZWlnaHQ9IjIwIiB4PSI0Ni41IiB5PSI0MCIgZmlsbD0iIzk4OTY5NyIgcng9IjUiIHJ5PSI1IiB0cmFuc2Zvcm09InJvdGF0ZSgzMCAxMDUuOTggNjUpIi8+PHJlY3Qgd2lkdGg9IjciIGhlaWdodD0iMjAiIHg9IjQ2LjUiIHk9IjQwIiBmaWxsPSIjOUI5OTlBIiByeD0iNSIgcnk9IjUiIHRyYW5zZm9ybT0icm90YXRlKDYwIDc1Ljk4IDY1KSIvPjxyZWN0IHdpZHRoPSI3IiBoZWlnaHQ9IjIwIiB4PSI0Ni41IiB5PSI0MCIgZmlsbD0iI0EzQTFBMiIgcng9IjUiIHJ5PSI1IiB0cmFuc2Zvcm09InJvdGF0ZSg5MCA2NSA2NSkiLz48cmVjdCB3aWR0aD0iNyIgaGVpZ2h0PSIyMCIgeD0iNDYuNSIgeT0iNDAiIGZpbGw9IiNBQkE5QUEiIHJ4PSI1IiByeT0iNSIgdHJhbnNmb3JtPSJyb3RhdGUoMTIwIDU4LjY2IDY1KSIvPjxyZWN0IHdpZHRoPSI3IiBoZWlnaHQ9IjIwIiB4PSI0Ni41IiB5PSI0MCIgZmlsbD0iI0IyQjJCMiIgcng9IjUiIHJ5PSI1IiB0cmFuc2Zvcm09InJvdGF0ZSgxNTAgNTQuMDIgNjUpIi8+PHJlY3Qgd2lkdGg9IjciIGhlaWdodD0iMjAiIHg9IjQ2LjUiIHk9IjQwIiBmaWxsPSIjQkFCOEI5IiByeD0iNSIgcnk9IjUiIHRyYW5zZm9ybT0icm90YXRlKDE4MCA1MCA2NSkiLz48cmVjdCB3aWR0aD0iNyIgaGVpZ2h0PSIyMCIgeD0iNDYuNSIgeT0iNDAiIGZpbGw9IiNDMkMwQzEiIHJ4PSI1IiByeT0iNSIgdHJhbnNmb3JtPSJyb3RhdGUoLTE1MCA0NS45OCA2NSkiLz48cmVjdCB3aWR0aD0iNyIgaGVpZ2h0PSIyMCIgeD0iNDYuNSIgeT0iNDAiIGZpbGw9IiNDQkNCQ0IiIHJ4PSI1IiByeT0iNSIgdHJhbnNmb3JtPSJyb3RhdGUoLTEyMCA0MS4zNCA2NSkiLz48cmVjdCB3aWR0aD0iNyIgaGVpZ2h0PSIyMCIgeD0iNDYuNSIgeT0iNDAiIGZpbGw9IiNEMkQyRDIiIHJ4PSI1IiByeT0iNSIgdHJhbnNmb3JtPSJyb3RhdGUoLTkwIDM1IDY1KSIvPjxyZWN0IHdpZHRoPSI3IiBoZWlnaHQ9IjIwIiB4PSI0Ni41IiB5PSI0MCIgZmlsbD0iI0RBREFEQSIgcng9IjUiIHJ5PSI1IiB0cmFuc2Zvcm09InJvdGF0ZSgtNjAgMjQuMDIgNjUpIi8+PHJlY3Qgd2lkdGg9IjciIGhlaWdodD0iMjAiIHg9IjQ2LjUiIHk9IjQwIiBmaWxsPSIjRTJFMkUyIiByeD0iNSIgcnk9IjUiIHRyYW5zZm9ybT0icm90YXRlKC0zMCAtNS45OCA2NSkiLz48L3N2Zz4=);background-repeat:no-repeat}.uni-loading{width:20px;height:20px;display:inline-block;vertical-align:middle;animation:uni-loading 1s steps(12,end) infinite;background-size:100%}@keyframes uni-loading{0%{transform:rotate3d(0,0,1,0)}to{transform:rotate3d(0,0,1,360deg)}}html{--primary-color: #007aff;--UI-BG: #fff;--UI-BG-1: #f7f7f7;--UI-BG-2: #fff;--UI-BG-3: #f7f7f7;--UI-BG-4: #4c4c4c;--UI-BG-5: #fff;--UI-FG: #000;--UI-FG-0: rgba(0, 0, 0, .9);--UI-FG-HALF: rgba(0, 0, 0, .9);--UI-FG-1: rgba(0, 0, 0, .5);--UI-FG-2: rgba(0, 0, 0, .3);--UI-FG-3: rgba(0, 0, 0, .1)}uni-page[data-type] uni-page-body{background-color:transparent}body:after{position:fixed;content:"";left:-1000px;top:-1000px;animation:shadow-preload .1s;animation-delay:3s}@keyframes shadow-preload{0%{background-image:url(https://cdn.dcloud.net.cn/img/shadow-grey.png)}to{background-image:url(https://cdn.dcloud.net.cn/img/shadow-grey.png)}}.uni-async-error{position:absolute;left:0;right:0;top:0;bottom:0;color:#999;padding:100px 10px;text-align:center}.uni-async-loading{box-sizing:border-box;width:100%;padding:50px;text-align:center}.uni-async-loading .uni-loading{width:30px;height:30px}:root{--haze-page-padding: 24px;--haze-card-padding: 24px;--haze-card-gap: 24px;--haze-section-gap: 24px;--haze-text-base: 14px;--haze-text-heading: 20px;--haze-table-cell-py: 12px;--haze-table-row-h: 52px;--haze-table-cell-px: 16px;--haze-input-py: 8px;--haze-sidebar-item-py: 8px;--haze-backdrop-blur: 8px;--radius-card-sm: 12px;--radius-card: 16px;--radius-card-lg: 20px;--haze-bg: #f9fafb;--haze-surface: #ffffff;--haze-surface-hover: #f4f6f8;--haze-text-primary: #1c252e;--haze-text-secondary: #637381;--haze-text-disabled: #7c8b9a;--haze-divider: rgba(145, 158, 171, .2);--haze-surface-border: rgba(145, 158, 171, .2);--haze-header-bg: rgba(255, 255, 255, .8);--haze-primary: #00875a;--haze-primary-light: #00a76f;--haze-primary-lighter: #eef9f4;--haze-primary-darker: #006f4a;--haze-primary-glow: rgba(0, 135, 90, .14);--haze-primary-text: #00794e;--haze-hero-from: #00694a;--haze-hero-to: #17251f;--haze-on-primary: #ffffff;--haze-success: #067647;--haze-success-soft: #ecfdf3;--haze-warning: #b54708;--haze-warning-deep: #93370d;--haze-warning-soft: #fffaeb;--haze-warning-graphic: #f79009;--haze-danger: #b42318;--haze-danger-solid: #b42318;--haze-danger-soft: #fef3f2;--haze-info: #175cd3;--haze-info-soft: #eff8ff;--haze-accent: #7a5af8;--shadow-card: 0 0 2px 0 rgba(145, 158, 171, .2), 0 12px 24px -4px rgba(145, 158, 171, .12);--shadow-card-hover: 0 0 2px 0 rgba(145, 158, 171, .2), 0 20px 40px -4px rgba(145, 158, 171, .16);--shadow-pop: 0 0 2px 0 rgba(145, 158, 171, .2), 0 24px 48px -8px rgba(145, 158, 171, .24);--ui-radius: .25rem;--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Helvetica Neue", "Noto Sans", Arial, sans-serif;--font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;--sj-ink: var(--haze-text-primary);--sj-ink-soft: #454f5b;--sj-grey: var(--haze-text-secondary);--sj-grey-light: var(--haze-text-disabled);--sj-mid: #c4cdd5;--sj-paper: var(--haze-bg);--sj-paper-deep: var(--haze-surface-hover);--sj-white: var(--haze-surface);--sj-light-ink: var(--haze-divider);--sj-line: var(--haze-divider);--sj-line-strong: #dfe3e8;--sj-cinnabar: var(--haze-primary);--sj-cinnabar-deep: var(--haze-primary-darker);--sj-cinnabar-soft: var(--haze-primary-lighter);--sj-brand: var(--haze-primary-light);--sj-green: var(--haze-success);--sj-bamboo: var(--haze-success);--sj-bamboo-soft: var(--haze-success-soft);--sj-info: var(--haze-info);--sj-info-soft: var(--haze-info-soft);--sj-rattan: var(--haze-warning);--sj-rattan-deep: var(--haze-warning-deep);--sj-rattan-soft: var(--haze-warning-soft);--sj-sand: var(--haze-warning-graphic);--sj-danger-soft: var(--haze-danger-soft);--sj-tag-gray-bg: #f4f6f8;--sj-tag-gray-fg: #333d49;--sj-tag-brown-bg: #f5efe8;--sj-tag-brown-fg: #4a342a;--sj-tag-orange-bg: #fff1e6;--sj-tag-orange-fg: #7a3b0a;--sj-tag-yellow-bg: #fffaeb;--sj-tag-yellow-fg: #6b4b06;--sj-tag-green-bg: #ecfdf3;--sj-tag-green-fg: #05603a;--sj-tag-blue-bg: #eff8ff;--sj-tag-blue-fg: #103f7a;--sj-tag-purple-bg: #f4f3ff;--sj-tag-purple-fg: #3a2a63;--sj-tag-pink-bg: #fdf2fa;--sj-tag-pink-fg: #59204a;--sj-tag-red-bg: #fef3f2;--sj-tag-red-fg: #7a271a;--sj-disabled-bg: #eef1f5;--sj-disabled-text: #919eab;--sj-on-accent: var(--haze-on-primary);--sj-sidebar-hover: rgba(255, 255, 255, .06);--sj-sidebar-active: rgba(0, 168, 111, .16);--sj-muted: var(--sj-grey);--sj-text-2: var(--sj-grey);--sj-text-muted: var(--sj-grey-light);--sj-ink-2: var(--sj-ink-soft);--sj-border: var(--sj-line);--sj-card-bg: var(--sj-white);--sj-bg-soft: var(--sj-paper-deep);--sj-primary: var(--sj-cinnabar);--sj-accent: var(--sj-cinnabar);--sj-shadow: var(--shadow-card);--sj-blue-deep: var(--haze-info);--sj-cinnabar-text: var(--haze-primary-text);--sj-bamboo-text: var(--haze-success);--sj-danger-text: var(--haze-danger);--sj-warn-text: var(--haze-warning);--sj-xs: 4px;--sj-sm: 8px;--sj-md: 16px;--sj-lg: 24px;--sj-xl: 32px;--sj-xxl: 48px;--sj-radius-card: var(--radius-card);--sj-radius-btn: 6px;--sj-radius-input: 6px;--sj-radius-sm: 6px;--sj-radius-pill: 999px;--sj-shadow-card: var(--shadow-card);--sj-shadow-hover: var(--shadow-card-hover);--sj-shadow-pop: var(--shadow-pop);--sj-ring: 0 0 0 3px var(--haze-primary-glow);--sj-font-heading: var(--font-sans);--sj-font-body: var(--font-sans);--sj-font-num: var(--font-sans);--sj-dur-fast: .15s;--sj-dur: .2s;--sj-dur-slow: .3s;--sj-ease-out: cubic-bezier(.4, 0, .2, 1);--sj-ease-in: cubic-bezier(.4, 0, 1, 1)}:root[data-theme=dark]{color-scheme:dark;--haze-bg: #141a21;--haze-surface: #1c252e;--haze-surface-hover: #252f3a;--haze-header-bg: rgba(20, 26, 33, .8);--haze-text-primary: #ffffff;--haze-text-secondary: #919eab;--haze-text-disabled: #637381;--haze-divider: rgba(145, 158, 171, .16);--haze-surface-border: rgba(145, 158, 171, .16);--haze-primary: #34d399;--haze-primary-light: #6ee7b7;--haze-primary-lighter: #0c2e26;--haze-primary-darker: #6ee7b7;--haze-primary-glow: rgba(52, 211, 153, .24);--haze-primary-text: #4ade9e;--haze-hero-from: #0f3b2e;--haze-hero-to: #141a21;--haze-on-primary: #0f172a;--haze-success: #6ee7b7;--haze-success-soft: #0c2e26;--haze-warning: #fbbf24;--haze-warning-deep: #fcd34d;--haze-warning-soft: #3a2c0e;--haze-warning-graphic: #fbbf24;--haze-danger: #fca5a5;--haze-danger-solid: #d92d20;--haze-danger-soft: #3a1d1d;--haze-info: #93c5fd;--haze-info-soft: #12263f;--haze-accent: #a78bfa;--shadow-card: 0 0 2px 0 rgba(0, 0, 0, .2), 0 12px 24px -4px rgba(0, 0, 0, .12);--shadow-card-hover: 0 0 2px 0 rgba(0, 0, 0, .2), 0 20px 40px -4px rgba(0, 0, 0, .16);--shadow-pop: 0 0 2px 0 rgba(0, 0, 0, .2), 0 24px 48px -8px rgba(0, 0, 0, .24);--sj-ink-soft: #c4cdd5;--sj-mid: #3a4652;--sj-line-strong: #3a4652;--sj-disabled-bg: #252f3a;--sj-disabled-text: #637381;--sj-tag-gray-bg: #252f3a;--sj-tag-gray-fg: #b8c2ce;--sj-tag-brown-bg: #33271e;--sj-tag-brown-fg: #d4b394;--sj-tag-orange-bg: #3d2c14;--sj-tag-orange-fg: #f0c795;--sj-tag-yellow-bg: #362e12;--sj-tag-yellow-fg: #e5cd82;--sj-tag-green-bg: #10382b;--sj-tag-green-fg: #6ee7b7;--sj-tag-blue-bg: #12263f;--sj-tag-blue-fg: #93c5fd;--sj-tag-purple-bg: #2a2440;--sj-tag-purple-fg: #cbb6e2;--sj-tag-pink-bg: #3a2030;--sj-tag-pink-fg: #f0bcd2;--sj-tag-red-bg: #3a1d1d;--sj-tag-red-fg: #fca5a5;--sj-sidebar-hover: rgba(255, 255, 255, .06);--sj-sidebar-active: rgba(52, 211, 153, .18)}uni-page-body,body,.app-root{font-family:var(--sj-font-body);background-color:var(--sj-paper);color:var(--sj-ink);font-size:var(--haze-text-base);line-height:1.6;min-height:100vh;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}body{background-color:var(--sj-paper)}*{box-sizing:border-box}::-moz-selection{background:var(--haze-primary-glow)}::selection{background:var(--haze-primary-glow)}:focus-visible{outline:2px solid var(--haze-primary);outline-offset:2px}.is-interactive{cursor:pointer;-webkit-tap-highlight-color:transparent}.haze-scrollbar{scrollbar-width:thin;scrollbar-color:transparent transparent}.haze-scrollbar::-webkit-scrollbar{width:6px;height:6px}.haze-scrollbar::-webkit-scrollbar-thumb{background:transparent;border-radius:999px}.haze-scrollbar:hover::-webkit-scrollbar-thumb{background:rgba(145,158,171,.32)}.haze-scrollbar::-webkit-scrollbar-thumb:hover{background:rgba(145,158,171,.5)}.btn,.card-hover,.table-row,.link-tile,.db-row,.menu-item{transition-duration:var(--sj-dur-fast);transition-timing-function:var(--sj-ease-out)}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.btn:active,.link-tile:active,.db-row:active{transform:none}}.container{padding:var(--haze-page-padding);max-width:1440px;margin:0 auto}.page-title{font-family:var(--sj-font-heading);font-size:var(--haze-text-heading);font-weight:600;margin:0;color:var(--sj-ink);letter-spacing:-.01em;line-height:1.3}.page-subtitle{margin-top:4px;font-size:14px;color:var(--sj-grey)}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--sj-md);margin-bottom:var(--haze-section-gap)}.card{background:var(--haze-surface);border:none;border-radius:var(--radius-card);box-shadow:var(--shadow-card);padding:var(--haze-card-padding);margin-bottom:var(--haze-card-gap);transition:box-shadow var(--sj-dur-slow) var(--sj-ease-out)}.card-hover{transition:box-shadow var(--sj-dur-slow) var(--sj-ease-out)}.card-hover:hover{background-color:var(--haze-surface);box-shadow:var(--shadow-card-hover);transform:none}.glass{background:var(--haze-header-bg);backdrop-filter:blur(var(--haze-backdrop-blur))}.gradient-accent{background:linear-gradient(135deg,var(--haze-primary),var(--haze-hero-from))}.card-title,.section-title,.modal-title{font-size:16px;font-weight:600;color:var(--sj-ink);letter-spacing:-.01em}.section-title{margin-bottom:var(--sj-md)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;margin:0;height:36px;padding:0 16px;border-radius:var(--sj-radius-btn);font-size:14px;font-weight:500;letter-spacing:0;cursor:pointer;border:1px solid transparent;white-space:nowrap;transition:background-color var(--sj-dur-fast) var(--sj-ease-out),border-color var(--sj-dur-fast) var(--sj-ease-out),color var(--sj-dur-fast) var(--sj-ease-out),box-shadow var(--sj-dur-fast) var(--sj-ease-out)}.btn:hover{opacity:1}.btn:active{transform:translateY(1px)}.btn:focus-visible{outline:none;box-shadow:var(--sj-ring)}.btn-primary{background-color:var(--haze-primary);color:var(--haze-on-primary);box-shadow:none}.btn-primary:hover{background-color:var(--haze-primary-darker);opacity:1}.btn-primary[disabled]{background-color:var(--sj-disabled-bg);color:var(--sj-disabled-text);box-shadow:none;cursor:not-allowed}.btn-secondary{background-color:var(--haze-surface);color:var(--sj-ink);border-color:var(--sj-line-strong);box-shadow:none}.btn-secondary:hover{background-color:var(--haze-surface-hover);border-color:var(--sj-grey-light);opacity:1}.btn-text{background:transparent;color:var(--haze-primary-text);padding:0 8px;height:auto;font-weight:500}.btn-text:hover{color:var(--haze-primary-darker);background-color:var(--haze-primary-glow);text-decoration:none;opacity:1}.btn-text.warn{color:var(--sj-grey)}.btn-text.primary{color:var(--haze-primary-text)}.btn-text.primary:hover{color:var(--haze-primary-darker)}.btn-text.warn:hover{color:var(--haze-danger);background-color:var(--haze-danger-soft)}.form{background:var(--haze-surface);border:none;border-radius:var(--radius-card);box-shadow:var(--shadow-card);padding:var(--haze-card-padding)}.form-item{margin-bottom:var(--sj-lg)}.form-label{display:block;margin-bottom:6px;color:var(--sj-grey);font-size:12px;font-weight:500;letter-spacing:0}.form-hint{display:block;margin-top:6px;font-size:12px;line-height:1.6;color:var(--sj-grey)}.form-hint.warn{color:var(--sj-warn-text)}.form-input,.form-picker,.form-textarea{width:100%;min-height:38px;padding:var(--haze-input-py) 12px;border:1px solid var(--sj-line-strong);border-radius:var(--sj-radius-input);background:var(--haze-surface);color:var(--sj-ink);font-size:14px;font-family:inherit;transition:border-color var(--sj-dur-fast) var(--sj-ease-out),box-shadow var(--sj-dur-fast) var(--sj-ease-out),background-color var(--sj-dur-fast) var(--sj-ease-out)}.form-input::-moz-placeholder,.form-textarea::-moz-placeholder{color:var(--sj-grey-light)}.form-input::placeholder,.form-textarea::placeholder{color:var(--sj-grey-light)}uni-input .uni-input-placeholder,uni-input .input-placeholder,uni-textarea .uni-textarea-placeholder,uni-textarea .input-placeholder,.uni-input-placeholder,.uni-textarea-placeholder,.input-placeholder{color:var(--sj-grey)!important}.form-input:hover,.form-picker:hover,.form-textarea:hover{border-color:var(--sj-grey-light)}.form-input:focus,.form-textarea:focus{border-color:var(--haze-primary);outline:none;box-shadow:var(--sj-ring)}.form-picker{display:flex;align-items:center;color:var(--sj-ink)}.form-textarea{min-height:96px;resize:vertical}.form-actions,.modal-actions{display:flex;justify-content:flex-end;align-items:center;gap:var(--sj-sm)}.modal-actions{margin-top:var(--sj-md);padding-top:var(--sj-md);border-top:1px solid var(--sj-line)}.modal-actions-right{display:flex;align-items:center;gap:var(--sj-sm);margin-left:auto}.modal-mask{position:fixed;top:0;right:0;bottom:0;left:0;z-index:900;display:flex;align-items:center;justify-content:center;padding:var(--sj-md);background:rgba(0,0,0,.45)}.modal-content{width:100%;max-width:520px;max-height:90vh;overflow-y:auto;background:var(--haze-surface);color:var(--sj-ink);border-radius:var(--radius-card);padding:var(--haze-card-padding);box-shadow:var(--shadow-pop)}.modal-content.wide{max-width:760px}.tip{font-size:13px;line-height:1.6;color:var(--sj-grey)}.retry-link{color:var(--haze-primary-text);cursor:pointer;text-decoration:underline}.page-headings{min-width:0}.table-header,.table-row{display:grid;grid-template-columns:2fr 1.5fr 1fr 1fr;align-items:center;min-height:var(--haze-table-row-h);padding:0 var(--haze-table-cell-px);border-bottom:1px solid var(--sj-line)}.table-header{background-color:var(--haze-surface-hover);font-weight:600;font-size:12px;letter-spacing:.02em;color:var(--sj-grey);min-height:calc(var(--haze-table-row-h) - 8px)}.table-row{background-color:transparent;transition:background-color var(--sj-dur-fast) var(--sj-ease-out)}.table-row:hover{background-color:var(--haze-surface-hover)}.table-row:nth-child(2n),.table-row:nth-child(odd){background-color:transparent}.table-wrap>.table-header:first-child{border-top-left-radius:var(--radius-card);border-top-right-radius:var(--radius-card)}.table-actions{display:flex;justify-content:flex-end;gap:var(--sj-xs)}.table-wrap{padding:0;overflow:hidden}.table-header>*,.table-row>*{padding-top:var(--haze-table-cell-py);padding-bottom:var(--haze-table-cell-py)}.block{display:block;color:var(--sj-ink)}.sub{display:block;margin-top:2px;font-size:12px;color:var(--sj-grey)}.tag{display:inline-flex;align-items:center;gap:4px;padding:2px 10px;border-radius:var(--sj-radius-pill);font-size:12px;font-weight:500;line-height:1.6}.tag-success{background:var(--sj-tag-green-bg);color:var(--sj-tag-green-fg)}.tag-warning{background:var(--sj-tag-orange-bg);color:var(--sj-tag-orange-fg)}.tag-danger{background:var(--sj-tag-red-bg);color:var(--sj-tag-red-fg)}.tag-info{background:var(--sj-tag-blue-bg);color:var(--sj-tag-blue-fg)}.tag-neutral{background:var(--sj-tag-gray-bg);color:var(--sj-tag-gray-fg)}.grade-chip{display:inline-flex;align-items:center;padding:2px 10px;border-radius:var(--sj-radius-pill);background:var(--sj-tag-gray-bg);color:var(--sj-ink-soft);font-size:12px;cursor:pointer;transition:background-color var(--sj-dur-fast) var(--sj-ease-out),color var(--sj-dur-fast) var(--sj-ease-out)}.grade-chip:hover{background:var(--sj-cinnabar-soft);color:var(--sj-cinnabar-text)}.warn-badge{display:inline-block;margin-top:4px;padding:1px 8px;border-radius:var(--sj-radius-pill);font-size:11px;font-weight:500;background:var(--sj-tag-red-bg);color:var(--sj-tag-red-fg)}.flex-between{display:flex;justify-content:space-between;align-items:center}.flex-center{display:flex;align-items:center;gap:var(--sj-sm)}.mb-md{margin-bottom:var(--sj-md)}.tip-text{text-align:center;padding:var(--sj-sm) 0 var(--sj-lg);color:var(--sj-grey);font-size:13px}.empty-tip{text-align:center;padding:var(--sj-xxl) var(--sj-md);color:var(--sj-grey);font-size:13px}.back-link{color:var(--sj-grey);font-size:14px;cursor:pointer}.back-link:hover{color:var(--haze-primary-text)}.divider{color:var(--sj-mid)}uni-page-head,.uni-page-head{background:var(--haze-surface)!important;border-bottom:1px solid var(--sj-line)}.uni-page-head .uni-page-head__title,uni-page-head .uni-page-head__title{color:var(--sj-ink)!important;font-weight:600;letter-spacing:0}.uni-page-head .uni-page-head-btn,uni-page-head .uni-page-head-btn{color:var(--sj-ink)!important}.uni-page-head-shadow-grey:after,.uni-page-head-shadow-blue:after,.uni-page-head-shadow-green:after,.uni-page-head-shadow-orange:after,.uni-page-head-shadow-red:after,.uni-page-head-shadow-yellow:after{background-image:none!important;box-shadow:none!important}.uni-modal{border-radius:var(--radius-card)!important;overflow:hidden}.uni-mask,uni-modal,.uni-modal,uni-actionsheet,.uni-picker-container{z-index:1200!important}.uni-mask.uni-picker-mask{z-index:1!important}uni-toast,.uni-toast{z-index:1300!important}.uni-modal__btn_primary{color:var(--haze-primary-text)!important}.btn[disabled]:not(.btn-primary){background-color:var(--sj-disabled-bg);color:var(--sj-disabled-text);border-color:transparent;box-shadow:none;cursor:not-allowed;opacity:1}@media (max-width: 1024px){:root{--haze-page-padding: 20px;--haze-card-padding: 20px;--haze-card-gap: 20px;--haze-section-gap: 20px}.page-title{font-size:20px}}@media (max-width: 768px){:root{--haze-page-padding: 16px;--haze-card-padding: 16px;--haze-card-gap: 16px;--haze-section-gap: 16px}.page-head{flex-direction:column;align-items:stretch;gap:var(--sj-sm)}.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.table-header,.table-row{min-width:620px}.table-actions{flex-wrap:nowrap;gap:var(--sj-xs)}}@media (max-width: 480px){:root{--haze-page-padding: 12px;--haze-card-padding: 14px;--haze-card-gap: 12px;--haze-section-gap: 14px}.table-header,.table-row{min-width:560px}}body.sj-shell-on uni-app{padding-left:248px;box-sizing:border-box;min-height:100vh;background-color:var(--haze-bg)}@media (max-width: 768px){body.sj-shell-on uni-app{padding-left:0;padding-top:48px}}.sj-icon[data-v-d7a53f99]{display:inline-flex;align-items:center;justify-content:center;flex:none;line-height:0}.sj-icon[data-v-d7a53f99] svg{display:block;width:100%;height:100%}.sidebar[data-v-c3e726fa]{--rail-bg: var(--haze-surface);--rail-line: var(--haze-divider);--rail-fg: var(--haze-text-secondary);--rail-fg-strong: var(--haze-text-primary);--rail-muted: var(--haze-text-secondary);--rail-hover: var(--haze-surface-hover);--rail-active: var(--haze-primary-lighter);--rail-scroll-thumb: rgba(145, 158, 171, .36);--rail-scroll-thumb-hover: rgba(145, 158, 171, .56);--rail-accent: var(--haze-primary-text);--rail-avatar-bg: var(--haze-surface-hover);--rail-avatar-ring: rgba(145, 158, 171, .32);--rail-avatar-ring-hover: rgba(145, 158, 171, .6);--rail-switch-bg: var(--haze-surface-hover);--rail-switch-active: var(--haze-surface);--rail-switch-active-shadow: var(--shadow-card);width:248px;min-width:248px;height:100vh;background:var(--rail-bg);border-right:1px solid var(--rail-line);box-shadow:0 0 1px rgba(145,158,171,.2);display:flex;flex-direction:column;position:fixed;top:0;left:0}:root[data-theme=dark] .sidebar[data-v-c3e726fa]{--rail-bg: #1c252e;--rail-line: rgba(255, 255, 255, .08);--rail-fg: #919eab;--rail-fg-strong: #ffffff;--rail-muted: #919eab;--rail-hover: rgba(255, 255, 255, .06);--rail-active: rgba(0, 168, 111, .16);--rail-scroll-thumb: rgba(255, 255, 255, .18);--rail-scroll-thumb-hover: rgba(255, 255, 255, .3);--rail-accent: var(--haze-primary-light);--rail-avatar-bg: rgba(255, 255, 255, .1);--rail-avatar-ring: rgba(255, 255, 255, .12);--rail-avatar-ring-hover: rgba(255, 255, 255, .32);--rail-switch-bg: rgba(255, 255, 255, .06);--rail-switch-active: rgba(255, 255, 255, .12);--rail-switch-active-shadow: none;box-shadow:none}.brand[data-v-c3e726fa]{display:flex;align-items:center;gap:12px;height:64px;padding:0 16px;border-bottom:1px solid var(--rail-line);cursor:pointer;flex:none}.brand-mark[data-v-c3e726fa]{display:flex;align-items:center;justify-content:center;width:32px;height:32px;flex:none;border-radius:8px;background:linear-gradient(135deg,var(--haze-primary),var(--haze-hero-from));color:#fff;font-size:14px;font-weight:700;line-height:1}.brand-name[data-v-c3e726fa]{font-size:16px;font-weight:600;color:var(--rail-fg-strong);letter-spacing:.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.menu-list[data-v-c3e726fa]{flex:1 1 0;min-height:0;overflow:hidden;padding:12px}.menu-list[data-v-c3e726fa] .uni-scroll-view,.menu-list[data-v-c3e726fa] .uni-scroll-view-content{height:100%}.menu-list[data-v-c3e726fa] .uni-scroll-view{scrollbar-width:thin;scrollbar-color:var(--rail-scroll-thumb) transparent}.menu-list[data-v-c3e726fa] .uni-scroll-view::-webkit-scrollbar{width:6px;height:6px}.menu-list[data-v-c3e726fa] .uni-scroll-view::-webkit-scrollbar-track{background:transparent}.menu-list[data-v-c3e726fa] .uni-scroll-view::-webkit-scrollbar-thumb{background:var(--rail-scroll-thumb);border-radius:var(--sj-radius-pill)}.menu-list[data-v-c3e726fa] .uni-scroll-view::-webkit-scrollbar-thumb:hover{background:var(--rail-scroll-thumb-hover)}.menu-group[data-v-c3e726fa]{margin-top:20px}.menu-group[data-v-c3e726fa]:first-child{margin-top:0}.group-label[data-v-c3e726fa]{padding:0 12px 8px;font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--rail-muted)}.menu-item[data-v-c3e726fa]{display:flex;align-items:center;gap:12px;height:40px;padding:0 12px;margin-bottom:2px;border-radius:var(--radius-card-sm);cursor:pointer;color:var(--rail-fg);transition:background-color var(--sj-dur-fast) var(--sj-ease-out),color var(--sj-dur-fast) var(--sj-ease-out);position:relative}.menu-icon[data-v-c3e726fa]{color:var(--rail-muted);flex:none;transition:color var(--sj-dur-fast) var(--sj-ease-out)}.menu-name[data-v-c3e726fa]{font-size:14px;letter-spacing:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.menu-badge[data-v-c3e726fa]{margin-left:auto;min-width:20px;height:20px;padding:0 6px;box-sizing:border-box;display:flex;align-items:center;justify-content:center;border-radius:var(--sj-radius-pill);background:var(--haze-danger-solid);color:#fff;font-size:11px;font-weight:700;line-height:1;flex:none}.menu-item[data-v-c3e726fa]:hover{background:var(--rail-hover);color:var(--rail-fg-strong)}.menu-item:hover .menu-icon[data-v-c3e726fa]{color:var(--rail-fg-strong)}.menu-item.active[data-v-c3e726fa]{background:var(--rail-active);color:var(--rail-fg-strong);font-weight:500}.menu-item.active .menu-icon[data-v-c3e726fa]{color:var(--rail-accent)}.theme-switch[data-v-c3e726fa]{display:flex;gap:2px;margin:0 12px 8px;padding:3px;border-radius:var(--radius-card-sm);background:var(--rail-switch-bg)}.theme-opt[data-v-c3e726fa]{flex:1;text-align:center;padding:6px 0;border-radius:8px;font-size:12px;color:var(--rail-muted);cursor:pointer;transition:background var(--sj-dur-fast) var(--sj-ease-out),color var(--sj-dur-fast) var(--sj-ease-out)}.theme-opt[data-v-c3e726fa]:hover{color:var(--rail-fg-strong)}.theme-opt.active[data-v-c3e726fa]{background:var(--rail-switch-active);color:var(--rail-fg-strong);box-shadow:var(--rail-switch-active-shadow);font-weight:500}.user-bar[data-v-c3e726fa]{margin:0 12px;padding:12px 4px 16px;border-top:1px solid var(--rail-line);display:flex;align-items:center;gap:10px}.avatar[data-v-c3e726fa]{width:34px;height:34px;border-radius:50%;flex-shrink:0;background:var(--rail-avatar-bg);color:var(--rail-fg-strong);display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:600;cursor:pointer;overflow:hidden;box-shadow:inset 0 0 0 1px var(--rail-avatar-ring);transition:box-shadow var(--sj-dur-fast) var(--sj-ease-out)}.avatar[data-v-c3e726fa]:hover{box-shadow:inset 0 0 0 1px var(--rail-avatar-ring-hover)}.avatar .avatar-photo[data-v-c3e726fa]{width:100%;height:100%}.user-info[data-v-c3e726fa]{flex:1;min-width:0;overflow:hidden}.user-name[data-v-c3e726fa]{display:block;font-size:13.5px;font-weight:500;color:var(--rail-fg-strong);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-role[data-v-c3e726fa]{display:block;margin-top:1px;font-size:12px;color:var(--rail-muted)}.logout-btn[data-v-c3e726fa]{width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;color:var(--rail-muted);cursor:pointer;flex-shrink:0;transition:background-color var(--sj-dur-fast) var(--sj-ease-out),color var(--sj-dur-fast) var(--sj-ease-out)}.logout-btn[data-v-c3e726fa]:hover{background:var(--rail-hover);color:var(--rail-fg-strong)}@media (max-width: 768px){.sidebar[data-v-c3e726fa]{display:none}}.sj-admin-shell[data-v-17da81ad]{position:fixed;top:0;left:0;z-index:1000;pointer-events:none}.sj-admin-shell .sidebar[data-v-17da81ad]{position:fixed;top:0;left:0;pointer-events:auto}.sj-mobile-topbar[data-v-17da81ad]{display:none}@media (max-width: 768px){.sj-mobile-topbar[data-v-17da81ad]{display:flex;align-items:center;justify-content:space-between;gap:var(--sj-sm);position:fixed;top:0;left:0;right:0;height:48px;padding:0 12px;z-index:1100;pointer-events:auto;background:var(--sj-paper-deep);border-bottom:1px solid var(--sj-line)}body.sj-shell-on uni-app[data-v-17da81ad]{padding-top:48px}}.sj-mt-left[data-v-17da81ad]{display:flex;align-items:center;gap:var(--sj-sm);min-width:0}.sj-mt-brand[data-v-17da81ad]{font-size:15px;font-weight:600;color:var(--sj-ink)}.sj-mt-right[data-v-17da81ad]{display:flex;align-items:center;gap:var(--sj-sm);min-width:0}.sj-mt-name[data-v-17da81ad]{font-size:13px;color:var(--sj-grey);max-width:96px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sj-mt-btn[data-v-17da81ad]{margin:0;padding:0 14px;height:32px;line-height:30px;font-size:13px;border-radius:var(--sj-radius-btn);background:var(--sj-white);color:var(--sj-ink);border:1px solid var(--sj-line-strong)}.sj-mt-btn[data-v-17da81ad]:after{border:none}.sj-mt-back[data-v-17da81ad]{padding:0 8px;font-size:14px}
