@charset "UTF-8";.basic-layout{width:100%;height:100vh}.basic-layout .ant-layout-sider{background:#141414!important;box-shadow:1px 0 #00000014}.basic-layout .ant-layout-sider .ant-layout-sider-children{display:flex;flex-direction:column}.basic-layout .logo{height:64px;display:flex;align-items:center;justify-content:center;padding:0 20px;border-bottom:1px solid rgba(255,255,255,.06)}.basic-layout .logo .logo-icon{font-size:22px;margin-right:10px;color:#9ca3af;flex-shrink:0}.basic-layout .logo h1{margin:0;color:#e5e7eb;font-size:16px;font-weight:600;white-space:nowrap;overflow:hidden;letter-spacing:.3px}.basic-layout .logo .logo-collapsed{font-size:20px;font-weight:700;color:#9ca3af}.basic-layout .ant-menu-dark{background:transparent;border-inline-end:none!important;padding:8px;flex:1}.basic-layout .ant-menu-dark .ant-menu-item,.basic-layout .ant-menu-dark .ant-menu-submenu-title{margin:1px 0;border-radius:4px;transition:all .15s ease;height:40px;line-height:40px;color:#9ca3af}.basic-layout .ant-menu-dark .ant-menu-item-selected{background:#ffffff14!important;color:#e5e7eb!important;font-weight:500}.basic-layout .ant-menu-dark .ant-menu-item:not(.ant-menu-item-selected):hover,.basic-layout .ant-menu-dark .ant-menu-submenu-title:hover{background:#ffffff0a!important;color:#d1d5db!important}.basic-layout .ant-menu-dark .ant-menu-submenu-selected>.ant-menu-submenu-title{color:#e5e7eb!important}.basic-layout .ant-menu-dark .ant-menu-inline{background:#00000026;border-radius:4px}.basic-layout .ant-menu-dark .ant-menu-inline .ant-menu-item{height:36px;line-height:36px;padding-left:52px!important}.basic-layout .header{display:flex;align-items:center;justify-content:space-between;padding:0 24px;background:#fff;border-bottom:1px solid #e5e7eb;height:64px}.basic-layout .header .header-left{display:flex;align-items:center;gap:16px}.basic-layout .header .header-left .trigger{font-size:18px;cursor:pointer;transition:color .15s;color:#6b7280}.basic-layout .header .header-left .trigger:hover{color:#2563eb}.basic-layout .header .header-right .user-info{cursor:pointer;padding:6px 14px;border-radius:6px;transition:background .15s;display:flex;align-items:center}.basic-layout .header .header-right .user-info:hover{background:#f3f4f6}.basic-layout .header .header-right .user-info .ant-avatar{background:#374151}.basic-layout .header .header-right .user-info span{margin-left:8px;font-weight:500;color:#374151}.basic-layout .content{margin:16px;overflow:auto;min-height:0}.basic-layout .content .content-wrapper{min-height:calc(100vh - 112px);background:#fff;border-radius:6px;padding:20px 24px;box-shadow:0 1px 2px #00000008;animation:content-fade-in .35s ease both}@keyframes content-fade-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.login-container{display:flex;align-items:center;justify-content:center;width:100%;height:100vh;background:#0f0f13;position:relative;overflow:hidden}.login-container .grid-canvas{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none}.login-container .floating-shape{position:absolute;border-radius:50%;pointer-events:none;z-index:0}.login-container .floating-shape.shape-1{width:200px;height:200px;border:1px solid rgba(37,99,235,.08);top:-60px;right:-40px;animation:drift-1 20s ease-in-out infinite}.login-container .floating-shape.shape-2{width:120px;height:120px;border:1px solid rgba(249,115,22,.06);bottom:15%;left:-30px;animation:drift-2 16s ease-in-out infinite}.login-container .floating-shape.shape-3{width:80px;height:80px;background:#2563eb0a;top:30%;left:10%;animation:drift-3 14s ease-in-out infinite}.login-container .floating-shape.shape-4{width:60px;height:60px;border:1px solid rgba(249,115,22,.07);top:30%;right:15%;border-radius:4px;transform:rotate(45deg);animation:drift-4 18s ease-in-out infinite}.login-container .floating-shape.shape-5{width:40px;height:40px;background:#0891b20d;bottom:25%;right:25%;animation:drift-5 12s ease-in-out infinite}.login-container .floating-shape.shape-6{width:100px;height:100px;border:1px solid rgba(37,99,235,.04);top:10%;left:40%;animation:drift-6 22s ease-in-out infinite}.login-container .login-card{width:400px;background:#ffffff14;backdrop-filter:blur(32px) saturate(140%);-webkit-backdrop-filter:blur(32px) saturate(140%);border:1px solid rgba(255,255,255,.15);border-radius:12px;box-shadow:0 8px 40px #00000040,inset 0 1px #ffffff26;position:relative;z-index:1;animation:card-enter .6s cubic-bezier(.16,1,.3,1) both}.login-container .login-card .ant-card-head{text-align:center;background:transparent;border-bottom:1px solid rgba(255,255,255,.1);padding:40px 32px 20px}.login-container .login-card .ant-card-head .ant-card-head-title{font-size:22px;font-weight:700;color:#e5e5e7;letter-spacing:.5px}.login-container .login-card .ant-card-head .ant-card-head-title .anticon{color:#3b82f6}.login-container .login-card .ant-card-body{padding:32px 36px 28px}.login-container .login-card .login-subtitle{text-align:center;color:#fff9;font-size:13px;margin-top:-8px;margin-bottom:8px;animation:fade-in .6s .15s ease both}.login-container .login-card .ant-form-item:nth-child(1){animation:fade-in-up .5s .2s ease both}.login-container .login-card .ant-form-item:nth-child(2){animation:fade-in-up .5s .3s ease both}.login-container .login-card .ant-form-item:nth-child(3){animation:fade-in-up .5s .4s ease both}.login-container .login-card .ant-input-affix-wrapper{background:#ffffff14;border:1px solid rgba(255,255,255,.12);border-radius:8px;padding:6px 14px;transition:all .2s;display:flex;align-items:center}.login-container .login-card .ant-input-affix-wrapper:hover{border-color:#3b82f699;background:#ffffff1f}.login-container .login-card .ant-input-affix-wrapper:focus,.login-container .login-card .ant-input-affix-wrapper-focused{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb40;background:#ffffff1f}.login-container .login-card .ant-input-affix-wrapper .ant-input{background:transparent;border:none;padding:8px 0;font-size:15px;color:#e5e5e7}.login-container .login-card .ant-input-affix-wrapper .ant-input:focus{box-shadow:none}.login-container .login-card .ant-input-affix-wrapper .ant-input::placeholder{color:#ffffff59}.login-container .login-card .ant-input-affix-wrapper .ant-input-prefix{margin-right:8px;display:flex;align-items:center}.login-container .login-card .ant-input-affix-wrapper .ant-input-suffix{margin-left:4px;display:flex;align-items:center}.login-container .login-card .ant-input-affix-wrapper .anticon{display:flex;align-items:center;color:#ffffff80}.login-container .login-card .ant-input-password{background:transparent;border:none;padding:0}.login-container .login-card .ant-btn-primary{height:46px;font-size:15px;font-weight:600;background:linear-gradient(135deg,#2563eb,#1d4ed8);border:none;border-radius:8px;box-shadow:0 2px 12px #2563eb66;transition:all .2s;letter-spacing:1px}.login-container .login-card .ant-btn-primary:hover{background:linear-gradient(135deg,#1d4ed8,#1e40af);box-shadow:0 4px 20px #2563eb99}.login-container .login-card .ant-btn-primary:active{background:#1e40af;box-shadow:0 1px 4px #2563eb4d}@keyframes card-enter{0%{opacity:0;transform:translateY(20px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes fade-in-up{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes drift-1{0%,to{transform:translate(0) rotate(0)}25%{transform:translate(30px,20px) rotate(5deg)}50%{transform:translate(-10px,40px) rotate(-3deg)}75%{transform:translate(-25px,10px) rotate(2deg)}}@keyframes drift-2{0%,to{transform:translate(0)}25%{transform:translate(20px,-30px)}50%{transform:translate(40px,10px)}75%{transform:translate(-10px,-20px)}}@keyframes drift-3{0%,to{transform:translate(0)}33%{transform:translate(-15px,-25px)}66%{transform:translate(20px,15px)}}@keyframes drift-4{0%,to{transform:translate(0) rotate(45deg)}50%{transform:translate(-20px,-30px) rotate(50deg)}}@keyframes drift-5{0%,to{transform:translate(0)}33%{transform:translate(15px,-20px)}66%{transform:translate(-10px,-10px)}}@keyframes drift-6{0%,to{transform:translate(0) rotate(0)}50%{transform:translate(25px,15px) rotate(180deg)}}.dashboard .page-header{margin-bottom:24px;animation:fade-in-up .5s .05s ease both}.dashboard .page-header .page-title{font-size:20px;font-weight:700;color:#111827;margin:0 0 4px}.dashboard .page-header .page-subtitle{font-size:13px;color:#9ca3af;margin:0}.dashboard .stat-row{animation:fade-in-up .5s .15s ease both}.dashboard .stat-card{border-radius:6px;transition:box-shadow .25s,transform .25s;border:1px solid #f3f4f6;box-shadow:0 1px 2px #00000008}.dashboard .stat-card:hover{box-shadow:0 6px 16px #00000014;transform:translateY(-2px)}.dashboard .stat-card:hover .stat-card-icon{transform:scale(1.06)}.dashboard .stat-card .ant-card-body{padding:0}.dashboard .stat-card .stat-card-inner{display:flex;align-items:center;padding:18px 20px;gap:14px}.dashboard .stat-card .stat-card-icon{width:44px;height:44px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:20px;color:#fff;flex-shrink:0;transition:transform .25s}.dashboard .stat-card .stat-card-icon--blue{background:#2563eb}.dashboard .stat-card .stat-card-icon--green{background:#10b981}.dashboard .stat-card .stat-card-icon--orange{background:#f97316}.dashboard .stat-card .stat-card-icon--cyan{background:#0891b2}.dashboard .stat-card .stat-card-icon--rose{background:#e11d48}.dashboard .stat-card .stat-card-icon--amber{background:#d97706}.dashboard .stat-card .stat-card-icon--teal{background:#0d9488}.dashboard .stat-card .stat-card-content{flex:1;min-width:0}.dashboard .stat-card .stat-card-content .stat-card-title{font-size:13px;color:#9ca3af;margin-bottom:4px}.dashboard .stat-card .stat-card-content .stat-card-value{font-size:26px;font-weight:700;color:#111827;line-height:1.2;font-variant-numeric:tabular-nums}.dashboard .chart-card{border-radius:6px;border:1px solid #f3f4f6;box-shadow:0 1px 2px #00000008;animation:fade-in-up .5s .25s ease both}.dashboard .chart-card .ant-card-head{border-bottom:1px solid #f3f4f6;padding:16px 20px}.dashboard .chart-card .ant-card-head .ant-card-head-title{font-size:15px;font-weight:600;color:#111827}.dashboard .chart-card .ant-card-body{padding:16px 20px}.dashboard-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;gap:16px}.dashboard-loading .ant-spin .ant-spin-dot-item{background-color:#2563eb}.dashboard-loading .loading-text{font-size:13px;color:#9ca3af;animation:pulse-text 2s ease-in-out infinite}@keyframes fade-in-up{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse-text{0%,to{opacity:.5}50%{opacity:1}}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,Segoe UI,Roboto,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f5f5f5;color:#111827}#root{width:100%;height:100vh}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#9ca3af}.ant-pro-page-container-children-content{padding:24px}
