:root{
  --blue:#1e5fd6; --blue-d:#174bb0; --orange:#ff7a18; --ink:#1f2733;
  --muted:#6b7785; --line:#e6ebf2; --bg:#f4f7fb; --card:#fff;
}
*{box-sizing:border-box;}
body{margin:0;font-family:-apple-system,"PingFang SC","Microsoft YaHei",Segoe UI,sans-serif;color:var(--ink);background:var(--bg);line-height:1.6;}
.wrap{max-width:960px;margin:0 auto;padding:0 18px;}
.topbar{background:linear-gradient(120deg,var(--blue),var(--blue-d));color:#fff;padding:14px 0;box-shadow:0 2px 10px rgba(0,0,0,.08);}
.topbar-inner{display:flex;align-items:center;justify-content:space-between;}
.brand{font-weight:700;font-size:18px;}
.brand .sub{font-weight:400;font-size:13px;opacity:.85;}
.brand .mark{display:inline-block;background:var(--orange);color:#fff;width:30px;height:30px;line-height:30px;text-align:center;border-radius:8px;margin-right:8px;font-size:16px;vertical-align:middle;}
.form-hero{text-align:center;padding:34px 0 10px;}
.form-hero h1{font-size:28px;margin:0 0 8px;}
.form-hero p{color:var(--muted);margin:0;}
.card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:26px;margin:18px 0;box-shadow:0 4px 18px rgba(30,95,214,.05);}
.field{margin-bottom:18px;}
.field label{display:block;font-weight:600;margin-bottom:7px;font-size:15px;}
.req{color:var(--orange);}
.field input[type=text],.field input[type=tel],.field select,.field textarea{
  width:100%;padding:11px 13px;border:1px solid var(--line);border-radius:9px;font-size:15px;background:#fbfdff;transition:border-color .2s;
}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--blue);}
.radios label{margin-right:18px;font-weight:400;cursor:pointer;}
.err{color:#e23b3b;font-size:13px;display:block;min-height:0;margin-top:5px;}
.btn-primary{background:var(--blue);color:#fff;border:none;padding:12px 26px;border-radius:9px;font-size:16px;font-weight:600;cursor:pointer;transition:background .2s;}
.btn-primary:hover{background:var(--blue-d);}
.btn-primary:disabled{opacity:.6;cursor:not-allowed;}
.btn-ghost{background:#eef3fb;color:var(--blue);border:1px solid var(--line);padding:9px 18px;border-radius:9px;font-weight:600;cursor:pointer;}
.btn-ghost:hover{background:#e3ecfb;}
.result{margin-top:14px;font-weight:600;text-align:center;border-radius:9px;padding:10px;display:none;}
.ok-show{display:block;background:#eafaf0;color:#1a8a4a;}
.err-show{display:block;background:#fdecec;color:#cf2b2b;}
.tip{text-align:center;color:var(--muted);font-size:13px;margin-bottom:30px;}
/* login */
.login-box{max-width:340px;margin:90px auto;background:#fff;border:1px solid var(--line);border-radius:14px;padding:30px;box-shadow:0 6px 24px rgba(0,0,0,.07);text-align:center;}
.login-box h2{margin:0 0 18px;}
.login-box input{width:100%;padding:11px 13px;border:1px solid var(--line);border-radius:9px;margin-bottom:14px;font-size:15px;}
/* filters */
.filters{display:flex;flex-wrap:wrap;gap:10px;align-items:center;}
.filters input,.filters select{padding:9px 11px;border:1px solid var(--line);border-radius:8px;font-size:14px;}
.filters #fKw{flex:1;min-width:160px;}
.count{margin-left:auto;color:var(--muted);font-size:14px;}
/* table */
.table-wrap{padding:0;overflow:auto;}
table{width:100%;border-collapse:collapse;font-size:14px;}
th,td{padding:11px 12px;text-align:left;border-bottom:1px solid var(--line);white-space:nowrap;}
th{background:#f7f9fc;font-weight:600;position:sticky;top:0;}
tbody tr:hover{background:#fafcff;}
.status-pill{padding:2px 9px;border-radius:20px;font-size:12px;background:#eef3fb;color:var(--blue);}
/* embed 模式：嵌入官网时隐藏报名页自带 header/hero，由官网板块提供标题 */
.embed .topbar{display:none;}
.embed .form-hero{display:none;}
.embed .card{margin-top:0;box-shadow:none;border:none;padding:0 0 6px;}
