/* HBG free tools: shared styles */
.tool{--t-ink:#123F43;--t-sage:#83A183;--t-mist:#EEF2EF;--t-line:#D5DED8;--t-text:#1E2B2C;--t-soft:#4A5A5B;--t-warm:#F7F4EC;
  background:#fff;border:1px solid var(--t-line);border-radius:14px;padding:22px;margin:28px 0;color:var(--t-text)}
.tool h2.tool-title{margin:0 0 4px;font-size:1.35rem;color:var(--t-ink)}
.tool .tool-intro{margin:0 0 18px;color:var(--t-soft)}
.tool fieldset{border:0;margin:0 0 20px;padding:0}
.tool legend{font-weight:700;margin-bottom:10px;color:var(--t-ink);font-size:1.02rem;padding:0}
.role-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px}
.role-btn,.yn button,.tool .t-btn{font:inherit;cursor:pointer;border-radius:10px;border:1.5px solid var(--t-line);background:#fff;color:var(--t-text);padding:11px 12px;text-align:left;line-height:1.25;min-height:46px}
.role-btn:hover,.yn button:hover{border-color:var(--t-sage)}
.role-btn[aria-pressed="true"],.yn button[aria-pressed="true"]{background:var(--t-ink);border-color:var(--t-ink);color:#fff}
.role-btn:focus-visible,.yn button:focus-visible,.tool .t-btn:focus-visible,.tool input:focus-visible{outline:3px solid #E0A526;outline-offset:2px}
.q{border-top:1px solid var(--t-line);padding-top:16px;margin-top:4px}
.q p.q-text{margin:0 0 4px;font-weight:600}
.q p.q-hint{margin:0 0 10px;color:var(--t-soft);font-size:.92rem}
.yn{display:flex;gap:8px}
.yn button{min-width:88px;text-align:center}
.result{background:var(--t-mist);border-radius:12px;padding:20px;margin-top:20px}
.result[hidden]{display:none}
.result .r-level{font-size:1.6rem;font-weight:800;color:var(--t-ink);margin:0 0 6px}
.result .r-why{margin:0 0 14px}
.r-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;margin:0 0 14px;padding:0;list-style:none}
.r-facts li{background:#fff;border-radius:10px;padding:10px 12px;font-size:.95rem}
.r-facts b{display:block;color:var(--t-soft);font-size:.82rem;font-weight:600;margin-bottom:2px}
.r-note{background:var(--t-warm);border-left:4px solid #E0A526;padding:10px 12px;border-radius:6px;margin:0 0 14px;font-size:.95rem}
.r-note[hidden]{display:none}
.r-links{margin:0;padding-left:1.1em}
.r-links li{margin:4px 0}
.team{margin-top:18px;border-top:1px dashed var(--t-line);padding-top:16px}
.team-add{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.team-add input{font:inherit;padding:10px 12px;border:1.5px solid var(--t-line);border-radius:10px;flex:1 1 200px;min-width:0}
.tool .t-btn{background:var(--t-ink);border-color:var(--t-ink);color:#fff;text-align:center;font-weight:600}
.tool .t-btn.ghost{background:#fff;color:var(--t-ink)}
.team-list{list-style:none;padding:0;margin:12px 0 0}
.team-list li{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:8px 0;border-bottom:1px solid var(--t-line)}
.team-list .who{font-weight:600}
.team-list .lvl{white-space:nowrap;color:var(--t-ink)}
.team-list button{font:inherit;background:none;border:0;color:var(--t-soft);cursor:pointer;text-decoration:underline;padding:4px}
.team-summary{margin:12px 0 0;font-weight:600;color:var(--t-ink)}
.team[hidden],.team-summary[hidden]{display:none}
.tool-disclaimer{font-size:.88rem;color:var(--t-soft);margin:16px 0 0}
@media (max-width:520px){.tool{padding:16px;border-radius:12px}.role-grid{grid-template-columns:1fr 1fr}.yn button{flex:1}}
@media (prefers-reduced-motion:no-preference){.result{animation:t-in .25s ease-out}@keyframes t-in{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}}
.team-next{background:#EEF2EF;border-radius:10px;padding:14px;margin-top:14px}.team-next[hidden]{display:none}.team-next-msg{margin:0 0 10px;font-weight:600;color:#123F43}
.team-next-btns{display:flex;gap:8px;flex-wrap:wrap}.team-next-btns .t-btn{flex:1 1 160px}
.team-final{background:#EEF2EF;border-radius:12px;padding:18px;margin-top:14px}.team-final[hidden]{display:none}.team-final .r-level{font-size:1.3rem;font-weight:800;color:#123F43;margin:0 0 6px}.team-final-sum{font-weight:600;margin:0 0 12px}.team-final .t-btn{margin-top:12px}
.team-next{background:#E4F3E8;border:1.5px solid #2F8A4E;border-left-width:6px}
.team-next-msg{color:#174A2A}
.team-next #team-again{background:#1F6B3B;border-color:#1F6B3B;color:#fff}
.team-next #team-again:hover{background:#174F2C}
.team-next #team-done{background:#fff;border-color:#1F6B3B;color:#174A2A}
.team-next #team-done:hover{background:#F3FAF5}
/* refresher planner */
.rp-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;align-items:end}
.rp-form label{display:block;font-weight:600;color:var(--t-ink);margin-bottom:6px;font-size:.95rem}
.rp-form input,.rp-form select,.rp-years select{font:inherit;width:100%;padding:10px 12px;border:1.5px solid var(--t-line);border-radius:10px;background:#fff;color:var(--t-text);min-height:46px;box-sizing:border-box}
.rp-form .t-btn{width:100%}
.rp-error{color:#A12B2B;font-weight:600;margin:10px 0 0}
.rp-error[hidden],.rp-out[hidden]{display:none}
.rp-years{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:16px 0 0;font-size:.95rem}
.rp-years select{width:auto}
.rp-out{margin-top:20px}
.rp-summary{font-weight:700;color:var(--t-ink);margin:0 0 10px}
.rp-table{width:100%;border-collapse:collapse;font-size:.95rem}
.rp-table th{text-align:left;font-size:.82rem;color:var(--t-soft);font-weight:600;padding:6px 8px;border-bottom:2px solid var(--t-line)}
.rp-table td{padding:10px 8px;border-bottom:1px solid var(--t-line);vertical-align:top}
.rp-who{font-weight:600}
.rp-badge{display:inline-block;font-weight:700;font-size:.82rem;padding:3px 9px;border-radius:999px;margin-bottom:3px}
.rp-badge.over{background:#FBE3E1;color:#8E2420}
.rp-badge.soon{background:#FDF0D3;color:#7A5300}
.rp-badge.ok{background:#E4F3E8;color:#174A2A}
.rp-left{display:block;color:var(--t-soft);font-size:.85rem}
.rp-rm button{font:inherit;background:none;border:0;color:var(--t-soft);cursor:pointer;text-decoration:underline;padding:4px}
.rp-print-date{display:none}
.team-final .t-btn + .t-btn{margin-left:8px}
@media (max-width:600px){
  .rp-table thead{display:none}
  .rp-table,.rp-table tbody,.rp-table tr,.rp-table td{display:block;width:100%}
  .rp-table tr{border:1px solid var(--t-line);border-radius:10px;padding:10px 12px;margin-bottom:10px}
  .rp-table td{border:0;padding:3px 0}
  .rp-table td[data-l]::before{content:attr(data-l);display:inline-block;min-width:118px;color:var(--t-soft);font-size:.85rem}
}
@media print{
  .topnote,header,footer,.hbg-footer,.prose,.tool-intro,.rp-form,.rp-error,.rp-years,.team-next,.team-final,.rp-rm,.tool-disclaimer,.skip{display:none !important}
  .tool{border:0;padding:0;margin:0}
  .rp-print-date{display:block;margin:4px 0 12px;color:#333}
  .rp-badge{border:1px solid #999}
}
.visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.rp-table tr{box-sizing:border-box}
.prose h1 .h1-sub{display:block;font-size:.48em;font-weight:600;line-height:1.3;margin-top:.45em;color:#4A5A5B}
/* team training cost calculator */
.cc-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px}
.cc-form label{display:block;font-weight:700;color:var(--t-ink);font-size:1.02rem}
.cc-hint{display:block;color:var(--t-soft);font-size:.85rem;line-height:1.3;margin:2px 0 6px;min-height:2.2em}
.cc-form input{font:inherit;width:100%;padding:10px 12px;border:1.5px solid var(--t-line);border-radius:10px;min-height:46px;box-sizing:border-box;font-size:1.1rem}
.tool input:focus-visible{outline:3px solid #E0A526;outline-offset:2px}
.cc-vat{margin:14px 0 0;font-size:.95rem}.cc-vat input{width:18px;height:18px;vertical-align:-3px;margin-right:6px}
.cc-summary{font-weight:700;color:var(--t-ink);margin:20px 0 10px}
.cc-sub{margin:20px 0 10px;color:var(--t-soft);font-size:.95rem}
.cc-list{display:grid;gap:10px}
.cc-card{border:1.5px solid var(--t-line);border-radius:12px;padding:14px 16px;background:#fff}
.cc-card.best{border-color:#2F8A4E;background:#F7FBF8}
.cc-top{display:flex;justify-content:space-between;gap:12px;align-items:baseline;flex-wrap:wrap}
.cc-name{margin:0;font-weight:700;color:var(--t-ink);font-size:1.05rem}
.cc-best{display:inline-block;background:#1F6B3B;color:#fff;font-size:.75rem;font-weight:700;padding:2px 9px;border-radius:999px;margin-left:8px;vertical-align:2px}
.cc-total{margin:0;font-size:1.5rem;font-weight:800;color:var(--t-ink);white-space:nowrap}
.cc-vatnote{font-size:.85rem;font-weight:600;color:var(--t-soft)}
.cc-per{margin:2px 0 6px;color:var(--t-soft);font-size:.92rem}
.cc-notes{margin:6px 0 8px;padding-left:1.1em;font-size:.92rem}.cc-notes li{margin:2px 0}
.cc-miss{color:#7A5300;font-weight:600}
.cc-tip{background:var(--t-warm);border-left:4px solid #E0A526;padding:8px 10px;border-radius:6px;margin:6px 0 10px;font-size:.92rem}
.cc-link{font-weight:700;font-size:.95rem}
.tool-temp{margin:14px 0 0;font-size:.92rem;color:#174A2A;background:#E4F3E8;border-radius:8px;padding:8px 12px}
.rp-date3{border:0;padding:0;margin:0;min-width:0}.rp-d3{display:grid;grid-template-columns:.9fr 1.1fr 1.1fr;gap:6px}
.rp-date3 legend{font-weight:600;color:var(--t-ink);margin-bottom:6px;font-size:.95rem;padding:0}
.rp-date3 select{font:inherit;width:100%;padding:10px 6px;border:1.5px solid var(--t-line);border-radius:10px;background:#fff;color:var(--t-text);min-height:46px;box-sizing:border-box}
.tool .rp-date3 select:focus-visible,.tool select:focus-visible{outline:3px solid #E0A526;outline-offset:2px}
@media print{.tool-temp{display:none!important}}
.rp-form{grid-template-columns:1.2fr .9fr 1.9fr auto}@media(max-width:760px){.rp-form{grid-template-columns:1fr 1fr}.rp-datecell,.rp-form>div:last-child{grid-column:1/-1}}
.rp-form input,.rp-form select{height:48px;min-height:48px}.rp-form .t-btn{height:48px}.rp-date3 legend{line-height:1.2;margin-bottom:6px}.rp-form label{line-height:1.2}
.tool fieldset.rp-date3{margin:0}
.tool .tool-temp{margin-top:14px}
/* course chooser */
.ch-opts{flex-wrap:wrap}.ch-opts button{min-width:0;flex:0 1 auto}
.ch-progress{margin:16px 0 0;color:var(--t-soft);font-weight:600}
.ch-progress:empty{display:none}
.ch-price{margin:0 0 12px;font-weight:700;color:var(--t-ink)}
.ch-cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;margin-bottom:14px}
.ch-col{background:#fff;border-radius:10px;padding:12px 14px}
.ch-h{font-weight:700;color:var(--t-ink);margin:0 0 6px}
.ch-list,.ch-also-list{margin:0;padding-left:1.1em;font-size:.95rem}.ch-list li,.ch-also-list li{margin:3px 0}
.ch-go{display:inline-block;text-decoration:none;margin:0 0 14px}
.ch-also{margin-top:6px}
.ch-more{font-size:.95rem;margin:14px 0}
.ch-reset{margin-top:4px}
@media (max-width:520px){.ch-opts button{flex:1 1 100%}}
/* Answer buttons: tinted, raised and easy to spot (all tools) */
.tool .role-btn,.tool .yn button{background:#EEF6F0;border:1.5px solid #9DC2A8;color:#123F43;font-weight:600;box-shadow:0 2px 0 #C9DDCF;transition:background .15s,border-color .15s,box-shadow .15s,transform .15s}
.tool .role-btn:hover,.tool .yn button:hover{background:#E1F0E5;border-color:#2F8A4E;box-shadow:0 3px 0 #9DC2A8;transform:translateY(-1px)}
.tool .role-btn[aria-pressed="true"],.tool .yn button[aria-pressed="true"]{background:#1F6B3B;border-color:#1F6B3B;color:#fff;box-shadow:0 2px 0 #174F2C;transform:none}
.tool .role-btn[aria-pressed="true"]::before,.tool .yn button[aria-pressed="true"]::before{content:"\2713\00a0";font-weight:700}
@media (prefers-reduced-motion:reduce){.tool .role-btn,.tool .yn button{transition:none}.tool .role-btn:hover,.tool .yn button:hover{transform:none}}
.rp-print-logo{display:none}
@media print{.rp-print-logo{display:block;width:200px;height:auto;margin:0 0 8px}}
