*{margin:0;padding:0;box-sizing:border-box}
body{font-family:"Microsoft YaHei",system-ui,sans-serif;font-size:14px;color:#333;background:#f5f6f8}
a{color:#3b82f6;text-decoration:none}
button{cursor:pointer}

/* 登录 */
.login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#6366f1,#8b5cf6)}
.login-box{background:#fff;border-radius:12px;padding:40px 36px;width:360px;box-shadow:0 20px 60px rgba(0,0,0,.2)}
.login-box h1{font-size:22px;text-align:center;color:#4f46e5}
.login-box .sub{text-align:center;color:#999;margin:6px 0 24px;font-size:13px}
.form-item{margin-bottom:14px}
.form-item input{width:100%;padding:10px 12px;border:1px solid #ddd;border-radius:8px;font-size:14px;outline:none}
.form-item input:focus{border-color:#6366f1}
.login-msg{color:#dc2626;font-size:13px;margin-top:10px;text-align:center;min-height:18px}

/* 按钮 */
.btn{display:inline-block;padding:8px 18px;border:none;border-radius:8px;font-size:14px;background:#eef0f3;color:#333}
.btn.primary{background:#4f46e5;color:#fff}
.btn.danger{background:#dc2626;color:#fff}
.btn.success{background:#16a34a;color:#fff}
.btn.sm{padding:4px 10px;font-size:12px;border-radius:6px}
.btn.block{width:100%}
.btn:hover{opacity:.9}

/* 布局 */
.sidebar{position:fixed;left:0;top:0;bottom:0;width:200px;background:#1e1b4b;color:#c7d2fe;display:flex;flex-direction:column}
.brand{height:56px;line-height:56px;text-align:center;font-size:16px;color:#fff;font-weight:600;border-bottom:1px solid rgba(255,255,255,.1)}
#nav{flex:1;padding:12px 0;overflow-y:auto}
#nav a{display:block;padding:11px 24px;color:#c7d2fe;font-size:14px;cursor:pointer;border-left:3px solid transparent}
#nav a:hover{background:rgba(255,255,255,.08);color:#fff}
#nav a.active{background:rgba(255,255,255,.12);color:#fff;border-left-color:#a5b4fc}
.sidebar-foot{padding:14px 20px;border-top:1px solid rgba(255,255,255,.1);font-size:13px;display:flex;justify-content:space-between}
.sidebar-foot a{color:#a5b4fc}
.main{margin-left:200px;padding:20px 24px;min-height:100vh}

/* 页面 */
.page-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}
.page-head h2{font-size:18px}
.toolbar{display:flex;gap:8px;margin-bottom:14px;flex-wrap:wrap}
.toolbar input,.toolbar select{padding:7px 10px;border:1px solid #ddd;border-radius:8px;font-size:13px;outline:none;background:#fff}

/* 卡片 */
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin-bottom:18px}
.card{background:#fff;border-radius:10px;padding:16px;box-shadow:0 1px 4px rgba(0,0,0,.05)}
.card .num{font-size:24px;font-weight:700;color:#4f46e5;margin-top:4px}
.card .label{color:#888;font-size:13px}
.card.green .num{color:#16a34a}.card.orange .num{color:#ea580c}.card.red .num{color:#dc2626}.card.blue .num{color:#2563eb}

/* 表格 */
.table-wrap{background:#fff;border-radius:10px;box-shadow:0 1px 4px rgba(0,0,0,.05);overflow-x:auto}
table{width:100%;border-collapse:collapse;font-size:13px}
th,td{padding:10px 12px;text-align:left;border-bottom:1px solid #f0f0f0;white-space:nowrap}
th{background:#fafafa;color:#666;font-weight:600}
tr:hover td{background:#fafbff}
.empty{padding:40px;text-align:center;color:#999}

/* 分页 */
.pager{display:flex;align-items:center;gap:10px;padding:12px;font-size:13px;color:#666}
.pager button{padding:4px 12px;border:1px solid #ddd;background:#fff;border-radius:6px}

/* 弹窗 */
.modal-mask{position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:100;display:flex;align-items:center;justify-content:center}
.modal{background:#fff;border-radius:12px;width:560px;max-width:94vw;max-height:88vh;display:flex;flex-direction:column}
.modal-head{display:flex;justify-content:space-between;align-items:center;padding:14px 18px;border-bottom:1px solid #eee;font-weight:600}
.modal-close{border:none;background:none;font-size:22px;color:#999;line-height:1}
.modal-body{padding:18px;overflow-y:auto}
.modal-body .form-item{margin-bottom:12px}
.modal-body label{display:block;margin-bottom:5px;color:#555;font-size:13px}
.modal-body input,.modal-body select,.modal-body textarea{width:100%;padding:8px 10px;border:1px solid #ddd;border-radius:8px;font-size:13px;outline:none;font-family:inherit}
.modal-body textarea{min-height:70px;resize:vertical}
.modal-foot{display:flex;justify-content:flex-end;gap:8px;padding:14px 18px;border-top:1px solid #eee}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}

/* 提示 */
.toast{position:fixed;top:20px;left:50%;transform:translateX(-50%);background:#333;color:#fff;padding:10px 22px;border-radius:8px;font-size:14px;z-index:200;opacity:0;transition:opacity .3s;pointer-events:none}
.toast.show{opacity:1}

/* 状态标签 */
.tag{display:inline-block;padding:2px 10px;border-radius:20px;font-size:12px}
.tag.normal{background:#dcfce7;color:#16a34a}
.tag.hidden{background:#fee2e2;color:#dc2626}
.tag.pending{background:#fef3c7;color:#d97706}
.tag.success{background:#dcfce7;color:#16a34a}
.tag.physical{background:#dbeafe;color:#2563eb}
.tag.virtual{background:#ede9fe;color:#7c3aed}

/* 仪表盘 */
.trend-box{background:#fff;border-radius:10px;padding:16px;box-shadow:0 1px 4px rgba(0,0,0,.05);margin-bottom:18px}
.trend-box h3{font-size:14px;color:#555;margin-bottom:10px}
.bar{display:inline-block;background:#6366f1;border-radius:4px 4px 0 0;margin-right:14px;min-width:26px;vertical-align:bottom}
.bar-wrap{display:flex;align-items:flex-end;height:150px;padding-top:10px}
.rank-list{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.rank{background:#fff;border-radius:10px;padding:14px;box-shadow:0 1px 4px rgba(0,0,0,.05)}
.rank h3{font-size:14px;color:#555;margin-bottom:8px}
.rank ol{padding-left:20px;font-size:13px}
.rank li{margin-bottom:5px}
.rank .muted{color:#999}

/* ============ 系统配置页（对齐原插件样式） ============ */
.cfg-card{padding:0}
.cfg-tabs{display:flex;gap:2px;border-bottom:1px solid #e5e7eb;padding:14px 16px 0}
.cfg-tab{padding:9px 20px;cursor:pointer;color:#666;font-size:14px;border-bottom:2px solid transparent;margin-bottom:-1px}
.cfg-tab:hover{color:#4f46e5}
.cfg-tab.active{color:#4f46e5;border-bottom-color:#4f46e5;font-weight:600}
.cfg-pane{display:none;padding:10px 20px}
.cfg-pane.active{display:block}
.cfg-form{width:100%}
.cfg-form td{padding:12px 8px;border-bottom:1px solid #f5f5f5;vertical-align:top;background:#fff}
.cfg-form td.cfg-label{width:17%;text-align:right;color:#555;line-height:34px;padding-right:16px;font-size:13px;white-space:nowrap}
.cfg-form input[type=text],.cfg-form input[type=number],.cfg-form select{width:420px;max-width:100%;padding:8px 10px;border:1px solid #ddd;border-radius:6px;font-size:13px;outline:none;background:#fff}
.cfg-form input:focus{border-color:#6366f1}
.cfg-radio{margin-right:18px;font-size:13px;line-height:34px}
.cfg-help{color:#999;font-size:12px;margin-top:5px}
.cfg-foot{padding:18px;border-top:1px solid #f3f4f6;display:flex;gap:10px;justify-content:center}

/* 迷你富文本 */
.me-wrap{width:560px;max-width:100%}
.me-toolbar{display:flex;gap:3px;flex-wrap:wrap;border:1px solid #ddd;border-bottom:none;border-radius:6px 6px 0 6px;background:#f9fafb;padding:5px}
.me-toolbar button{border:1px solid #e5e7eb;background:#fff;border-radius:4px;padding:3px 9px;font-size:12px;cursor:pointer}
.me-toolbar button:hover{background:#eef2ff;border-color:#c7d2fe}
.me-body{border:1px solid #ddd;border-radius:0 0 6px 6px;min-height:120px;max-height:320px;overflow:auto;padding:10px 12px;font-size:13px;outline:none;background:#fff;line-height:1.7}
.me-body:empty:before{content:'请输入内容';color:#bbb}
.me-body img{max-width:100%}

/* 连续签到奖励（原插件 fieldlist 样式） */
.sign-rows .sign-hint{color:#999;font-size:12px;margin-bottom:8px}
.sign-row{display:flex;gap:8px;align-items:center;margin-bottom:6px}
.sign-row input{width:150px!important}
.sign-row .sr-eq{color:#999}
.sign-row .sign-del{border:none;background:#fee2e2;color:#dc2626;width:28px;height:28px;border-radius:6px;font-size:16px;line-height:1}
.sign-rows .sign-add{margin-top:2px}

/* 图片预览 */
.cfg-img-preview{margin-top:6px;max-width:220px;max-height:110px;border:1px solid #eee;border-radius:6px;background:#fff;padding:2px}
