:root{
  --sfv-bg:#0F172A;
  --sfv-card:#111827;
  --sfv-accent:#2563EB;
  --sfv-text:#E5E7EB;
  --sfv-muted:#9CA3AF;
  --sfv-border:#1F2937;
}
.sfv-card{ background: var(--sfv-card); border:1px solid var(--sfv-border); border-radius:16px; padding:18px; margin:18px 0; color: var(--sfv-text); box-shadow: 0 10px 20px rgba(0,0,0,0.25); }
.sfv-title{ margin:0 0 10px 0; font-size:20px; line-height:1.3; }
.sfv-form .sfv-grid{ display:grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap:12px; }
.sfv-form label{ display:flex; flex-direction:column; gap:6px; font-size:14px; }
.sfv-form input, .sfv-form select{ background: #0B1020; color: var(--sfv-text); border:1px solid var(--sfv-border); border-radius:10px; padding:10px 12px; outline:none; }
.sfv-btn{ margin-top:14px; display:inline-block; padding:10px 14px; border-radius:12px; background: var(--sfv-accent); color:white; border:none; cursor:pointer; transition: transform .05s ease; }
.sfv-btn:active{ transform: scale(0.98); }
.sfv-btn-cta{ margin-left: 10px; }
.sfv-result{ margin-top:12px; font-size:15px; }
.sfv-muted,.sfv-tip{ color: var(--sfv-muted); font-size:13px; }
.sfv-macros, .sfv-table{ display:grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap:8px; margin:10px 0; }
.sfv-macros div, .sfv-table div{ background:#0B1020; padding:10px; border-radius:10px; border:1px solid var(--sfv-border); display:flex; align-items:center; justify-content:space-between; }
.sfv-cta{ display:inline-block; text-decoration:none; }
@media (max-width:600px){ .sfv-form .sfv-grid{ grid-template-columns:1fr; } }