:root{--bg:#f3f5f8;--card:#fff;--ink:#101828;--mut:#667085;--line:#e4e7ec;--acc:#2563eb}
*{box-sizing:border-box}
body{margin:0;font:14px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei","Noto Sans SC",sans-serif;background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased}
header{display:flex;align-items:center;gap:12px;padding:10px 16px;background:linear-gradient(180deg,#121a2b,#0f172a);color:#fff;box-shadow:0 1px 0 rgba(255,255,255,.04),0 2px 8px rgba(15,23,42,.18);position:sticky;top:0;z-index:40;flex-wrap:wrap}
header h1{font-size:15px;margin:0;font-weight:600;white-space:nowrap;letter-spacing:.01em}
header h1 a{color:#fff;text-decoration:none;display:flex;align-items:center;gap:8px}
.logo{height:22px;width:auto;display:block}
.sp{flex:1}
.navlink{color:#cbd5e1;font-size:12.5px;font-weight:500;text-decoration:none;padding:6px 11px;border-radius:8px;background:rgba(255,255,255,.06);box-shadow:inset 0 0 0 1px rgba(255,255,255,.08);border:0;cursor:pointer;font-family:inherit;white-space:nowrap}
.navlink:hover{background:rgba(255,255,255,.14);color:#fff}
.lang{display:flex;background:rgba(255,255,255,.06);box-shadow:inset 0 0 0 1px rgba(255,255,255,.08);border-radius:8px;padding:2px}
.lang button{border:0;background:none;border-radius:6px;padding:4px 9px;font-size:12.5px;color:#cbd5e1;cursor:pointer;font-family:inherit}
.lang button.on{background:#2563eb;color:#fff}
.card{background:var(--card);border:1px solid var(--line);border-radius:12px;box-shadow:0 1px 2px rgba(16,24,40,.04),0 1px 3px rgba(16,24,40,.06)}
input,select{font:inherit;border:1px solid var(--line);border-radius:8px;padding:8px 10px;background:#fff;color:var(--ink)}
input:focus,select:focus{outline:2px solid #93c5fd;border-color:#60a5fa}
.btn{font:inherit;border:0;border-radius:8px;padding:8px 14px;background:var(--acc);color:#fff;font-weight:600;cursor:pointer}
.btn.sec{background:#fff;color:var(--ink);box-shadow:inset 0 0 0 1px var(--line);font-weight:500}
.btn.danger{background:#fff;color:#b42318;box-shadow:inset 0 0 0 1px #fecdca;font-weight:500}
.btn:disabled{opacity:.5;cursor:default}
.msg{border-radius:8px;padding:8px 10px;font-size:13px}
.msg.err{background:#fef3f2;color:#b42318;border:1px solid #fecdca}
.msg.ok{background:#ecfdf3;color:#067647;border:1px solid #abefc6}
.mut{color:var(--mut)}
