/* v3: component styles fully scoped; full-width template bypasses the theme's post/sidebar columns */
.tfbb-page-shell{box-sizing:border-box!important;display:block!important;width:100%!important;max-width:none!important;min-width:0!important;overflow:visible!important;margin:0!important;padding:0!important;float:none!important;background:#fff}
.tfbb-calculator-page #tfbb-page-main>*{max-width:none}
#tfbb-tool,#tfbb-tool *{box-sizing:border-box!important}
#tfbb-tool{--tfink:#25352f;--tfmuted:#687871;--tfline:#dfe7df;--tfgreen:#305f51;--tflight:#f3f7f3;--tfsurface:#fff;display:block!important;position:static!important;transform:none!important;float:none!important;clear:both!important;width:min(1020px,calc(100% - 44px))!important;max-width:1020px!important;margin:36px auto 78px!important;padding:0!important;color:var(--tfink);background:#fff;isolation:isolate;font-family:inherit;font-size:16px;line-height:1.55;text-align:left;overflow-wrap:break-word}
#tfbb-tool :is(h1,h2,h3,p){margin:0!important;padding:0!important;border:0!important;max-width:none;letter-spacing:normal!important;text-transform:none!important;line-height:1.25}
#tfbb-tool h1,#tfbb-tool h2,#tfbb-tool h3{font-family:inherit!important;font-weight:750!important;color:var(--tfink)!important}
#tfbb-tool h1{font-size:clamp(30px,4.1vw,46px)!important;letter-spacing:-.04em!important;line-height:1.13!important;max-width:790px}
#tfbb-tool h2{font-size:clamp(23px,2.5vw,29px)!important;letter-spacing:-.025em!important}
#tfbb-tool h3{font-size:20px!important}
#tfbb-tool p{line-height:1.7!important}
#tfbb-tool a{color:#235d4c!important;text-decoration:underline!important;text-underline-offset:3px!important}
#tfbb-tool button,#tfbb-tool select,#tfbb-tool input{font-family:inherit!important;box-shadow:none!important;letter-spacing:normal!important;text-transform:none!important;font-size:16px!important}
#tfbb-tool :is(button,select,input,summary,a):focus-visible{outline:3px solid #689f89!important;outline-offset:3px}
#tfbb-tool button{cursor:pointer!important;min-height:44px!important;border-radius:9px!important;line-height:1.3!important}
#tfbb-tool .tfbb-hero{max-width:830px;margin-bottom:33px}
#tfbb-tool .tfbb-eyebrow{font-size:11px!important;letter-spacing:.13em;font-weight:750;color:#547666;display:inline-block;margin:0 0 16px}
#tfbb-tool .tfbb-eyebrow span{padding:0 5px}
#tfbb-tool .tfbb-hero>p{font-size:17px!important;line-height:1.75!important;color:#58665d!important;max-width:750px;margin:16px 0 0!important}
#tfbb-tool .tfbb-trust{display:flex;flex-wrap:wrap;gap:12px;margin-top:18px;color:#5a7367;font-size:13px;font-weight:600}
#tfbb-tool .tfbb-trust span+span::before{content:'·';margin-right:12px;color:#a8b9ae}
#tfbb-tool .tfbb-panel{background:#fff;border:1px solid var(--tfline);border-radius:14px;padding:32px;margin-top:18px;min-width:0;box-shadow:0 3px 18px rgba(46,67,56,.025)}
#tfbb-tool .tfbb-step-label{font-weight:800;color:#5b8974;font-size:11px!important;letter-spacing:.1em;display:inline-block;margin-bottom:12px}
#tfbb-tool .tfbb-step-label span{padding-left:9px}
#tfbb-tool .tfbb-subtitle{font-size:15px!important;color:var(--tfmuted)!important;line-height:1.6!important;margin-top:8px!important}
#tfbb-tool .tfbb-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin-top:25px}
#tfbb-tool .tfbb-choice{min-width:0}
#tfbb-tool .tfbb-choice>label{font-size:14px!important;color:var(--tfink)!important;font-weight:750;display:block;margin:0 0 8px!important;line-height:1.4!important}
#tfbb-tool .tfbb-choice select{width:100%!important;min-width:0!important;max-width:100%!important;min-height:52px!important;height:52px!important;display:block!important;background:#fff!important;color:#243c31!important;border:1px solid #ced9d0!important;border-radius:9px!important;padding:0 38px 0 14px!important;font-size:16px!important;appearance:auto!important;font-weight:500!important;line-height:normal!important}
#tfbb-tool .tfbb-more{margin-top:24px;border-top:1px solid #e2e9e3;padding-top:19px}
#tfbb-tool summary{cursor:pointer}
#tfbb-tool .tfbb-more>summary{color:#356c59;font-size:15px;font-weight:750;line-height:1.5}
#tfbb-tool .tfbb-more>summary span{font-size:13px;font-weight:450;color:#75847a;margin-left:7px}
#tfbb-tool .tfbb-more-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:21px;margin:22px 0 18px}
#tfbb-tool [hidden]{display:none!important}
#tfbb-tool .tfbb-check{display:flex;gap:12px;align-items:flex-start;font-size:14px;font-weight:550;line-height:1.55;margin-top:20px}
#tfbb-tool .tfbb-check input{flex:none;width:20px;height:20px;margin:1px 0 0;accent-color:var(--tfgreen)}
#tfbb-tool .tfbb-explain{font-size:13px!important;color:var(--tfmuted)!important;margin-top:13px!important}
#tfbb-tool .tfbb-result{background:#f3f7f3;border:1px solid #d8e5d9;border-radius:14px;margin:20px 0 18px;padding:31px 32px;min-width:0}
#tfbb-tool .tfbb-result-top{display:flex;justify-content:space-between;gap:15px;align-items:center}
#tfbb-tool .tfbb-result-top .tfbb-step-label{margin-bottom:8px}
#tfbb-tool .tfbb-est-tag{font-size:12px;color:#507261;background:#e5efe6;border-radius:40px;padding:6px 11px;white-space:nowrap}
#tfbb-tool .tfbb-result-main{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(185px,.65fr);gap:24px;align-items:end;margin:24px 0 21px}
#tfbb-tool .tfbb-result-main>div{min-width:0}
#tfbb-tool .tfbb-result-caption{font-size:14px;color:#537367;display:block;margin-bottom:5px}
#tfbb-tool .tfbb-result-main [data-out=total]{font-size:clamp(43px,6vw,68px)!important;letter-spacing:-.055em!important;color:#244f3e!important;line-height:1.1!important;font-weight:800!important;display:block;overflow-wrap:anywhere}
#tfbb-tool .tfbb-scenario{font-size:13px;color:#5e7466;display:block;margin-top:8px}
#tfbb-tool .tfbb-result-insight{border-left:1px solid #d2e1d4;padding:8px 0 5px 22px}
#tfbb-tool .tfbb-result-insight span{font-size:13px;display:block;color:#607d6b}
#tfbb-tool .tfbb-result-insight strong{font-size:28px!important;display:block;line-height:1.3;color:#2b5945}
#tfbb-tool .tfbb-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid #d5e1d6;border-bottom:1px solid #d5e1d6}
#tfbb-tool .tfbb-stats>div{padding:18px 12px 18px 0;min-width:0}
#tfbb-tool .tfbb-stats>div+div{padding-left:16px;border-left:1px solid #d5e1d6}
#tfbb-tool .tfbb-stats span{display:block;font-size:12px;color:#5c7466;line-height:1.4}
#tfbb-tool .tfbb-stats strong{display:block;margin-top:5px;color:#304e40;font-size:21px;font-weight:800;line-height:1.35;overflow-wrap:anywhere}
#tfbb-tool .tfbb-result-bottom{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:20px}
#tfbb-tool .tfbb-result-bottom p{font-size:13px!important;color:#6d7e71!important}
#tfbb-tool .tfbb-result-bottom a{font-size:14px!important;font-weight:750!important;white-space:nowrap}
#tfbb-tool .tfbb-customize-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:23px}
#tfbb-tool .tfbb-reset{font-size:13px!important;font-weight:750!important;color:#45695a!important;border:1px solid #d3e1d6!important;background:#fff!important;padding:9px 14px!important;white-space:nowrap}
#tfbb-tool .tfbb-reset:hover{background:#f4f8f4!important}
#tfbb-tool .tfbb-group{border-top:1px solid var(--tfline)}
#tfbb-tool .tfbb-group:last-child{border-bottom:1px solid var(--tfline)}
#tfbb-tool .tfbb-group>summary{list-style:none!important;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 28px 18px 2px;position:relative;min-height:76px}
#tfbb-tool .tfbb-group>summary::-webkit-details-marker{display:none}
#tfbb-tool .tfbb-group>summary::after{content:'+';position:absolute;right:2px;top:50%;transform:translateY(-50%);font-size:22px;color:#558471;font-weight:400}
#tfbb-tool .tfbb-group[open]>summary::after{content:'−'}
#tfbb-tool .tfbb-group b{display:block;font-size:16px;font-weight:750;color:#2d4136}
#tfbb-tool .tfbb-group small{display:block;font-size:13px;color:#75837a;font-weight:450;margin-top:4px}
#tfbb-tool .tfbb-group-amount{font-size:18px;font-weight:800;color:#355f4e;margin-left:auto;padding-right:10px;white-space:nowrap}
#tfbb-tool .tfbb-group-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 22px;padding:8px 2px 22px}
#tfbb-tool .tfbb-field{min-width:0;padding:12px;border:1px solid #e3eae4;border-radius:9px;background:#fbfcfb;display:grid;grid-template-columns:minmax(0,1fr) 128px;grid-template-rows:auto auto;align-items:center;column-gap:8px}
#tfbb-tool .tfbb-field>label{font-size:14px!important;line-height:1.4;color:#324c3c;font-weight:700;min-width:0;margin:0!important}
#tfbb-tool .tfbb-period{font-size:11px;font-weight:500;color:#859187;white-space:nowrap}
#tfbb-tool .tfbb-field>small{color:#849086;font-size:12px;grid-column:1;line-height:1.4;margin-top:3px}
#tfbb-tool .tfbb-value{grid-column:2;grid-row:1/span 2;display:flex;align-items:center;border:1px solid #cad8cd;background:#fff;border-radius:8px;overflow:hidden;height:47px;min-width:0}
#tfbb-tool .tfbb-value>span{color:#72917c;padding:0 0 0 9px;font-size:13px;font-weight:650}
#tfbb-tool .tfbb-value input{flex:1;min-width:0!important;width:100%!important;max-width:none!important;height:44px!important;margin:0!important;padding:0 9px 0 4px!important;background:transparent!important;border:0!important;border-radius:0!important;text-align:right!important;color:#274937!important;font-weight:800!important;font-size:16px!important;line-height:normal!important;appearance:textfield!important}
#tfbb-tool .tfbb-value input::-webkit-inner-spin-button{-webkit-appearance:none}
#tfbb-tool .tfbb-disabled{opacity:.45}
#tfbb-tool .tfbb-custom-note{font-size:13px!important;color:#7a887e!important;margin-top:18px!important}
#tfbb-tool .tfbb-breakdown-head{display:flex;justify-content:space-between;align-items:center;gap:20px}
#tfbb-tool .tfbb-breakdown-head>span{font-size:12px;font-weight:750;color:#7f9686}
#tfbb-tool .tfbb-bars{margin:26px 0 22px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 26px}
#tfbb-tool .tfbb-bar-item{min-width:0}
#tfbb-tool .tfbb-bar-meta{display:flex;justify-content:space-between;gap:12px;align-items:baseline;margin-bottom:9px;font-size:13px;color:#627467}
#tfbb-tool .tfbb-bar-meta strong{font-size:15px;color:#304737}
#tfbb-tool .tfbb-bar-track{height:9px;background:#eaf0eb;border-radius:30px;overflow:hidden}
#tfbb-tool .tfbb-bar-fill{height:100%;border-radius:30px;transition:width .2s ease}
#tfbb-tool .tfbb-month-details{padding:18px 0 0;border-top:1px solid var(--tfline);font-size:14px}
#tfbb-tool .tfbb-month-details>summary{color:#2d7156;font-weight:750}
#tfbb-tool .tfbb-month-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:18px 0}
#tfbb-tool .tfbb-month-item{display:flex;justify-content:space-between;gap:8px;font-size:13px;padding:10px 12px;border:1px solid #e4eae5;border-radius:8px}
#tfbb-tool .tfbb-month-item span{color:#708075}
#tfbb-tool .tfbb-month-item strong{color:#2d5140}
#tfbb-tool .tfbb-month-details p{font-size:12px!important;color:#78877b!important}
#tfbb-tool .tfbb-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:24px}
#tfbb-tool .tfbb-actions button{padding:12px 16px!important;background:#fff!important;border:1px solid #cdded2!important;color:#285a46!important;font-size:14px!important;font-weight:750!important}
#tfbb-tool .tfbb-actions .tfbb-action-primary{background:#2f6451!important;color:#fff!important;border-color:#2f6451!important}
#tfbb-tool .tfbb-actions button:hover{filter:brightness(.94)}
#tfbb-tool .tfbb-feedback{margin-top:12px!important;font-size:12px!important;color:#758579!important}
#tfbb-tool .tfbb-editorial{max-width:780px;margin:48px auto 0;padding:0 8px}
#tfbb-tool .tfbb-editorial h2{margin-bottom:20px!important}
#tfbb-tool .tfbb-editorial p{font-size:15px!important;color:#566259!important;line-height:1.82!important;margin-bottom:17px!important}
#tfbb-tool .tfbb-editorial .tfbb-date{color:#829187!important;font-size:12px!important}
#tfbb-tool .tfbb-related{background:#f6f8f6;border-radius:11px;padding:24px;margin-top:27px}
#tfbb-tool .tfbb-related h3{margin-bottom:10px!important}
#tfbb-tool .tfbb-related p{margin:0!important}
#tfbb-tool .tfbb-noscript{padding:15px;background:#fff3e4}
@media(max-width:720px){
  #tfbb-tool{width:calc(100% - 32px)!important;margin:23px auto 48px!important}
  #tfbb-tool .tfbb-hero{margin-bottom:25px}
  #tfbb-tool .tfbb-hero>p{font-size:15px!important}
  #tfbb-tool .tfbb-panel{padding:23px 20px;border-radius:11px}
  #tfbb-tool .tfbb-choices,#tfbb-tool .tfbb-more-grid{gap:16px}
  #tfbb-tool .tfbb-result{padding:23px 20px}
  #tfbb-tool .tfbb-result-main{grid-template-columns:minmax(0,1fr) 155px;gap:13px}
  #tfbb-tool .tfbb-result-main [data-out=total]{font-size:47px!important}
  #tfbb-tool .tfbb-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  #tfbb-tool .tfbb-stats>div{border-bottom:1px solid #d5e1d6}
  #tfbb-tool .tfbb-stats>div:nth-child(3){border-left:0;padding-left:0;border-bottom:0}
  #tfbb-tool .tfbb-stats>div:nth-child(4){border-bottom:0}
  #tfbb-tool .tfbb-group-fields{grid-template-columns:1fr}
}
@media(max-width:540px){
  #tfbb-tool .tfbb-choices,#tfbb-tool .tfbb-more-grid{grid-template-columns:1fr}
  #tfbb-tool .tfbb-choice select{min-height:50px!important;height:50px!important}
  #tfbb-tool .tfbb-hero h1{font-size:34px!important}
  #tfbb-tool .tfbb-trust{gap:8px;font-size:12px}
  #tfbb-tool .tfbb-trust span+span::before{margin-right:8px}
  #tfbb-tool .tfbb-panel{padding:21px 17px}
  #tfbb-tool .tfbb-result{padding:23px 17px}
  #tfbb-tool .tfbb-est-tag{display:none}
  #tfbb-tool .tfbb-result-main{display:block;margin:19px 0}
  #tfbb-tool .tfbb-result-main [data-out=total]{font-size:clamp(38px,11vw,55px)!important}
  #tfbb-tool .tfbb-result-insight{border-left:0;border-top:1px solid #d5e1d6;padding:13px 0 0;margin-top:16px}
  #tfbb-tool .tfbb-result-insight strong{font-size:24px!important}
  #tfbb-tool .tfbb-stats strong{font-size:18px}
  #tfbb-tool .tfbb-result-bottom{align-items:flex-start;flex-direction:column;gap:11px}
  #tfbb-tool .tfbb-customize-head{flex-direction:column;align-items:flex-start;gap:13px}
  #tfbb-tool .tfbb-group>summary{min-height:82px}
  #tfbb-tool .tfbb-group-amount{font-size:15px}
  #tfbb-tool .tfbb-bars{grid-template-columns:1fr;gap:18px}
  #tfbb-tool .tfbb-month-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  #tfbb-tool .tfbb-actions button{width:100%}
  #tfbb-tool .tfbb-more>summary span{display:block;margin:4px 0 0}
}
@media(max-width:360px){
  #tfbb-tool{width:calc(100% - 22px)!important}
  #tfbb-tool .tfbb-panel,#tfbb-tool .tfbb-result{padding:19px 13px}
  #tfbb-tool .tfbb-field{grid-template-columns:minmax(0,1fr) 105px;padding:10px 8px}
  #tfbb-tool .tfbb-value input{font-size:15px!important;padding-right:4px!important}
  #tfbb-tool .tfbb-stats>div+div{padding-left:10px}
}
@media print{
  #tfbb-tool{width:100%!important;margin:0!important}
  #tfbb-tool .tfbb-panel,#tfbb-tool .tfbb-result{break-inside:avoid}
  #tfbb-tool .tfbb-choices{grid-template-columns:repeat(2,1fr)}
  #tfbb-tool .tfbb-actions,#tfbb-tool .tfbb-reset{display:none!important}
  #tfbb-tool .tfbb-month-details{display:none}
  #tfbb-tool .tfbb-result,#tfbb-tool .tfbb-bar-fill{-webkit-print-color-adjust:exact;print-color-adjust:exact}
}
