:root{--sdj-bg:#fff;--sdj-bg-soft:#f7f8fa;--sdj-border:#f0f0f0;--sdj-border-strong:#e5e4e7;--sdj-text:#1f2937;--sdj-text-sub:#4b5563;--sdj-text-faint:#6b7280;--sdj-avatar-bg:#0000000f;--sdj-sider-bg:#fff;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}html.dark{--sdj-bg:#141414;--sdj-bg-soft:#0f1115;--sdj-border:#262626;--sdj-border-strong:#2e303a;--sdj-text:#f3f4f6;--sdj-text-sub:#9ca3af;--sdj-text-faint:#9ca3af;--sdj-avatar-bg:#ffffff14;--sdj-sider-bg:#141414;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}html::view-transition-old(*){animation:none}html::view-transition-new(*){animation:.5s ease-in both sdj-theme-clip}html::view-transition-old(root){z-index:1}html::view-transition-new(root){z-index:9999}html.dark::view-transition-old(*){animation:.5s ease-in reverse both sdj-theme-clip}html.dark::view-transition-new(*){animation:none}html.dark::view-transition-old(root){z-index:9999}html.dark::view-transition-new(root){z-index:1}@keyframes sdj-theme-clip{0%{clip-path:circle(0% at var(--x,50%) var(--y,50%))}to{clip-path:circle(var(--r,100vmax) at var(--x,50%) var(--y,50%))}}.admin-shell{height:100vh;overflow:hidden}.admin-shell-sider{z-index:100;background:var(--sdj-sider-bg);border-inline-end:1px solid var(--sdj-border);position:fixed;inset-block:0;inset-inline-start:0}.admin-shell-sider .admin-shell-logo{height:56px;color:var(--sdj-text);white-space:nowrap;border-bottom:1px solid var(--sdj-border);justify-content:center;align-items:center;gap:8px;padding-inline:8px;font-size:15px;font-weight:600;display:flex;overflow:hidden}.admin-shell-logo-img{border-radius:6px;flex-shrink:0;width:26px;height:26px}.admin-shell-main{flex-direction:column;height:100vh;margin-inline-start:200px;display:flex}.admin-shell-header{z-index:99;background:var(--sdj-bg);border-bottom:1px solid var(--sdj-border);align-items:center;gap:8px;height:56px;padding-inline:16px;display:flex;position:sticky;top:0}.admin-shell-title{color:var(--sdj-text);font-size:15px;font-weight:600}.admin-shell-cats{scrollbar-width:none;flex:1;align-items:center;gap:4px;min-width:0;display:flex;overflow-x:auto}.admin-shell-cats::-webkit-scrollbar{display:none}.admin-shell-cat{cursor:pointer;color:var(--sdj-text-sub);white-space:nowrap;border-radius:6px;padding:5px 14px;font-size:14px;line-height:22px;transition:all .15s}.admin-shell-cat:hover{color:var(--sdj-cat-color,#c2410c);background:var(--sdj-cat-wash,#c2410c0d)}.admin-shell-cat.active{color:var(--sdj-cat-color,#c2410c);background:var(--sdj-cat-wash,#c2410c14);font-weight:600}.admin-shell-avatar{cursor:pointer;background:var(--sdj-avatar-bg);border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:14px;display:inline-flex}.admin-shell-actions{align-items:center;gap:8px;margin-inline-start:auto;display:inline-flex}.admin-shell-color-dot{border-radius:50%;width:12px;height:12px;display:inline-block;box-shadow:inset 0 0 0 1px #00000014}.admin-shell-profile{align-items:center;gap:16px;padding:8px 0 16px;display:flex}.admin-shell-profile-info p{color:var(--sdj-text-sub);margin:4px 0}.ant-modal .ant-form-item-row{flex-wrap:nowrap}.ant-modal .ant-form-item-control{min-width:0}.ant-modal .ant-form-item-control .ant-input-affix-wrapper,.ant-modal .ant-form-item-control .ant-input-number,.ant-modal .ant-form-item-control .ant-picker{width:100%;min-width:0}.admin-login-page{background:#fffaf3;min-height:100vh;display:flex}.admin-login-hero{flex:52%;align-items:flex-end;display:flex;position:relative;overflow:hidden}.admin-login-hero-img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.admin-login-hero-mask{background:linear-gradient(#451a030d 0%,#451a0347 55%,#451a039e 100%),linear-gradient(90deg,#fffaf359 0%,#fffaf300 30%);position:absolute;inset:0}.admin-login-hero-text{color:#fff;padding:48px 56px;position:relative}.admin-login-hero-text h1{letter-spacing:6px;text-shadow:0 2px 12px #451a0366;margin:0 0 10px;font-size:44px;font-weight:700}.admin-login-hero-slogan{letter-spacing:2px;text-shadow:0 1px 8px #451a0373;margin:0 0 8px;font-size:22px;font-weight:500}.admin-login-hero-sub{opacity:.85;letter-spacing:1px;margin:0;font-size:13px}.admin-login-panel{background:radial-gradient(1200px 500px at 85% -10%,#fdba7440,#0000 60%),#fffaf3;flex:48%;justify-content:center;align-items:center;padding:40px 24px;display:flex}.admin-login-card{background:#fff;border-radius:18px;width:min(400px,100%);padding:36px 36px 24px;box-shadow:0 18px 50px #9a34121f}.admin-login-title{color:#c2410c;margin:0 0 6px;font-size:22px}.admin-login-subtitle{color:#9ca3af;margin:0 0 22px;font-size:13px;line-height:1.6}.admin-login-captcha-row{align-items:center;gap:10px;display:flex}.admin-login-captcha-row .ant-form-item{flex:1;min-width:0;margin:0}.admin-login-captcha-img{cursor:pointer;background:#fef8ef;border-radius:8px;flex:none;width:156px;height:52px}.admin-login-captcha-loading{color:#c0c4cc;justify-content:center;align-items:center;font-size:12px;display:flex}.admin-login-captcha-loading:after{content:"加载中"}.admin-login-foot{text-align:center;color:#c9b8a6;letter-spacing:1px;margin:18px 0 0;font-size:12px}.admin-login-foot button{color:inherit;font:inherit;letter-spacing:inherit;cursor:pointer;text-underline-offset:2px;background:0 0;border:0;padding:0;text-decoration:underline}@media (width<=860px){.admin-login-hero{display:none}.admin-login-panel{flex:100%}}.admin-shell-lockmask{z-index:1000;background:#0f172af5;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.admin-shell-lockcard{color:#e5e7eb;background:#ffffff0f;border-radius:16px;flex-direction:column;gap:14px;width:min(640px,100vw - 48px);padding:36px 36px 28px;display:flex}.admin-shell-lockclock{border-bottom:1px solid #ffffff14;grid-template-columns:1.2fr 1fr;align-items:center;gap:24px;padding-bottom:16px;display:grid}.lc-time{color:#fff;font-variant-numeric:tabular-nums;letter-spacing:1px;font-size:52px;font-weight:700;line-height:1.1}.lc-time .lc-colon{animation:1s step-end infinite lc-blink}.lc-sec{color:#9ca3af;margin-left:10px;font-size:24px;font-weight:500}@keyframes lc-blink{50%{opacity:.25}}.lc-date{color:#e5e7eb;margin-top:8px;font-size:15px}.lc-lunar{color:#9ca3af;margin-top:4px;font-size:13px}.lc-festival{color:#fdba74;background:#c2410c59;border-radius:999px;margin-top:8px;padding:2px 10px;font-size:13px;display:inline-block}.lc-right{flex-direction:column;gap:10px;display:flex}.lc-yj{color:#d1d5db;align-items:flex-start;gap:8px;font-size:13px;line-height:20px;display:flex}.lc-yj-tag{color:#fff;border-radius:50%;flex:none;justify-content:center;align-items:center;width:20px;height:20px;font-size:12px;display:inline-flex}.lc-yj-tag.yi{background:#16a34a}.lc-yj-tag.ji{background:#dc2626}.admin-shell-lockuser{color:#e5e7eb;align-items:center;gap:10px;font-size:14px;display:flex}.admin-shell-lockuser h3{color:#fff;margin:0;font-size:15px}.admin-shell-lockcard p{color:#9ca3af;margin:0 0 4px;font-size:13px}@media (width<=640px){.admin-shell-lockclock{grid-template-columns:1fr}.lc-time{font-size:40px}}.admin-shell-content{flex:1;min-height:0;padding-block:10px;padding-inline:14px;overflow-y:auto}.admin-shell-content .ant-table-wrapper .ant-table-body{overflow-y:auto!important}.admin-shell-content .ant-pro-table-extra{margin-block-end:0}.admin-shell-content .ant-card-body{padding-block-start:12px}:is(.admin-shell-content .ant-card-body:has(>.ant-tabs:first-child),.admin-shell-content .ant-card-body:has(>:first-child .ant-tabs-nav)){padding-block-start:0}body{background:var(--sdj-bg-soft);margin:0}.sdj-print-area{display:none}@media print{#root,.ant-drawer,.ant-modal-root,.ant-image-preview-root,.ant-message,.ant-notification{display:none!important}.sdj-print-area{display:block!important}.sdj-print-area h2{margin:0 0 12px;font-size:16px}.sdj-print-area p{margin:0 0 8px;font-size:13px}.sdj-print-area img{page-break-inside:avoid;break-inside:avoid;width:100%;margin-bottom:12px;display:block}body{background:#fff}}:root{--wt-bar-bg:#fff;--wt-border:#e5e4e7;--wt-text:#6b7280;--wt-hover-bg:#eef0f7;--wt-active-bg:#e8eaf4;--wt-line:#d4d4d8;--wt-close-hover-bg:#d4d4d8;--wt-close-hover-color:#374151}html.dark{--wt-bar-bg:#16181d;--wt-border:#2e303a;--wt-text:#9ca3af;--wt-hover-bg:#232630;--wt-active-bg:#2c3040;--wt-line:#3f4149;--wt-close-hover-bg:#3f4149;--wt-close-hover-color:#e5e7eb}.work-tabs{box-sizing:border-box;border-bottom:1px solid var(--wt-border);background:var(--wt-bar-bg);-webkit-user-select:none;user-select:none;align-items:flex-end;width:100%;margin:0 0 4px;padding:4px 12px 0;display:flex}.work-tabs-scroll{scrollbar-width:none;flex:1;overflow:auto hidden}.work-tabs-scroll::-webkit-scrollbar{display:none}.work-tabs-list{white-space:nowrap;display:flex}.gtab{height:32px;color:var(--wt-text);cursor:pointer;border-radius:10px 10px 0 0;align-items:center;margin-right:6px;padding:0 8px 0 12px;font-size:12px;transition:background-color .15s,color .15s;display:inline-flex;position:relative}.gtab:hover{background:var(--wt-hover-bg)}.gtab.active{background:var(--wt-active-bg)}.gtab:before,.gtab:after{content:"";border-radius:50%;width:10px;height:10px;transition:box-shadow .15s;position:absolute;bottom:0;box-shadow:0 0 0 30px #0000}.gtab:before{clip-path:inset(50% -10px 0 50%);left:-10px}.gtab:after{clip-path:inset(50% 50% 0 -10px);right:-10px}.gtab.active:before,.gtab.active:after{box-shadow:0 0 0 30px var(--wt-active-bg)}.gtab .gtab-line{background:var(--wt-line);opacity:1;width:1px;height:16px;margin:auto 0;transition:opacity .15s;position:absolute;top:0;bottom:0;left:0}.gtab:hover .gtab-line,.gtab.active .gtab-line,.work-tabs-list .gtab:first-child .gtab-line,.gtab:hover+.gtab .gtab-line,.gtab.active+.gtab .gtab-line{opacity:0}.gtab-close{border-radius:50%;justify-content:center;align-items:center;margin-left:4px;padding:2px;font-size:10px;display:inline-flex}.gtab-close:hover{background:var(--wt-close-hover-bg);color:var(--wt-close-hover-color)}.work-tabs-more{width:28px;height:28px;color:var(--wt-text);cursor:pointer;border-radius:6px;justify-content:center;align-items:center;margin-bottom:2px;display:inline-flex}.work-tabs-more:hover{background:var(--wt-hover-bg)}.reactEasyCrop_Container{-webkit-user-select:none;user-select:none;touch-action:none;cursor:move;justify-content:center;align-items:center;display:flex;position:absolute;inset:0;overflow:hidden}.reactEasyCrop_Image,.reactEasyCrop_Video{will-change:transform;max-width:unset}.reactEasyCrop_Contain{max-width:100%;max-height:100%;margin:auto;position:absolute;inset:0}.reactEasyCrop_Cover_Horizontal{width:100%;height:auto}.reactEasyCrop_Cover_Vertical{width:auto;height:100%}.reactEasyCrop_CropArea{box-sizing:border-box;color:#00000080;border:1px solid #ffffff80;position:absolute;top:50%;left:50%;overflow:hidden;transform:translate(-50%,-50%);box-shadow:0 0 0 9999em}.reactEasyCrop_CropAreaRound{border-radius:50%}.reactEasyCrop_CropAreaGrid:before{content:" ";box-sizing:border-box;border:0;border-left:1px solid #ffffff80;border-right:1px solid #ffffff80;position:absolute;inset:0 33.33%}.reactEasyCrop_CropAreaGrid:after{content:" ";box-sizing:border-box;border:1px solid #ffffff80;border-left:0;border-right:0;position:absolute;inset:33.33% 0}.menu-table .ant-table-row.menu-row-dir>td{background:#fff7ed}.menu-line{align-items:center;gap:8px;min-width:0;display:flex}.menu-kind{border-radius:4px;flex:none;align-items:center;height:20px;padding:0 6px;font-size:12px;line-height:20px;display:inline-flex}.menu-kind.dir{color:#c2410c;background:#ffedd5}.menu-kind.page{color:#475467;background:#f2f4f7}.menu-kind.button{color:#175cd3;background:#eef4ff}.menu-title{color:#1f2933;white-space:nowrap;flex:none}.menu-title.dir{font-weight:600}.menu-path{color:#98a2b3;min-width:0;font-family:Consolas,monospace;font-size:12px;overflow:hidden}.menu-ops{gap:4px;display:inline-flex}.role-picker{background:#fff;border:1px solid #e6e8eb;border-radius:14px;margin:8px 0 4px;overflow:hidden}.role-picker-head{background:#fffaf7;border-bottom:1px solid #f3f0ec;align-items:baseline;gap:14px;padding:14px 18px;display:flex}.role-picker-head .rp-title{color:#431407;font-size:15px;font-weight:650}.role-picker-head .rp-tip{color:#98a2b3;font-size:12.5px}.role-picker-body{grid-template-columns:minmax(0,1fr) 340px;min-height:380px;max-height:460px;display:grid;overflow:hidden}.role-pages{min-height:0;padding:0 12px 14px;overflow:auto}.role-group{margin-top:4px}.role-group-title{z-index:1;color:#98a2b3;letter-spacing:1px;background:#fff;border-bottom:1px dashed #f3f0ec;padding:10px 8px 6px;font-size:12px;position:sticky;top:0}.role-page{cursor:pointer;border:1px solid #0000;border-radius:10px;align-items:center;gap:10px;padding:10px 12px;display:flex}.role-page:hover{background:#fff7ed}.role-page.focus{background:#fff7ed;border-color:#fdba74}.role-page.on .rp-name{color:#c2410c;font-weight:600}.role-page .rp-name{font-size:14px}.role-page .rp-path{color:#d6d3d1;flex:1;font-family:Consolas,monospace;font-size:12px}.role-page .rp-count{color:#98a2b3;background:#f5f5f4;border-radius:999px;flex:none;padding:2px 10px;font-size:11.5px}.role-page .rp-count.some{color:#c2410c;background:#ffedd5;font-weight:600}.role-buttons{background:#fffaf7;border-left:1px solid #f3f0ec;padding:14px 16px;overflow:auto}.role-buttons .rb-head{align-items:center;gap:8px;margin-bottom:12px;font-size:13.5px;font-weight:600;display:flex}.role-buttons .rb-head .rb-checkall{gap:10px;margin-left:auto;font-size:12.5px;font-weight:400;display:flex}.role-chip{cursor:pointer;background:#fff;border:1px solid #e6e8eb;border-radius:10px;align-items:center;gap:10px;margin-bottom:8px;padding:10px 12px;display:flex}.role-chip.on{background:#fff7ed;border-color:#c2410c}.role-chip .chip-box{color:#fff;border:1.5px solid #d6d3d1;border-radius:5px;flex:none;justify-content:center;align-items:center;width:18px;height:18px;font-size:11px;display:inline-flex}.role-chip.on .chip-box{background:#c2410c;border-color:#c2410c}.role-chip .chip-name{font-size:13.5px}.role-chip .chip-code{color:#d6d3d1;margin-left:auto;font-family:Consolas,monospace;font-size:11.5px}.role-picker-foot{background:#fffaf7;border-top:1px solid #f3f0ec;justify-content:space-between;align-items:center;padding:12px 18px;display:flex}.role-picker-foot .rp-stats{color:#667085;font-size:13px}.role-picker-foot .rp-stats b{color:#c2410c;margin:0 2px;font-size:15px}.role-picker-foot a{font-size:13px}.ant-modal .svc-upload .ant-upload.ant-upload-select{width:80px;height:80px;margin-inline-start:8px}.cat-switches{flex-wrap:wrap;align-items:center;gap:4px 18px;padding:8px 4px 4px;display:flex}.cat-switches-label{color:#9ca3af;font-size:12.5px}.cat-switch{color:#4b5563;align-items:center;gap:6px;font-size:13px;display:inline-flex}.cat-switches-hint{color:#c0c4cc;font-size:12px}.ant-modal .ant-pro-form-list .ant-input-affix-wrapper,.ant-modal .ant-pro-form-list .ant-input-number{align-items:center;height:32px;display:inline-flex}.ant-modal .ant-pro-form-list .ant-input-affix-wrapper>input.ant-input,.ant-modal .ant-pro-form-list .ant-input-number .ant-input-number-input{height:auto;min-height:0;padding-block:0}
