/* 典藏綠金 — 115 全國教務會議報到系統共用主題 */
:root{
  --green:#0e4a34; --green-d:#0a3526; --green-l:#19694b;
  --gold:#c4a04a; --gold-d:#a8863a; --gold-l:#e3cd92; --gold-bg:#fcf9f0;
  --paper:#f7f4ec; --ink:#1c2b22; --muted:#6b7d72; --line:#ece6d5;
  --red:#b42318; --green-ok:#15803d;
}
*{ box-sizing:border-box; -webkit-tap-highlight-color:transparent; }
body{
  margin:0; color:var(--ink); line-height:1.55;
  font-family:"Noto Sans CJK TC","Noto Sans TC","PingFang TC","Microsoft JhengHei",system-ui,sans-serif;
  background:radial-gradient(circle at 50% -8%, #eef2ea, var(--paper)) fixed;
}
.serif{ font-family:"Noto Serif CJK TC","Songti TC",serif; }

/* 版心與頁首 */
.wrap{ max-width:480px; margin:0 auto; padding:18px 16px 44px; }
.masthead{ text-align:center; padding:14px 0 16px; }
.masthead .badge{ height:66px; margin-bottom:9px; }
.masthead h1{ font-size:17px; color:var(--green); margin:0 0 3px; font-weight:700; letter-spacing:.5px; }
.masthead p{ font-size:11px; color:var(--muted); margin:0; letter-spacing:2px; }

/* 卡片（雙金線邊框）*/
.card{ background:#fff; border-radius:7px; position:relative; overflow:hidden;
  box-shadow:0 12px 40px rgba(14,74,52,.13); border:1px solid var(--line); }
.card::before{ content:""; position:absolute; inset:7px; border:1px solid var(--gold-l);
  border-radius:4px; pointer-events:none; z-index:2; }
.topbar{ background:linear-gradient(135deg,var(--green),var(--green-d)); color:var(--gold-l);
  padding:10px 20px; display:flex; justify-content:space-between; align-items:center;
  font-size:12px; letter-spacing:1px; }
.topbar .id{ color:#fff; }
.gold-rule{ height:2px; background:linear-gradient(90deg,transparent,var(--gold),transparent); }
.card-body{ padding:24px 24px 22px; position:relative; }
.card-body.watermark::after{ content:""; position:absolute; inset:0; pointer-events:none; z-index:0;
  background:url(/static/badge_web.png) center 42% / 190px no-repeat; opacity:.05; }
.card-body > *{ position:relative; z-index:1; }

/* 文字元素 */
.kicker{ font-size:11px; letter-spacing:4px; color:var(--gold); text-align:center; margin-bottom:3px; }
.name{ font-size:34px; font-weight:700; text-align:center; color:var(--green); margin:0 0 5px; letter-spacing:2px; }
.org{ text-align:center; color:var(--muted); font-size:14px; margin:0 0 18px; }
.org b{ color:var(--ink); font-weight:600; }

/* 簽到區域 */
.region{ border:1px solid var(--gold-l); border-radius:5px; text-align:center; padding:14px;
  margin-bottom:14px; background:linear-gradient(180deg,#fcfaf3,#f7f2e6); }
.region small{ color:var(--gold); letter-spacing:6px; font-size:11px; }
.region .v{ font-size:28px; font-weight:700; color:var(--green); margin-top:3px; letter-spacing:3px; }

/* 按鈕 */
.btn{ width:100%; border:none; border-radius:5px; padding:16px; font-size:18px; font-weight:700;
  letter-spacing:4px; color:var(--gold-l); cursor:pointer;
  background:linear-gradient(135deg,var(--green),var(--green-d)); box-shadow:0 6px 16px rgba(14,74,52,.25); }
.btn:active{ transform:translateY(1px); }
.btn.alt{ background:#fff; color:var(--green); border:1.5px solid var(--gold); box-shadow:none; }
.btn-ghost{ width:100%; background:none; border:1px solid var(--line); color:var(--muted);
  border-radius:5px; padding:12px; font-size:14px; font-weight:600; cursor:pointer; }

/* 表單 */
.field{ margin-bottom:14px; }
.field > label.lab{ display:block; font-size:13px; color:var(--muted); margin-bottom:6px; font-weight:600; }
.field input[type=text]{ width:100%; padding:13px 14px; font-size:17px; border:1.5px solid var(--line);
  border-radius:6px; background:#fff; letter-spacing:1px; }
.field input[type=text]:focus{ outline:none; border-color:var(--gold); }
.req{ color:var(--red); }
.seg{ display:flex; gap:8px; }
.seg input{ position:absolute; opacity:0; pointer-events:none; }
.seg label{ flex:1; text-align:center; padding:12px; border:1.5px solid var(--line); border-radius:6px;
  font-size:16px; font-weight:700; color:#475569; cursor:pointer; background:#fff; }
.seg input:checked + label{ border-color:var(--gold); background:var(--gold-bg); color:var(--green); }

.foot{ text-align:center; color:var(--muted); font-size:11px; margin-top:16px; letter-spacing:2px; }
