:root{--night:#0d0f12;--card:#171a20;--gold:#c9a15f;--gold2:#e3c98d;--gold-dim:rgba(201,161,95,.4);
--ink:#e9e4d8;--ink2:#b3ab99;--ink3:#857e6e;--line:rgba(201,161,95,.18)}
*{margin:0;padding:0;box-sizing:border-box}
body{background:var(--night);color:var(--ink);font-family:"Noto Sans SC","PingFang SC","Microsoft YaHei",sans-serif;font-size:15px;line-height:1.7;min-height:100vh}
a{color:inherit;text-decoration:none}
.ah{border-bottom:1px solid var(--line);background:rgba(13,15,18,.97);position:sticky;top:0;z-index:10}
.ah-in{max-width:1280px;margin:0 auto;padding:0 20px;min-height:62px;display:flex;align-items:center;gap:22px;flex-wrap:wrap;padding-top:8px;padding-bottom:8px}
.ab{font-family:"Noto Serif SC",serif;color:var(--gold);letter-spacing:.2em;font-weight:700;font-size:15px}
.ah nav{display:flex;gap:4px;margin-left:auto;flex-wrap:wrap}
.ah nav a{font-size:13px;color:var(--ink2);padding:7px 13px;letter-spacing:.08em;border-radius:4px;transition:.2s}
.ah nav a:hover{color:var(--gold2)}
.ah nav a.on{color:var(--gold);background:rgba(201,161,95,.1)}
.am{max-width:1280px;margin:0 auto;padding:36px 20px 60px}
.card{background:var(--card);border:1px solid var(--line);border-radius:8px;padding:28px}
h1.t{font-size:20px;letter-spacing:.12em;margin-bottom:6px;font-weight:700}
.sub{color:var(--ink2);font-size:13px;margin-bottom:24px}
.msg{border:1px solid rgba(140,200,140,.4);background:rgba(120,180,120,.08);color:#bfe3bf;border-radius:6px;padding:12px 18px;margin-bottom:20px;font-size:14px}
.msg.err{border-color:rgba(200,140,90,.5);background:rgba(200,140,90,.08);color:var(--gold2)}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
@media(max-width:760px){.grid3{grid-template-columns:1fr}}
.mcard{background:var(--card);border:1px solid var(--line);border-radius:8px;padding:24px;transition:.25s;display:block}
.mcard:hover{border-color:var(--gold-dim)}
.mcard b{font-size:16px;letter-spacing:.1em;display:block;margin-bottom:8px}
.mcard span{font-size:12.5px;color:var(--ink2)}
.mcard .num{font-family:"Noto Serif SC",serif;font-size:34px;color:var(--gold);display:block;margin-top:10px}
table.tb{width:100%;border-collapse:collapse;font-size:13.5px}
.tb th{text-align:left;color:var(--gold);font-weight:600;letter-spacing:.08em;font-size:12.5px;padding:10px 12px;border-bottom:1px solid var(--gold-dim);white-space:nowrap}
.tb td{padding:11px 12px;border-bottom:1px dashed rgba(201,161,95,.14);vertical-align:top}
.tb tr:hover td{background:rgba(201,161,95,.04)}
.tb .ops form{display:inline}
.tb .ops button{font-size:12px;color:var(--gold);border:1px solid var(--gold-dim);border-radius:999px;padding:4px 12px;margin:2px 4px 2px 0;background:none;cursor:pointer;white-space:nowrap;font-family:inherit}
.tb .ops button:hover{background:var(--gold);color:#12141a}
.badge{font-size:11px;border:1px solid var(--gold-dim);color:var(--gold2);border-radius:999px;padding:2px 10px;white-space:nowrap}
.badge.g{border-color:rgba(140,200,140,.4);color:#8fce8f}
.f-item{margin-bottom:18px}
.f-item label{display:block;font-size:12.5px;color:var(--gold);letter-spacing:.12em;margin-bottom:7px}
.f-item input,.f-item textarea{width:100%;background:#101318;border:1px solid rgba(201,161,95,.25);color:var(--ink);font-size:14.5px;padding:11px 14px;border-radius:4px;outline:none;font-family:inherit}
.f-item input:focus,.f-item textarea:focus{border-color:var(--gold)}
.f-item textarea{min-height:96px;resize:vertical}
.btn{display:inline-block;border:none;cursor:pointer;padding:13px 34px;font-size:13px;letter-spacing:.25em;background:var(--gold);color:#12141a;font-weight:600;border-radius:4px;transition:.25s;font-family:inherit}
.btn:hover{background:var(--gold2)}
.empty{text-align:center;color:var(--ink3);padding:48px 0;font-size:14px}
.login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px}
.login-card{width:100%;max-width:400px;background:var(--card);border:1px solid var(--line);border-radius:10px;padding:40px 36px}
.login-card .lg{text-align:center;font-family:"Noto Serif SC",serif;color:var(--gold);font-size:22px;letter-spacing:.3em;margin-bottom:6px}
.login-card .lg2{text-align:center;font-size:12px;color:var(--ink3);letter-spacing:.15em;margin-bottom:28px}
.scroll-x{overflow-x:auto}

.tb img{max-width:none}
.f-item input[type=file]{padding:9px 14px}

.f-item select{width:100%;background:#101318;border:1px solid rgba(201,161,95,.25);color:var(--ink);font-size:14.5px;padding:11px 14px;border-radius:4px;outline:none;font-family:inherit}
.pager{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:16px}.pager a,.pager span{border:1px solid var(--gold-dim);color:var(--gold);border-radius:999px;padding:5px 12px;font-size:12px}.pager a.on{background:var(--gold);color:#12141a}
.toolbar{display:flex;gap:10px;margin-bottom:14px;flex-wrap:wrap}.toolbar input,.toolbar select{background:#101318;border:1px solid var(--line);color:var(--ink);padding:10px 14px;border-radius:4px}

/* ---- 一键翻译控件（admin-translate.js） ---- */
.tr-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:8px}
.tr-btn{padding:7px 16px;font-size:12px;letter-spacing:.08em;background:rgba(201,161,95,.14);color:var(--gold2);border:1px solid var(--gold-dim);border-radius:999px;font-weight:600}
.tr-btn:hover{background:var(--gold);color:#12141a}
.tr-btn:disabled{opacity:.55;cursor:wait}
.tr-st{font-size:12px;color:var(--ink3)}
.tr-st.ok{color:#8fce8f}
.tr-st.warn{color:#d9a86c}
.tr-box{background:rgba(201,161,95,.06);border:1px solid var(--line);border-radius:6px;padding:12px 16px;margin-bottom:18px;display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.grid2{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
@media(max-width:760px){.grid2{grid-template-columns:1fr}}