/* PM-VBRY calculator page (loaded only where [[vbry]] is used). Uses the tokens in site.css. */

/* hero summary card */
.vb-glance{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:22px;display:grid;grid-template-columns:1fr 1fr;gap:12px;box-shadow:var(--shadow)}
.vb-glance-k{grid-column:1/-1;font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;color:var(--surge-ink);font-weight:600}
.vb-glance div{background:var(--ice);border:1px solid var(--line);border-radius:var(--r);padding:14px}
.vb-glance b{display:block;font:600 1.4rem var(--mono);color:var(--ink);line-height:1.15;margin-bottom:4px}
.vb-glance span{font-size:.84rem;color:var(--muted);line-height:1.4;display:block}

/* calculator shell */
.vb{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow);overflow:hidden;margin:10px 0 18px;scroll-margin-top:90px}
.vb-head{background:var(--ink);color:#fff;padding:14px 20px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.vb-head b{font-family:var(--serif);font-size:1.08rem}
.vb-head span{font-size:.74rem;color:var(--surge-2);margin-left:auto;letter-spacing:.08em;text-transform:uppercase}
.vb-tabs{display:grid;grid-template-columns:repeat(3,1fr);background:var(--ice);border-bottom:1px solid var(--line)}
.vb-tabs button{appearance:none;border:0;border-bottom:3px solid transparent;background:none;padding:14px 10px;font:600 .93rem var(--sans);color:var(--muted);cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px}
.vb-tabs button i{font-style:normal;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font:600 .75rem var(--mono);background:var(--ice-2);color:var(--ink)}
.vb-tabs button[aria-selected=true]{color:var(--ink);border-bottom-color:var(--surge);background:#fff}
.vb-tabs button[aria-selected=true] i{background:var(--surge);color:#fff}
.vb-tabs button:focus-visible{outline:2px solid var(--surge);outline-offset:-4px}
.vb-pane{padding:20px}
.vb h3{font-size:1.02rem;margin:4px 0 12px;color:var(--ink)}
.vb h4{font-size:.98rem;margin:18px 0 8px;color:var(--ink)}
.vb-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:24px;align-items:start}
.vb-res{position:sticky;top:90px}
.vb-hint{font-weight:500;color:var(--soft);font-size:.78rem}
.vb-b[data-est=new] .vb-old,.vb-b:not([data-est=new]) .vb-new{display:none}
.vb-b[data-est=old] .vb-only-recent,.vb-b[data-est=recent] .vb-only-old{display:none}
.vb-tick{display:flex;gap:10px;align-items:flex-start;font-size:.9rem;color:var(--ink);background:var(--ice);border:1px solid var(--line);border-radius:10px;padding:10px 12px;margin:2px 0 18px;cursor:pointer}
.vb-tick input{margin-top:3px;accent-color:var(--surge);width:18px;height:18px;flex:none}
.vb .result .row span{padding-right:8px}
.vb .result .row b{text-align:right;white-space:nowrap}
.vb .result .big{margin:2px 0 8px;font-size:1.9rem}
.vb .result small{color:#9FB0C1}

/* baseline helper */
.vb-bl-help{margin:-6px 0 14px;font-size:.88rem}
.vb-bl-help summary{cursor:pointer;color:var(--surge-ink);font-weight:600}
.vb-bl-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.vb-bl-grid label{display:block;font-size:.76rem;color:var(--muted)}
.vb-bl-grid input{width:100%;padding:7px 8px;border:1px solid var(--line-2);border-radius:8px;font:inherit;color:var(--ink)}

/* hiring groups */
.vb-hires{display:grid;gap:10px;margin-bottom:12px}
.vb-hire{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;background:var(--ice);border:1px solid var(--line);border-radius:12px;padding:10px 40px 10px 10px}
.vb-hire label{display:flex;flex-direction:column;min-width:0}
.vb-hire label span{display:block;flex:1;font-size:.72rem;font-weight:600;color:var(--muted);margin-bottom:4px;line-height:1.25}
.vb-hire input,.vb-hire select{width:100%;padding:8px 9px;border:1px solid var(--line-2);border-radius:8px;font:inherit;font-size:.88rem;background:#fff;color:var(--ink);min-width:0}
.vb-del{position:absolute;top:8px;right:8px;width:26px;height:26px;border-radius:50%;border:1px solid var(--line-2);background:#fff;color:var(--muted);font-size:1.05rem;line-height:1;cursor:pointer}
.vb-del:hover{color:var(--coral);border-color:var(--coral)}
.vb-add{padding:9px 16px;font-size:.88rem}

/* chart */
.vb-chart{margin-top:20px;border:1px solid var(--line);border-radius:var(--r);padding:12px 12px 8px}
.vb-chart svg{width:100%;height:auto;display:block}
.vb-bar{fill:var(--surge)}
.vb-line{fill:none;stroke:var(--gold);stroke-width:2.2;stroke-linejoin:round}
.vb-target{stroke:var(--coral);stroke-width:1.5;stroke-dasharray:5 4}
.vb-ax{font:500 10px var(--sans);fill:var(--soft)}
.vb-legend{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:.8rem;color:var(--muted);padding:4px 4px 0}
.vb-legend i{display:inline-block;width:14px;height:10px;margin-right:6px;vertical-align:-1px;border-radius:2px}
.k-bar{background:var(--surge)}.k-line{background:var(--gold);height:3px!important;vertical-align:3px!important}.k-target{border-top:2px dashed var(--coral);height:0!important;vertical-align:3px!important}

/* notes, verdicts and lists */
.vb-notes h4{margin-top:22px}
.vb-list{list-style:none;padding:0!important;margin:10px 0 0}
.vb-list li{position:relative;padding:8px 10px 8px 30px;border-radius:10px;font-size:.88rem;margin-bottom:6px;line-height:1.45}
.vb-list li:before{position:absolute;left:10px;top:8px;font-weight:700}
.vb-list.no li{background:rgba(238,109,78,.12);color:#FBD9D0}.vb-list.no li:before{content:"✕";color:var(--coral)}
.vb-list.mid li{background:rgba(233,169,37,.12);color:#F6E3B8}.vb-list.mid li:before{content:"!";color:var(--gold)}
.vb-list.info li{background:rgba(127,176,255,.1);color:#D6E4FF}.vb-list.info li:before{content:"i";color:var(--surge-2);font-family:var(--mono)}
.vb-notes .vb-list.info li{background:var(--ice);color:var(--text);border:1px solid var(--line)}
.vb-notes .vb-list.info li:before{color:var(--surge-ink)}
.vb-verdict{display:inline-block;font-weight:700;font-size:.95rem;padding:6px 12px;border-radius:999px;margin:4px 0 6px}
.vb-verdict.yes{background:rgba(23,224,192,.15);color:#7CF0DA}
.vb-verdict.mid{background:rgba(233,169,37,.18);color:#F6CF7A}
.vb-verdict.no{background:rgba(238,109,78,.18);color:#FFB4A2}
.vb-muted{color:#9FB0C1;margin:0}
.vb-next{margin:12px 0 0}.vb-next a{color:var(--surge-2);font-weight:600}
.vb-ok{color:#047857;font-weight:600}.vb-no{color:#B4401F;font-size:.85rem}

/* eligibility checklists */
.vb-checks{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.vb-check{display:flex;flex-direction:column}
.vb-q{border-bottom:1px solid var(--line);padding:10px 0 12px}
.vb-q p{font-weight:600;color:var(--ink);font-size:.92rem;margin:0 0 8px;line-height:1.4}
.vb-q .opts button{padding:6px 14px;font-size:.85rem}
.vb-check-out{margin-top:14px;position:sticky;bottom:12px}

/* tables inside */
.vb .tbl-wrap{margin:10px 0 12px}
.vb-fy .tbl-wrap{margin-top:12px}
.vb table{font-size:.86rem}
.vb th,.vb td{padding:8px 10px}
.vb-months{margin-top:12px}
.vb-months summary{cursor:pointer;font-weight:600;color:var(--surge-ink);padding:6px 0}
.vb-mt td,.vb-mt th{white-space:nowrap}
.vb-csv{margin:4px 0 6px;padding:8px 14px;font-size:.86rem}

/* page content helpers */
.vb-ol{padding-left:1.2em;margin:0}
.vb-ol li{font-size:.93rem;margin-bottom:.5em}
.tool-group{margin:26px 0 12px;font-size:1.1rem;color:var(--ink)}
.tool-group:first-child{margin-top:4px}
.tool-feature{background:linear-gradient(135deg,#fff,var(--ice));border-color:var(--line-2);padding:26px;max-width:860px}
.tool-feature h3{font-size:1.35rem}

@media (max-width:980px){.vb-grid,.vb-checks{grid-template-columns:minmax(0,1fr)}.vb-res{position:static}.vb-check-out{position:static}}
@media (max-width:600px){
  .vb-pane{padding:14px}
  .vb-tabs button{flex-direction:column;gap:4px;font-size:.8rem;padding:10px 4px;line-height:1.2;text-align:center}
  .vb-hire{grid-template-columns:repeat(2,minmax(0,1fr))}
  .vb-hire label:nth-child(5){grid-column:1/-1}
  .vb-bl-grid{grid-template-columns:repeat(3,1fr)}
  .vb-glance{grid-template-columns:1fr 1fr;padding:14px;gap:10px}
  .vb-glance b{font-size:1.15rem}
  .vb .result .big{font-size:1.6rem}
  .vb .result .row{flex-wrap:wrap}
  .vb-head span{margin-left:0}
}
