:root{--bg:#fafafa;--surface:#fff;--surface-2:#f8f9fa;--surface-3:#f4f4f4;--fg:#1a1a1a;--fg-muted:#999;--line:#eaeaea;--line-strong:#dedede;--accent:#c00;--accent-dark:#900;--accent-ink:#fff;--accent-soft:#fff5f5;--ok:#15803d;--ok-bg:#f0fdf4;--warn:#b45309;--warn-bg:#fffbeb;--err:#c00;--radius:8px}*{box-sizing:border-box}body{background:var(--bg);color:var(--fg);margin:0;font-family:CeLaVieSans,Segoe UI,Arial,sans-serif;font-size:15px;line-height:1.55}.vf-wrap{max-width:720px;margin:0 auto;padding:0 16px 56px}.vf-head{flex-wrap:wrap;align-items:center;gap:12px;padding-top:22px;display:flex}.vf-logo{flex:none;width:auto;height:30px;display:block}.vf-head strong{font-size:.95rem;display:block}.vf-head span{color:var(--fg-muted);font-size:.78rem}.vf-steps{gap:4px;margin-top:20px;padding:0;list-style:none;display:flex}.vf-steps li{flex:1;min-width:0}.vf-steps .bar{background:var(--surface-3);border-radius:2px;height:4px}.vf-steps li.done .bar,.vf-steps li.now .bar{background:var(--accent)}.vf-steps .lb{color:var(--fg-muted);white-space:nowrap;text-overflow:ellipsis;margin-top:6px;font-size:.68rem;overflow:hidden}.vf-steps li.now .lb{color:var(--accent);font-weight:650}.vf-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);margin-top:18px;padding:22px}.vf-card h1{text-wrap:balance;margin:0;font-size:1.6rem;line-height:1.25}.vf-card h2{margin:0;font-size:1.2rem}.vf-card h3{margin:22px 0 0;font-size:.95rem}.vf-lede{color:var(--fg-muted);margin:8px 0 0}.vf-grid{gap:16px;margin-top:18px;display:grid}.vf-grid.two{grid-template-columns:1fr 1fr}@media (width<=560px){.vf-grid.two{grid-template-columns:1fr}}.vf-field{min-width:0}.vf-label{margin-bottom:5px;font-size:.82rem;font-weight:600;display:block}.vf-req{color:var(--err)}.vf-hint{color:var(--fg-muted);margin:4px 0 0;font-size:.76rem}.vf-err{color:var(--err);margin:4px 0 0;font-size:.76rem;font-weight:500}.vf-field input[type=text],.vf-field input[type=email],.vf-field input[type=tel],.vf-field input[type=date],.vf-field textarea{width:100%;font:inherit;border:1px solid var(--line);background:var(--surface);color:var(--fg);border-radius:6px;padding:9px 11px;font-size:.92rem}.vf-field textarea{resize:vertical;min-height:76px}.vf-field.bad input,.vf-field.bad textarea{border-color:var(--err)}.vf-mono{letter-spacing:.02em;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.vf-opts{flex-wrap:wrap;gap:8px;display:flex}.vf-opt{border:1px solid var(--line);cursor:pointer;background:var(--surface);border-radius:6px;flex:140px;align-items:center;gap:8px;min-width:0;padding:9px 12px;font-size:.88rem;display:flex}.vf-opt.sel{border-color:var(--accent);background:var(--accent-soft)}.vf-opt input{accent-color:var(--accent);flex:none;margin:0}.vf-opt .sub{color:var(--fg-muted);font-size:.72rem;display:block}.vf-note{border-radius:6px;align-items:flex-start;gap:9px;margin-top:14px;padding:11px 13px;font-size:.83rem;display:flex}.vf-note.warn{background:var(--warn-bg);color:var(--warn)}.vf-note.ok{background:var(--ok-bg);color:var(--ok)}.vf-note.info{background:var(--surface-2);color:var(--fg-muted)}.vf-note .ic{flex:none;font-weight:700}.vf-branch{background:var(--accent-soft);border-left:3px solid var(--accent);border-radius:0 6px 6px 0;margin-top:14px;padding:10px 13px;font-size:.83rem}.vf-branch b{color:var(--accent)}.vf-wavetbl{border-collapse:collapse;width:100%;margin-top:12px;font-size:.82rem}.vf-wavetbl th,.vf-wavetbl td{text-align:left;border-bottom:1px solid var(--line);padding:7px 9px}.vf-wavetbl th{text-transform:uppercase;letter-spacing:.07em;color:var(--fg-muted);font-size:.7rem;font-weight:600}.vf-member{border:1px solid var(--line);background:var(--surface-2);border-radius:6px;margin-top:10px;padding:14px}.vf-member-h{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.vf-member-h strong{text-transform:uppercase;letter-spacing:.06em;color:var(--fg-muted);font-size:.8rem}.vf-drop{border:1px dashed var(--line);background:var(--surface-2);border-radius:6px;padding:14px}.vf-drop.done{border-style:solid;border-color:var(--ok);background:var(--ok-bg)}.vf-drop input[type=file]{max-width:100%;margin-top:9px;font-size:.8rem}.vf-filerow{align-items:center;gap:10px;min-width:0;margin-top:9px;font-size:.82rem;display:flex}.vf-filerow img{object-fit:cover;border:1px solid var(--line);border-radius:4px;flex:none;width:38px;height:38px}.vf-filerow .fi{background:var(--surface-3);width:38px;height:38px;color:var(--fg-muted);border-radius:4px;flex:none;place-items:center;font-size:.6rem;display:grid}.vf-filerow .fm{flex:1;min-width:0}.vf-filerow .fn{text-overflow:ellipsis;white-space:nowrap;font-weight:500;overflow:hidden}.vf-filerow .fs{color:var(--fg-muted);font-size:.74rem}.vf-shrink{color:var(--ok);font-weight:600}.vf-x{color:var(--fg-muted);cursor:pointer;background:0 0;border:none;flex:none;padding:0 4px;font-size:1.1rem}.vf-x:hover{color:var(--err)}.vf-sigtabs{gap:6px;margin-bottom:10px;display:flex}.vf-sigtab{font:inherit;border:1px solid var(--line);background:var(--surface);cursor:pointer;color:var(--fg);border-radius:6px;padding:6px 13px;font-size:.82rem}.vf-sigtab.on{background:var(--accent);color:var(--accent-ink);border-color:var(--accent);font-weight:600}.vf-sigwrap{border:1px solid var(--line);background:#fff;border-radius:6px;position:relative;overflow:hidden}.vf-sigwrap canvas{touch-action:none;cursor:crosshair;width:100%;height:170px;display:block}.vf-sigline{pointer-events:none;border-bottom:1px solid #c9ced6;position:absolute;bottom:34px;left:24px;right:24px}.vf-sighint{color:#9aa3ae;pointer-events:none;font-size:.72rem;position:absolute;bottom:14px;left:24px}.vf-typed{color:#16202c;background:#fff;place-items:center;height:170px;font-family:Segoe Script,Brush Script MT,cursive;font-size:2rem;font-style:italic;display:grid}.vf-decl{background:var(--surface-2);border-radius:6px;margin-top:14px;padding:16px;font-size:.86rem}.vf-chk{cursor:pointer;align-items:flex-start;gap:10px;margin-top:12px;display:flex}.vf-chk input{accent-color:var(--accent);flex:none;width:16px;height:16px;margin:3px 0 0}.vf-rev h3{text-transform:uppercase;letter-spacing:.08em;color:var(--fg-muted);border-bottom:1px solid var(--line);margin:18px 0 8px;padding-bottom:5px;font-size:.72rem}.vf-kv{grid-template-columns:minmax(120px,38%) 1fr;gap:5px 14px;margin:0;font-size:.86rem;display:grid}.vf-kv dt{color:var(--fg-muted);min-width:0}.vf-kv dd{overflow-wrap:anywhere;min-width:0;margin:0;font-weight:500}.vf-sigshow{border:1px solid var(--line);background:#fff;border-radius:6px;max-width:260px;margin-top:8px;padding:6px}.vf-sigshow img{width:100%;display:block}.vf-nav{flex-wrap:wrap;align-items:center;gap:10px;margin-top:22px;display:flex}.vf-spacer{flex:1}.vf-btn{font:inherit;cursor:pointer;border:1px solid #0000;border-radius:6px;padding:10px 20px;font-size:.9rem;font-weight:600}.vf-btn.p{background:var(--accent);color:var(--accent-ink)}.vf-btn.p:hover:not(:disabled){background:var(--accent-dark)}.vf-btn.p:disabled{opacity:.5;cursor:not-allowed}.vf-btn.s{background:var(--surface);color:var(--fg);border-color:var(--line)}.vf-done-ic{background:var(--ok-bg);width:52px;height:52px;color:var(--ok);border-radius:50%;place-items:center;margin-bottom:14px;font-size:1.6rem;display:grid}.vf-ref{background:var(--surface-2);border-radius:6px;flex-wrap:wrap;justify-content:space-between;gap:10px;margin-top:14px;padding:10px 13px;font-size:.86rem;display:flex}.vf-foot{border-top:1px solid var(--line);color:var(--fg-muted);margin-top:30px;padding-top:16px;font-size:.76rem}.vf-overlay{z-index:50;background:#1a1a1a8c;place-items:center;padding:24px;animation:.15s ease-out vf-fade;display:grid;position:fixed;inset:0}@keyframes vf-fade{0%{opacity:0}to{opacity:1}}.vf-overlay-card{background:var(--surface);text-align:center;border-radius:14px;width:100%;max-width:380px;padding:34px 30px;box-shadow:0 12px 40px #1a1a1a38}.vf-spinner{border:3px solid var(--line);border-top-color:var(--accent);border-radius:50%;width:42px;height:42px;margin:0 auto 20px;animation:.9s linear infinite vf-spin}@keyframes vf-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.vf-spinner{animation-duration:2.4s}.vf-overlay{animation:none}}.vf-overlay-title{margin:0 0 8px;font-size:1.05rem;font-weight:650}.vf-overlay-text{color:var(--fg-muted);margin:0 0 16px;font-size:.86rem}.vf-overlay-warn{color:var(--accent);margin:0;font-size:.82rem;font-weight:600}.vf-field select{width:100%;font:inherit;border:1px solid var(--line);background:var(--surface);color:var(--fg);border-radius:6px;padding:9px 11px;font-size:.92rem}.vf-field.bad select{border-color:var(--err)}.vf-suffix{align-items:center;gap:8px;display:flex}.vf-suffix input{flex:auto;min-width:0}.vf-suffix>span{color:var(--fg-muted);flex:none;font-size:.9rem}.vf-holder{border:1px solid var(--line);background:var(--surface);border-radius:8px;margin-bottom:12px;padding:14px}.vf-holder-h{align-items:center;gap:10px;margin-bottom:12px;font-size:.84rem;font-weight:600;display:flex}.vf-holder-h .n{background:var(--accent-soft);width:24px;height:24px;color:var(--accent);border-radius:50%;flex:none;place-items:center;font-size:.76rem;display:grid}.vf-holder-h .vf-spacer{flex:auto}.vf-add{font:inherit;cursor:pointer;border:1px dashed var(--line);color:var(--accent);background:0 0;border-radius:6px;width:100%;padding:9px 14px;font-size:.84rem;font-weight:600}.vf-add:hover{border-color:var(--accent);background:var(--accent-soft)}.vf-sections{flex-wrap:wrap;gap:6px;margin:10px 0 18px;display:flex}@media (width<=560px){.vf-sections{display:none}}.vf-sections span{background:var(--surface-2);color:var(--fg-muted);border-radius:99px;padding:4px 9px;font-size:.72rem}.vf-sections span.on{background:var(--accent-soft);color:var(--accent);font-weight:600}.vf-sections span.done{color:var(--ok)}.vf-draft{color:var(--fg-muted);align-items:center;gap:8px;margin-top:10px;font-size:.76rem;display:flex}.vf-steps.compact .lb{display:none}.vf-stepcount{color:var(--fg-muted);margin:8px 0 0;font-size:.76rem;font-weight:500}.vf-list{margin:8px 0 0;padding-left:20px;font-size:.88rem;line-height:1.7}.vf-list li{margin:0}.vf-link{font:inherit;font-size:inherit;color:var(--accent);cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.vf-policy{white-space:pre-wrap;border:1px solid var(--line);background:var(--surface-2);border-radius:8px;max-height:340px;margin-bottom:16px;padding:14px;font-size:.84rem;line-height:1.6;overflow-y:auto}.vf-accept-scope{background:var(--accent-soft);border-left:3px solid var(--accent);border-radius:8px;margin:0 0 18px;padding:12px 14px;font-size:.9rem;line-height:1.6}.vf-clause{margin-bottom:16px}.vf-clause h3{align-items:baseline;gap:8px;margin:0 0 5px;font-size:.88rem;display:flex}.vf-clause p{color:var(--fg-muted);margin:0;font-size:.84rem;line-height:1.6}.vf-clause-ref{letter-spacing:.04em;color:var(--accent);background:var(--accent-soft);font-variant-numeric:tabular-nums;border-radius:4px;flex:none;padding:2px 6px;font-size:.68rem;font-weight:700}.vf-clause-why{border-left:2px solid var(--line);padding-left:10px;font-style:italic;margin-top:5px!important;font-size:.8rem!important}.vf-index{gap:14px;margin-top:18px;display:grid}@media (width>=700px){.vf-index{grid-template-columns:1fr 1fr}}.vf-indexcard{border:1px solid var(--line);color:inherit;background:var(--surface);border-radius:10px;padding:18px;text-decoration:none;display:block;position:relative}.vf-indexcard:hover{border-color:var(--accent);background:var(--accent-soft)}.vf-indexcard strong{padding-right:72px;font-size:1rem;display:block}.vf-indexcard p{color:var(--fg-muted);margin:8px 0 12px;font-size:.84rem;line-height:1.5}.vf-indexcard code{background:var(--surface-2);border-radius:4px;padding:2px 7px;font-size:.78rem}.vf-indextag{letter-spacing:.04em;text-transform:uppercase;border-radius:99px;padding:3px 9px;font-size:.68rem;font-weight:700;position:absolute;top:18px;right:18px}.vf-indextag.live{background:var(--ok-bg);color:var(--ok)}.vf-indextag.preview{background:var(--surface-2);color:var(--fg-muted)}.vf-auth-card{border-radius:12px;max-width:520px;margin:32px auto 0;box-shadow:0 4px 20px #0000000d}.vf-auth-head{align-items:flex-start;gap:16px;margin-bottom:20px;display:flex}.vf-auth-icon{background:var(--surface-2);border:1px solid var(--line);border-radius:10px;padding:10px;font-size:2rem;line-height:1}.vf-auth-sub{color:var(--fg-muted);margin:6px 0 0;font-size:.88rem;line-height:1.5}.vf-auth-badge{background:var(--surface-2);border:1px dashed var(--line-strong);border-radius:6px;gap:6px;margin-bottom:16px;padding:8px 12px;font-size:.84rem;display:inline-flex}.vf-auth-err{background:var(--accent-soft);color:var(--err);border:1px solid #cc000040;border-radius:6px;margin-bottom:16px;padding:10px 14px;font-size:.85rem;line-height:1.45}.vf-auth-preview-notice{color:#475569;background:#f8fafc;border:1px solid #cbd5e1;border-radius:6px;margin-top:14px;padding:10px 14px;font-size:.82rem}.vf-auth-preview-notice strong{margin-bottom:2px;display:block}.vf-auth-preview-notice p{margin:0;line-height:1.4}.vf-otp-input{max-width:280px;margin:0 auto;display:block;letter-spacing:.45em!important;text-align:center!important;padding:10px 14px!important;font-family:Consolas,Courier New,monospace!important;font-size:1.6rem!important;font-weight:700!important}.vf-auth-actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-top:16px;display:flex}.vf-link-btn{color:var(--accent);cursor:pointer;background:0 0;border:none;padding:0;font-size:.84rem;text-decoration:underline}.vf-link-btn:disabled{color:var(--fg-muted);cursor:not-allowed;text-decoration:none}.vf-auth-note{color:var(--fg-muted);text-align:right;flex:auto;font-size:.84rem;line-height:1.5}.vf-auth-note a{color:var(--accent)}.vf-auth-banner{background:var(--surface);border-bottom:1px solid var(--line);z-index:99;padding:10px 16px;font-size:.85rem;position:sticky;top:0;box-shadow:0 1px 4px #0000000a}.vf-auth-banner-inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;max-width:720px;margin:0 auto;display:flex}.vf-auth-banner-user{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.vf-auth-lock{font-size:1rem}.vf-auth-email{color:var(--fg-muted);font-size:.82rem}.vf-status-pill{border:1px solid #0000;border-radius:99px;padding:2px 8px;font-size:.74rem;font-weight:650}.vf-status-good{background:var(--ok-bg);color:var(--ok);border-color:#16a34a33}.vf-status-info{color:#2563eb;background:#eff6ff;border-color:#2563eb33}.vf-status-warn{background:var(--warn-bg);color:var(--warn);border-color:#d9770633}.vf-status-muted{background:var(--surface-2);color:var(--fg-muted);border-color:var(--line)}.vf-auth-logout-btn{background:var(--surface-2);border:1px solid var(--line-strong);color:var(--fg);cursor:pointer;border-radius:5px;padding:4px 10px;font-size:.78rem;font-weight:600}.vf-auth-logout-btn:hover{background:var(--accent-soft);color:var(--err);border-color:#cc00004d}.vf-changes-banner{background:var(--warn-bg);border:1px solid #d9770659;border-radius:8px;margin-top:18px;padding:16px 18px}.vf-changes-head{color:var(--warn);align-items:center;gap:10px;display:flex}.vf-changes-icon{font-size:1.25rem;line-height:1}.vf-changes-head strong{color:var(--fg);font-size:.95rem}.vf-changes-date{color:var(--fg-muted);font-size:.78rem}.vf-changes-comment{color:var(--fg);border-left:3px solid var(--warn);background:#ffffffb3;border-radius:0 6px 6px 0;margin:10px 0 14px 28px;padding:8px 12px;font-size:.92rem;font-style:italic;line-height:1.5}.vf-changes-quickjump{color:var(--fg-muted);flex-wrap:wrap;align-items:center;gap:8px;margin-left:28px;font-size:.8rem;display:flex}.vf-quick-pill{border:1px solid var(--line-strong);cursor:pointer;color:var(--fg);background:#fff;border-radius:99px;padding:3px 10px;font-size:.75rem;font-weight:500;transition:all .15s}.vf-quick-pill:hover{border-color:var(--warn);color:var(--warn);background:var(--warn-bg)}.vf-quick-pill.active{background:var(--warn);color:#fff;border-color:var(--warn)}.vf-section-pill{font:inherit;background:var(--surface-2);color:var(--fg-muted);cursor:pointer;border:1px solid #0000;border-radius:99px;padding:4px 9px;font-size:.72rem;transition:all .15s}.vf-section-pill:hover{border-color:var(--line-strong);color:var(--fg)}.vf-section-pill.on{background:var(--accent-soft);color:var(--accent);border-color:#cc000040;font-weight:600}.vf-section-pill.done{color:var(--ok)}.vf-auth-status-card{border-radius:8px;margin-bottom:18px;padding:14px 16px;font-size:.88rem;line-height:1.5}.vf-auth-status-card.info{color:#1e40af;background:#eff6ff;border:1px solid #bfdbfe}.vf-auth-status-card.success{background:var(--ok-bg);color:#166534;border:1px solid #bbf7d0}.vf-auth-status-card.err{background:var(--accent-soft);color:var(--err);border:1px solid #cc000040}.vf-auth-status-title{margin-bottom:4px;font-size:.92rem;font-weight:700}
