*{box-sizing:border-box;margin:0;padding:0}
body{font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;background:#f4f6fa;color:#1f2533}
a{text-decoration:none;color:inherit}

/* 登录 */
.login-wrap{height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#1f2533,#2d3650)}
.login-box{width:340px;background:#fff;border-radius:16px;padding:36px 28px;box-shadow:0 20px 60px rgba(0,0,0,.2)}
.login-box h2{text-align:center;margin-bottom:24px;color:#1f2533}
.login-box input{width:100%;height:44px;border:1px solid #dcdfe6;border-radius:10px;padding:0 14px;margin-bottom:14px;font-size:14px;outline:none}
.login-box input:focus{border-color:#ff7a00}
.login-box button{width:100%;height:44px;border:none;border-radius:10px;background:#ff7a00;color:#fff;font-size:16px;font-weight:700;cursor:pointer}
.login-box button:hover{background:#ff8f24}
.login-msg{color:#ef4444;font-size:13px;text-align:center;min-height:18px;margin-top:8px}
.hint{text-align:center;color:#9aa3b2;font-size:12px;margin-top:14px}

/* 布局 */
.admin-layout{display:flex;min-height:100vh}
.sidebar{width:220px;background:#1f2533;color:#cfd6e4;display:flex;flex-direction:column;position:fixed;top:0;bottom:0;left:0}
.sidebar .brand{padding:20px 18px;font-size:18px;font-weight:800;color:#fff;border-bottom:1px solid #2c3346}
.sidebar nav{flex:1;padding:12px 0}
.sidebar nav a{display:block;padding:13px 20px;color:#aeb6c6;cursor:pointer;font-size:14px;border-left:3px solid transparent}
.sidebar nav a:hover{background:#262d3e;color:#fff}
.sidebar nav a.active{background:#262d3e;color:#fff;border-left-color:#ff7a00}
.side-foot{padding:14px 20px;border-top:1px solid #2c3346;font-size:13px;display:flex;justify-content:space-between;align-items:center}
.content{margin-left:220px;flex:1;padding:24px 28px}

/* 卡片 */
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:16px;margin-bottom:24px}
.card-stat{background:#fff;border-radius:12px;padding:18px 20px;box-shadow:0 2px 8px rgba(0,0,0,.04)}
.card-stat .num{font-size:28px;font-weight:800;color:#ff7a00}
.card-stat .lbl{color:#7a8295;font-size:13px;margin-top:6px}
.card-stat.alert .num{color:#ef4444}

/* 工具条 */
.toolbar{display:flex;gap:12px;align-items:center;margin-bottom:16px;flex-wrap:wrap}
.toolbar h2{font-size:18px;margin-right:auto}
.btn{padding:9px 18px;border:none;border-radius:9px;background:#ff7a00;color:#fff;font-size:14px;cursor:pointer;font-weight:600}
.btn:hover{background:#ff8f24}
.btn.ghost{background:#eef1f6;color:#1f2533}
.btn.ghost:hover{background:#e2e7f0}
.btn.danger{background:#ef4444}
.btn.green{background:#22c55e}
.btn.sm{padding:5px 12px;font-size:12px}

/* 表格 */
table{width:100%;background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 2px 8px rgba(0,0,0,.04);border-collapse:collapse;font-size:13px}
th,td{padding:11px 14px;text-align:left;border-bottom:1px solid #eef1f6}
th{background:#fafbfd;color:#7a8295;font-weight:600}
tr:hover td{background:#fcfdff}
.tag{display:inline-block;padding:2px 9px;border-radius:10px;font-size:12px;font-weight:600}
.tag.free{background:#e7f8ee;color:#22c55e}
.tag.ad{background:#fff5e0;color:#d98e00}
.tag.pass{background:#e7f8ee;color:#22c55e}
.tag.reject{background:#fdeaea;color:#ef4444}
.tag.review{background:#eef1f6;color:#7a8295}
.tag.pending{background:#fff5e0;color:#d98e00}
.muted{color:#9aa3b2}

/* 分页 */
.pager{display:flex;gap:6px;margin-top:16px;justify-content:center;flex-wrap:wrap}
.pager button{min-width:34px;height:34px;border:1px solid #dcdfe6;background:#fff;border-radius:8px;cursor:pointer}
.pager button.active{background:#ff7a00;border-color:#ff7a00;color:#fff}
.pager button:disabled{opacity:.4}

/* 弹窗 */
.modal-mask{position:fixed;inset:0;background:rgba(0,0,0,.45);display:flex;align-items:center;justify-content:center;z-index:300}
.modal{width:480px;max-width:92vw;background:#fff;border-radius:14px;padding:24px;max-height:88vh;overflow:auto}
.modal h3{margin-bottom:16px}
.modal label{display:block;font-size:13px;color:#7a8295;margin:10px 0 4px}
.modal input,.modal textarea,.modal select{width:100%;border:1px solid #dcdfe6;border-radius:8px;padding:9px 12px;font-size:14px;outline:none}
.modal input:focus,.modal textarea:focus{border-color:#ff7a00}
.modal .row{display:flex;gap:12px}
.modal .row>div{flex:1}
.modal-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:20px}
.empty{text-align:center;color:#9aa3b2;padding:48px 0}

/* 导航分组 */
.nav-group{padding:14px 20px 6px;font-size:11px;color:#6b7488;letter-spacing:1px;text-transform:uppercase}

/* 表单网格（设置页） */
.form-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px 24px;margin-top:16px;align-items:start}
.form-grid label{display:block;font-size:13px;color:#7a8295;margin-bottom:4px}
.form-grid input,.form-grid textarea,.form-grid select{width:100%;border:1px solid #dcdfe6;border-radius:8px;padding:9px 12px;font-size:14px;outline:none;font-family:inherit}
.form-grid input:focus,.form-grid textarea:focus{border-color:#ff7a00}
.form-grid textarea{resize:vertical}
ul.hist{margin:8px 0 0 18px;color:#555;font-size:13px;line-height:1.8}
