/* Procurement VMS calculators silo. Every class starts with pvk-. */
.pvk{--ink:#0a1a3f;--acc:#19c39a;--accd:#0a7d62;--cream:#eefaf6;--blue:#1a56d6;--bg:#f4f7fc;--line:#dbe3f1;--muted:#56627a;--body:#2b3753;--amber:#fff6e0;--amberl:#f2c36b;--red:#b42318;background:var(--bg);color:var(--body);font-size:18px;line-height:1.7}
.pvk *{box-sizing:border-box}
.pvk a{color:var(--blue);text-underline-offset:3px}.pvk a:hover{color:var(--ink)}
.pvk-wrap{max-width:1180px;margin:0 auto;padding:0 24px}
.pvk-k{margin:0 0 8px;font-family:"IBM Plex Mono",ui-monospace,Menlo,monospace;font-size:12.5px;letter-spacing:.09em;text-transform:uppercase;color:var(--accd);font-weight:600}
.pvk-btn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;font-family:inherit;font-weight:700;font-size:16px;padding:12px 20px;border-radius:9px;text-decoration:none;cursor:pointer;border:none;line-height:1.2;text-align:center;background:var(--acc);color:#03261d}
.pvk-btn.ghost{background:#fff;color:var(--ink);border:1px solid var(--line)}
.pvk a.pvk-btn:hover{filter:brightness(.95);color:#03261d}.pvk a.pvk-btn.ghost:hover{color:var(--ink)}
.pvk-sec{padding:60px 0 6px;scroll-margin-top:70px}
.pvk-h2{margin:0 0 14px;font-size:clamp(26px,3.2vw,36px);line-height:1.15;font-weight:800;letter-spacing:-.02em;color:var(--ink)}
.pvk-h3{margin:0 0 10px;font-size:21px;color:var(--ink);font-weight:800;line-height:1.3}
.pvk p{max-width:780px}
.pvk-lede{margin:0 0 26px;font-size:19px;max-width:780px}
.pvk-top{background:#fff;border-bottom:1px solid var(--line)}
.pvk-top .pvk-wrap{padding-top:22px;padding-bottom:44px}
.pvk-crumb{font-size:14.5px;color:var(--muted);margin:0 0 26px;max-width:none}.pvk-crumb a{color:var(--muted)}
.pvk-title{margin:0 0 16px;font-size:clamp(32px,4.4vw,50px);line-height:1.08;font-weight:800;letter-spacing:-.03em;color:var(--ink);max-width:900px}
.pvk-dek{margin:0 0 24px;font-size:21px;line-height:1.6;max-width:760px}
.pvk-answer{background:var(--cream);border:1px solid #bfeadc;border-left:6px solid var(--acc);border-radius:12px;padding:20px 24px;margin:0 0 18px;max-width:840px}
.pvk-answer p{margin:0;font-size:19.5px;line-height:1.65;color:var(--ink)}
.pvk-by{margin:0;font-size:14.5px;color:var(--muted);line-height:1.8;max-width:none}
/* calculator */
.pvk-tool{padding:34px 0 8px}
.pvk-calc{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:26px;align-items:start}
.pvk-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:26px 26px 28px;min-width:0}
.pvk-card h2{margin:0 0 4px;font-size:22px;color:var(--ink);font-weight:800;line-height:1.3}
.pvk-sub{margin:0 0 18px;font-size:15px;color:var(--muted);max-width:none}
.pvk-cur{display:flex;align-items:center;gap:10px;margin:0 0 16px;font-size:15px;color:var(--muted)}
.pvk-cur select{font:inherit;font-size:15px;padding:6px 10px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink)}
.pvk-f{display:block;margin:0 0 16px}
.pvk-f>span{display:block;font-size:15.5px;font-weight:700;color:var(--ink);line-height:1.4;margin:0 0 6px}
.pvk-in{display:flex;align-items:stretch;border:1.5px solid #c2cde4;border-radius:10px;background:#fff;overflow:hidden}
.pvk-in:focus-within{border-color:var(--blue);box-shadow:0 0 0 3px rgba(26,86,214,.16)}
.pvk-in b{display:flex;align-items:center;padding:0 12px;background:var(--bg);color:var(--muted);font-weight:600;font-size:14.5px;white-space:nowrap}
.pvk-in b.pre{border-right:1px solid var(--line)}.pvk-in b.suf{border-left:1px solid var(--line)}
.pvk-in input,.pvk-in select{flex:1;min-width:0;width:100%;border:0;outline:0;font:inherit;font-size:18px;padding:11px 12px;color:var(--ink);background:#fff}
.pvk-f small{display:block;margin-top:5px;font-size:14px;line-height:1.45;color:var(--muted)}
.pvk-f.bad .pvk-in{border-color:var(--red)}
.pvk-reset{background:none;border:0;padding:0;font:inherit;font-size:15px;color:var(--blue);text-decoration:underline;cursor:pointer;text-underline-offset:3px}
.pvk-res{position:sticky;top:78px;background:var(--ink);color:#e8eefc;border-color:var(--ink)}
.pvk-res h2{color:#fff}
.pvk-main{display:grid;grid-template-columns:1fr;gap:12px;margin:16px 0 18px}
.pvk-stat{background:#16295a;border-radius:12px;padding:14px 18px;border-left:4px solid var(--acc)}
.pvk-stat span{display:block;font-size:14.5px;color:#aab8dc;line-height:1.4}
.pvk-stat b{display:block;font-size:clamp(26px,3.4vw,34px);line-height:1.2;color:#fff;font-weight:800;letter-spacing:-.01em;overflow-wrap:anywhere}
.pvk-stat em{font-style:normal;font-size:15px;color:#7fe3c6;font-weight:600}
.pvk-read{background:#fff;color:var(--ink);border-radius:12px;padding:16px 18px;margin:0 0 16px;font-size:17px;line-height:1.6;border-left:6px solid var(--amberl)}
.pvk-read p{margin:0;max-width:none}
.pvk-tbl{width:100%;border-collapse:collapse;font-size:15.5px;margin:0 0 6px}
.pvk-tbl th,.pvk-tbl td{padding:8px 0;border-bottom:1px solid #26396b;text-align:left;line-height:1.4;vertical-align:top}
.pvk-tbl td:last-child{text-align:right;font-weight:700;color:#fff;padding-left:14px;overflow-wrap:anywhere}
.pvk-tbl th{font-weight:400;color:#aab8dc}
.pvk-tools{display:flex;flex-wrap:wrap;gap:10px;margin:14px 0 0}
.pvk-tools button{font:inherit;font-size:15px;font-weight:700;padding:9px 14px;border-radius:8px;border:1px solid #3a4f86;background:transparent;color:#fff;cursor:pointer;min-height:42px}
.pvk-tools button:hover{background:#16295a}
.pvk-note{font-size:14px;color:#aab8dc;margin:14px 0 0;max-width:none;line-height:1.5}
/* gate */
.pvk-gate{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:30px;align-items:start;background:#fff;border:1px solid var(--line);border-top:6px solid var(--acc);border-radius:16px;padding:30px;margin:26px 0 0}
.pvk-gate h2{margin:0 0 10px;font-size:26px;line-height:1.2;color:var(--ink);font-weight:800}
.pvk-gate ul{margin:12px 0 0;padding:0 0 0 20px}.pvk-gate li{margin:0 0 7px;font-size:17px}
.pvk-gate .pvk-fine{font-size:14.5px;color:var(--muted);margin:12px 0 0;max-width:none}
.pvk-lead label{display:block;margin:0 0 13px;font-size:15.5px;font-weight:700;color:var(--ink)}
.pvk-lead input[type=text],.pvk-lead input[type=email],.pvk-lead input[type=tel]{display:block;width:100%;margin-top:5px;font:inherit;font-size:17px;padding:11px 12px;border:1.5px solid #c2cde4;border-radius:10px;color:var(--ink);background:#fff}
.pvk-lead input:focus{outline:0;border-color:var(--blue);box-shadow:0 0 0 3px rgba(26,86,214,.16)}
.pvk-lead input.bad{border-color:var(--red)}
.pvk-lead small{display:block;font-weight:400;font-size:13.5px;color:var(--muted);margin-top:4px}
.pvk-lead .pvk-consent{display:flex;gap:10px;align-items:flex-start;font-weight:400;font-size:14.5px;line-height:1.5;color:var(--body)}
.pvk-lead .pvk-consent input{margin-top:4px;flex:none;width:18px;height:18px}
.pvk-lead .pvk-btn{width:100%}
.pvk-hp{position:absolute;left:-9999px;height:0;overflow:hidden}
.pvk-status{margin:10px 0 0;font-size:15px;min-height:22px;max-width:none}.pvk-status.err{color:var(--red);font-weight:600}
.pvk-done{background:var(--cream);border:1px solid #bfeadc;border-radius:12px;padding:20px}
.pvk-done .pvk-btn{margin:8px 8px 0 0}
/* content */
.pvk-formula{background:#fff;border:1px dashed #9fb0d4;border-radius:12px;padding:16px 20px;font-family:"IBM Plex Mono",ui-monospace,Menlo,monospace;font-size:15.5px;line-height:1.6;color:var(--ink);margin:0 0 22px;max-width:860px;overflow-wrap:anywhere}
.pvk-steps{counter-reset:s;margin:0;padding:0;list-style:none;display:grid;gap:12px;max-width:860px}
.pvk-steps li{counter-increment:s;background:#fff;border:1px solid var(--line);border-radius:12px;padding:16px 18px 16px 62px;position:relative;font-size:17.5px}
.pvk-steps li:before{content:counter(s);position:absolute;left:16px;top:14px;width:34px;height:34px;border-radius:50%;background:var(--ink);color:#fff;font-weight:800;display:flex;align-items:center;justify-content:center;font-size:16px}
.pvk-grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.pvk-box{background:#fff;border:1px solid var(--line);border-radius:14px;padding:20px 22px}
.pvk-box p{margin:0;font-size:16.5px;line-height:1.65}
.pvk-two{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:26px;align-items:start}
.pvk-faq details{background:#fff;border:1px solid var(--line);border-radius:12px;margin:0 0 10px;max-width:860px}
.pvk-faq summary{cursor:pointer;padding:16px 20px;font-weight:700;color:var(--ink);font-size:18px;line-height:1.4;list-style:none;position:relative;padding-right:46px}
.pvk-faq summary::-webkit-details-marker{display:none}
.pvk-faq summary:after{content:"+";position:absolute;right:20px;top:12px;font-size:24px;color:var(--accd);font-weight:700}
.pvk-faq details[open] summary:after{content:"\2212"}
.pvk-faq details p{margin:0;padding:0 20px 18px}
.pvk-rel{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.pvk-rel a{display:block;background:#fff;border:1px solid var(--line);border-radius:12px;padding:16px 18px;text-decoration:none;color:var(--ink)}
.pvk-rel a:hover{border-color:var(--acc);color:var(--ink)}
.pvk-rel b{display:block;font-size:17px;line-height:1.35;margin-bottom:4px}.pvk-rel span{font-size:14.5px;color:var(--muted);line-height:1.45}
.pvk-all{margin:18px 0 0}
.pvk-foot{padding-bottom:70px}
/* hub */
.pvk-search{display:flex;gap:10px;max-width:640px;margin:0 0 14px}
.pvk-search input{flex:1;min-width:0;font:inherit;font-size:18px;padding:13px 14px;border:1.5px solid #c2cde4;border-radius:10px}
.pvk-chips{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 14px}
.pvk-chip{font:inherit;font-size:15px;font-weight:600;padding:8px 14px;border-radius:99px;border:1px solid var(--line);background:#fff;color:var(--ink);cursor:pointer;min-height:40px}
.pvk-chip[aria-pressed=true]{background:var(--ink);color:#fff;border-color:var(--ink)}
.pvk-hubgrid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.pvk-hubgrid a{display:block;height:100%;background:#fff;border:1px solid var(--line);border-radius:12px;padding:18px 20px;text-decoration:none;color:var(--ink)}
.pvk-hubgrid a:hover{border-color:var(--acc);color:var(--ink)}
.pvk-hubgrid .m{display:block;font-family:"IBM Plex Mono",ui-monospace,monospace;font-size:12px;letter-spacing:.07em;text-transform:uppercase;color:var(--accd);margin-bottom:6px}
.pvk-hubgrid b{display:block;font-size:19px;line-height:1.3;margin-bottom:6px}.pvk-hubgrid .d{display:block;font-size:15.5px;color:var(--muted);line-height:1.5}
.pvk-cnt{font-size:15px;color:var(--muted);margin:0 0 14px}
.pvk-empty{background:#fff;border:1px solid var(--line);border-radius:12px;padding:18px 22px;max-width:640px}
.pvk-stats{background:var(--ink);color:#e8eefc}.pvk-stats .pvk-wrap{display:flex;flex-wrap:wrap;gap:12px 46px;padding-top:20px;padding-bottom:20px}
.pvk-stats b{display:block;font-size:30px;color:#fff;line-height:1.1}.pvk-stats span{font-size:14.5px;color:#aab8dc}
@media(max-width:900px){.pvk-calc,.pvk-gate,.pvk-two{grid-template-columns:minmax(0,1fr)}.pvk-res{position:static}.pvk-grid3{grid-template-columns:minmax(0,1fr)}.pvk-rel,.pvk-hubgrid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.pvk{font-size:17px}.pvk-wrap{padding:0 16px}.pvk-card,.pvk-gate{padding:20px 18px}.pvk-rel,.pvk-hubgrid{grid-template-columns:minmax(0,1fr)}.pvk-search{flex-direction:column}.pvk-dek{font-size:19px}}
@media print{header,footer,nav,.pvk-gate,.pvk-tools,.pvk-rel,.pvk-faq,.pvk-search{display:none!important}.pvk-calc{display:block}.pvk-res{background:#fff;color:#000;border:1px solid #999}.pvk-stat{background:#fff;border:1px solid #999}.pvk-stat b,.pvk-stat span,.pvk-tbl td,.pvk-tbl th,.pvk-res h2,.pvk-note{color:#000}}
