.vsf{--vs:#2563eb;--vs-ink:#141a2b;--vs-muted:#6b7589;--vs-line:#e3e7ef;--vs-soft:#f4f6fb;--vs-ok:#16a34a;--vs-warn:#d97706;--vs-err:#dc2626;color:var(--vs-ink);font-size:15px;line-height:1.55;-webkit-font-smoothing:antialiased}
.vsf *{box-sizing:border-box}
.vsf-card{background:#fff;border:1px solid var(--vs-line);border-radius:16px;padding:22px;margin:0 0 16px}
.vsf-center{text-align:center;max-width:460px;margin:24px auto}
.vsf-muted{color:var(--vs-muted)}.vsf-small{font-size:13px}
.vsf-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:42px;padding:0 18px;border-radius:10px;background:var(--vs);color:#fff!important;border:1px solid transparent;font-weight:600;font-size:14px;text-decoration:none!important;cursor:pointer;transition:filter .15s}
.vsf-btn:hover{filter:brightness(1.08)}
.vsf-btn.is-ghost{background:transparent;color:var(--vs-ink)!important;border-color:var(--vs-line)}
.vsf-btn.is-sm{height:34px;padding:0 12px;font-size:13px;border-radius:8px}
.vsf-btn.is-danger{background:transparent;color:var(--vs-err)!important;border-color:var(--vs-line)}
.vsf-btn.is-disabled,.vsf-btn:disabled{opacity:.55;cursor:not-allowed;filter:none}
.vsf-plans{display:grid;grid-template-columns:repeat(var(--vs-cols,3),minmax(0,1fr));gap:16px}
@media (max-width:860px){.vsf-plans{grid-template-columns:1fr 1fr}}@media (max-width:560px){.vsf-plans{grid-template-columns:1fr}}
.vsf-plan{background:#fff;border:1px solid var(--vs-line);border-radius:16px;padding:22px;display:flex;flex-direction:column;gap:10px;position:relative}
.vsf-plan.is-hi{border-color:var(--vs);box-shadow:0 10px 30px rgba(37,99,235,.12)}
.vsf-plan.is-current{border-color:var(--vs-ok)}
.vsf-plan-name{font-weight:700;font-size:18px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.vsf-tag{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;background:var(--vs);color:#fff;border-radius:999px;padding:2px 8px}
.is-current .vsf-tag{background:var(--vs-ok)}
.vsf-plan-price b{font-size:30px;font-weight:800;letter-spacing:-.02em}.vsf-plan-price span{color:var(--vs-muted);margin-left:4px}
.vsf-plan-blurb{margin:0;color:var(--vs-muted)}
.vsf-plan-feats{list-style:none;margin:0;padding:0;flex:1}
.vsf-plan-feats li{padding:5px 0 5px 24px;position:relative;border-top:1px solid var(--vs-soft)}
.vsf-plan-feats li:before{content:"";position:absolute;left:4px;top:13px;width:10px;height:6px;border-left:2px solid var(--vs-ok);border-bottom:2px solid var(--vs-ok);transform:rotate(-45deg)}
.vsf-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media (max-width:760px){.vsf-grid{grid-template-columns:1fr}}
.vsf-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap}
.vsf h3{margin:0 0 6px;font-size:18px}.vsf h4{margin:0 0 8px;font-size:15px}
.vsf-pill{display:inline-block;font-size:12px;font-weight:600;border-radius:999px;padding:3px 10px;background:var(--vs-soft);color:var(--vs-muted)}
.vsf-pill.is-ok{background:#dcfce7;color:#166534}.vsf-pill.is-warn{background:#fef3c7;color:#92400e}.vsf-pill.is-err{background:#fee2e2;color:#991b1b}
.vsf-bar{height:8px;background:var(--vs-soft);border-radius:4px;overflow:hidden;margin:8px 0 4px}.vsf-bar i{display:block;height:100%;background:var(--vs);border-radius:4px}
.vsf-bar.is-warn i{background:var(--vs-warn)}.vsf-bar.is-err i{background:var(--vs-err)}
.vsf-kv{display:grid;grid-template-columns:auto 1fr;gap:4px 14px;font-size:14px}.vsf-kv span{color:var(--vs-muted)}
.vsf-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.vsf-dev{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-top:1px solid var(--vs-line);flex-wrap:wrap}
.vsf-dev:first-of-type{border-top:0}
.vsf-dev-name{font-weight:600}.vsf-dev-meta{font-size:13px;color:var(--vs-muted)}
.vsf-dot{display:inline-block;width:9px;height:9px;border-radius:50%;background:#9ca3af;margin-right:6px;vertical-align:middle}
.vsf-dot.is-ok{background:var(--vs-ok);box-shadow:0 0 0 3px rgba(22,163,74,.15)}.vsf-dot.is-warn{background:var(--vs-warn)}.vsf-dot.is-err{background:var(--vs-err)}
.vsf label{display:block;font-size:13px;font-weight:600;margin:10px 0 0}
.vsf input[type=text],.vsf input[type=email],.vsf select,.vsf textarea{display:block;width:100%;margin-top:4px;padding:9px 11px;border:1px solid var(--vs-line);border-radius:9px;font:inherit;font-size:14px;background:#fff;color:inherit}
.vsf-form-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;align-items:end}.vsf-form-row label:first-child,.vsf-form-row .vsf-btn{grid-column:1/-1}.vsf-form-row label{margin-top:0}
.vsf-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;opacity:0}
.vsf-table{width:100%;border-collapse:collapse;font-size:14px}.vsf-table th{text-align:left;font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--vs-muted);padding:8px 10px;border-bottom:1px solid var(--vs-line)}.vsf-table td{padding:10px;border-bottom:1px solid var(--vs-soft)}
.vsf-status-head{display:flex;align-items:center;gap:10px;margin-bottom:12px;flex-wrap:wrap}.vsf-status-head b{font-size:17px}.vsf-status-head .vsf-muted{margin-left:auto;font-size:13px}
.vsf-apps{display:flex;gap:8px;flex-wrap:wrap}
.vsf-chart{display:flex;align-items:flex-end;gap:2px;height:60px;margin-top:8px}.vsf-chart i{flex:1;background:var(--vs);opacity:.85;border-radius:2px 2px 0 0;min-height:2px}
.vsf-overlay{position:fixed;inset:0;z-index:99999;background:rgba(10,14,25,.55);display:flex;align-items:center;justify-content:center;padding:16px;overflow:auto}
.vsf-modal{background:#fff;border-radius:16px;max-width:640px;width:100%;padding:22px;color:var(--vs-ink);box-shadow:0 30px 80px rgba(0,0,0,.3)}
.vsf-modal textarea{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;height:220px}
.vsf-qr{text-align:center}.vsf-qr canvas{max-width:100%;border:1px solid var(--vs-line);border-radius:12px;padding:8px;background:#fff}
.vsf-note{background:#fef3c7;color:#92400e;border-radius:10px;padding:10px 12px;font-size:13px;margin-top:12px}.vsf-note.is-info{background:#dbeafe;color:#1e3a8a}.vsf-note.is-err{background:#fee2e2;color:#991b1b}
.vsf-code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;background:var(--vs-soft);border-radius:8px;padding:4px 8px;font-size:13px}
.vsf-form-msg{margin-top:10px;font-size:14px}
