/* ====== 149 全国导游资格证 · 登机牌（青绿 + 票根撕边） ====== */
.tsk.tgp{
  --tsk-bg:#e7f0ef;
  --tsk-card:#ffffff;
  --tsk-card-2:#eef5f4;
  --tsk-ink:#173e3c;
  --tsk-sub:#4e706d;
  --tsk-faint:#87a4a1;
  --tsk-line:#bfd6d3;
  --tsk-line-2:#d9e8e6;
  --tsk-brand:#0e7c7b;
  --tsk-brand-2:#0a5a59;
  --tsk-brand-soft:#dcefef;
  --tsk-brand-ink:#0a5a59;
  --tsk-dim:#3fa3a1;
  --tsk-ok:#1f7a4d;
  --tsk-ok-soft:#e2f4ea;
  --tsk-bad:#c23b3b;
  --tsk-bad-soft:#fbeaea;
  --tsk-warn:#b07a10;
  --tsk-warn-soft:#faf0d8;
  background:
    repeating-linear-gradient(-45deg, rgba(14,124,123,.05) 0 10px, transparent 10px 26px),
    var(--tsk-bg);
}
:root[data-theme="dark"] .tsk.tgp{
  --tsk-bg:#0d211f;
  --tsk-card:#122b28;
  --tsk-card-2:#173531;
  --tsk-ink:#d8ece9;
  --tsk-sub:#9cc2bd;
  --tsk-faint:#68908b;
  --tsk-line:#26514b;
  --tsk-line-2:#1d403c;
  --tsk-brand:#4fd1c5;
  --tsk-brand-2:#8ae3d8;
  --tsk-brand-soft:rgba(79,209,197,.14);
  --tsk-brand-ink:#8ae3d8;
  --tsk-dim:#3fa3a1;
  --tsk-ok:#5ecf96;
  --tsk-ok-soft:rgba(94,207,150,.14);
  --tsk-bad:#ff9d9d;
  --tsk-bad-soft:rgba(255,157,157,.13);
  --tsk-warn:#ffd47e;
  --tsk-warn-soft:rgba(255,212,126,.13);
  background:
    repeating-linear-gradient(-45deg, rgba(79,209,197,.05) 0 10px, transparent 10px 26px),
    var(--tsk-bg);
}
.tgp-hero{display:grid;grid-template-columns:minmax(0,1fr) 394px;gap:30px;padding:30px 0 24px;align-items:stretch;}
.tgp-hero-l{display:flex;flex-direction:column;}
.tgp-hero-l>.tsk-hs{flex:1 1 auto;}
.tgp-hero-l .tsk-h1 b{color:var(--tsk-brand-ink);}

/* 登机牌表单卡 */
.tgp-pass{align-self:start;background:var(--tsk-card);border:1px solid var(--tsk-line);border-radius:10px;box-shadow:var(--tsk-shadow);overflow:hidden;position:relative;}
.tgp-pass-hd{display:flex;justify-content:space-between;align-items:center;padding:11px 16px;background:var(--tsk-brand);}
.tgp-pass-hd span{font:800 12.5px/1.4 var(--tsk-num);letter-spacing:.08em;color:#fff;}
.tgp-pass-hd i{font-style:normal;font:700 10px/1.4 var(--tsk-num);letter-spacing:.14em;color:rgba(255,255,255,.82);}
:root[data-theme="dark"] .tgp-pass-hd span{color:#0d211f;}
:root[data-theme="dark"] .tgp-pass-hd i{color:rgba(13,33,31,.7);}
.tgp-route{display:flex;align-items:center;gap:8px;padding:10px 16px;border-bottom:1px solid var(--tsk-line-2);font:800 11.5px/1.4 var(--tsk-num);letter-spacing:.1em;color:var(--tsk-sub);}
.tgp-route b{color:var(--tsk-brand-ink);}
.tgp-route span{color:var(--tsk-brand);font-size:13px;}
.tgp-dash{flex:1;border-top:2px dashed var(--tsk-line);}
.tgp-pass-body{padding:12px 16px 14px;}
.tgp-row2{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.tgp-field{margin-top:11px;}
.tgp-row2 .tgp-field{margin-top:11px;}
.tgp-pass-body .tgp-field:first-child,.tgp-pass-body .tgp-row2:first-child .tgp-field{margin-top:2px;}
.tgp-field label{display:block;margin-bottom:5px;font:700 11px/1.5 var(--tsk-num);letter-spacing:.08em;color:var(--tsk-sub);}
.tgp-field label::before{content:"▸ ";color:var(--tsk-brand);}
.tgp-field select,.tgp-field input{width:100%;height:37px;padding:0 10px;border:1px solid var(--tsk-line);border-radius:6px;background:var(--tsk-card-2);color:var(--tsk-ink);font:600 13.5px/37px var(--tsk-num);outline:none;transition:border-color .16s,box-shadow .16s;}
.tgp-field select:focus,.tgp-field input:focus{border-color:var(--tsk-brand);box-shadow:0 0 0 3px var(--tsk-brand-soft);}
.tgp-field.bad select,.tgp-field.bad input{border-color:var(--tsk-bad);}
.tgp-pass .tsk-btn-main{width:100%;margin-top:15px;background:var(--tsk-brand);color:#fff;border-radius:6px;letter-spacing:.04em;}
:root[data-theme="dark"] .tgp-pass .tsk-btn-main{color:#0d211f;}
.tgp-stub{position:relative;display:flex;justify-content:space-between;gap:8px;margin-top:14px;border-top:2px dashed var(--tsk-line);padding:11px 16px 13px;font:700 10px/1.6 var(--tsk-num);letter-spacing:.12em;color:var(--tsk-faint);}
.tgp-stub::before,.tgp-stub::after{content:"";position:absolute;top:-10px;width:16px;height:16px;border-radius:50%;background:var(--tsk-bg);}
.tgp-stub::before{left:-9px;}
.tgp-stub::after{right:-9px;}

/* 结果 */
.tgp-result{margin:4px 0 26px;background:var(--tsk-card);border:1px solid var(--tsk-brand);border-radius:10px;box-shadow:var(--tsk-shadow);padding:22px 24px;}
.tgp-res-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(158px,1fr));gap:11px;}
.tgp-res-card{background:var(--tsk-card-2);border:1px solid var(--tsk-line-2);border-radius:6px;padding:15px 17px;}
.tgp-res-card b{display:block;font:800 22px/1.2 var(--tsk-num);color:var(--tsk-ink);font-variant-numeric:tabular-nums;}
.tgp-res-card span{display:block;margin-top:5px;font-size:11.5px;font-weight:700;color:var(--tsk-faint);}
.tgp-res-card i{display:block;margin-top:3px;font-style:normal;font-size:10.5px;color:var(--tsk-sub);}
.tgp-res-card.tgp-main{background:var(--tsk-brand-soft);border-color:var(--tsk-brand);}
.tgp-res-card.tgp-main b{color:var(--tsk-brand-ink);}
.tgp-alert{margin-top:13px;padding:12px 14px;border-left:3px solid var(--tsk-brand);border-radius:0 6px 6px 0;background:var(--tsk-card-2);font-size:12px;line-height:1.85;color:var(--tsk-sub);}
.tgp-alert b{color:var(--tsk-brand-ink);}
.tgp-alert.is-ok{border-left-color:var(--tsk-ok);}
.tgp-alert.is-ok b{color:var(--tsk-ok);}
.tgp-alert.is-warn{border-left-color:var(--tsk-warn);}
.tgp-alert.is-warn b{color:var(--tsk-warn);}
.tgp-alert.is-bad{border-left-color:var(--tsk-bad);}
.tgp-alert.is-bad b{color:var(--tsk-bad);}
.tgp-plan{margin-top:14px;}
.tgp-plan .tgp-table{margin-bottom:12px;}
.tgp-copy{background:var(--tsk-card-2);border:1px solid var(--tsk-line);color:var(--tsk-brand-ink);font-weight:700;}

.tgp-scroll{overflow-x:auto;border-radius:6px;box-shadow:var(--tsk-shadow-sm);}
.tgp-table{width:100%;min-width:560px;border-collapse:collapse;background:var(--tsk-card);}
.tgp-table.is-wide{border:1px solid var(--tsk-line);}
.tgp-table th,.tgp-table td{padding:10px 14px;font-size:12.5px;line-height:1.7;border-bottom:1px solid var(--tsk-line-2);text-align:left;}
.tgp-table thead th{background:var(--tsk-brand-soft);font:800 11px/1.7 var(--tsk-num);color:var(--tsk-brand-ink);letter-spacing:.06em;}
.tgp-table tbody tr:last-child td{border-bottom:0;}
.tgp-table tbody tr:hover td{background:var(--tsk-card-2);}
.tgp-strong{font-weight:800;color:var(--tsk-ink);}
.tgp-tag{display:inline-block;padding:2px 9px;border-radius:999px;background:var(--tsk-brand-soft);color:var(--tsk-brand-ink);font:800 11.5px/1.7 var(--tsk-num);}

@media (max-width:900px){
  .tgp-hero{grid-template-columns:1fr;gap:22px;}
  .tgp-pass{align-self:stretch;}
  .tgp-row2{grid-template-columns:1fr 1fr;}
}
