#nprogress{pointer-events:none}#nprogress .bar{z-index:1031;background:#29d;width:100%;height:2px;position:fixed;top:0;left:0}#nprogress .peg{opacity:1;width:100px;height:100%;display:block;position:absolute;right:0;transform:rotate(3deg)translateY(-4px);box-shadow:0 0 10px #29d,0 0 5px #29d}#nprogress .spinner{z-index:1031;display:block;position:fixed;top:15px;right:15px}#nprogress .spinner-icon{box-sizing:border-box;border:2px solid #0000;border-color:#29d #0000 #0000 #29d;border-radius:50%;width:18px;height:18px;animation:.4s linear infinite nprogress-spinner}.nprogress-custom-parent{position:relative;overflow:hidden}.nprogress-custom-parent #nprogress .spinner,.nprogress-custom-parent #nprogress .bar{position:absolute}@-webkit-keyframes nprogress-spinner{0%{-webkit-transform:rotate(0)}to{-webkit-transform:rotate(360deg)}}@keyframes nprogress-spinner{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.sidebar{background-color:var(--sidebar-bg);flex-direction:column;height:100%;display:flex;overflow:hidden}.sidebar-logo{height:var(--header-height);min-height:var(--header-height);background-color:var(--sidebar-logo-bg);flex-shrink:0;justify-content:center;align-items:center;display:flex;overflow:hidden}.sidebar-logo__inner{white-space:nowrap;align-items:center;gap:10px;display:flex;overflow:hidden}.sidebar-logo__img{object-fit:cover;border-radius:6px;flex-shrink:0;width:30px;height:30px}.sidebar-logo__text{color:#fff;letter-spacing:.5px;font-size:18px;font-weight:700;animation:.25s 50ms both sidebar-logo-in}@keyframes sidebar-logo-in{0%{opacity:0;transform:translate(-8px)}to{opacity:1;transform:none}}.sidebar-scrollbar{flex:1;overflow:hidden auto}.sidebar-menu.ant-menu-dark,.sidebar-menu.ant-menu-dark .ant-menu-sub.ant-menu-inline{background:var(--sidebar-bg)!important}.sidebar-menu.ant-menu{color:var(--sidebar-text);padding:6px 0;border-inline-end:none!important}.sidebar-menu.ant-menu .ant-menu-item,.sidebar-menu.ant-menu .ant-menu-submenu-title{color:var(--sidebar-text);border-radius:6px;width:calc(100% - 16px);margin-inline:8px}.sidebar-menu.ant-menu .ant-menu-submenu-title{font-weight:600}.sidebar-menu.ant-menu .ant-menu-item:hover,.sidebar-menu.ant-menu .ant-menu-submenu-title:hover{background-color:var(--sidebar-bg-hover)!important;color:var(--sidebar-text-active)!important}.sidebar-menu.ant-menu .ant-menu-item-selected{position:relative;background-color:var(--sidebar-bg-active)!important;color:var(--sidebar-text-active)!important}.sidebar-menu.ant-menu .ant-menu-item-selected:before{content:"";background-color:var(--color-primary);border-radius:0 2px 2px 0;width:3px;height:24px;position:absolute;top:50%;left:-8px;transform:translateY(-50%)}.sidebar-menu.ant-menu .ant-menu-sub .ant-menu-item{font-size:13px}.sidebar-menu.ant-menu .ant-menu-item .anticon,.sidebar-menu.ant-menu .ant-menu-submenu-title .anticon{font-size:16px}.sidebar-label{align-items:center;gap:6px;display:inline-flex}.menu-badge{background:var(--color-danger);color:#fff;border-radius:9px;justify-content:center;align-items:center;min-width:18px;height:18px;padding:0 5px;font-size:11px;font-weight:600;line-height:1;display:inline-flex}.notification-popover{margin:0}.popover-header{border-bottom:1px solid var(--el-border-color-lighter);justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.popover-title{color:var(--el-text-color-primary);font-size:14px;font-weight:600}.popover-loading,.popover-empty{color:var(--el-text-color-secondary);justify-content:center;align-items:center;padding:32px 0;font-size:13px;display:flex}.popover-list{max-height:320px;overflow-y:auto}.notification-item{cursor:pointer;padding:10px 16px;transition:background .15s}.notification-item:hover{background:var(--el-fill-color-light)}.notification-item.is-read{opacity:.6}.item-header{align-items:center;gap:8px;display:flex}.item-dot{background:var(--el-color-danger);border-radius:50%;flex-shrink:0;width:6px;height:6px}.item-title{color:var(--el-text-color-primary);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:13px;font-weight:500;overflow:hidden}.item-time{color:var(--el-text-color-secondary);margin-top:4px;padding-left:14px;font-size:12px}.popover-footer{border-top:1px solid var(--el-border-color-lighter);justify-content:center;padding:8px 0;display:flex}.notice-detail{padding:0 4px}.notice-meta{color:var(--el-text-color-secondary);align-items:center;gap:16px;font-size:13px;display:flex}.meta-item{align-items:center;display:inline-flex}.notice-content{color:var(--el-text-color-regular);white-space:pre-wrap;word-break:break-all;font-size:14px;line-height:1.8}.navbar{width:100%;height:var(--header-height);background:var(--header-bg);justify-content:space-between;align-items:center;display:flex}.navbar-left{align-items:center;gap:var(--space-md);min-width:0;display:flex}.breadcrumb-text{vertical-align:middle;margin-left:4px}.navbar-right{--navbar-control-height:40px;height:var(--navbar-control-height);align-items:center;gap:12px;display:flex}.navbar-book{width:180px}.navbar-book.ant-select{height:var(--navbar-control-height)}.navbar-book-option{align-items:center;gap:6px;max-width:100%;display:inline-flex}.navbar-book-option>span:first-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.navbar-book-tag.ant-tag{margin:0;padding:0 4px;font-size:11px;line-height:16px}.navbar-book-empty{color:var(--color-text-secondary);font-size:12px}.navbar-tools{height:var(--navbar-control-height);align-items:center;gap:4px;display:flex}.navbar-tools .ant-dropdown-trigger{height:var(--navbar-control-height);align-items:center;display:flex}.action-btn{width:var(--navbar-control-height);height:var(--navbar-control-height);flex:0 0 var(--navbar-control-height);border-radius:var(--radius-sm);cursor:pointer;color:var(--color-text-regular);transition:all var(--transition-fast);justify-content:center;align-items:center;display:flex}.action-btn:hover{background:var(--color-bg);color:var(--color-text-primary)}.action-btn.is-active{background:var(--sidebar-bg-active);color:var(--color-primary)}.language-switch{-webkit-user-select:none;user-select:none;flex-basis:auto;gap:6px;width:auto;min-width:62px;padding:0 10px}.language-icon{flex:none}.language-label{font-size:12px;font-weight:600;line-height:1}.user-area{height:var(--navbar-control-height);box-sizing:border-box;cursor:pointer;border-radius:var(--radius-sm);transition:background var(--transition-fast);align-items:center;gap:8px;padding:0 6px 0 4px;display:flex}.user-area:hover{background:var(--color-bg)}.username{height:100%;color:var(--color-text-primary);text-overflow:ellipsis;white-space:nowrap;align-items:center;max-width:120px;font-size:14px;line-height:20px;display:flex;overflow:hidden}.arrow-icon{color:var(--color-text-secondary);transition:transform var(--transition-fast);font-size:12px}.mobile-title{color:var(--color-text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:15px;font-weight:600;overflow:hidden}.navbar.is-mobile{gap:8px}.is-mobile .navbar-left{flex:1;gap:4px;min-width:0}.is-mobile .navbar-right{--navbar-control-height:34px;flex-shrink:0;gap:4px}.is-mobile .navbar-book{width:108px}.is-mobile .navbar-book.ant-select{height:var(--navbar-control-height)}.is-mobile .navbar-tools{gap:0}.is-mobile .language-switch{min-width:0;padding:0 6px}.is-mobile .language-label,.is-mobile .username,.is-mobile .arrow-icon{display:none}.is-mobile .user-area{padding:0 2px}.navbar-breadcrumb{white-space:nowrap;min-width:0;overflow:hidden}.navbar-breadcrumb ol{flex-wrap:nowrap}.navbar-breadcrumb a,.navbar-breadcrumb span{align-items:center;display:inline-flex}.agent-panel{background:var(--color-bg-card);height:100%;min-height:0;color:var(--color-text-primary);flex-direction:column;display:flex}.agent-panel .agent-header{height:var(--header-height);padding:0 var(--space-sm) 0 var(--space-md);border-bottom:1px solid var(--color-border);flex-shrink:0;justify-content:space-between;align-items:center;display:flex}.agent-panel .agent-title{align-items:center;gap:8px;font-size:15px;font-weight:600;display:flex}.agent-panel .agent-actions{align-items:center;gap:2px;display:flex}.agent-panel .icon-btn{border-radius:var(--radius-sm);width:32px;height:32px;color:var(--color-text-regular);cursor:pointer;transition:background var(--transition-fast), color var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;display:inline-flex}.agent-panel .icon-btn:hover:not(:disabled){background:var(--color-bg);color:var(--color-text-primary)}.agent-panel .icon-btn:disabled{opacity:.4;cursor:not-allowed}.agent-panel .icon-btn.small{width:24px;height:24px}.agent-panel .agent-state{padding:var(--space-xl) var(--space-lg);text-align:center;color:var(--color-text-secondary);flex-direction:column;justify-content:center;align-items:center;gap:8px;display:flex}.agent-panel .state-title{color:var(--color-text-primary);margin:0;font-weight:600}.agent-panel .state-text{margin:0;font-size:13px;line-height:1.6}.agent-panel .agent-messages{min-height:0;padding:var(--space-md);gap:var(--space-md);flex-direction:column;flex:1;display:flex;overflow-y:auto}.agent-panel .agent-welcome{padding:var(--space-md) 0}.agent-panel .welcome-title{margin:0 0 6px;font-weight:600}.agent-panel .welcome-text{margin:0 0 var(--space-md);color:var(--color-text-secondary);font-size:13px;line-height:1.6}.agent-panel .suggestions{flex-direction:column;gap:8px;display:flex}.agent-panel .suggestion{text-align:left;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-card);color:var(--color-text-regular);cursor:pointer;transition:border-color var(--transition-fast), color var(--transition-fast);padding:8px 12px;font-size:13px;line-height:1.5}.agent-panel .suggestion:hover{border-color:var(--color-primary);color:var(--color-primary)}.agent-panel .msg{flex-direction:column;gap:6px;min-width:0;display:flex}.agent-panel .msg.user{align-items:flex-end}.agent-panel .bubble{border-radius:var(--radius-lg) var(--radius-lg) 4px var(--radius-lg);background:var(--color-primary);color:#fff;white-space:pre-wrap;overflow-wrap:anywhere;max-width:88%;padding:8px 12px;font-size:14px;line-height:1.6}.agent-panel .msg-files,.agent-panel .attachments{flex-wrap:wrap;gap:6px;display:flex}.agent-panel .file-chip{background:var(--color-bg);border:1px solid var(--color-border);max-width:100%;color:var(--color-text-regular);text-overflow:ellipsis;white-space:nowrap;border-radius:999px;align-items:center;gap:4px;padding:2px 8px;font-size:12px;display:inline-flex;overflow:hidden}.agent-panel .file-chip.error{border-color:var(--color-danger);color:var(--color-danger)}.agent-panel .chip-close{cursor:pointer;margin-left:2px}.agent-panel .markdown{overflow-wrap:anywhere;min-width:0;font-size:14px;line-height:1.7}.agent-panel .markdown p{margin:0 0 8px}.agent-panel .markdown p:last-child{margin-bottom:0}.agent-panel .markdown ul,.agent-panel .markdown ol{margin:0 0 8px;padding-left:20px}.agent-panel .markdown h1,.agent-panel .markdown h2,.agent-panel .markdown h3,.agent-panel .markdown h4{margin:12px 0 6px;font-size:15px}.agent-panel .markdown code{background:var(--color-bg);border-radius:4px;padding:1px 4px;font-size:12px}.agent-panel .markdown pre{border-radius:var(--radius-sm);background:var(--color-bg);padding:8px 10px;font-size:12px;overflow-x:auto}.agent-panel .markdown pre code{background:0 0;padding:0}.agent-panel .markdown table{border-collapse:collapse;max-width:100%;margin:0 0 8px;font-size:13px;display:block;overflow-x:auto}.agent-panel .markdown th,.agent-panel .markdown td{border:1px solid var(--color-border);white-space:nowrap;padding:4px 8px}.agent-panel .markdown th{background:var(--color-bg);font-weight:600}.agent-panel .markdown a{color:var(--color-primary)}.agent-panel .tool{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-card);font-size:13px}.agent-panel .tool summary{cursor:pointer;color:var(--color-text-regular);align-items:center;gap:6px;padding:6px 10px;list-style:none;display:flex}.agent-panel .tool summary::-webkit-details-marker{display:none}.agent-panel .tool .ok{color:var(--color-success)}.agent-panel .tool .bad{color:var(--color-danger)}.agent-panel .tool-name{flex-shrink:0;font-weight:500}.agent-panel .tool-hint{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--color-text-secondary);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;overflow:hidden}.agent-panel .tool-body{padding:0 10px 8px}.agent-panel .tool-label{color:var(--color-text-secondary);margin:6px 0 4px;font-size:12px}.agent-panel .tool-body pre{border-radius:var(--radius-sm);background:var(--color-bg);white-space:pre-wrap;overflow-wrap:anywhere;max-height:240px;margin:0;padding:6px 8px;font-size:12px;line-height:1.5;overflow:auto}.agent-panel .thinking{color:var(--color-text-secondary);align-items:center;gap:4px;font-size:13px;display:flex}.agent-panel .thinking span:last-child{margin-left:4px}.agent-panel .dot{background:currentColor;border-radius:50%;width:5px;height:5px;animation:1.2s ease-in-out infinite agent-blink}.agent-panel .dot:nth-child(2){animation-delay:.2s}.agent-panel .dot:nth-child(3){animation-delay:.4s}.agent-panel .notice{color:var(--color-text-secondary);font-size:12px}.agent-panel .msg-error{padding:6px 10px}.agent-panel .follow-ups{flex-wrap:wrap;gap:4px;display:flex}.agent-panel .follow-ups .ant-btn{margin-left:0;padding-left:0}.agent-panel .agent-composer{padding:var(--space-sm) var(--space-md) var(--space-md);border-top:1px solid var(--color-border);flex-direction:column;flex-shrink:0;gap:8px;display:flex}.agent-panel .composer-bar{align-items:center;gap:8px;display:flex}.agent-panel .composer-hint{color:var(--color-text-secondary);flex:1;font-size:12px}@keyframes agent-blink{0%,80%,to{opacity:.25}40%{opacity:1}}.agent-popover .ant-popover-container{width:300px;padding:8px!important}.agent-popover .popover-title{padding:4px 6px 8px;font-size:13px;font-weight:600}.agent-popover .popover-empty{color:var(--color-text-secondary);padding:12px 6px;font-size:13px}.agent-popover .popover-list{max-height:320px;overflow-y:auto}.agent-popover .thread-item{border-radius:var(--radius-sm);cursor:pointer;align-items:center;gap:8px;padding:6px;display:flex}.agent-popover .thread-item:hover,.agent-popover .thread-item.active{background:var(--color-bg)}.agent-popover .thread-main{flex:1;min-width:0}.agent-popover .thread-title{text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.agent-popover .thread-time{color:var(--color-text-secondary);font-size:12px}.layout-container{height:100dvh;display:flex;overflow:hidden}.layout-aside{background-color:var(--sidebar-bg);transition:width var(--transition-slow);z-index:10;flex-shrink:0;overflow:hidden;box-shadow:2px 0 8px #00000014}.main-container{flex-direction:column;flex:1;min-width:0;display:flex;overflow:hidden}.layout-header{height:var(--header-height);background:var(--header-bg);border-bottom:1px solid var(--color-border);padding:0 var(--space-lg);z-index:5;flex-shrink:0;align-items:center;display:flex;box-shadow:0 1px 4px #0000000a}.layout-main{background:var(--color-bg);padding:var(--space-lg);flex:1;overflow-y:auto}.app-main{min-height:calc(100vh - var(--header-height) - var(--space-lg) * 2)}.view-fade{animation:.2s view-fade-in}@keyframes view-fade-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.layout-agent{width:var(--agent-panel-width,400px);border-left:1px solid var(--color-border);z-index:6;flex-shrink:0;overflow:hidden}@media (width<=1279px){.layout-agent{z-index:1000;--agent-panel-width:380px;position:fixed;top:0;bottom:0;right:0;box-shadow:-8px 0 24px #0000001f}}.layout-agent-v2{width:var(--agent-panel-width,360px);background:var(--color-bg-card);z-index:6;flex-shrink:0;position:relative;overflow:hidden}.layout-agent-v2.is-closed{display:none}.layout-agent-v2:not(.is-closed){flex-direction:column;display:flex}.layout-agent-v2>iframe{flex:1 1 0;min-height:0;display:block}.layout-agent-v2.is-dragging>iframe{pointer-events:none}.layout-agent-v2.is-dragging{-webkit-user-select:none;user-select:none}.layout-agent-v2-handle{z-index:1;cursor:col-resize;touch-action:none;width:6px;transition:background-color var(--transition-fast,.15s);position:absolute;top:0;bottom:0;left:0}.layout-agent-v2-handle:hover,.layout-agent-v2-handle:focus-visible,.is-dragging>.layout-agent-v2-handle{background-color:var(--color-primary);opacity:.35;outline:none}@media (width<=1279px){.layout-agent-v2:not(.is-mobile){z-index:1000;position:fixed;top:0;bottom:0;right:0;box-shadow:-8px 0 24px #0000001f}}.layout-agent-v2.is-mobile{z-index:1000;border-left:0;width:100%;position:fixed;inset:0}.layout-agent-v2.is-mobile .layout-agent-v2-handle{display:none}.is-mobile .layout-header{padding:0 var(--space-sm)}.is-mobile .layout-main{padding:var(--space-sm);overflow-x:hidden}.layout-drawer .ant-drawer-body{background-color:var(--sidebar-bg);padding:0}.layout-agent-drawer .ant-drawer-body{padding:0}.layout-agent-readonly{color:var(--color-warning);background:var(--color-warning-light-9,#faad1414);border-bottom:1px solid var(--color-border-light,#0000000f);flex-shrink:0;padding:6px 12px 6px 14px;font-size:12px;line-height:1.5}.book-access-banner{border-radius:6px;margin-bottom:12px}.login-page{width:100%;height:100vh;display:flex;position:relative;overflow:hidden}.login-page .language-switch.ant-btn{z-index:10;color:var(--el-color-primary,#4361ee);font-weight:600;position:absolute;top:18px;right:24px}.login-page .brand-side{background:linear-gradient(135deg,#0b1f3adb 0%,#0b1f3a9e 55%,#c9a22752 100%),url(/login-bg.png?v=react) 50%/cover no-repeat;justify-content:center;align-items:center;width:60%;display:flex;position:relative;overflow:hidden}.login-page .brand-content{z-index:2;color:#fff;padding:var(--space-xl,32px);position:relative}.login-page .brand-logo{align-items:center;gap:16px;margin-bottom:16px;display:flex}.login-page .brand-logo-img{object-fit:cover;border-radius:14px;flex-shrink:0;width:64px;height:64px;box-shadow:0 8px 24px #c9a22747}.login-page .brand-titles{flex-direction:column;gap:4px;display:flex}.login-page .brand-name{letter-spacing:1px;font-family:SF Pro Display,PingFang SC,system-ui,-apple-system,sans-serif;font-size:42px;font-weight:700;line-height:1.1}.login-page .brand-name-en{letter-spacing:1.4px;color:#e8d48b;font-family:SF Pro Display,system-ui,-apple-system,sans-serif;font-size:13px;font-weight:500}.login-page .brand-tagline{color:#ffffffc7;margin-bottom:48px;padding-left:2px;font-size:18px}.login-page .brand-features{flex-direction:column;gap:20px;display:flex}.login-page .feature-item{color:#ffffffe6;align-items:center;gap:14px;font-size:16px;display:flex}.login-page .feature-icon{color:#e8d48b;border-radius:var(--radius-md,8px);background:#c9a2272e;flex-shrink:0;padding:8px;font-size:20px}.login-page .feature-text{font-weight:500}.login-page .decor-circle{z-index:1;border:1px solid #e8d48b1f;border-radius:50%;position:absolute}.login-page .decor-circle--1{background:#c9a2270f;width:300px;height:300px;animation:20s ease-in-out infinite login-float-slow;top:-80px;left:-60px}.login-page .decor-circle--2{background:#ffffff0a;width:200px;height:200px;animation:15s ease-in-out infinite reverse login-float-slow;bottom:-40px;right:10%}.login-page .decor-circle--3{background:#c9a2270d;width:150px;height:150px;animation:18s ease-in-out 2s infinite login-float-slow;top:20%;right:-30px}.login-page .decor-circle--4{background:#ffffff08;width:100px;height:100px;animation:12s ease-in-out 1s infinite login-float-slow;bottom:25%;left:10%}.login-page .decor-circle--5{background:#ffffff05;width:250px;height:250px;animation:22s ease-in-out 3s infinite login-float-slow;top:50%;left:50%;transform:translate(-50%,-50%)}.login-page .decor-dot{z-index:1;background:#e8d48b59;border-radius:50%;position:absolute}.login-page .decor-dot--1{width:6px;height:6px;animation:4s ease-in-out infinite login-twinkle;top:15%;left:20%}.login-page .decor-dot--2{width:4px;height:4px;animation:5s ease-in-out 1s infinite login-twinkle;top:35%;left:70%}.login-page .decor-dot--3{width:5px;height:5px;animation:3.5s ease-in-out .5s infinite login-twinkle;top:65%;left:30%}.login-page .decor-dot--4{width:3px;height:3px;animation:4.5s ease-in-out 2s infinite login-twinkle;top:80%;left:60%}.login-page .decor-dot--5{width:5px;height:5px;animation:6s ease-in-out 1.5s infinite login-twinkle;top:45%;left:15%}.login-page .decor-dot--6{width:4px;height:4px;animation:3s ease-in-out 3s infinite login-twinkle;top:10%;left:80%}@keyframes login-float-slow{0%,to{transform:translateY(0)translate(0)}25%{transform:translateY(-15px)translate(8px)}50%{transform:translateY(-5px)translate(-5px)}75%{transform:translateY(-20px)translate(3px)}}@keyframes login-twinkle{0%,to{opacity:.3;transform:scale(1)}50%{opacity:1;transform:scale(1.5)}}.login-page .form-side{background:var(--color-bg-card,#fff);justify-content:center;align-items:center;width:40%;animation:.6s ease-out login-slideInRight;display:flex}@keyframes login-slideInRight{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}.login-page .form-wrapper{width:100%;max-width:380px;padding:var(--space-xl,32px)}.login-page .form-title{color:var(--color-text-primary,#1d2939);margin-bottom:8px;font-family:SF Pro Display,PingFang SC,system-ui,-apple-system,sans-serif;font-size:28px;font-weight:700}.login-page .form-subtitle{color:var(--color-text-secondary,#98a2b3);margin-bottom:40px;font-size:15px}.login-page .login-form .ant-input-affix-wrapper{border-radius:var(--radius-md,8px);border-color:var(--color-border,#e8ecf1);transition:box-shadow var(--transition-fast,.15s ease), border-color var(--transition-fast,.15s ease)}.login-page .login-form .ant-input-affix-wrapper:hover{border-color:#c9a227}.login-page .login-form .ant-input-affix-wrapper-focused,.login-page .login-form .ant-input-affix-wrapper:focus-within{border-color:#c9a227;box-shadow:0 0 0 3px #c9a22729}.login-page .login-form .ant-form-item{margin-bottom:24px}.login-page .login-form .ant-form-item-with-help{margin-bottom:0}.login-page .login-form .remember-row{margin-bottom:8px!important}.login-page .login-btn.ant-btn{letter-spacing:2px;width:100%;height:44px;box-shadow:var(--shadow-lg,0 10px 15px -3px #0000000f);transition:transform var(--transition-fast,.15s ease), box-shadow var(--transition-fast,.15s ease);background:#0b1f3a;border-color:#0b1f3a;font-size:16px;font-weight:600;border-radius:var(--radius-lg,12px)!important}.login-page .login-btn.ant-btn:not(:disabled):hover{background:#c9a227;border-color:#c9a227;transform:translateY(-1px);box-shadow:0 14px 20px -4px #c9a22759}.login-page .login-btn.ant-btn:not(:disabled):active{background:#b08e1e;border-color:#b08e1e;transform:translateY(0)}.login-page .form-footer{text-align:center;color:var(--color-text-placeholder,#c0c4cc);margin-top:48px;font-size:13px}@media (width<=900px){.login-page{flex-direction:column}.login-page .brand-side{flex-shrink:0;width:100%;height:240px}.login-page .brand-content{padding:var(--space-lg,24px)}.login-page .brand-name{font-size:28px}.login-page .brand-logo-img{width:48px;height:48px}.login-page .brand-tagline{margin-bottom:16px;font-size:14px}.login-page .brand-features{flex-flow:wrap;gap:16px}.login-page .feature-item{font-size:13px}.login-page .form-side{flex:1;width:100%;animation:.6s ease-out login-slideInUp}@keyframes login-slideInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}}:root{--color-primary:#4361ee;--color-primary-light:#6c83f2;--color-primary-dark:#3450d6;--color-success:#2ec4b6;--color-warning:#ff9f1c;--color-danger:#e63946;--color-info:#8d99ae;--color-bg:#f3f4f8;--color-bg-card:#fff;--color-bg-page:#f0f2f5;--color-border:#e8ecf1;--color-border-light:#f0f2f5;--color-text-primary:#1d2939;--color-text-regular:#475467;--color-text-secondary:#98a2b3;--color-text-placeholder:#c0c4cc;--sidebar-bg:#1e293b;--sidebar-bg-hover:#334155;--sidebar-bg-active:#4361ee26;--sidebar-text:#94a3b8;--sidebar-text-active:#fff;--sidebar-logo-bg:#0f172a;--sidebar-width:220px;--sidebar-collapsed-width:64px;--header-height:56px;--header-bg:#fff;--space-xs:4px;--space-sm:8px;--space-md:16px;--space-lg:24px;--space-xl:32px;--radius-sm:6px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--shadow-sm:0 1px 3px #0000000a, 0 1px 2px #0000000f;--shadow-md:0 4px 6px -1px #0000000d, 0 2px 4px -2px #0000000d;--shadow-lg:0 10px 15px -3px #0000000f, 0 4px 6px -4px #0000000d;--transition-fast:.15s ease;--transition-normal:.25s ease;--transition-slow:.35s ease}html.dark{--color-primary:#5a7bf7;--color-primary-light:#7b96f9;--color-primary-dark:#4361ee;--color-success:#36d3c4;--color-warning:#ffb347;--color-danger:#f25c69;--color-info:#a0abbe;--color-bg:#111827;--color-bg-card:#1f2937;--color-bg-page:#0f172a;--color-border:#374151;--color-border-light:#2d3748;--color-text-primary:#f1f5f9;--color-text-regular:#cbd5e1;--color-text-secondary:#8896ab;--color-text-placeholder:#5a6578;--sidebar-bg:#0f172a;--sidebar-bg-hover:#1e293b;--sidebar-bg-active:#5a7bf726;--sidebar-text:#8896ab;--sidebar-text-active:#fff;--sidebar-logo-bg:#080e1d;--header-bg:#1f2937;--shadow-sm:0 1px 3px #0003, 0 1px 2px #0000004d;--shadow-md:0 4px 6px -1px #0000004d, 0 2px 4px -2px #0000004d;--shadow-lg:0 10px 15px -3px #00000059, 0 4px 6px -4px #0000004d;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box;margin:0;padding:0}html,body,#app{width:100%;height:100%;color:var(--color-text-primary);background:var(--color-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Helvetica Neue,Helvetica,Arial,sans-serif;font-size:14px}a{color:inherit;text-decoration:none}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#9ca3af}::-webkit-scrollbar-track{background:0 0}html.dark ::-webkit-scrollbar-thumb{background:#4b5563}html.dark ::-webkit-scrollbar-thumb:hover{background:#6b7280}.app-container{padding:var(--space-lg)}.page-header{margin-bottom:var(--space-lg);justify-content:space-between;align-items:center;display:flex}.page-header .page-title{color:var(--color-text-primary);padding-left:12px;font-size:20px;font-weight:600;position:relative}.page-header .page-title:before{content:"";background:var(--color-primary);border-radius:2px;width:4px;height:20px;position:absolute;top:50%;left:0;transform:translateY(-50%)}.page-header .page-desc{color:var(--color-text-secondary);margin-top:4px;font-size:13px}:root{--el-color-primary:var(--color-primary);--el-color-primary-light-9:#4361ee14;--el-color-success:var(--color-success);--el-color-warning:var(--color-warning);--el-color-danger:var(--color-danger);--el-color-error:var(--color-danger);--el-color-info:var(--color-info);--el-text-color-primary:var(--color-text-primary);--el-text-color-regular:var(--color-text-regular);--el-text-color-secondary:var(--color-text-secondary);--el-text-color-placeholder:var(--color-text-placeholder);--el-border-color:var(--color-border);--el-border-color-light:var(--color-border);--el-border-color-lighter:var(--color-border-light);--el-border-color-extra-light:var(--color-border-light);--el-fill-color:#f0f2f5;--el-fill-color-light:#f5f7fa;--el-fill-color-lighter:#fafafa;--el-fill-color-blank:#fff;--el-bg-color:var(--color-bg-card);--el-bg-color-page:var(--color-bg);--el-bg-color-overlay:var(--color-bg-card);--el-border-radius-base:var(--radius-sm);--el-color-success-light-9:#eef9f8;--el-color-success-dark-2:#25a093;--el-color-danger-light-9:#fdebec;--el-color-danger-light-8:#fad7da}html.dark{--el-color-primary-light-9:#5a7bf71f;--el-color-success-light-9:#36d3c41f;--el-color-success-dark-2:#5fe0d3;--el-color-danger-light-9:#f25c691f;--el-color-danger-light-8:#f25c6938;--el-fill-color:#374151;--el-fill-color-light:#2d3748;--el-fill-color-lighter:#252f3f;--el-fill-color-blank:#1f2937}.ant-card{transition:box-shadow var(--transition-normal);border:1px solid var(--color-border)!important;border-radius:var(--radius-md)!important;box-shadow:var(--shadow-sm)!important}.ant-card:hover{box-shadow:var(--shadow-md)!important}.ant-card.search-card{margin-bottom:var(--space-md);background:var(--color-bg-card)}.ant-card.search-card .ant-form-inline .ant-form-item{margin-bottom:8px}.ant-card.data-card{background:var(--color-bg-card)}.ant-table-wrapper .ant-table{border-radius:var(--radius-md)}.ant-table-wrapper .ant-table-thead>tr>th{color:var(--color-text-regular);background:#f8fafc;font-size:13px;font-weight:600}.ant-table-wrapper .ant-table-tbody>tr>td{font-size:13px}html.dark .ant-table-wrapper .ant-table-thead>tr>th{color:var(--color-text-secondary);background:#172033}.pagination-wrap{margin-top:var(--space-md);padding-top:var(--space-md);border-top:1px solid var(--color-border-light);justify-content:flex-end;display:flex}.ant-modal .ant-modal-title{font-size:16px;font-weight:600}.ant-tag{border-radius:var(--radius-sm);margin-inline-end:0}.toolbar{margin-bottom:var(--space-md);justify-content:space-between;align-items:center;display:flex}.fade-enter-active,.fade-leave-active{transition:opacity var(--transition-normal)}.fade-enter-from,.fade-leave-to{opacity:0}.ant-table-wrapper .ant-table-tbody>tr.ant-table-row:nth-of-type(2n)>td{background:#fafbfc}html.dark .ant-table-wrapper .ant-table-tbody>tr.ant-table-row:nth-of-type(2n)>td{background:#1b2433}.ant-table-wrapper .ant-table-tbody>tr.ant-table-row:hover>td{background:#f1f5f9}html.dark .ant-table-wrapper .ant-table-tbody>tr.ant-table-row:hover>td{background:#263347}@media (width<=767px){:root{--header-height:48px}input,textarea{font-size:16px!important}.app-container{padding:0}.page-header{gap:var(--space-sm);flex-wrap:wrap;margin-bottom:12px}.page-header .page-title{font-size:17px}.page-header .page-title:before{height:16px}.page-header .page-desc{font-size:12px}.ant-card .ant-card-body{padding:12px}.ant-card.search-card{margin-bottom:var(--space-sm)}.toolbar{gap:var(--space-sm);flex-wrap:wrap}.toolbar>*{row-gap:var(--space-sm);flex-wrap:wrap}.ant-row>.ant-col:not([class*=ant-col-xs-]){flex:0 0 100%;max-width:100%;margin-inline-start:0}.ant-form-inline{flex-direction:column;display:flex}.ant-form-inline .ant-form-item{margin-inline-end:0;width:100%;margin-bottom:10px;display:flex}.ant-form-inline .ant-form-item:last-child{margin-bottom:0}.ant-form-inline .ant-form-item-row{flex-wrap:nowrap;width:100%}.ant-form-inline .ant-form-item .ant-form-item-label{text-align:start;flex:none;min-width:5em;max-width:none;padding:0}.ant-form-inline .ant-form-item .ant-form-item-control{flex:1 1 0;min-width:0;max-width:none}.ant-form-inline .ant-form-item-control-input-content{row-gap:var(--space-sm);flex-wrap:wrap;display:flex}.ant-form-inline .ant-input,.ant-form-inline .ant-input-affix-wrapper,.ant-form-inline .ant-select,.ant-form-inline .ant-picker,.ant-form-inline .ant-input-number,.ant-form-inline .ant-tree-select{width:100%!important}.ant-form-inline .ant-form-item:has(.ant-btn):not(:has(.ant-input,.ant-select,.ant-picker,.ant-input-number,.ant-switch,.ant-radio-group,.ant-checkbox-group)){order:1;margin-bottom:0}.ant-form:not(.ant-form-inline) .ant-form-item .ant-form-item-row{flex-direction:column;align-items:stretch}.ant-form:not(.ant-form-inline) .ant-form-item .ant-form-item-row>.ant-form-item-label{text-align:start;padding-bottom:4px;line-height:22px;flex:none!important;width:auto!important}.ant-form:not(.ant-form-inline) .ant-form-item .ant-form-item-row>.ant-form-item-label>label{height:auto}.ant-form:not(.ant-form-inline) .ant-form-item .ant-form-item-row>.ant-form-item-control{max-width:100%;margin-inline-start:0!important}.ant-form-item{margin-bottom:14px}.ant-table-wrapper .ant-table .ant-table-thead>tr>th,.ant-table-wrapper .ant-table .ant-table-tbody>tr>td{padding:6px 8px;font-size:12px}.ant-table-wrapper .ant-table td.ant-table-cell[style*="text-align: right"],.ant-table-wrapper .ant-table td.ant-table-cell-align-right{white-space:nowrap;font-variant-numeric:tabular-nums}.ant-table-wrapper .ant-table .ant-table-cell-fix-right,.ant-table-wrapper .ant-table .ant-table-cell-fix-end{box-shadow:none!important;position:static!important}.ant-table-wrapper .ant-table .ant-table-cell-fix-right:after,.ant-table-wrapper .ant-table .ant-table-cell-fix-end:after{display:none}.ant-table-content,.ant-table-body{-webkit-overflow-scrolling:touch}.ant-descriptions-view{overflow-x:auto}.pagination-wrap{justify-content:center}.ant-pagination{flex-wrap:wrap;justify-content:center;row-gap:4px}.ant-pagination .ant-pagination-total-text,.ant-pagination .ant-pagination-options{display:none!important}.ant-pagination .ant-pagination-item,.ant-pagination .ant-pagination-prev,.ant-pagination .ant-pagination-next,.ant-pagination .ant-pagination-jump-prev,.ant-pagination .ant-pagination-jump-next{min-width:28px;height:28px;line-height:26px;margin-inline-end:4px!important}.ant-modal:not(.is-fullscreen){max-width:92vw;padding-bottom:24px;top:6vh;width:92%!important}.ant-modal .ant-modal-container{padding:12px var(--space-md)}.ant-modal .ant-modal-footer{justify-content:flex-end;gap:var(--space-sm);flex-wrap:wrap;display:flex}.ant-modal .ant-modal-footer .ant-btn+.ant-btn{margin-inline-start:0}.ant-drawer:not([class*=layout-]) .ant-drawer-content-wrapper{max-width:92%}.ant-drawer:not([class*=layout-]) .ant-drawer-header,.ant-drawer:not([class*=layout-]) .ant-drawer-body{padding:12px var(--space-md)}.ant-popover{max-width:calc(100vw - 16px)}.ant-picker-dropdown .ant-picker-range-wrapper .ant-picker-panels{flex-direction:column}.ant-picker-dropdown .ant-picker-presets{display:none}.ant-tabs-tab{padding:8px 0}.ant-alert{padding:8px 10px}}
