.vpt-grid{display:grid;grid-template-columns:minmax(0,1fr) 420px;gap:26px;align-items:start}
.vpt-builder-card,.vpt-check-card,.vpt-result-card{background:#FFFEFB;border:1px solid #D9D3C8;border-radius:22px;box-shadow:0 14px 34px rgba(18,51,47,.08)}
.vpt-builder-card{padding:24px}.vpt-check-card{padding:20px;position:sticky;top:20px}.vpt-result-card{padding:24px}
.vpt-head h2 {margin: 0; font-size: 24px; line-height: 1.2; color: #17211f;}
.vpt-head p,.vpt-check-head p{margin:0;color:#66706B}
.vpt-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:22px}
.vpt-field{display:grid;gap:9px}.vpt-col-full{grid-column:1/-1}.vpt-label{font-weight:700;font-size:15px;color:#17211F}
.vpt-field select,.vpt-field textarea{width:100%;border:1px solid #D8D2C6;background:#FCF9F4;border-radius:14px;padding:14px 16px;font:inherit;color:#17211F;resize:vertical;min-height:52px}
.vpt-field textarea{min-height:102px}
.vpt-field select:focus,.vpt-field textarea:focus{outline:none;border-color:#2E6B5F;box-shadow:0 0 0 3px rgba(46,107,95,.12)}
.vpt-chip-group{display:flex;flex-wrap:wrap;gap:10px}.vpt-chip input{display:none}.vpt-chip span{display:inline-flex;padding:11px 13px;border-radius:12px;background:#FCF9F4;border:1px solid #D8D2C6;font-weight:600;color:#24312E}.vpt-chip input:checked+span{background:#DDE7E2;border-color:#2E6B5F;color:#12332F}
.vpt-action-row{margin-top:22px;padding-top:18px;border-top:1px solid #E6E0D5;display:grid;grid-template-columns:minmax(330px,auto) 1fr;gap:20px;align-items:center}.vpt-action-buttons{display:flex;gap:12px;align-items:center}.vpt-generate-btn{min-height:54px;border:0;border-radius:14px;background:linear-gradient(135deg,#163C35,#235A50);color:#fff;font:inherit;font-weight:800;padding:0 20px;cursor:pointer;box-shadow:0 10px 20px rgba(18,51,47,.18)}
.vpt-reset-btn{min-height:54px;padding:0 20px;border-radius:14px;border:1px solid #BEB6A9;background:#FFFEFB;color:#17211F;font:inherit;font-weight:800;cursor:pointer}.vpt-reset-btn:hover{border-color:#8B263D;color:#8B263D;background:#FFF8F8}.vpt-generate-note,.vpt-limit-line{color:#66706B;font-size:14px;line-height:1.5}.vpt-limit-line{margin-top:10px}
.vpt-scenarios{margin-top:24px;padding-top:20px;border-top:1px solid #E6E0D5}.vpt-subhead h3{margin:0 0 4px}.vpt-subhead p{margin:0 0 16px;color:#66706B;font-size:14px}.vpt-scenario-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px}.vpt-scenario-card{min-width:0;min-height:138px;border-radius:16px;border:1px solid #D8D2C6;background:linear-gradient(180deg,#FFFDF9,#F5EEE4);text-align:left;padding:15px;cursor:pointer;overflow:hidden}.vpt-scenario-card strong{display:block;margin-bottom:8px;max-width:100%;font-size:15px;line-height:1.28;overflow-wrap:anywhere;hyphens:auto}.vpt-scenario-card span{display:block;max-width:100%;color:#66706B;font-size:13px;line-height:1.45;overflow-wrap:anywhere;hyphens:auto}
.vpt-check-head h2{margin:0 0 6px;font-size:22px}.vpt-check-list{margin-top:16px;display:grid;gap:10px}.vpt-check-item{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;padding:13px 14px;border-radius:14px;border:1px solid #D8D2C6;background:#FFFEFB}.vpt-check-item.is-missing{border-color:#8B263D;background:#F2E1E5}.vpt-check-item strong{font-size:15px}.vpt-check-status{font-weight:800;color:#2E6B5F}.vpt-check-item.is-missing .vpt-check-status{color:#8B263D}
.vpt-readiness-box{margin-top:18px;padding:18px;border-radius:16px;background:#F6F7F3;border:1px solid #D8D2C6;display:flex;gap:14px;align-items:center}.vpt-readiness-icon{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;background:#DDE7E2;color:#12332F;font-weight:900}.vpt-readiness-box p{margin:6px 0 0;color:#66706B}.vpt-about-box{margin-top:18px;padding:18px;border-top:1px solid #E6E0D5}.vpt-about-box h3{margin:0 0 10px}.vpt-about-box p{margin:0;color:#66706B;line-height:1.6}
.vpt-result-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}.vpt-result-head h2{margin:0 0 6px;font-size:24px}.vpt-result-status{margin:0;color:#66706B}.vpt-result-actions{display:flex;flex-wrap:wrap;gap:10px}.vpt-small-btn{min-height:42px;padding:0 14px;border-radius:12px;border:1px solid #D8D2C6;background:#FCF9F4;cursor:pointer;font:inherit;font-weight:700;color:#17211F}.vpt-result-content{margin-top:18px;padding:18px;border-radius:16px;background:#F8F5EF;border:1px solid #E1DACD;white-space:pre-wrap;line-height:1.75}
.vpt-modal{position:fixed;inset:0;z-index:9999}.vpt-modal-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.45)}.vpt-modal-dialog{position:relative;max-width:980px;width:calc(100% - 48px);margin:32px auto;background:#FFFEFB;border-radius:22px;box-shadow:0 30px 60px rgba(0,0,0,.18);padding:24px;max-height:calc(100vh - 64px);overflow:auto}.vpt-modal-close{position:absolute;right:16px;top:14px;border:0;background:none;font-size:32px;line-height:1;cursor:pointer}.vpt-modal-content{white-space:pre-wrap;line-height:1.75;padding-top:18px}
@media (max-width:1280px){.vpt-grid{grid-template-columns:1fr}.vpt-check-card{position:relative;top:auto}.vpt-scenario-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}}
@media (max-width:760px){.vpt-form-grid{grid-template-columns:1fr}.vpt-action-row{grid-template-columns:1fr}.vpt-action-buttons{display:grid;grid-template-columns:1fr 1fr}.vpt-scenario-grid{grid-template-columns:1fr}.vpt-result-head{display:grid}}
.vpt-form-error{margin-top:14px;padding:13px 15px;border-radius:13px;background:#F2E1E5;border:1px solid #8B263D;color:#641B2E;font-weight:700;line-height:1.5}
.vpt-field.is-invalid .vpt-label{color:#8B263D}
.vpt-field.is-invalid select,.vpt-field.is-invalid textarea{border-color:#8B263D;background:#FFF8F8;box-shadow:0 0 0 3px rgba(139,38,61,.09)}
.vpt-field.is-invalid .vpt-chip-group{padding:10px;border:1px solid #8B263D;border-radius:14px;background:#FFF8F8}
.vpt-generate-btn:disabled{opacity:.62;cursor:wait}


.vpt-small-btn{transition:transform .14s ease,background .14s ease,border-color .14s ease,color .14s ease}
.vpt-small-btn:hover{background:#F0EADF;border-color:#AFA596;color:#12332F}
.vpt-small-btn:active{transform:translateY(1px) scale(.98)}
.vpt-small-btn.is-success{background:#DDE7E2;border-color:#2E6B5F;color:#12332F}
.vpt-toast{position:fixed;right:28px;bottom:28px;z-index:10050;max-width:min(360px,calc(100vw - 32px));padding:14px 18px;border-radius:14px;background:#12332F;color:#FFFDF6;box-shadow:0 18px 42px rgba(18,51,47,.28);font-weight:800;line-height:1.35;opacity:0;transform:translateY(12px);pointer-events:none;transition:opacity .18s ease,transform .18s ease}
.vpt-toast.is-visible{opacity:1;transform:translateY(0)}
@media (max-width:760px){.vpt-toast{right:16px;bottom:16px;left:16px;max-width:none;text-align:center}}
html.vpt-modal-open{overflow:hidden}
