:root { --m-bg:#f3eee4; --m-card:#fffdf8; --m-ink:#1a2332; --m-muted:#6d7a86; --m-accent:#c9a227; --m-top:#121a24; --m-line:#d9d0c0; }
* { box-sizing: border-box; }
body.m-body { margin: 0; font-family: "PingFang SC", "Noto Sans SC", "Microsoft YaHei", sans-serif; background: var(--m-bg); color: var(--m-ink); padding-bottom: 24px; }
.m-top { position: sticky; top: 0; z-index: 10; background: var(--m-top); color: #fff; padding: .85rem 1rem .75rem; display: flex; justify-content: space-between; align-items: center; gap: .5rem; flex-wrap: wrap; }
.m-lang { display: inline-flex; border: 1px solid #2a3b4d; border-radius: 8px; overflow: hidden; }
.m-lang button { background: #1c2836; color: #8aa0b3; border: 0; padding: .2rem .55rem; font: inherit; font-size: .75rem; }
.m-lang button.on { background: var(--m-accent); color: #1a1204; font-weight: 700; }
.m-brand-row { display: flex; align-items: center; gap: .55rem; }
.m-logo { height: 28px; }
.m-logout { color: #9fb2c2; text-decoration: none; }
.m-main { padding: 1rem; }
.m-hero { background: var(--m-card); border: 1px solid var(--m-line); border-radius: 14px; padding: 1rem; margin-bottom: 1rem; }
.m-hero h1 { margin: 0 0 .3rem; font-size: 1.2rem; }
label { display: block; margin: .55rem 0; font-size: .85rem; color: var(--m-muted); }
input, select { width: 100%; font: inherit; padding: .55rem .7rem; border: 1px solid var(--m-line); border-radius: 10px; background: #fff; color: var(--m-ink); }
.m-btn { width: 100%; margin: .45rem 0; border: 0; border-radius: 10px; padding: .7rem; font: inherit; font-weight: 700; background: var(--m-accent); color: #1a1204; }
.m-btn.ghost { background: transparent; border: 1px solid var(--m-line); color: var(--m-ink); }
.m-panel { background: var(--m-card); border: 1px solid var(--m-line); border-radius: 14px; padding: .9rem 1rem; margin: 1rem 0; }
.m-panel ul { list-style: none; margin: 0; padding: 0; }
.m-panel li { padding: .35rem 0; border-bottom: 1px dashed var(--m-line); }
.acts { display: grid; grid-template-columns: 1fr 1fr; gap: .5rem; }
