:root{--primary:#c30d23;--primary-light:#f8d0d4;--primary-dark:#a80b1e;--success:#00b42a;--warning:#ff7d00;--info:#1677ff;--text-h1:#1d2129;--text-h2:#272e3b;--text-body:#4e5969;--text-weak:#86909c;--text-placeholder:#c9cdd4;--bg-page:#f2f3f5;--bg-card:#fff;--bg-sidebar:#fff;--bg-hover:#f5f7fa;--bg-active:#f8d0d4;--border:#e5e6eb;--shadow-sm:0 1px 2px #0000000a;--shadow:0 2px 12px #0000000f;--shadow-hover:0 4px 16px #00000014;--radius:10px}*{box-sizing:border-box;margin:0;padding:0;font-family:Microsoft YaHei,system-ui,-apple-system,sans-serif}body{background-color:var(--bg-page);color:var(--text-body);font-size:14px;line-height:1.6}.admin-layout{min-height:100vh;display:flex}.sidebar{background:var(--bg-sidebar);border-right:1px solid var(--border);flex-shrink:0;width:260px}.sidebar-header{border-bottom:1px solid var(--border);height:70px;color:var(--primary);align-items:center;padding:0 24px;font-size:18px;font-weight:600;display:flex}.menu-list{padding:16px 0}.menu-item{color:var(--text-body);cursor:pointer;align-items:center;gap:12px;padding:14px 24px;transition:all .25s;display:flex;position:relative}.menu-item svg{flex-shrink:0;width:20px;height:20px}.menu-item:hover{background-color:var(--bg-hover);color:var(--primary)}.menu-item.active{background-color:var(--bg-active);color:var(--primary);font-weight:500}.menu-item.active:before{content:"";background-color:var(--primary);width:4px;height:100%;position:absolute;top:0;left:0}.main-wrap{flex-direction:column;flex:1;display:flex}.top-header{background:var(--bg-card);border-bottom:1px solid var(--border);height:64px;box-shadow:var(--shadow-sm);justify-content:space-between;align-items:center;padding:0 32px;display:flex}.top-header-title{color:var(--text-h1);font-size:16px;font-weight:500}.user-info{color:var(--text-weak);align-items:center;gap:16px;display:flex}.main-content{padding:28px 32px}.stats-row{grid-template-columns:repeat(4,1fr);gap:24px;margin-bottom:28px;display:grid}.stat-card{background:var(--bg-card);border-radius:var(--radius);box-shadow:var(--shadow);border-top:3px solid #0000;padding:24px;transition:all .25s}.stat-card:hover{box-shadow:var(--shadow-hover);border-top-color:var(--primary);transform:translateY(-3px)}.stat-card .label{color:var(--text-weak);font-size:13px}.stat-card .number{color:var(--primary);margin:8px 0 6px;font-size:28px;font-weight:700}.stat-card .desc{color:var(--text-body);font-size:12px}.card{background:var(--bg-card);border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:24px;padding:24px}.card-header{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.card-title{color:var(--text-h1);font-size:16px;font-weight:600}.btn{cursor:pointer;border:none;border-radius:8px;padding:9px 18px;font-size:13px;transition:all .2s}.btn-primary{background-color:var(--primary);color:#fff}.btn-primary:hover{background-color:var(--primary-dark)!important}.btn-default{border:1px solid var(--border);color:var(--text-body);background-color:#fff}.btn-default:hover{border-color:var(--primary);color:var(--primary)}.table{border-collapse:collapse;width:100%}.table th{text-align:left;color:var(--text-weak);border-bottom:1px solid var(--border);background-color:#f9fafc;padding:14px 16px;font-weight:500}.table td{border-bottom:1px solid var(--border);color:var(--text-body);padding:14px 16px}.table tbody tr:hover{background-color:var(--bg-hover)}.quick-bar{flex-wrap:wrap;gap:14px;display:flex}.ant-layout-sider{background:#fff!important}.ant-menu{background:#fff!important;border-right:none!important}.ant-menu-item{color:#4e5969!important;border-radius:6px!important;width:calc(100% - 24px)!important;margin:4px 12px!important;transition:all .25s!important}.ant-menu-item:hover{color:#c30d23!important;background-color:#f5f7fa!important}.ant-menu-item-selected{color:#c30d23!important;background-color:#f8d0d4!important;font-weight:500!important}.ant-menu-item-selected:before{content:""!important;background-color:#c30d23!important;border-radius:0 2px 2px 0!important;width:4px!important;height:24px!important;position:absolute!important;top:50%!important;left:0!important;transform:translateY(-50%)!important}.ant-menu-item:hover .anticon,.ant-menu-item-selected .anticon{color:#c30d23!important}.ant-layout-sider,.ant-layout-sider-children,.ant-menu,.ant-menu-root,.ant-menu-light{background:#fff!important}.ant-menu-item{color:#4e5969!important;border-radius:6px!important;transition:all .3s!important}.ant-menu-item:hover,.ant-menu-item-active:hover,.ant-menu-submenu-active:hover,.ant-menu-light .ant-menu-item:hover{color:#c30d23!important;background-color:#f5f7fa!important}.ant-menu-item:hover .anticon,.ant-menu-light .ant-menu-item:hover .anticon{color:#c30d23!important}.ant-menu-item-selected,.ant-menu-light .ant-menu-item-selected{color:#c30d23!important;background-color:#f8d0d4!important;font-weight:500!important}.ant-menu-item-selected .anticon,.ant-menu-light .ant-menu-item-selected .anticon{color:#c30d23!important}.ant-menu-light .ant-menu-item:hover,.ant-menu-light .ant-menu-item-active{color:#c30d23!important;background-color:#f5f7fa!important}.ant-menu-item-selected{color:#c30d23!important;background-color:#f8d0d4!important}.ant-btn-primary:hover{background-color:#a80b1e!important;border-color:#a80b1e!important}.ant-table-row:hover{background-color:#f5f7fa!important}.ant-menu-light .ant-menu-item:hover,.ant-menu-light .ant-menu-submenu-title:hover,.ant-menu .ant-menu-item:hover,.ant-menu .ant-menu-submenu-title:hover,.ant-menu-item-active,.ant-menu-submenu-active>.ant-menu-submenu-title{color:#c30d23!important;background-color:#f5f7fa!important}.ant-menu-light .ant-menu-item:hover .ant-menu-title-content,.ant-menu-light .ant-menu-item:hover .anticon{color:#c30d23!important}.ant-menu-light .ant-menu-item-selected,.ant-menu .ant-menu-item-selected{color:#c30d23!important;background-color:#f8d0d4!important}.ant-menu-light .ant-menu-item-selected .ant-menu-title-content,.ant-menu-light .ant-menu-item-selected .anticon{color:#c30d23!important}.custom-menu-item:hover{color:#c30d23!important;background-color:#f5f7fa!important}.custom-menu-item:hover .anticon{color:#c30d23!important}
