.brand{display:flex;align-items:center;gap:12px}
.brand-avatar{border-radius:50%;object-fit:cover;border:2px solid rgba(255,255,255,.65);box-shadow:0 6px 20px rgba(0,0,0,.25);background:#fff}
.brand-name{font-weight:600;letter-spacing:.5px;color:inherit}
.avatar-avatar .brand-avatar{width:56px;height:56px}
.avatar-small .brand-avatar{width:34px;height:34px;border-width:1px}
.avatar-large .brand-avatar{width:96px;height:96px}

/* ===== 登录页 ===== */
*{box-sizing:border-box;margin:0;padding:0}
body.login-body{min-height:100vh;display:flex;align-items:center;justify-content:center;
  font-family:-apple-system,"PingFang SC","Microsoft YaHei",sans-serif;
  background:linear-gradient(135deg,#0f2027 0%,#203a43 50%,#2c5364 100%);}
.login-card{width:380px;max-width:92vw;padding:40px 34px 30px;border-radius:18px;
  background:rgba(255,255,255,.97);box-shadow:0 24px 64px rgba(0,0,0,.35);}
.login-card .brand{flex-direction:column;justify-content:center;margin-bottom:26px;gap:14px}
.login-card .brand-name{font-size:22px;color:#203a43}
.login-sub{text-align:center;font-size:13px;color:#8a95a0;margin:-16px 0 22px}
.form-item{margin-bottom:16px}
.form-item label{display:block;font-size:13px;color:#5b6673;margin-bottom:7px}
.form-item input{width:100%;height:44px;padding:0 14px;border:1px solid #dfe4ea;border-radius:10px;
  font-size:14px;outline:none;transition:.2s;background:#fafbfc}
.form-item input:focus{border-color:#2c5364;background:#fff;box-shadow:0 0 0 3px rgba(44,83,100,.1)}
.btn-login{width:100%;height:46px;margin-top:8px;border:0;border-radius:10px;cursor:pointer;
  font-size:15px;font-weight:600;color:#fff;letter-spacing:1px;
  background:linear-gradient(135deg,#203a43,#2c5364);transition:.2s}
.btn-login:hover{opacity:.9;transform:translateY(-1px)}
.btn-login:disabled{opacity:.6;cursor:not-allowed;transform:none}
.msg{min-height:20px;margin-top:12px;font-size:13px;text-align:center;color:#e0483b;word-break:break-all}
.msg.ok{color:#1a9e5c}
.login-foot{margin-top:20px;text-align:center;font-size:12px;color:#a8b1ba}

/* ===== 后台主页 ===== */
body.admin-body{min-height:100vh;background:#f2f5f8;
  font-family:-apple-system,"PingFang SC","Microsoft YaHei",sans-serif;color:#243440}
.topbar{display:flex;align-items:center;justify-content:space-between;padding:14px 26px;
  background:#fff;box-shadow:0 2px 12px rgba(20,40,60,.07);position:sticky;top:0;z-index:9}
.topbar .brand-name{font-size:18px;color:#203a43}
.topbar-right{display:flex;align-items:center;gap:18px;font-size:13px;color:#67737e}
.topbar-right a{color:#2c5364;text-decoration:none}
.topbar-right a:hover{text-decoration:underline}
.wrap{max-width:1080px;margin:0 auto;padding:26px 20px 60px}
.hero{display:flex;align-items:center;gap:22px;padding:28px;border-radius:16px;color:#fff;
  background:linear-gradient(135deg,#203a43,#2c5364);box-shadow:0 14px 40px rgba(32,58,67,.28)}
.hero .brand-avatar{width:76px;height:76px;border-width:3px}
.hero h1{font-size:22px;margin-bottom:6px}
.hero p{font-size:13px;opacity:.82}
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:16px;margin-top:24px}
.card{background:#fff;border-radius:14px;padding:20px;box-shadow:0 4px 16px rgba(20,40,60,.06);
  transition:.2s;text-decoration:none;color:#243440;display:block}
.card:hover{transform:translateY(-3px);box-shadow:0 10px 28px rgba(20,40,60,.12)}
.card h3{font-size:15px;margin-bottom:6px}
.card span{font-size:12px;color:#8a95a0}
