.vs-scan{margin-bottom:2rem;background:var(--surface,#fff);border:1px solid var(--border,#e2e8f0);border-radius:12px;box-shadow:0 1px 3px rgba(0,0,0,.06);overflow:hidden;}
.vs-modes{display:flex;flex-wrap:nowrap;gap:6px;padding:1rem;background:var(--surface-muted,#f8fafc);border-bottom:1px solid var(--border,#e2e8f0);overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:thin;}
.vs-modes::-webkit-scrollbar{height:6px;}
.vs-mode{flex:0 0 auto;padding:0.5rem 0.875rem;border-radius:8px;font-size:0.875rem;font-weight:600;color:var(--text-muted,#64748b);background:var(--surface,#fff);border:1px solid var(--border,#e2e8f0);cursor:pointer;transition:color .2s,background .2s,border-color .2s;white-space:nowrap;}
.vs-mode:hover{color:var(--text-main,#111);border-color:var(--primary,#2563eb);}
.vs-mode--on{color:var(--primary,#2563eb);background:rgba(37,99,235,.08);border-color:var(--primary,#2563eb);}
.vs-target-wrap{padding:1rem;}
.vs-label{display:block;font-size:0.875rem;font-weight:600;color:var(--text-main,#111);margin-bottom:0.5rem;}
.vs-input{width:100%;padding:0.75rem 1rem;border:1px solid var(--border,#e2e8f0);border-radius:10px;font-size:1rem;line-height:1.4;background:var(--surface,#fff);color:var(--text-main,#111);box-sizing:border-box;-webkit-appearance:none;appearance:none;transition:border-color .2s,box-shadow .2s;}
.vs-input:focus{outline:none;border-color:var(--primary,#2563eb);box-shadow:0 0 0 3px rgba(37,99,235,.12);}
.vs-input::placeholder{color:var(--text-muted,#64748b);}
.vs-actions{padding:0 1rem 1rem;}
.vs-btn{display:inline-flex;align-items:center;justify-content:center;width:100%;max-width:320px;padding:0.875rem 1.25rem;border:none;border-radius:10px;font-size:1rem;font-weight:600;cursor:pointer;background:var(--primary,#2563eb);color:#fff;transition:background .2s,transform .1s;}
.vs-btn:hover{background:var(--primary-dark,#1d4ed8);}
.vs-btn:active{transform:scale(0.98);}
.vs-status{display:flex;align-items:center;justify-content:center;gap:0.75rem;padding:1.5rem 1rem;}
.vs-status[hidden]{display:none;}
.vs-spinner{width:32px;height:32px;border:3px solid var(--border,#e2e8f0);border-top-color:var(--primary,#2563eb);border-radius:50%;animation:vs-spin .7s linear infinite;}
@keyframes vs-spin{to{transform:rotate(360deg);}}
.vs-status-txt{font-size:0.9375rem;color:var(--text-muted,#64748b);}
.vs-report{padding:0 1rem 1rem;border-top:1px solid var(--border,#e2e8f0);}
.vs-report[hidden]{display:none;}
.vs-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:0.5rem;margin-bottom:1.25rem;padding-top:1rem;}
.vs-summary-item{display:flex;flex-direction:column;align-items:center;padding:0.75rem;border-radius:10px;background:var(--surface-muted,#f8fafc);border:1px solid var(--border,#e2e8f0);}
.vs-summary-num{font-size:1.5rem;font-weight:700;line-height:1.2;color:var(--text-main,#111);}
.vs-summary-num--critical{color:#dc2626;}
.vs-summary-num--high{color:#ea580c;}
.vs-summary-num--medium{color:#ca8a04;}
.vs-summary-lbl{font-size:0.75rem;font-weight:600;color:var(--text-muted,#64748b);text-transform:uppercase;letter-spacing:0.02em;margin-top:0.25rem;}
.vs-findings{list-style:none;margin:0;padding:0;}
.vs-finding{margin-bottom:0.75rem;padding:1rem;border-radius:10px;border:1px solid var(--border,#e2e8f0);background:var(--surface,#fff);border-left:4px solid var(--border,#e2e8f0);}
.vs-finding:last-child{margin-bottom:0;}
.vs-finding--critical{border-left-color:#dc2626;}
.vs-finding--high{border-left-color:#ea580c;}
.vs-finding--medium{border-left-color:#ca8a04;}
.vs-finding--low{border-left-color:#16a34a;}
.vs-finding--info{border-left-color:#0891b2;}
.vs-finding-head{display:flex;align-items:center;gap:0.5rem;margin-bottom:0.5rem;}
.vs-finding-sev{flex-shrink:0;width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:0.6875rem;font-weight:700;color:#fff;}
.vs-finding-sev--critical{background:#dc2626;}
.vs-finding-sev--high{background:#ea580c;}
.vs-finding-sev--medium{background:#ca8a04;}
.vs-finding-sev--low{background:#16a34a;}
.vs-finding-sev--info{background:#0891b2;}
.vs-finding-title{font-size:0.9375rem;font-weight:600;color:var(--text-main,#111);}
.vs-finding-desc{font-size:0.875rem;line-height:1.55;color:var(--text-muted,#64748b);margin-bottom:0.5rem;}
.vs-finding-fix{padding:0.625rem 0.75rem;border-radius:8px;font-size:0.8125rem;line-height:1.5;background:#f0fdf4;border:1px solid #bbf7d0;color:#166534;}
.vs-legal{margin:1rem;padding:0.875rem 1rem;border-radius:10px;background:#fef2f2;border:1px solid #fecaca;color:#991b1b;font-size:0.8125rem;}
.vs-ctx{margin-bottom:2rem;}
.vs-ctx-title{font-size:1.25rem;font-weight:700;color:var(--text-main,#111);margin:0 0 0.75rem;}
.vs-ctx-p{font-size:1rem;line-height:1.65;color:var(--text-muted,#64748b);margin:0;}
.vs-ctx-p a{color:var(--primary,#2563eb);text-decoration:underline;}
.vs-ctx-p a:hover{text-decoration:none;}
@media (min-width:480px){.vs-summary{grid-template-columns:repeat(4,1fr);gap:0.75rem;}.vs-summary-num{font-size:1.75rem;}}
@media (min-width:768px){.vs-scan{border-radius:16px;}.vs-modes,.vs-target-wrap,.vs-actions,.vs-report{padding-left:1.5rem;padding-right:1.5rem;}.vs-modes{padding-top:1.25rem;}.vs-target-wrap{padding-top:1.25rem;}.vs-actions{padding-bottom:1.25rem;}.vs-btn{max-width:240px;}.vs-report{padding-bottom:1.5rem;}.vs-summary{padding-top:1.25rem;margin-bottom:1.5rem;}.vs-finding{padding:1.25rem;}.vs-legal{margin:1rem 1.5rem 1.5rem;}}
@media (max-width:359px){.vs-summary{grid-template-columns:repeat(2,1fr);}.vs-summary-num{font-size:1.25rem;}}
