/* team_ops：手機優先，對齊主站藍綠／白卡 */
:root{
  --to-blue:#0d6efd;
  --to-blue-dark:#0a58ca;
  --to-teal:#20c997;
  --to-teal-dark:#198754;
  --to-ink:#212529;
  --to-muted:#6c757d;
  --to-line:#e9ecef;
  --to-bg:#f3f6fb;
  --to-card:#fff;
  --to-radius:16px;
  --to-shadow:0 2px 10px rgba(13,110,253,.06);
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans TC","Microsoft JhengHei",sans-serif;font-size:17px;line-height:1.55;color:var(--to-ink);background:var(--to-bg)}
a{color:var(--to-blue)}
a:hover{color:var(--to-blue-dark)}

/* 頂欄 */
.topbar{background:linear-gradient(135deg,var(--to-blue) 0%,#0b5ed7 55%,var(--to-teal) 100%);color:#fff;position:sticky;top:0;z-index:10;box-shadow:0 2px 10px rgba(13,110,253,.22)}
.topbar-public{background:linear-gradient(135deg,#0d6efd 0%,#0b5ed7 60%,#20c997 100%)}
.topbar-in{display:flex;align-items:center;justify-content:space-between;max-width:760px;margin:0 auto;padding:10px 14px;gap:10px}
.brand{color:#fff;text-decoration:none;font-weight:700;font-size:18px}
.brand-logo{display:flex;align-items:center;gap:10px;min-width:0}
.brand-logo-img{width:44px;height:44px;border-radius:50%;object-fit:cover;background:#fff;border:2px solid rgba(255,255,255,.95);box-shadow:0 2px 6px rgba(0,0,0,.18);flex-shrink:0}
.brand-text{display:flex;flex-direction:column;line-height:1.2;min-width:0}
.brand-name{font-size:17px;font-weight:800;letter-spacing:.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.brand-sub{font-size:12px;font-weight:500;opacity:.9;color:#e7f1ff}
.top-link{color:#dbeafe;text-decoration:none;font-size:14px;font-weight:600;white-space:nowrap;padding:8px 10px;border-radius:999px;background:rgba(255,255,255,.12)}
.top-link:hover{background:rgba(255,255,255,.22);color:#fff}
.top-link-home{border:1px solid rgba(255,255,255,.35)}

.tabs{display:flex;overflow-x:auto;max-width:760px;margin:0 auto;padding:0 8px;gap:4px;-webkit-overflow-scrolling:touch}
.tabs a{flex:0 0 auto;color:#dbeafe;text-decoration:none;padding:8px 12px 10px;font-size:15px;border-bottom:3px solid transparent;white-space:nowrap}
.tabs a.on{color:#fff;border-bottom-color:#fff;font-weight:700}
.badge{display:inline-block;min-width:20px;padding:0 6px;margin-left:4px;border-radius:10px;background:#ef4444;color:#fff;font-size:12px;line-height:20px;text-align:center}

.wrap{max-width:760px;margin:0 auto;padding:16px 14px 28px}
.is-public .wrap{padding-bottom:18px}
h1{font-size:22px;margin:4px 0 12px;color:var(--to-ink)}
h2{font-size:19px;margin:20px 0 10px}
h3{font-size:17px;margin:14px 0 8px}

/* 白卡 */
.card{background:var(--to-card);border-radius:var(--to-radius);padding:18px 16px;margin:0 0 14px;box-shadow:var(--to-shadow);border:1px solid var(--to-line)}
.page-hero{padding:18px 16px;margin-bottom:14px;background:linear-gradient(180deg,#fff 0%,#f8fbff 100%);border:1px solid #d7e6ff;border-left:4px solid var(--to-blue)}
.page-hero h1{margin:0 0 6px;font-size:22px;display:flex;align-items:center;gap:8px}
.page-hero .hero-icon{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:10px;background:linear-gradient(135deg,rgba(13,110,253,.12),rgba(32,201,151,.15));font-size:18px;flex-shrink:0}
.page-hero p{margin:0;color:var(--to-muted);font-size:15px}
.page-hero .hero-steps{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}
.hero-step{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border-radius:999px;background:#f1f5f9;color:#334155;font-size:13px;font-weight:600}
.hero-step b{color:var(--to-blue)}

.muted{color:var(--to-muted);font-size:15px}
.small{font-size:14px}
.center{text-align:center}
.flash{padding:12px 14px;border-radius:12px;margin:0 0 12px;font-size:16px;border:1px solid transparent}
.flash-ok{background:#d1e7dd;color:#0f5132;border-color:#badbcc}
.flash-warn{background:#fff3cd;color:#664d03;border-color:#ffecb5}
.flash-err{background:#f8d7da;color:#842029;border-color:#f5c2c7}

.field{display:block;margin:0 0 14px}
.field>span{display:block;font-weight:700;margin-bottom:6px;font-size:15px;color:#343a40}
.field small{display:block;color:var(--to-muted);font-size:13px;margin-top:4px}
.req{color:#dc2626}
input[type=text],input[type=tel],input[type=number],input[type=date],input[type=datetime-local],input[type=password],input[type=search],select,textarea{width:100%;font-size:17px;padding:12px 14px;border:1.5px solid #ced4da;border-radius:12px;background:#fff;color:#111;font-family:inherit;transition:border-color .15s,box-shadow .15s}
input:focus,select:focus,textarea:focus{outline:0;border-color:var(--to-blue);box-shadow:0 0 0 3px rgba(13,110,253,.18)}
.field-err{color:#dc2626;font-size:14px;margin-top:4px}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

.btn{display:inline-block;border:0;border-radius:12px;padding:12px 18px;font-size:17px;font-weight:700;cursor:pointer;text-decoration:none;text-align:center;background:#e9ecef;color:#111;font-family:inherit}
.btn-primary{background:linear-gradient(135deg,var(--to-blue),var(--to-blue-dark));color:#fff;box-shadow:0 4px 12px rgba(13,110,253,.25)}
.btn-primary:hover{filter:brightness(1.03)}
.btn-danger{background:#dc2626;color:#fff}
.btn-ghost{background:#fff;color:var(--to-blue);border:1.5px solid #9ec5fe}
.btn-sm{padding:7px 12px;font-size:15px;border-radius:9px}
.btn-block{display:block;width:100%}
.btns{display:flex;gap:8px;flex-wrap:wrap;align-items:center}

.big-choice{display:grid;grid-template-columns:1fr;gap:12px;margin:14px 0}
.big-btn{display:block;width:100%;border:0;border-radius:16px;padding:20px 12px;font-size:20px;font-weight:800;cursor:pointer;font-family:inherit}
.big-yes{background:linear-gradient(135deg,var(--to-teal),var(--to-teal-dark));color:#fff;box-shadow:0 4px 12px rgba(32,201,151,.28)}
.big-no{background:#fff;color:#b91c1c;border:2.5px solid #f1aeb5}
.big-btn.selected{outline:3px solid #ffc107;outline-offset:2px}

.stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:0 0 14px}
.stat{background:#fff;border-radius:14px;padding:12px 8px;text-align:center;box-shadow:var(--to-shadow);border:1px solid var(--to-line)}
.stat b{display:block;font-size:30px;line-height:1.1}
.stat span{font-size:14px;color:var(--to-muted)}
.stat.yes b{color:var(--to-teal-dark)}.stat.no b{color:#dc2626}.stat.none b{color:#9ca3af}

.pill{display:inline-block;padding:2px 10px;border-radius:999px;font-size:13px;font-weight:700;vertical-align:middle}
.pill.green{background:#d1e7dd;color:#0f5132}.pill.orange{background:#fff3cd;color:#664d03}.pill.gray{background:#e9ecef;color:#495057}.pill.blue{background:#cfe2ff;color:#084298}.pill.red{background:#f8d7da;color:#842029}

.list{list-style:none;margin:0;padding:0}
.list li{padding:10px 2px;border-bottom:1px solid #f1f5f9;display:flex;justify-content:space-between;gap:8px;align-items:center}
.list li:last-child{border-bottom:0}
.list .sub{color:var(--to-muted);font-size:14px}
.names{display:flex;flex-wrap:wrap;gap:6px}
.names span{background:#f3f4f6;border-radius:8px;padding:4px 10px;font-size:16px}
.copybox{width:100%;font-size:15px;padding:10px;border:1px dashed #9ec5fe;border-radius:10px;background:#eef5ff;word-break:break-all}
.edit-row{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;padding:8px 0;border-bottom:1px solid #f1f5f9}
.seg{display:inline-flex;border:1px solid #d1d5db;border-radius:10px;overflow:hidden}
.seg label{margin:0}
.seg input{position:absolute;opacity:0;pointer-events:none}
.seg span{display:block;padding:7px 10px;font-size:15px;cursor:pointer;background:#fff}
.seg input:checked+span.y{background:var(--to-teal-dark);color:#fff}
.seg input:checked+span.n{background:#dc2626;color:#fff}
.seg input:checked+span.u{background:#6b7280;color:#fff}
details.card>summary{cursor:pointer;font-weight:700;font-size:17px}
details.card[open]>summary{margin-bottom:12px}
table.tbl{width:100%;border-collapse:collapse;font-size:15px}
.tbl th,.tbl td{text-align:left;padding:8px 6px;border-bottom:1px solid #f1f5f9;vertical-align:top}
.kv{display:grid;grid-template-columns:90px 1fr;gap:4px 10px;font-size:16px}
.kv dt{color:var(--to-muted)}.kv dd{margin:0;word-break:break-all}
.success-mark{font-size:56px;text-align:center;margin:6px 0}

.week-meta{display:grid;gap:6px;margin-top:4px;font-size:15px}
.week-meta b{font-weight:800}

.site-foot{max-width:760px;margin:0 auto 28px;padding:0 14px}
.site-foot-in{display:flex;flex-direction:column;align-items:center;gap:4px;padding:14px 12px;border-radius:14px;background:#fff;border:1px solid var(--to-line);text-align:center}
.site-foot a{font-weight:700;text-decoration:none;color:var(--to-blue)}

/* 後台 embed 時不要被公開頁樣式干擾過多 */
.teamops-embed .topbar{display:none}

@media (min-width:600px){
  .big-choice{grid-template-columns:1fr 1fr}
  .brand-name{font-size:18px}
  .brand-logo-img{width:48px;height:48px}
}

/* 新生報名表（join.php） */
input[type=email]{width:100%;font-size:17px;padding:12px 14px;border:1.5px solid #ced4da;border-radius:12px;background:#fff;color:#111;font-family:inherit;transition:border-color .15s,box-shadow .15s}
.form-sec{display:flex;align-items:center;gap:8px;margin:6px 0 12px;padding:8px 12px;border-radius:12px;background:linear-gradient(135deg,rgba(13,110,253,.08),rgba(32,201,151,.10));color:#0b3d91;font-weight:800;font-size:16px}
.form-sec+.field,.form-sec+.row2{margin-top:0}
.field+.form-sec,.row2+.form-sec,datalist+.form-sec{margin-top:22px}
.form-sec-icon{font-size:17px}
.form-note{margin:-4px 0 12px;font-size:14px;color:#0f5132;background:#e8f7f0;border:1px solid #badbcc;border-radius:10px;padding:8px 12px}
.fee-card{border-left:4px solid var(--to-teal);background:linear-gradient(180deg,#fff 0%,#f4fcf9 100%)}
.fee-title{font-weight:800;color:var(--to-teal-dark);margin-bottom:6px}
.fee-line{font-size:18px;font-weight:800;color:var(--to-ink);margin-bottom:10px}
.fee-bank{display:grid;gap:6px}
.fee-bank>div{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.fee-bank span{display:inline-block;min-width:40px;color:var(--to-muted);font-size:15px}
.fee-bank b{font-size:20px;letter-spacing:.04em;font-variant-numeric:tabular-nums}
.fee-hint{margin:10px 0 0;color:#664d03;background:#fff8e1;border-radius:10px;padding:8px 12px}
.summary-box{margin:0;white-space:pre-wrap;word-break:break-all;font-family:inherit;font-size:16px;line-height:1.7;background:#f8fbff;border:1px dashed #9ec5fe;border-radius:12px;padding:12px 14px;user-select:all;-webkit-user-select:all}
