﻿*{margin:0;padding:0;box-sizing:border-box}
body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;background:#f0f2f5;color:#333;min-height:100vh}
a{color:#1890ff;text-decoration:none}
a:hover{text-decoration:underline}

/* 导航 */
.navbar{background:#001529;color:#fff;padding:0 24px;height:56px;display:flex;align-items:center;justify-content:space-between}
.navbar .brand{font-size:18px;font-weight:600}
.navbar .nav-right{display:flex;align-items:center;gap:16px}
.navbar .nav-right a{color:rgba(255,255,255,.85)}
.navbar .nav-right a:hover{color:#fff}

/* 布局 */
.container{max-width:1200px;margin:24px auto;padding:0 24px}
.card{background:#fff;border-radius:8px;padding:24px;margin-bottom:16px;box-shadow:0 1px 3px rgba(0,0,0,.08)}
.card h2{margin-bottom:16px;font-size:18px;border-bottom:1px solid #f0f0f0;padding-bottom:12px}

/* 表格 */
table{width:100%;border-collapse:collapse}
th,td{padding:10px 12px;text-align:left;border-bottom:1px solid #f0f0f0;font-size:14px}
th{background:#fafafa;font-weight:600;color:#666}
tr:hover{background:#f5f5f5}

/* 按钮 */
.btn{display:inline-block;padding:6px 16px;border-radius:4px;border:1px solid #d9d9d9;background:#fff;cursor:pointer;font-size:14px;transition:all .2s}
.btn-primary{background:#1890ff;color:#fff;border-color:#1890ff}
.btn-primary:hover{background:#40a9ff}
.btn-danger{background:#ff4d4f;color:#fff;border-color:#ff4d4f}
.btn-danger:hover{background:#ff7875}
.btn-sm{padding:3px 10px;font-size:12px}

/* 表单 */
.form-group{margin-bottom:16px}
.form-group label{display:block;margin-bottom:6px;font-weight:500;font-size:14px}
.form-group input,.form-group textarea,.form-group select{width:100%;padding:8px 12px;border:1px solid #d9d9d9;border-radius:4px;font-size:14px}
.form-group input:focus,.form-group textarea:focus{outline:none;border-color:#40a9ff;box-shadow:0 0 0 2px rgba(24,144,255,.2)}

/* 登录页 */
.login-wrap{display:flex;justify-content:center;align-items:center;min-height:100vh;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%)}
.login-box{background:#fff;padding:40px;border-radius:12px;width:380px;box-shadow:0 8px 24px rgba(0,0,0,.15)}
.login-box h1{text-align:center;margin-bottom:24px;color:#333}
.login-box .btn-primary{width:100%;padding:10px;font-size:16px}

/* 消息提示 */
.alert{padding:10px 16px;border-radius:4px;margin-bottom:16px;font-size:14px}
.alert-error{background:#fff2f0;border:1px solid #ffccc7;color:#ff4d4f}
.alert-success{background:#f6ffed;border:1px solid #b7eb8f;color:#52c41a}

/* 分页 */
.pagination{display:flex;justify-content:center;gap:4px;margin-top:20px}
.pagination a,.pagination span{padding:6px 12px;border:1px solid #d9d9d9;border-radius:4px;font-size:14px}
.pagination .active{color:#fff;border-color:#1890ff}

/* 标签页 */
.tabs{display:flex;gap:0;border-bottom:2px solid #f0f0f0;margin-bottom:20px}
.tabs a{padding:10px 20px;color:#666;border-bottom:2px solid transparent;margin-bottom:-2px;font-size:14px}
.tabs a.active{color:#1890ff;border-bottom-color:#1890ff;font-weight:500}
.tabs a:hover{color:#1890ff;text-decoration:none}

/* 统计卡片 */
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:24px}
.stat-card{background:#fff;border-radius:8px;padding:20px;text-align:center;box-shadow:0 1px 3px rgba(0,0,0,.08)}
.stat-card .num{font-size:32px;font-weight:700;color:#1890ff}
.stat-card .label{font-size:14px;color:#999;margin-top:4px}

/* 状态标签 */
.badge{display:inline-block;padding:2px 8px;border-radius:10px;font-size:12px}
.badge-pass{background:#f6ffed;color:#52c41a;border:1px solid #b7eb8f}
.badge-fail{background:#fff2f0;color:#ff4d4f;border:1px solid #ffccc7}

/* 工具栏 */
.toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}
.toolbar .left{display:flex;gap:8px;align-items:center}

/* 文件上传 */
.upload-area{border:2px dashed #d9d9d9;border-radius:8px;padding:24px;text-align:center;cursor:pointer;transition:border-color .2s}
.upload-area:hover{border-color:#1890ff}

/* 弹窗 */
.modal-overlay{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.45);z-index:1000;justify-content:center;align-items:center}
.modal-overlay.show{display:flex}
.modal{background:#fff;border-radius:8px;padding:24px;width:500px;max-height:80vh;overflow-y:auto}
.modal h3{margin-bottom:16px}
.modal-footer{display:flex;justify-content:flex-end;gap:8px;margin-top:20px}
