:root{--primary:#4361ee;--primary-light:#e8ecff;--success:#22c55e;--warning:#f59e0b;--danger:#ef4444;--text-primary:#1e293b;--text-secondary:#64748b;--bg-page:#f1f5f9;--bg-card:#fff;--border:#e2e8f0;--radius:12px;--shadow:0 1px 3px #0000000f,0 1px 2px #0000000a;--shadow-md:0 4px 6px -1px #00000012,0 2px 4px -2px #0000000d}*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;color:var(--text-primary);background:var(--bg-page);-webkit-font-smoothing:antialiased;font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Helvetica Neue,Arial,sans-serif}.login-container{background:linear-gradient(135deg,#4361ee 0%,#7c3aed 100%);justify-content:center;align-items:center;min-height:100vh;display:flex;position:relative;overflow:hidden}.login-container:before{content:"";background:#ffffff0d;border-radius:50%;width:600px;height:600px;position:absolute;top:-200px;right:-100px}.login-container:after{content:"";background:#ffffff08;border-radius:50%;width:400px;height:400px;position:absolute;bottom:-100px;left:-100px}.login-card{background:var(--bg-card);z-index:1;border-radius:20px;width:420px;padding:48px 40px;animation:.6s fadeInUp;box-shadow:0 25px 50px #00000026}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.login-logo{text-align:center;margin-bottom:8px}.login-logo h1{background:linear-gradient(135deg,#4361ee,#7c3aed);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:28px;font-weight:700}.login-logo p{color:var(--text-secondary);margin-top:6px;font-size:14px}.admin-layout{min-height:100vh}.admin-layout .ant-layout-sider{border-right:1px solid var(--border);background:#fff!important}.admin-layout .ant-layout-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;height:64px;padding:0 24px;line-height:64px;display:flex;background:#fff!important}.admin-layout .ant-layout-content{background:var(--bg-page);padding:24px}.sider-logo{border-bottom:1px solid var(--border);justify-content:center;align-items:center;gap:8px;height:64px;display:flex}.sider-logo h2{background:linear-gradient(135deg,#4361ee,#7c3aed);-webkit-text-fill-color:transparent;white-space:nowrap;-webkit-background-clip:text;background-clip:text;font-size:18px;font-weight:700}.sider-logo-icon{color:#fff;background:linear-gradient(135deg,#4361ee,#7c3aed);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:16px;font-weight:700;display:flex}.stat-cards{grid-template-columns:repeat(4,1fr);gap:20px;margin-bottom:24px;display:grid}.stat-card{background:var(--bg-card);border-radius:var(--radius);box-shadow:var(--shadow);cursor:default;padding:24px;transition:box-shadow .3s,transform .3s}.stat-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.stat-card-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.stat-card-header span{color:var(--text-secondary);font-size:14px}.stat-card-icon{border-radius:12px;justify-content:center;align-items:center;width:44px;height:44px;font-size:20px;display:flex}.stat-card-icon.blue{color:#4361ee;background:#e8ecff}.stat-card-icon.green{color:#22c55e;background:#dcfce7}.stat-card-icon.orange{color:#f59e0b;background:#fef3c7}.stat-card-icon.purple{color:#7c3aed;background:#f3e8ff}.stat-card-value{color:var(--text-primary);font-size:32px;font-weight:700;line-height:1.2}.stat-card-change{align-items:center;gap:4px;margin-top:8px;font-size:13px;display:flex}.stat-card-change.up{color:var(--success)}.stat-card-change.down{color:var(--danger)}.two-col{grid-template-columns:1fr 1fr;gap:20px;margin-top:24px;display:grid}.panel{background:var(--bg-card);border-radius:var(--radius);box-shadow:var(--shadow);padding:24px}.panel-title{color:var(--text-primary);margin-bottom:16px;font-size:16px;font-weight:600}.page-header{margin-bottom:24px}.page-header h2{color:var(--text-primary);font-size:22px;font-weight:700}.page-header p{color:var(--text-secondary);margin-top:4px;font-size:14px}.table-card{background:var(--bg-card);border-radius:var(--radius);box-shadow:var(--shadow);padding:24px}.table-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px;display:flex}.table-toolbar-left{align-items:center;gap:12px;display:flex}@media (max-width:1200px){.stat-cards{grid-template-columns:repeat(2,1fr)}.two-col{grid-template-columns:1fr}}@media (max-width:768px){.stat-cards{grid-template-columns:1fr}.login-card{width:90%;padding:32px 24px}}.ant-menu-item-selected{font-weight:600;background:var(--primary-light)!important;color:var(--primary)!important}.ant-table-wrapper .ant-table{border-radius:8px}.ant-tag{border:none;border-radius:6px;padding:2px 10px}.ant-btn-primary{box-shadow:0 2px 4px #4361ee4d}.finance-metrics{grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:24px;display:grid}.finance-metric-card{background:var(--bg-card);border-radius:var(--radius);box-shadow:var(--shadow);text-align:center;padding:28px 24px}.finance-metric-card .label{color:var(--text-secondary);margin-bottom:8px;font-size:14px}.finance-metric-card .value{color:var(--text-primary);font-size:28px;font-weight:700}.finance-metric-card .sub{color:var(--text-secondary);margin-top:4px;font-size:13px}.header-right{align-items:center;gap:20px;display:flex}.header-user{cursor:pointer;border-radius:8px;align-items:center;gap:8px;padding:4px 12px;transition:background .2s;display:flex}.header-user:hover{background:var(--bg-page)}
