.pv{max-width:1100px;margin:0 auto;padding:16px}
.pv h1{margin:.2em 0}
.pv .lead{color:#555;margin:0 0 16px}
.pv-grid{display:grid;grid-template-columns:1fr;gap:16px}
@media(min-width:820px){.pv-grid{grid-template-columns:380px 1fr}.pv-view{position:sticky;top:8px;align-self:start}}
.pv-form label,.pv-form .lbl{display:block;font-weight:600;margin:12px 0 4px}
.pv-form input[type=text],.pv-form select,.pv-form textarea{width:100%;box-sizing:border-box;font-size:16px;padding:10px;border:1px solid #ccc;border-radius:8px;background:#fff}
.pv-form .hint{font-size:13px;color:#666;margin:4px 0 0}
.sw{display:flex;flex-wrap:wrap;gap:8px}
.sw button{width:34px;height:34px;border-radius:50%;border:2px solid #bbb;cursor:pointer}
.sw button[aria-checked=true]{outline:3px solid #1f5a40;outline-offset:2px}
.btn{display:block;text-align:center;margin-top:16px;padding:14px;border-radius:10px;background:#b22234;color:#fff;font-weight:700;text-decoration:none;font-size:17px}
.btn2{margin-top:6px;padding:8px 14px;border-radius:8px;border:1px solid #1f5a40;background:#fff;color:#1f5a40;font-weight:600;cursor:pointer}
.stage{position:relative;background:#f4eee4;border-radius:14px;aspect-ratio:1/1;display:flex;align-items:center;justify-content:center;overflow:hidden}
.stage img{max-width:100%;max-height:100%;transition:opacity .15s}
.stage.loading img{opacity:.45}
.busy{position:absolute;bottom:10px;left:50%;transform:translateX(-50%);background:rgba(0,0,0,.65);color:#fff;padding:6px 12px;border-radius:20px;font-size:14px;display:none;white-space:nowrap;max-width:92%;overflow:hidden;text-overflow:ellipsis}
.stage.loading .busy{display:block}
.views{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}
.views button{padding:6px 10px;border-radius:16px;border:1px solid #ccc;background:#fff;cursor:pointer}
.views button.on{background:#1f5a40;color:#fff;border-color:#1f5a40}
.errs{color:#8a4b00;background:#fff6e5;border-radius:8px;padding:0;margin:10px 0;list-style:none}
.errs li{padding:6px 10px}
.note{font-size:13px;color:#666}
