*{box-sizing:border-box;margin:0;font-family:-apple-system,"PingFang SC","Microsoft YaHei",sans-serif}
body{background:#f3f4f6;color:#222;max-width:480px;margin:0 auto;min-height:100vh}
.screen{min-height:100vh;display:flex;flex-direction:column}.hidden{display:none}
.muted{color:#9aa0aa}.msg{color:#e23;font-size:13px;margin-top:6px}
.logo{font-size:30px;font-weight:800;color:#ff6b35;text-align:center;margin:14vh 0 6px}
/* 登录页副标题必须与 .logo 同轴居中。
   只作用于 #login 内的 .muted: 其他页面的 .muted 是卡片内的说明文字, 应保持左对齐;
   也刻意不动 .logo 的 text-align(它同时被其他地方复用)。 */
#login .muted{text-align:center}
input{padding:11px 14px;border:1px solid #e5e7eb;border-radius:10px;font-size:15px;width:84%;margin:8px auto;display:block}
button{background:#ff6b35;color:#fff;border:0;padding:11px 0;border-radius:10px;width:84%;font-size:15px;margin:8px auto;display:block}
.topbar{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;background:#fff;border-bottom:1px solid #eee;font-weight:600}
.topbar a{color:#ff6b35;cursor:pointer}
.list{flex:1;overflow:auto;padding:12px}
.card{background:#fff;border-radius:14px;padding:14px;margin-bottom:12px;box-shadow:0 2px 8px rgba(0,0,0,.04)}
.card h4{margin:0 0 6px}.muted{font-size:12px}
.bar{height:8px;background:#eee;border-radius:5px;overflow:hidden;margin:8px 0}
.bar>i{display:block;height:100%;background:#ff6b35}
.tag{background:#fff0e8;color:#ff6b35;padding:2px 8px;border-radius:6px;font-size:12px}
/* 「已付款」用绿色区分于状态标签(橙), 避免与 status 视觉混淆 */
.tag.ok{background:#e8f7ee;color:#16a34a}
.btn-sm{width:auto;padding:7px 14px;font-size:13px;display:inline-block;margin:6px 0 0}
.tabbar{display:flex;background:#fff;border-top:1px solid #eee}
.tabbar span{flex:1;text-align:center;padding:12px;font-size:14px;color:#9aa0aa}
.tabbar span.active{color:#ff6b35;font-weight:700}
.body{flex:1;padding:16px;overflow:auto}.center{text-align:center}
.code{font-size:30px;font-weight:800;letter-spacing:3px;color:#ff6b35;margin:18px 0}
.chat{flex:1;overflow:auto;padding:12px}
.bubble{margin:8px 0;padding:9px 12px;border-radius:12px;max-width:80%;font-size:14px}
.bubble.me{background:#ff6b35;color:#fff;margin-left:auto}
.bubble.ai{background:#fff}
.inputbar{display:flex;gap:8px;padding:10px;border-top:1px solid #eee;background:#fff}
.inputbar input{flex:1;margin:0}.inputbar button{width:auto;padding:0 18px;margin:0}

/* ---- 统一 toast 提示 (替代阻塞式 alert, 见 app.js::toast) ---- */
/* 固定顶部居中, 层级高于所有内容; pointer-events:none 避免遮挡下方按钮点击 */
.toast{position:fixed;left:50%;top:18px;transform:translateX(-50%);z-index:9999;
  max-width:86vw;padding:10px 16px;border-radius:10px;font-size:14px;line-height:1.4;
  color:#fff;background:#333;box-shadow:0 4px 16px rgba(0,0,0,.18);
  display:none;pointer-events:none;word-break:break-word}
.toast--error{background:#e5484d}
.toast--success{background:#16a34a}
@media (prefers-reduced-motion:no-preference){
  .toast{animation:toast-in .18s ease-out}
  @keyframes toast-in{from{opacity:0;transform:translate(-50%,-6px)}to{opacity:1;transform:translate(-50%,0)}}
}

/* ---- 管理后台: 子标签 + 退出登录 + 开团表单 ---- */
.tabbar-inline{display:flex;border:1px solid #eee;border-radius:10px;overflow:hidden;margin-bottom:4px}
.tabbar-inline span{flex:1;text-align:center;padding:9px 4px;font-size:13px;color:#9aa0aa;cursor:pointer;border-right:1px solid #eee}
.tabbar-inline span:last-child{border-right:0}
.tabbar-inline span.active{background:#ff6b35;color:#fff;font-weight:700}
.logout-btn{width:auto!important;padding:9px 18px!important;font-size:13px;background:#6b7280!important;margin:10px auto 4px!important}
.admin-form label{display:block;font-size:13px;color:#555;margin:10px 0 4px}
.admin-form input{width:100%;margin:0}
.admin-form textarea{width:100%;min-height:72px;padding:10px;border:1px solid #e5e7eb;border-radius:10px;font-size:14px;font-family:inherit;resize:vertical}
.kv{display:flex;justify-content:space-between;font-size:13px;margin:4px 0}
