.vpp-app{--vpp-ink:#1f2733;--vpp-anthracite:#2b3440;--vpp-gold:#c8a44d;--vpp-line:#e4e7ec;--vpp-bg:#fff;--vpp-soft:#f7f8fa;
 font-family:"Manrope","Inter","Segoe UI",Arial,sans-serif;color:var(--vpp-ink);max-width:820px;margin:0 auto;line-height:1.55}
.vpp-app *{box-sizing:border-box}
.vpp-steps{display:flex;gap:.5rem;margin:0 0 1.5rem;flex-wrap:wrap}
.vpp-steps li{list-style:none;flex:1;min-width:90px;text-align:center;font-size:.8rem;padding:.5rem .25rem;border-bottom:3px solid var(--vpp-line);color:#8a94a6}
.vpp-steps li.is-active{color:var(--vpp-anthracite);border-color:var(--vpp-gold);font-weight:700}
.vpp-steps li.is-done{color:var(--vpp-anthracite);border-color:var(--vpp-anthracite)}
.vpp-card{background:var(--vpp-bg);border:1px solid var(--vpp-line);border-radius:14px;padding:1.5rem;box-shadow:0 1px 3px rgba(16,24,40,.04)}
.vpp-h{font-size:1.35rem;margin:0 0 .25rem;color:var(--vpp-anthracite)}
.vpp-sub{color:#667085;margin:0 0 1.25rem}
.vpp-choice{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}
.vpp-choice button{padding:1rem;border:1.5px solid var(--vpp-line);background:var(--vpp-soft);border-radius:12px;cursor:pointer;font-size:1rem;text-align:left;transition:.15s}
.vpp-choice button:hover{border-color:var(--vpp-gold);transform:translateY(-1px)}
.vpp-field{margin:0 0 1rem}
.vpp-field label{display:block;font-size:.85rem;font-weight:600;margin:0 0 .3rem;color:var(--vpp-anthracite)}
.vpp-field input,.vpp-field select{width:100%;padding:.7rem .8rem;border:1.5px solid var(--vpp-line);border-radius:10px;font-size:1rem}
.vpp-field input:focus,.vpp-field select:focus{outline:none;border-color:var(--vpp-gold)}
.vpp-field-hint{display:block;margin:.3rem 0 0;color:#667085;font-size:.78rem}
.vpp-field.is-invalid input,.vpp-field.is-invalid select,.vpp-field input[aria-invalid="true"],.vpp-field select[aria-invalid="true"]{border-color:#c62828;background:#fff8f8}
.vpp-field.is-invalid .vpp-field-hint{color:#9b1c1c}
.vpp-grid2{display:grid;grid-template-columns:1fr 1fr;gap:0 1rem}
.vpp-btn{display:inline-flex;align-items:center;gap:.4rem;padding:.75rem 1.4rem;border-radius:10px;border:0;background:var(--vpp-anthracite);color:#fff;font-size:1rem;font-weight:600;cursor:pointer}
.vpp-btn:hover{background:#1c232c}
.vpp-btn.is-gold{background:var(--vpp-gold);color:#2b2410}
.vpp-btn.is-ghost{background:transparent;color:var(--vpp-anthracite);border:1.5px solid var(--vpp-line)}
.vpp-btn[disabled]{opacity:.5;cursor:not-allowed}
.vpp-actions{display:flex;justify-content:space-between;margin-top:1.5rem;gap:.75rem}
.vpp-preview{border:1px solid var(--vpp-line);border-radius:12px;max-height:460px;overflow:auto;padding:1.25rem;background:#fff;font-size:.9rem}
.vpp-pill{display:inline-block;padding:.15rem .6rem;border-radius:999px;font-size:.75rem;font-weight:600;background:var(--vpp-soft);border:1px solid var(--vpp-line)}
.vpp-pill.ok{background:#e7f6ec;border-color:#8fd6a6;color:#136c34}
.vpp-pill.warn{background:#fff4e5;border-color:#f0c073;color:#8a5a12}
.vpp-check{display:flex;align-items:flex-start;gap:.55rem;margin:.8rem 0;padding:.85rem;border:1px solid var(--vpp-line);border-radius:10px;background:var(--vpp-soft);cursor:pointer}
.vpp-check input{flex:0 0 auto;width:1.1rem;height:1.1rem;margin:.2rem 0 0}
.vpp-check a{color:#725b1d;text-decoration:underline}
.vpp-doclist{list-style:none;padding:0;margin:0}
.vpp-doclist li{display:flex;justify-content:space-between;align-items:center;padding:.75rem 0;border-bottom:1px solid var(--vpp-line)}
.vpp-cal-toolbar{display:grid;grid-template-columns:auto minmax(180px,1fr) auto;align-items:end;gap:.75rem;margin:0 0 1rem}
.vpp-cal-date{display:flex;flex-direction:column;gap:.25rem;font-size:.78rem;font-weight:600;color:var(--vpp-anthracite)}
.vpp-cal-date input{min-height:44px;padding:.55rem .7rem;border:1.5px solid var(--vpp-line);border-radius:10px;font:inherit;color:var(--vpp-ink);background:#fff}
.vpp-cal{display:grid;grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:.5rem}
.vpp-slot{min-height:44px;padding:.6rem;border-radius:10px;border:1.5px solid var(--vpp-line);text-align:center;cursor:pointer;font:inherit;font-size:.85rem;background:#fff;color:var(--vpp-ink)}
.vpp-slot.free:hover{border-color:var(--vpp-gold)}
.vpp-slot.busy,.vpp-slot.busy:disabled{background:#f2f3f5;color:#7b8492;cursor:not-allowed;text-decoration:line-through;opacity:1}
.vpp-slot.closed,.vpp-slot.closed:disabled{background:#fafbfc;color:#929baa;cursor:not-allowed;opacity:1}
.vpp-slot.sel{background:var(--vpp-gold);color:#2b2410;border-color:var(--vpp-gold)}
.vpp-slot:focus-visible,.vpp-btn:focus-visible,.vpp-cal-date input:focus-visible{outline:3px solid rgba(200,164,77,.38);outline-offset:2px}
.vpp-daygroup{margin:1rem 0}.vpp-daygroup h3{margin:.25rem 0;color:var(--vpp-anthracite);font-size:.95rem}
.vpp-book-confirm{display:flex;align-items:center;flex-wrap:wrap;gap:.75rem;margin-top:1.25rem;padding-top:1rem;border-top:1px solid var(--vpp-line)}
.vpp-book-confirm p{flex:1 1 100%;margin:0}
.vpp-note{font-size:.82rem;color:#667085}
.vpp-legend{display:flex;gap:1rem;font-size:.78rem;color:#667085;margin:.5rem 0 1rem}
.vpp-legend span{display:inline-flex;align-items:center;gap:.35rem}
.vpp-dot{width:.75rem;height:.75rem;border-radius:3px;display:inline-block;background:#fff;border:1.5px solid var(--vpp-line)}
.vpp-dot.busy{background:#f2f3f5}.vpp-dot.selected{background:var(--vpp-gold);border-color:var(--vpp-gold)}
@media(max-width:560px){.vpp-choice,.vpp-grid2{grid-template-columns:1fr}.vpp-cal-toolbar{grid-template-columns:1fr 1fr}.vpp-cal-date{grid-column:1/-1;grid-row:1}.vpp-cal-toolbar .vpp-btn{justify-content:center}}
