/* 几秒去水印 - 后台样式（参考主流后台模板布局） */
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:"Microsoft YaHei","PingFang SC","Helvetica Neue",sans-serif;background:#f4f5fa;font-size:14px;color:#333}
a{text-decoration:none;color:inherit}

/* ---------- 侧边栏 ---------- */
.side{position:fixed;left:0;top:0;bottom:0;width:210px;background:linear-gradient(180deg,#3d3654,#4a4066);color:#cfc8e8;display:flex;flex-direction:column;z-index:10}
.side-brand{height:60px;display:flex;align-items:center;justify-content:center;font-size:17px;font-weight:bold;color:#fff;letter-spacing:1px;border-bottom:1px solid rgba(255,255,255,.08)}
.side nav{flex:1;padding:12px 0;overflow-y:auto}
.side nav a{display:block;padding:13px 24px;font-size:14px;transition:.15s;border-left:3px solid transparent}
.side nav a:hover{background:rgba(255,255,255,.06);color:#fff}
.side nav a.on{background:rgba(255,255,255,.1);color:#fff;border-left-color:#fbc2eb}
.side-foot{padding:16px;text-align:center}
.side-foot .logout{color:#f2a3b8;font-size:13px}

/* ---------- 主区域 ---------- */
.main{margin-left:210px;min-height:100vh}
.topbar{height:60px;background:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 28px;box-shadow:0 1px 4px rgba(0,0,0,.05);position:sticky;top:0;z-index:5}
.topbar h1{font-size:17px;color:#3d3654}
.admin-name{color:#888;font-size:13px}
.content{padding:24px 28px}

/* ---------- 卡片 ---------- */
.card{background:#fff;border-radius:10px;padding:22px 24px;box-shadow:0 2px 10px rgba(60,50,110,.06);margin-bottom:20px}
.card h3{font-size:15px;color:#3d3654;margin-bottom:16px;padding-bottom:10px;border-bottom:1px solid #f0eef8}
.card h3 small{color:#aaa;font-weight:normal;margin-left:8px}

/* ---------- 统计卡 ---------- */
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:20px}
.stat{background:#fff;border-radius:10px;padding:20px 22px;box-shadow:0 2px 10px rgba(60,50,110,.06)}
.stat .num{font-size:28px;font-weight:bold;background:linear-gradient(135deg,#a18cd1,#f78fb3);-webkit-background-clip:text;background-clip:text;color:transparent}
.stat .lbl{color:#999;font-size:13px;margin-top:6px}

/* ---------- 表格 ---------- */
table.tb{width:100%;border-collapse:collapse;font-size:13.5px}
table.tb th{background:#f8f6fc;color:#6b5b95;text-align:left;padding:11px 12px;font-weight:bold;white-space:nowrap}
table.tb td{padding:11px 12px;border-bottom:1px solid #f4f2fa;color:#555;word-break:break-all}
table.tb tr:hover td{background:#fbfaff}
.tag{display:inline-block;padding:2px 10px;border-radius:20px;font-size:12px}
.tag.g{background:#e6f7ef;color:#2fb380}.tag.r{background:#fdeef0;color:#e05a6d}
.tag.y{background:#fff6e5;color:#e6a23c}.tag.p{background:#f3ecfd;color:#8d7ab8}

/* ---------- 表单 ---------- */
.form-row{display:flex;gap:18px;flex-wrap:wrap}
.form-item{margin-bottom:16px;flex:1;min-width:220px}
.form-item label{display:block;font-size:13px;color:#666;margin-bottom:6px}
.form-item label b{color:#e05a6d}
.form-item input[type=text],.form-item input[type=password],.form-item input[type=number],.form-item input[type=url],.form-item select,.form-item textarea{width:100%;padding:10px 12px;border:1.5px solid #e4ddf3;border-radius:8px;font-size:13.5px;outline:none;transition:.2s;background:#fff;font-family:inherit}
.form-item input:focus,.form-item select:focus,.form-item textarea:focus{border-color:#a18cd1;box-shadow:0 0 0 3px rgba(161,140,209,.12)}
.form-item textarea{min-height:110px;resize:vertical;line-height:1.7}
.form-item .hint{color:#aaa;font-size:12px;margin-top:5px;line-height:1.7}

/* ---------- 按钮 ---------- */
.btn{display:inline-block;padding:9px 22px;border:none;border-radius:8px;font-size:13.5px;cursor:pointer;transition:.15s;font-family:inherit}
.btn.pri{background:linear-gradient(135deg,#a18cd1,#f78fb3);color:#fff}
.btn.pri:hover{opacity:.88}
.btn.plain{background:#f3f0fa;color:#6b5b95}
.btn.plain:hover{background:#e9e3f7}
.btn.danger{background:#fdeef0;color:#e05a6d}
.btn.danger:hover{background:#fadfe3}
.btn.sm{padding:5px 12px;font-size:12.5px;border-radius:6px}

/* ---------- 提示 ---------- */
.alert{padding:12px 16px;border-radius:8px;font-size:13.5px;margin-bottom:18px}
.alert.ok{background:#e6f7ef;color:#2fb380;border:1px solid #c9ecd9}
.alert.err{background:#fdeef0;color:#e05a6d;border:1px solid #f8d3d8}
.alert.tip{background:#f7f3fd;color:#8d7ab8;border:1px solid #e8def8;line-height:1.9}

/* ---------- 分页 ---------- */
.pager{margin-top:16px;text-align:right}
.pager a{display:inline-block;padding:6px 13px;margin-left:6px;background:#fff;border:1px solid #e4ddf3;border-radius:6px;color:#6b5b95;font-size:13px}
.pager a.on{background:linear-gradient(135deg,#a18cd1,#f78fb3);color:#fff;border-color:transparent}
.pager span{color:#aaa;margin-left:10px;font-size:13px}

/* ---------- 登录页 ---------- */
.login-body{background:linear-gradient(135deg,#a18cd1 0%,#fbc2eb 100%);min-height:100vh;display:flex;align-items:center;justify-content:center}
.login-card{background:#fff;border-radius:18px;padding:42px 40px;width:380px;box-shadow:0 24px 70px rgba(90,50,150,.3)}
.login-card h2{text-align:center;color:#3d3654;font-size:20px;margin-bottom:6px}
.login-card p.sub{text-align:center;color:#aaa;font-size:13px;margin-bottom:26px}
.login-card .form-item input{padding:12px 14px;border-radius:10px}
.login-card .btn{width:100%;padding:12px;border-radius:24px;font-size:15px;letter-spacing:2px}
