/* timeline 登录 / 账号 / 用户管理页样式（跟看板同一套配色） */
:root{
  --bg:#f3f5f0;--surface:#fff;--ink:#111813;--ink-2:#374039;--muted:#6c756e;--faint:#98a099;
  --line:#e2e6de;--accent:#ceff45;--accent-ink:#101713;--red:#e23d3d;
  --radius:20px;--shadow:0 18px 50px rgba(17,24,19,.10);
}
*{box-sizing:border-box}
body{
  margin:0;min-height:100vh;display:grid;place-items:center;padding:28px 18px;
  background:radial-gradient(900px 500px at 80% -10%,#e9f7d6 0,rgba(233,247,214,0) 60%),var(--bg);
  color:var(--ink);font:15px/1.7 system-ui,-apple-system,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;
}
.card{width:100%;max-width:400px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);
  box-shadow:var(--shadow);padding:28px 26px}
.wide{max-width:760px}
.brand{display:flex;align-items:center;gap:10px;margin-bottom:18px}
.brand-mark{display:inline-flex;gap:3px}
.brand-mark i{width:5px;height:18px;border-radius:3px;background:var(--ink)}
.brand-mark i:nth-child(2){background:#12a150}
.brand-mark i:nth-child(3){background:#ceff45}
.brand b{font-size:19px;letter-spacing:-.3px}
.brand b span{color:#12a150}
h1{margin:0 0 6px;font-size:20px;letter-spacing:-.3px}
.sub{margin:0 0 20px;color:var(--muted);font-size:13.5px}
label{display:block;font-size:12.5px;font-weight:600;color:var(--ink-2);margin:14px 0 6px}
input[type=text],input[type=password]{
  width:100%;padding:11px 13px;border:1px solid var(--line);border-radius:12px;font:inherit;font-size:15px;
  background:#fff;outline:none;transition:border-color .15s,box-shadow .15s}
input:focus{border-color:#9bbf2a;box-shadow:0 0 0 4px rgba(206,255,69,.35)}
button{font:inherit;cursor:pointer;border:0;border-radius:12px}
.btn-main{width:100%;margin-top:20px;padding:12px;background:var(--ink);color:#fff;font-weight:650;font-size:15px}
.btn-main:hover{background:#1d2a22}
.btn-ghost{background:#fff;border:1px solid var(--line);color:var(--ink-2);padding:9px 14px;font-size:13.5px;font-weight:600}
.btn-ghost:hover{border-color:#cdd4c9;background:#f7f8f4}
.btn-danger{background:#fff;border:1px solid #f3c8c6;color:#a51f1f;padding:7px 12px;font-size:13px;font-weight:600}
.btn-danger:hover{background:#ffe4e2}
.alert{margin-top:16px;padding:10px 12px;border-radius:10px;font-size:13.5px}
.alert.bad{background:#ffe4e2;border:1px solid #f3c8c6;color:#a51f1f}
.alert.ok{background:#ddf7e7;border:1px solid #b6e9c9;color:#08763b}
.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.foot{margin-top:18px;font-size:12.5px;color:var(--faint)}
.foot a{color:var(--ink-2)}
table{width:100%;border-collapse:collapse;font-size:14px;margin-top:6px}
th,td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--line)}
th{font-size:12px;color:var(--muted);font-weight:600}
tr:last-child td{border-bottom:0}
.badge{font-size:11.5px;font-weight:700;padding:2px 9px;border-radius:999px;background:#eef1ea;color:var(--ink-2)}
.badge.admin{background:var(--accent);color:var(--accent-ink)}
.section{margin-top:26px;padding-top:20px;border-top:1px dashed var(--line)}
.section h2{margin:0 0 4px;font-size:15.5px}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media (max-width:560px){.grid2{grid-template-columns:1fr}}
