._auth-loading_ssyof_4{display:flex;justify-content:center;align-items:center;height:100vh}._route-fallback_ssyof_12{text-align:center;padding:80px}.layout-root{height:100vh;overflow:hidden}.layout-root .layout-sider{height:100vh;position:sticky;top:0;left:0;box-shadow:4px 0 24px #0006;background:linear-gradient(180deg,#060e1d,#0b1930 60%,#060e1d)}.layout-sider .ant-layout-sider-children{background:transparent;display:flex;flex-direction:column;position:relative;z-index:1}.sider-orb{position:absolute;border-radius:50%;pointer-events:none;z-index:0;filter:blur(40px);opacity:.25}.sider-orb--top{width:180px;height:180px;top:-40px;left:-40px;background:radial-gradient(circle,#3b82f6 0%,transparent 70%)}.sider-orb--bottom{width:160px;height:160px;bottom:60px;right:-30px;background:radial-gradient(circle,#0ea5e9 0%,transparent 70%)}.layout-sider:after{content:"";position:absolute;top:0;right:0;width:1px;height:100%;background:linear-gradient(180deg,transparent 0%,rgba(59,130,246,.5) 30%,rgba(14,165,233,.4) 70%,transparent 100%);pointer-events:none}.sider-logo{height:64px;display:flex;align-items:center;color:#fff;font-weight:700;font-size:16px;letter-spacing:.5px;border-bottom:1px solid transparent;background-image:linear-gradient(#060e1d,#060e1d),linear-gradient(90deg,#3b82f699,#0ea5e980);background-origin:border-box;background-clip:padding-box,border-box;overflow:hidden;white-space:nowrap;flex-shrink:0;gap:10px;position:relative}.sider-logo:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse 100px 52px at 22% 50%,rgba(205,155,30,.22) 0%,transparent 65%),radial-gradient(ellipse 90px 80px at 102% -15%,rgba(99,102,241,.2) 0%,transparent 62%),linear-gradient(108deg,transparent 28%,rgba(230,198,80,.07) 48%,transparent 68%);pointer-events:none;z-index:0}.sider-logo--expanded{padding:0 20px;justify-content:flex-start}.sider-logo--collapsed{padding:0;justify-content:center}.sider-logo-icon-wrap{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:8px;padding:2.5px;flex-shrink:0;position:relative;z-index:1}.sider-logo-icon-wrap:before{content:"";position:absolute;top:2.5px;right:2.5px;bottom:2.5px;left:2.5px;border-radius:50%;z-index:0}.sider-logo-icon-wrap:after{display:none}@keyframes sider-logo-breathe{0%,to{filter:drop-shadow(0 0 4px rgba(59,130,246,.35))}50%{filter:drop-shadow(0 0 14px rgba(56,189,248,.9))}}.sider-logo-icon{font-size:30px;color:#fff;flex-shrink:0;position:relative;z-index:1;filter:drop-shadow(0 0 6px rgba(230,180,60,.55)) drop-shadow(0 2px 4px rgba(0,0,0,.4))}.sider-logo-text{font-size:26px;font-weight:700;font-family:Montserrat,sans-serif;letter-spacing:1px;background:linear-gradient(160deg,#f5e68a,#e6c860 45%,#c49a29);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;filter:drop-shadow(0 1px 3px rgba(180,130,20,.35));position:relative;z-index:1}.sider-logo-copyright{font-size:9px;font-weight:400;vertical-align:super;margin-left:1px;opacity:.6;background:none;-webkit-text-fill-color:#f8de9d;color:#f7e0a7;letter-spacing:0}.sider-scroll{flex:1;height:0;overflow:auto;padding:8px 0}.sider-scroll::-webkit-scrollbar{width:4px}.sider-scroll::-webkit-scrollbar-track{background:transparent}.sider-scroll::-webkit-scrollbar-thumb{background:#3b82f659;border-radius:4px}.sider-scroll::-webkit-scrollbar-thumb:hover{background:#3b82f699}.layout-root .sider-menu.ant-menu{border:none;padding-top:4px;background:transparent}.layout-root .sider-menu.ant-menu-dark .ant-menu-item,.layout-root .sider-menu.ant-menu-dark .ant-menu-submenu-title{margin:3px 8px;width:calc(100% - 16px);height:44px;line-height:44px;border-radius:10px;color:#fff9;transition:all .25s ease}.layout-root .sider-menu.ant-menu-dark .ant-menu-item:hover,.layout-root .sider-menu.ant-menu-dark .ant-menu-submenu-title:hover{background:#3b82f638;color:#bfdbfe;transform:translate(2px)}.layout-root .sider-menu.ant-menu-dark .ant-menu-item-selected{background:linear-gradient(90deg,#3b82f666,#0ea5e92e);color:#fff;box-shadow:inset 3px 0 #4578b6,0 2px 12px #3b82f659;transform:translate(0)}.layout-root .sider-menu.ant-menu-dark .ant-menu-item-selected .anticon{color:#93c5fd;filter:drop-shadow(0 0 4px rgba(147,197,253,.8))}.layout-root .sider-menu.ant-menu-dark .ant-menu-sub{background:#00000040;border-radius:0 0 10px 10px;margin:0 8px 4px;width:calc(100% - 16px)}.sider-menu.ant-menu-dark .ant-menu-sub .ant-menu-item{margin:2px 0;width:100%;border-radius:8px;height:38px;line-height:38px}.layout-root .sider-menu.ant-menu-dark .ant-menu-submenu-open>.ant-menu-submenu-title{font-weight:600;background:#3b82f61f}.layout-root .sider-menu.ant-menu-dark .ant-menu-item .anticon,.layout-root .sider-menu.ant-menu-dark .ant-menu-submenu-title .anticon{color:inherit;font-size:16px;transition:color .25s,filter .25s}.sider-user{display:flex;align-items:center;gap:10px;padding:12px 14px;margin:0 8px 8px;border-radius:12px;background:#ffffff0d;border:1px solid rgba(255,255,255,.08);cursor:pointer;transition:background .2s;flex-shrink:0;position:relative;z-index:1;overflow:hidden}.sider-user:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,#3b82f61f,#0ea5e914);opacity:0;transition:opacity .2s}.sider-user:hover:before{opacity:1}.sider-user--collapsed{justify-content:center;padding:12px 0}.sider-user-avatar{background:linear-gradient(135deg,#3b82f6,#0ea5e9);flex-shrink:0;box-shadow:0 0 8px #3b82f680}.sider-user-info{display:flex;flex-direction:column;min-width:0;flex:1}.sider-user-name{font-size:13px;font-weight:600;color:#ffffffe6;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sider-user-role{font-size:11px;color:#3b82f6e6;letter-spacing:.5px}.sider-user-arrow{font-size:10px;color:#ffffff4d;flex-shrink:0;margin-left:auto;transition:color .2s,transform .2s}.sider-user:hover .sider-user-arrow{color:#93c5fdcc;transform:translate(2px)}.layout-right{height:100vh;overflow:hidden;display:flex;flex-direction:column}.main-header{padding:0 20px 0 16px;background:#ffffffd9;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);height:56px;line-height:56px;display:flex;align-items:center;justify-content:space-between;flex-shrink:0;box-shadow:0 4px 16px #0000000f;z-index:10;position:relative}.main-header:after{content:"";position:absolute;bottom:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent 0%,rgba(59,130,246,.4) 30%,rgba(14,165,233,.3) 70%,transparent 100%)}.header-left{display:flex;align-items:center;gap:12px}.header-right{display:flex;align-items:center;gap:4px}.header-divider{width:1px;height:20px;background:#0000001a;margin:0 4px}.header-breadcrumb{font-size:13px}.header-breadcrumb-home{color:#0006;font-size:13px}.header-breadcrumb-current{color:#2563eb;font-weight:500;font-size:13px}.main-header .header-toggle-btn.ant-btn{font-size:16px;width:36px;height:36px;border-radius:8px;color:#2563eb;transition:background .2s}.main-header .header-toggle-btn.ant-btn:hover{background:#3b82f61a}.main-header .header-icon-btn.ant-btn{font-size:16px;width:36px;height:36px;border-radius:8px;color:#595959;transition:background .2s,color .2s}.main-header .header-icon-btn.ant-btn:hover{background:#3b82f61a;color:#2563eb}.header-user-dropdown{display:none}.sider-user-popup .ant-popover-inner{background:#050c1aeb;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(59,130,246,.25);border-radius:12px;padding:6px;box-shadow:0 8px 32px #00000080,0 0 0 1px #3b82f61a;min-width:148px}.sider-user-popup .ant-popover-arrow:before,.sider-user-popup .ant-popover-arrow:after{background:#050c1aeb}.sider-user-popup .ant-menu-item{border-radius:8px;color:#ffffffbf;font-size:13px;padding:8px 12px;height:auto;line-height:1.4;transition:background .18s,color .18s}.sider-user-popup .ant-menu-item:hover{background:#3b82f638;color:#bfdbfe}.sider-user-popup .ant-menu-item .anticon{color:#93c5fdcc;font-size:14px}.sider-user-popup .ant-menu-item:hover .anticon{color:#93c5fd}.sider-user-popup .ant-menu-item-danger{color:#fb7185d9}.sider-user-popup .ant-menu-item-danger:hover{background:#fb718526;color:#fb7185}.sider-user-popup .ant-menu-item-danger .anticon{color:#fb7185cc}.sider-user-popup .ant-menu-item-divider,.sider-user-popup .ant-menu-divider{background:#ffffff14;margin:4px 8px}.main-content{flex:1;overflow:auto;background:#f0f2f5;padding:24px}*{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Helvetica Neue,Helvetica,Arial,sans-serif}.sider-scroll::-webkit-scrollbar{display:none}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#00000026;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#00000047}.login-input input,.login-input .ant-input-affix-wrapper,.login-input .ant-input{background:transparent;color:#fff}.login-input .ant-input::placeholder,.login-input input::placeholder{color:#ffffff59}.login-input .ant-input-affix-wrapper:hover,.login-input .ant-input-affix-wrapper:focus,.login-input .ant-input-affix-wrapper-focused{border-color:#6366f1cc;box-shadow:0 0 0 2px #6366f133}.login-input .ant-input-password-icon,.login-input .anticon{color:#fff6}.table-card .ant-card-body{padding:0}.table-card .ant-table-wrapper .ant-table-pagination{margin:12px 16px}.table-card .ant-table-wrapper .ant-table,.table-card .ant-table-wrapper .ant-table-container,.table-card .ant-table-wrapper .ant-table-container table>thead>tr:first-child>*:first-child,.table-card .ant-table-wrapper .ant-table-container table>thead>tr:first-child>*:last-child{border-radius:0}.toolbar-form.ant-form-inline{flex-wrap:wrap}.toolbar-form.ant-form-inline .ant-form-item{margin-bottom:8px}.page-filter-card .ant-card-body{padding:12px 20px}.page-filter-bar{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.page-filter-bar .ant-form-item{margin:0}.page-filter-spacer{flex:1;min-width:16px}.d-flex{display:flex}.w-full{width:100%}.search-input-md{width:240px}.tag-list{display:flex;flex-wrap:wrap;gap:4px}.tag-no-margin{margin:0}.tag-clickable{cursor:pointer;-webkit-user-select:none;user-select:none}.text-placeholder{color:#bfbfbf}.text-placeholder-sm{color:#bfbfbf;font-size:12px}.text-muted-sm{color:#999;font-size:12px}.btn-link-reset{padding:0;height:auto}.mb-16{margin-bottom:16px}.icon-white{color:#fff}.icon-primary{color:#1677ff}.icon-muted{color:#bfbfbf}.icon-success{color:#52c41a}.icon-error{color:#ff4d4f}.icon-login{font-size:50px;color:#fff}.icon-input-prefix{color:#bbb}.icon-xl{font-size:28px}.icon-lg{font-size:24px}.icon-md{font-size:22px}.fw-semibold{font-weight:600}.compact-flex-input{flex:1;width:0}.ant-select-dropdown .ant-select-item-option{border-bottom:1px solid #f0f0f0}.ant-select-dropdown .ant-select-item-option:last-child{border-bottom:none}.ant-select-dropdown .ant-select-item-option-selected:not(.ant-select-item-option-disabled){background-color:#f0f5ff!important;font-weight:500}.ant-select-dropdown .ant-select-item-option-selected .ant-select-item-option-state{color:#1677ff}.ant-select-dropdown .ant-select-item-option-active:not(.ant-select-item-option-disabled){background-color:#e6f4ff!important}.avatar-uploader{display:inline-block;cursor:pointer}.avatar-uploader-wrap{position:relative;width:72px;height:72px;border-radius:50%;overflow:hidden;border:1px dashed #d9d9d9;background:#fafafa;display:flex;align-items:center;justify-content:center;transition:border-color .2s}.avatar-uploader-wrap:hover{border-color:#1677ff}.avatar-uploader-wrap img{width:100%;height:100%;object-fit:cover;display:block}.avatar-uploader-wrap .avatar-uploader-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .2s;border-radius:50%;color:#fff;font-size:12px;flex-direction:column;gap:2px}.avatar-uploader-wrap:hover .avatar-uploader-overlay{opacity:1}.avatar-uploader-empty{display:flex;flex-direction:column;align-items:center;gap:4px;color:#bfbfbf;font-size:12px}.ant-card{border-radius:12px;box-shadow:0 1px 4px #0000000f;border:1px solid #e4ecf8;overflow:hidden}.ant-card-head{border-bottom:1px solid #eef3fb;min-height:48px;background:#fff;border-radius:0}.ant-card-head-title{font-weight:700;font-size:15px;color:#0f172a}.ant-table-thead>tr>th{background:linear-gradient(180deg,#eef4ff,#e8f0fd);color:#1e3a8a;font-weight:700;font-size:12.5px;border-bottom:2px solid #c7d9f5;letter-spacing:.02em;text-transform:uppercase}.ant-table-tbody>tr:hover>td{background:#eff6ff!important}.ant-table-tbody>tr>td{border-bottom:1px solid #eef2fa;font-size:13px;color:#1e293b}.ant-table-tbody>tr:nth-child(2n)>td{background:#fafcff}.ant-table-tbody>tr:last-child>td{border-bottom:none}.ant-btn{border-radius:8px;font-weight:600;font-size:13px;letter-spacing:.01em;transition:background .18s,border-color .18s,box-shadow .18s,color .18s;display:inline-flex;align-items:center;gap:5px}.ant-btn-primary{background:#2563eb;border-color:#2563eb;color:#fff;box-shadow:0 1px 4px #2563eb4d}.ant-btn-primary:not(:disabled):hover{background:#1d4ed8;border-color:#1d4ed8;box-shadow:0 4px 12px #2563eb59;color:#fff}.ant-btn-primary:not(:disabled):active{background:#1e40af;border-color:#1e40af;color:#fff}.ant-btn-default{border:1px solid #d1dce8;color:#374151;background:#fff;box-shadow:0 1px 3px #0000000d}.ant-btn-default:not(:disabled):hover{border-color:#2563eb;color:#2563eb;background:#f0f6ff}.ant-btn-default:not(:disabled):active{border-color:#1d4ed8;color:#1d4ed8}.ant-btn-link{color:#2563eb;font-weight:500}.ant-btn-link:not(:disabled):hover{color:#1d4ed8;background:#2563eb0f}.ant-btn-dashed{border-color:#cbd5e1;color:#475569;background:#fff}.ant-btn-dashed:not(:disabled):hover{border-color:#2563eb;color:#2563eb;background:#f0f6ff}.ant-btn-dangerous.ant-btn-primary{background:#dc2626;border-color:#dc2626;color:#fff;box-shadow:0 1px 4px #dc26264d}.ant-btn-dangerous.ant-btn-primary:not(:disabled):hover{background:#b91c1c;border-color:#b91c1c;box-shadow:0 4px 12px #dc262659}.ant-btn-dangerous.ant-btn-default{border:1px solid #fca5a5;color:#dc2626;background:#fff}.ant-btn-dangerous.ant-btn-default:not(:disabled):hover{background:#fff5f5;border-color:#f87171}.ant-btn.btn-success{background:#16a34a;border-color:#16a34a;color:#fff;box-shadow:0 1px 4px #16a34a4d}.ant-btn.btn-success:not(:disabled):hover{background:#15803d;border-color:#15803d;box-shadow:0 4px 12px #16a34a59;color:#fff}.ant-btn-sm{border-radius:6px;font-size:12px;height:26px;padding:0 10px;font-weight:500}.ant-btn:disabled{opacity:.45;cursor:not-allowed}.ant-input,.ant-input-affix-wrapper,.ant-select-selector,.ant-picker{border-radius:"0px 8px 8px 0px";outline:none;transition:all .22s cubic-bezier(.4,0,.2,1)}.ant-input:hover,.ant-input-affix-wrapper:hover,.ant-select:not(.ant-select-disabled):hover .ant-select-selector,.ant-picker:hover{border-color:#60a5fa}.ant-input:focus,.ant-input-focused,.ant-input-affix-wrapper:focus,.ant-input-affix-wrapper-focused,.ant-select-focused .ant-select-selector,.ant-picker-focused{border-color:#2563eb;outline:none;box-shadow:0 0 0 3px #2563eb1f}.ant-input:focus-visible,.ant-input-affix-wrapper:focus-visible,.ant-select-selector:focus-visible,.ant-picker:focus-visible{outline:none}.ant-form-item .ant-input-number{width:100%}.ant-modal{top:5vh!important;padding-bottom:0!important}.ant-modal-content{border-radius:12px!important;box-shadow:0 24px 48px #0f172a1f,0 4px 16px #0f172a0f!important;overflow:hidden!important;border:none!important;padding:0!important;max-height:90vh!important;display:flex!important;flex-direction:column!important}.ant-modal-header{flex-shrink:0!important;padding:20px 24px 18px!important;border-bottom:1px solid #f1f5f9!important;margin-bottom:0!important;background:#fff!important}.ant-modal-title{font-size:16px!important;font-weight:700!important;color:#0f172a!important;display:flex!important;align-items:center!important;gap:8px!important;padding-left:12px!important;position:relative!important;letter-spacing:.01em!important}.ant-modal-title:before{content:""!important;position:absolute!important;left:0!important;top:50%!important;transform:translateY(-50%)!important;width:3px!important;height:18px!important;background:#2563eb!important;border-radius:99px!important}.ant-modal-body{flex:1!important;overflow-y:auto!important;overflow-x:hidden!important;padding:24px!important;background:#fff!important;scrollbar-width:thin;scrollbar-color:rgba(0,0,0,.12) transparent}.ant-modal-body::-webkit-scrollbar{width:5px}.ant-modal-body::-webkit-scrollbar-track{background:transparent}.ant-modal-body::-webkit-scrollbar-thumb{background:#0000001f;border-radius:99px}.ant-modal-footer{flex-shrink:0!important;border-top:1px solid #f1f5f9!important;padding:14px 24px!important;margin-top:0!important;background:#fff!important;display:flex!important;justify-content:flex-end!important;gap:8px!important}.ant-modal-close{top:14px;right:16px;width:30px;height:30px;border-radius:8px;display:flex;align-items:center;justify-content:center;color:#94a3b8;transition:background .18s,color .18s}.ant-modal-close:hover{background:#f1f5f9;color:#475569}.ant-modal-close-x{display:flex;align-items:center;justify-content:center;font-size:14px}.ant-drawer-header{border-bottom:1px solid #f1f5f9;padding:20px 24px 18px;background:#fff}.ant-drawer-title{font-weight:700;font-size:16px;color:#0f172a;padding-left:12px;position:relative;letter-spacing:.01em}.ant-drawer-title:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:3px;height:18px;background:#2563eb;border-radius:99px}.ant-drawer-content{box-shadow:-8px 0 32px #0000001a}.ant-drawer-close{width:28px;height:28px;border-radius:8px;display:flex;align-items:center;justify-content:center;transition:background .2s,color .2s;color:#94a3b8}.ant-drawer-close:hover{background:#fee2e2;color:#dc2626}.ant-form-item-label>label{font-weight:500;color:#475569;font-size:13px}.ant-tag{border-radius:6px;font-size:12px;padding:2px 10px;font-weight:500;line-height:20px;border-width:1px;transition:all .2s}.ant-tag-blue{background:#eff6ff;border-color:#bfdbfe;color:#1d4ed8}.ant-tag-green{background:#f0fdf4;border-color:#bbf7d0;color:#15803d}.ant-tag-red{background:#fff1f2;border-color:#fecdd3;color:#be123c}.ant-tag-orange{background:#fff7ed;border-color:#fed7aa;color:#c2410c}.ant-tag-purple{background:#faf5ff;border-color:#e9d5ff;color:#7c3aed}.ant-tag-cyan{background:#ecfeff;border-color:#a5f3fc;color:#0e7490}.ant-tooltip-inner{border-radius:8px;font-size:12px;padding:6px 10px;box-shadow:0 4px 14px #00000026}.ant-pagination-item{border-radius:8px;border-color:#d1dcee;font-weight:500;transition:all .2s}.ant-pagination-item-active{background:linear-gradient(135deg,#1d4ed8,#3b82f6)!important;border-color:transparent!important;box-shadow:0 3px 10px #1d4ed859}.ant-pagination-item-active a{color:#fff!important}.ant-pagination-item:hover{border-color:#60a5fa;background:#eff6ff}.ant-pagination-item:hover a{color:#1d4ed8}.ant-pagination-prev button,.ant-pagination-next button{border-radius:8px!important;transition:all .2s}.ant-pagination-prev:hover button,.ant-pagination-next:hover button{color:#1d4ed8;border-color:#60a5fa}.ant-descriptions-item-label{color:#64748b;font-weight:500;font-size:12px;background:#f8fafd}.ant-descriptions-item-content{color:#0f172a;font-size:13px}.ant-descriptions-bordered .ant-descriptions-item-label,.ant-descriptions-bordered .ant-descriptions-item-content{border-color:#e8eef8}.ant-statistic-title{font-size:13px;color:#64748b;font-weight:500}.ant-statistic-content-value{font-size:28px;font-weight:700;color:#0f172a}.ant-tabs-tab.ant-tabs-tab-active .ant-tabs-tab-btn{color:#2563eb;font-weight:600}.ant-tabs-ink-bar{background:linear-gradient(90deg,#1d4ed8,#3b82f6);height:3px;border-radius:2px}.ant-tabs-tab:hover .ant-tabs-tab-btn{color:#3b82f6}.ant-divider-horizontal{border-color:#eef2fa}.ant-alert{border-radius:8px;font-size:13px}.ant-alert-info{background:#eff6ff;border-color:#bfdbfe}.ant-empty-description{color:#94a3b8;font-size:13px}.ant-switch-checked{background:linear-gradient(135deg,#1d4ed8,#3b82f6);box-shadow:0 2px 8px #1d4ed84d}.ant-checkbox-checked .ant-checkbox-inner{background:linear-gradient(135deg,#1d4ed8,#3b82f6);border-color:#2563eb;box-shadow:0 2px 6px #1d4ed840}.ant-checkbox:hover .ant-checkbox-inner,.ant-checkbox-input:focus+.ant-checkbox-inner{border-color:#2563eb}.ant-radio-checked .ant-radio-inner{border-color:#2563eb;background-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.ant-tree-treenode-selected .ant-tree-node-content-wrapper,.ant-tree-node-content-wrapper.ant-tree-node-selected{background:#2563eb1a;color:#1d4ed8}.ant-tree-node-content-wrapper:hover{background:#2563eb0f}.ant-dropdown-menu{border-radius:10px;box-shadow:0 8px 32px #0000001f,0 2px 8px #2563eb0f;padding:6px;border:1px solid #e4ecf8}.ant-dropdown-menu-item{border-radius:7px;font-size:13px;color:#1e293b;transition:all .18s}.ant-dropdown-menu-item:hover{background:#eff6ff;color:#1d4ed8}.ant-dropdown-menu-item-danger:hover{background:#fff1f2;color:#be123c}.page-header{display:flex;align-items:center;justify-content:space-between;padding-bottom:14px;border-bottom:1px solid #e8eef8}.page-header-title{font-size:18px;font-weight:700;color:#0f172a;position:relative;padding-left:14px;letter-spacing:.01em}.page-header-title:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:4px;height:18px;background:#2563eb;border-radius:3px}.page-toolbar{background:#fff;border-radius:12px;padding:14px 20px;margin-bottom:16px;box-shadow:0 1px 4px #0000000f,0 4px 16px #2563eb0d;border:1px solid #e4ecf8;display:flex;align-items:center;flex-wrap:wrap;gap:10px}.d-flex>.ant-card:first-of-type{background:#fff;border:1px solid #e6eaf2;border-top:3px solid #1677ff}.status-badge{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:6px;font-size:12px;font-weight:500}.status-badge--active{background:#15803d14;color:#15803d;border:1px solid rgba(21,128,61,.2)}.status-badge--inactive{background:#be123c14;color:#be123c;border:1px solid rgba(190,18,60,.2)}.status-badge--pending{background:#c2410c14;color:#c2410c;border:1px solid rgba(194,65,12,.2)}.status-badge--info{background:#1d4ed814;color:#1d4ed8;border:1px solid rgba(29,78,216,.2)}.ant-drawer-body .ant-descriptions-item-label{color:#64748b;font-weight:500;font-size:12px}.ant-modal-body .ant-form-item-label>label{color:#475569;font-weight:500}.ant-progress-bg{background:linear-gradient(90deg,#1d4ed8,#3b82f6)!important}.ant-progress-success-bg{background:linear-gradient(90deg,#15803d,#22c55e)!important}.ant-spin-dot-item{background-color:#2563eb}.ant-message-notice-content{border-radius:10px;box-shadow:0 8px 28px #0000001f;border:1px solid #e4ecf8;font-size:13px;padding:10px 18px}.ant-popover-inner{border-radius:10px;box-shadow:0 8px 28px #0000001f,0 2px 8px #2563eb0f}.ant-select-dropdown{border-radius:10px;box-shadow:0 8px 28px #0000001a,0 2px 8px #2563eb0f;border:1px solid #e4ecf8;padding:6px}.ant-select-item-option{border-radius:6px;font-size:13px;transition:all .18s}.ant-select-item-option-active{background:#eff6ff}.ant-select-item-option-selected{background:linear-gradient(135deg,#dbeafe,#bfdbfe)!important;color:#1d4ed8;font-weight:600}.ant-upload-drag{border-radius:10px;border-color:#bfdbfe;background:#f8fbff;transition:all .25s}.ant-upload-drag:hover{border-color:#60a5fa;background:#eff6ff}.ant-table-column-sorter-up.active,.ant-table-column-sorter-down.active{color:#2563eb}@keyframes fadeInUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.page-enter{animation:fadeInUp .28s cubic-bezier(.22,1,.36,1) both}.card-enter{animation:fadeInUp .3s cubic-bezier(.22,1,.36,1) both;animation-delay:var(--enter-delay, 0ms)}.skeleton-row{height:14px;border-radius:4px;background:linear-gradient(90deg,#f0f3fa 25%,#e4eaf5,#f0f3fa 75%);background-size:200% 100%;animation:shimmer 1.4s ease-in-out infinite}.skeleton-row--sm{height:10px}.skeleton-row--lg{height:20px}.skeleton-row--xl{height:36px;border-radius:8px}.skeleton-box{border-radius:8px;background:linear-gradient(90deg,#f0f3fa 25%,#e4eaf5,#f0f3fa 75%);background-size:200% 100%;animation:shimmer 1.4s ease-in-out infinite}.empty-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;color:#94a3b8}.empty-placeholder-icon{font-size:48px;opacity:.4;margin-bottom:12px}.empty-placeholder-text{font-size:14px;color:#94a3b8}*::-webkit-scrollbar{width:6px;height:6px}*::-webkit-scrollbar-track{background:transparent}*::-webkit-scrollbar-thumb{background:#64748b40;border-radius:99px}*::-webkit-scrollbar-thumb:hover{background:#64748b73}@media (max-width: 768px){.page-toolbar{padding:10px 14px}.page-header{padding-bottom:10px}.ant-modal{top:2vh!important}.ant-modal-content{max-height:96vh}}.cursor-pointer{cursor:pointer}.user-select-none{-webkit-user-select:none;user-select:none}.overflow-hidden{overflow:hidden}.line-clamp-1{overflow:hidden;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical}.line-clamp-2{overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.opacity-50{opacity:.5}.transition-all{transition:all .22s cubic-bezier(.4,0,.2,1)}.badge-count{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 6px;border-radius:11px;background:#2563eb;color:#fff;font-size:11px;font-weight:700;line-height:1}.badge-count--red{background:#dc2626}.badge-count--green{background:#16a34a}.badge-count--orange{background:#ea580c}.ant-table-tbody>tr{transition:background .18s}.ant-table-tbody>tr>td{padding-top:10px;padding-bottom:10px}.layout-content-wrap{animation:fadeIn .22s ease both}
