.vp-gps{--vp-navy:#102239;--vp-navy2:#1b3654;--vp-gold:#bb9b56;--vp-paper:#f7f8fa;--vp-ink:#172538;--vp-border:#d8e0e9;box-sizing:border-box;color:var(--vp-ink);font-family:inherit;width:100%;max-width:none;margin:20px 0 40px;border:1px solid var(--vp-border);border-radius:12px;background:#fafbfc;padding:24px;font-size:16px;line-height:1.55}
.vp-gps *{box-sizing:border-box}.vp-gps .vp-gps__eyebrow{border-left:3px solid var(--vp-gold);padding-left:9px;margin:0 0 8px;font-size:11px;letter-spacing:.12em;font-weight:700;color:var(--vp-navy)}
.vp-gps__form h2{margin:0 0 20px;color:var(--vp-navy);line-height:1.2}
.vp-gps__form{margin:0;padding:0}
.vp-gps__fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 18px}
.vp-gps__fields label{display:flex;flex-direction:column;gap:5px;font-size:14px;font-weight:600}.vp-gps input:not([type=checkbox]),.vp-gps select{width:100%;min-height:43px;border:1px solid #acb9c6;background:#fff;color:#15243a;border-radius:8px;padding:9px 11px;font:inherit;font-size:15px;max-width:none}.vp-gps input:focus,.vp-gps select:focus,.vp-gps button:focus-visible{outline:3px solid #d5ac57;outline-offset:2px}
.vp-gps__help{color:#5a6b7c;font-size:13px;margin:16px 0 15px}.vp-gps__submit,.vp-gps__ai-button{background:var(--vp-navy);color:white;border:0;border-radius:9px;padding:12px 21px;font:inherit;font-weight:700;cursor:pointer}.vp-gps__submit:hover,.vp-gps__ai-button:hover{background:#284d71}.vp-gps button:disabled{opacity:.5;cursor:not-allowed}
.vp-gps__status{font-size:13px;color:#50647c;margin:12px 1px}.vp-gps__results{border-top:1px solid var(--vp-border);padding-top:22px}.vp-gps__results h3{font-size:23px;margin:0 0 15px}.vp-gps__results h4{font-size:17px;margin:20px 0 10px}
.vp-gps__cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.vp-gps__card{background:var(--vp-paper);border:1px solid var(--vp-border);border-top:3px solid var(--vp-gold);border-radius:10px;padding:18px;display:flex;flex-direction:column;gap:5px}.vp-gps__card span{font-weight:600;font-size:14px}.vp-gps__card strong{font-size:clamp(23px,3vw,32px);font-weight:750;font-variant-numeric:tabular-nums}.vp-gps__card small{color:#657282;font-size:12px}
.vp-gps__difference{padding:12px 15px;border-left:3px solid var(--vp-gold);background:#fbfaf5;font-weight:650}.vp-gps__details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.vp-gps__detail{border-bottom:1px solid var(--vp-border);padding:8px 0;display:flex;flex-direction:column}.vp-gps__detail span{font-size:13px;color:#586878}.vp-gps__detail strong{font-size:17px;font-variant-numeric:tabular-nums}
.vp-gps__table-scroll{overflow-x:auto}.vp-gps table{width:100%;border-collapse:collapse;font-size:13px;min-width:570px}.vp-gps th{text-align:left;background:var(--vp-navy);color:white;font-weight:600}.vp-gps td,.vp-gps th{padding:10px;border-bottom:1px solid var(--vp-border);font-variant-numeric:tabular-nums}.vp-gps__alerts{margin-top:18px}.vp-gps__alerts p{font-size:13px;padding:9px 12px;background:#fff8e7;border-left:3px solid var(--vp-gold);margin:5px 0;color:#624d20}
.vp-gps__explain{border-top:1px solid var(--vp-border);margin-top:22px}.vp-gps__explain p{font-size:14px;line-height:1.7}.vp-gps__consent{font-size:13px;display:flex;gap:8px;align-items:flex-start;margin:14px 0}.vp-gps__consent input{margin-top:4px}.vp-gps__ai-output{white-space:pre-line}.vp-gps__foot{color:#506075;font-size:13px;margin-top:20px}.vp-gps__sources{font-size:12px}.vp-gps__sources a{color:#195585;text-decoration:underline}
@media(max-width:680px){.vp-gps__fields,.vp-gps__cards,.vp-gps__details{grid-template-columns:1fr}.vp-gps{padding:18px}.vp-gps__submit{width:100%}}
@media(min-width:681px){.vp-gps__cards{grid-template-columns:repeat(3,minmax(0,1fr))}}

.vp-gps__exports{display:flex;align-items:center;flex-wrap:wrap;gap:.7em;margin:1em 0}.vp-gps__exports textarea{width:100%;min-height:8em}.vp-gps-print{display:none}
@media print{
body.vp-gps-printing > :not(.vp-gps-print){display:none!important}
.vp-gps-print{display:block;color:#111;font:10pt/1.35 sans-serif}
.vp-gps-print .vp-gps__results{border:0;padding:0}.vp-gps-print .vp-gps__table-scroll{overflow:visible}
.vp-gps-print table{width:100%;border-collapse:collapse}.vp-gps-print th,.vp-gps-print td{padding:4pt;border:1px solid #bbb;text-align:left}
.vp-gps-print .vp-gps__card,.vp-gps-print tr{break-inside:avoid}
}
