*{box-sizing:border-box}:root{--pm-primary: #1677ff;--pm-primary-2: #4096ff;--pm-gradient: linear-gradient(135deg, #1677ff 0%, #0958d9 100%);--pm-bg: #eef2f8;--pm-radius: 12px;--pm-radius-sm: 8px;--pm-shadow: 0 4px 16px rgba(15, 23, 42, .06);--pm-shadow-hover: 0 12px 32px rgba(15, 23, 42, .12);--pm-border: rgba(15, 23, 42, .06);--pm-text: #1f2937;--pm-text-secondary: #64748b}html,body,#root{height:100%;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;background:var(--pm-bg);color:var(--pm-text)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#64748b47;border-radius:8px}::-webkit-scrollbar-thumb:hover{background:#64748b80}.ant-layout{background:transparent}.ant-layout-sider{background:linear-gradient(180deg,#0a1c3a,#12305f)!important;box-shadow:2px 0 12px #02081e2e}.ant-menu-dark,.ant-menu-dark .ant-menu-sub{background:transparent!important}.ant-menu-dark .ant-menu-item,.ant-menu-dark .ant-menu-submenu-title{border-radius:var(--pm-radius-sm);margin-inline:8px;width:calc(100% - 16px);transition:all .25s ease}.ant-menu-dark .ant-menu-item-selected{background:linear-gradient(90deg,#1677fff2,#1677ff73)!important;box-shadow:0 4px 12px #1677ff66}.ant-menu-dark .ant-menu-item:hover{background:#ffffff14!important}.pm-logo{height:56px;margin:12px;display:flex;align-items:center;justify-content:center;font-weight:800;letter-spacing:1px;background:linear-gradient(90deg,#fff,#93c5fd,#67e8f9);background-size:200% auto;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:pmShimmer 6s linear infinite}@keyframes pmShimmer{to{background-position:200% center}}.page-container{padding:20px;border-radius:var(--pm-radius)!important;border:1px solid var(--pm-border)!important;box-shadow:var(--pm-shadow);animation:pmFadeIn .4s ease both}@keyframes pmFadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.ant-card{border-radius:var(--pm-radius)!important;border:1px solid var(--pm-border)!important;box-shadow:var(--pm-shadow);transition:box-shadow .28s ease,transform .28s ease}.ant-card-hoverable:hover{box-shadow:var(--pm-shadow-hover);transform:translateY(-3px)}.ant-card-head{border-bottom:1px solid #f1f5f9!important;font-weight:600}.stat-card{border-radius:var(--pm-radius);background:linear-gradient(135deg,#fff,#f8fafc);transition:all .3s ease}.stat-card:hover{transform:translateY(-3px);box-shadow:var(--pm-shadow-hover)}.ant-table-wrapper .ant-table{border-radius:10px}.ant-table-wrapper .ant-table-thead>tr>th{background:#f6f9fe!important;color:#334155;font-weight:600;border-bottom:1px solid #e8eef7!important}.ant-table-wrapper .ant-table-tbody>tr:hover>td{background:#f5f9ff!important}.ant-table-wrapper .ant-table-tbody>tr>td{border-bottom:1px solid #f4f7fb}.ant-table-wrapper .ant-table-row-selected>td{background:#eaf3ff!important}.ant-btn{border-radius:var(--pm-radius-sm);transition:all .22s ease}.ant-btn-primary{background:var(--pm-gradient);border:none;box-shadow:0 4px 12px #1677ff52}.ant-btn-primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 8px 20px #1677ff6b}.ant-btn-default:hover{border-color:var(--pm-primary-2);color:var(--pm-primary)}.ant-input-affix-wrapper,.ant-input,.ant-select-selector,.ant-picker{border-radius:var(--pm-radius-sm)!important}.ant-tag{border-radius:6px;padding-inline:8px}.ant-modal-content{border-radius:16px!important;overflow:hidden;box-shadow:0 24px 60px #0f172a38!important}.ant-drawer-content{border-radius:16px 0 0 16px}.ant-descriptions-bordered .ant-descriptions-view{border-radius:10px;overflow:hidden}.login-page{position:relative;height:100vh;overflow:hidden;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 20% 20%,#1b3a8f,#0b1b45 45%,#050b1f)}.login-page:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(60% 60% at 80% 15%,rgba(56,189,248,.28),transparent 60%),radial-gradient(50% 50% at 15% 85%,rgba(129,140,248,.28),transparent 60%);animation:hueShift 18s ease-in-out infinite alternate;pointer-events:none}@keyframes hueShift{0%{filter:hue-rotate(0deg)}to{filter:hue-rotate(40deg)}}.login-canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;z-index:1}.login-blob{position:absolute;border-radius:50%;filter:blur(70px);opacity:.55;z-index:0;animation:floatBlob 16s ease-in-out infinite}.blob-1{width:420px;height:420px;background:#2563eb;top:-120px;left:-100px}.blob-2{width:360px;height:360px;background:#06b6d4;bottom:-120px;right:-80px;animation-delay:-4s}.blob-3{width:300px;height:300px;background:#7c3aed;top:40%;left:55%;animation-delay:-8s}@keyframes floatBlob{0%,to{transform:translate(0) scale(1)}33%{transform:translate(40px,-30px) scale(1.08)}66%{transform:translate(-30px,25px) scale(.95)}}.login-wrapper{position:relative;z-index:2;display:flex;align-items:center;gap:72px;padding:24px;max-width:1080px;width:100%;justify-content:center}.login-brand{color:#e6f0ff;max-width:420px;animation:fadeInLeft .9s cubic-bezier(.22,1,.36,1) both}.brand-badge{display:inline-flex;align-items:center;gap:8px;padding:6px 14px;border-radius:999px;background:#60a5fa26;border:1px solid rgba(96,165,250,.35);color:#93c5fd;font-size:13px;letter-spacing:1px;margin-bottom:22px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.brand-title{font-size:42px;font-weight:800;margin:0 0 12px;line-height:1.15;background:linear-gradient(92deg,#fff,#93c5fd 45%,#67e8f9);background-size:200% auto;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:shimmer 6s linear infinite}@keyframes shimmer{to{background-position:200% center}}.brand-sub{font-size:14px;letter-spacing:3px;text-transform:uppercase;color:#93c5fdcc;margin:0 0 34px}.brand-features{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:16px}.brand-features li{display:flex;align-items:center;gap:12px;font-size:15px;color:#e2f0ffeb;opacity:0;transform:translate(-16px);animation:featureIn .6s cubic-bezier(.22,1,.36,1) forwards}.brand-features li:nth-child(1){animation-delay:.35s}.brand-features li:nth-child(2){animation-delay:.5s}.brand-features li:nth-child(3){animation-delay:.65s}.brand-features li:nth-child(4){animation-delay:.8s}.feature-dot{width:30px;height:30px;border-radius:9px;display:inline-flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#3b82f6e6,#06b6d4e6);box-shadow:0 6px 16px #2563eb59;color:#fff;font-size:15px;flex:none}@keyframes featureIn{to{opacity:1;transform:translate(0)}}@keyframes fadeInLeft{0%{opacity:0;transform:translate(-30px)}to{opacity:1;transform:translate(0)}}.login-card{position:relative;width:400px;padding:40px 34px 28px;border-radius:20px;background:#ffffff1a;border:1px solid rgba(255,255,255,.18);box-shadow:0 24px 60px #02081e8c;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);animation:fadeInUp .9s cubic-bezier(.22,1,.36,1) both}.login-card:after{content:"";position:absolute;top:-1px;right:-1px;bottom:-1px;left:-1px;border-radius:20px;padding:1px;background:linear-gradient(135deg,rgba(147,197,253,.6),transparent 40%,rgba(103,232,249,.5));-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}@keyframes fadeInUp{0%{opacity:0;transform:translateY(36px)}to{opacity:1;transform:translateY(0)}}.login-card .login-title{text-align:center;margin-bottom:26px}.login-card .login-title h1{font-size:23px;margin:0 0 8px;color:#f1f7ff;letter-spacing:1px}.login-card .login-title p{margin:0;color:#94b4dcd9;font-size:12.5px;letter-spacing:1px}.login-card .ant-input-affix-wrapper,.login-card .ant-input{background:#ffffff14;border-color:#ffffff2e;color:#eaf2ff;transition:all .28s ease}.login-card .ant-input-affix-wrapper:hover,.login-card .ant-input-affix-wrapper-focused{border-color:#60a5fae6;box-shadow:0 0 0 3px #2563eb40;background:#ffffff1f}.login-card .ant-input::placeholder,.login-card .ant-input-affix-wrapper input::placeholder{color:#a0bee199}.login-card .ant-input-prefix,.login-card .ant-input-suffix{color:#93c5fde6}.login-card .ant-checkbox-wrapper{color:#bed2ebe6;font-size:13px}.login-btn{position:relative;height:44px;font-size:16px;font-weight:600;letter-spacing:4px;border:none;border-radius:10px;overflow:hidden;background:linear-gradient(100deg,#2563eb,#06b6d4,#2563eb);background-size:200% auto;transition:background-position .6s ease,transform .2s ease,box-shadow .3s ease;box-shadow:0 10px 26px #2563eb73}.login-btn:hover:not(:disabled){background-position:right center;transform:translateY(-2px);box-shadow:0 14px 32px #2563eb99}.login-btn:after{content:"";position:absolute;top:0;left:-120%;width:60%;height:100%;background:linear-gradient(120deg,transparent,rgba(255,255,255,.45),transparent);transform:skew(-20deg)}.login-btn:hover:after{animation:shine .9s ease}@keyframes shine{to{left:140%}}.login-footer{text-align:center;margin-top:18px;color:#82a0c3b3;font-size:12px;letter-spacing:.5px}.brand-link{position:relative;display:inline-block;font-weight:700;font-size:13px;letter-spacing:1px;text-decoration:none;background:linear-gradient(90deg,#60a5fa,#67e8f9,#a78bfa 60%,#60a5fa);background-size:200% auto;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:brandFlow 4s linear infinite;transition:transform .25s ease,filter .25s ease}.brand-link:after{content:"";position:absolute;left:0;right:0;bottom:-3px;height:1.5px;border-radius:2px;background:linear-gradient(90deg,transparent,#67e8f9,#a78bfa,transparent);transform:scaleX(0);transform-origin:center;transition:transform .3s ease}.brand-link:hover{transform:translateY(-1px);filter:drop-shadow(0 0 8px rgba(96,165,250,.85))}.brand-link:hover:after{transform:scaleX(1)}@keyframes brandFlow{to{background-position:200% center}}@media (max-width: 900px){.login-brand{display:none}.login-wrapper{justify-content:center}}@media (prefers-reduced-motion: reduce){.login-page *,.login-page:before,.page-container,.ant-card-hoverable{animation:none!important;transition:none!important}}.ant-layout-sider{background:linear-gradient(180deg,#081733,#0e2a56 55%,#123a75)!important;box-shadow:3px 0 18px #02081e47}.pm-sider{display:flex;flex-direction:column;height:100%;overflow:hidden}.pm-logo{position:relative;display:flex;align-items:center;gap:10px;height:64px;padding:0 18px;margin:0;flex:none;border-bottom:1px solid rgba(255,255,255,.06);overflow:hidden}.pm-logo-mark{width:32px;height:32px;flex:none;border-radius:9px;display:flex;align-items:center;justify-content:center;font-weight:800;color:#fff;font-size:16px;background:linear-gradient(135deg,#1677ff,#06b6d4);box-shadow:0 6px 16px #1677ff80}.pm-logo-text{font-weight:800;font-size:16px;letter-spacing:1px;white-space:nowrap;background:linear-gradient(90deg,#fff,#93c5fd,#67e8f9);background-size:200% auto;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:pmShimmer 6s linear infinite}.pm-menu-scroll{flex:1;overflow-y:auto;overflow-x:hidden;padding:10px 0}.pm-menu-scroll::-webkit-scrollbar{width:4px}.pm-menu-scroll::-webkit-scrollbar-thumb{background:#ffffff2e;border-radius:4px}.ant-menu-dark.ant-menu-inline .ant-menu-item,.ant-menu-dark.ant-menu-inline .ant-menu-submenu-title{position:relative;height:42px;line-height:42px;margin:4px 12px;width:calc(100% - 24px);border-radius:10px;color:#d6e6ffc7;transition:all .25s ease}.ant-menu-dark.ant-menu-inline .ant-menu-item .anticon,.ant-menu-dark.ant-menu-inline .ant-menu-submenu-title .anticon{font-size:16px;color:#a0c8ffd9;transition:color .25s ease}.ant-menu-dark.ant-menu-inline .ant-menu-item:hover,.ant-menu-dark.ant-menu-inline .ant-menu-submenu-title:hover{background:#ffffff12!important;color:#fff}.ant-menu-dark.ant-menu-inline .ant-menu-item:hover .anticon,.ant-menu-dark.ant-menu-inline .ant-menu-submenu-title:hover .anticon{color:#fff}.ant-menu-dark.ant-menu-inline .ant-menu-item-selected{background:linear-gradient(90deg,#1677fff2,#1677ff59)!important;color:#fff!important;box-shadow:0 6px 18px #1677ff6b}.ant-menu-dark.ant-menu-inline .ant-menu-item-selected .anticon{color:#fff!important}.ant-menu-dark.ant-menu-inline .ant-menu-item-selected:before{content:"";position:absolute;left:-12px;top:50%;transform:translateY(-50%);width:3px;height:22px;border-radius:0 3px 3px 0;background:#67e8f9;box-shadow:0 0 10px #67e8f9}.ant-menu-dark.ant-menu-inline .ant-menu-sub.ant-menu-inline{background:#00000029!important;border-radius:10px;margin:4px 12px 8px;padding:4px 0}.ant-menu-dark .ant-menu-submenu-selected>.ant-menu-submenu-title{color:#fff}.ant-menu-dark .ant-menu-submenu-arrow{color:#a0c8ffb3}.ant-menu-dark.ant-menu-inline-collapsed .ant-menu-item,.ant-menu-dark.ant-menu-inline-collapsed .ant-menu-submenu-title{margin:4px 10px;width:calc(100% - 20px);border-radius:10px}.pm-sider-footer{flex:none;padding:12px 16px;border-top:1px solid rgba(255,255,255,.06);display:flex;align-items:center;justify-content:space-between;color:#a0bee6b3;font-size:12px}.pm-sider-footer .ant-btn{color:#bed7f5d9}.pm-sider-footer .ant-btn:hover{color:#fff;background:#ffffff14!important}.pm-collapse-btn{color:#475569}.pm-collapse-btn:hover{color:#1677ff;background:#1677ff14!important}.ant-menu-dark .ant-menu-item-group-title{color:#96bef580!important;font-size:11px;letter-spacing:1.5px;padding:10px 24px 4px!important}.ant-menu-light .ant-menu-item-group-title{color:#94a3b8!important;font-size:11px;letter-spacing:1.5px;padding:10px 24px 4px!important}.ant-layout-sider.pm-sider-light{background:#fff!important;box-shadow:3px 0 18px #0f172a0f}.pm-sider-light .pm-logo{border-bottom:1px solid #f1f5f9}.pm-sider-light .pm-logo-text{background:linear-gradient(90deg,#1677ff,#06b6d4,#1677ff);background-size:200% auto;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:pmShimmer 6s linear infinite}.pm-sider-light .pm-menu-scroll::-webkit-scrollbar-thumb{background:#0f172a24}.pm-sider-light .ant-menu-light.ant-menu-inline .ant-menu-item,.pm-sider-light .ant-menu-light.ant-menu-inline .ant-menu-submenu-title{position:relative;color:#475569;border-radius:10px;margin:4px 12px;width:calc(100% - 24px);transition:all .25s ease}.pm-sider-light .ant-menu-light.ant-menu-inline .ant-menu-item:hover,.pm-sider-light .ant-menu-light.ant-menu-inline .ant-menu-submenu-title:hover{background:#1677ff12!important;color:#1677ff}.pm-sider-light .ant-menu-light.ant-menu-inline .ant-menu-item-selected{background:linear-gradient(90deg,#1677ff24,#1677ff05)!important;color:#1677ff!important;font-weight:600}.pm-sider-light .ant-menu-light.ant-menu-inline .ant-menu-item-selected:before{content:"";position:absolute;left:-12px;top:50%;transform:translateY(-50%);width:3px;height:22px;border-radius:0 3px 3px 0;background:#1677ff;box-shadow:0 0 8px #1677ff99}.pm-sider-light .ant-menu-light .ant-menu-sub.ant-menu-inline{background:#f8fafc!important;border-radius:10px;margin:4px 12px 8px;padding:4px 0}.pm-sider-light .pm-sider-footer{border-top:1px solid #f1f5f9;color:#94a3b8}.pm-sider-light .pm-sider-footer .ant-btn{color:#64748b}.pm-sider-light .pm-sider-footer .ant-btn:hover{color:#1677ff;background:#1677ff14!important}.pm-copyright{font-size:12px;white-space:nowrap}.pm-sider-footer .pm-brand-link{color:#60a5fa;font-weight:700;letter-spacing:.5px;text-decoration:none;transition:color .25s ease,text-shadow .25s ease}.pm-sider-footer .pm-brand-link:hover{color:#67e8f9;text-shadow:0 0 8px rgba(103,232,249,.85)}.pm-sider-light .pm-sider-footer .pm-brand-link{color:#1677ff}.pm-sider-light .pm-sider-footer .pm-brand-link:hover{color:#06b6d4;text-shadow:0 0 6px rgba(6,182,212,.5)}
