.vb-controls{display:flex;flex-wrap:wrap;align-items:center;gap:.8rem 1.2rem;margin-bottom:1rem}.vb-rate-group{display:flex;gap:.35rem}.vb-rate-btn{padding:.38rem .85rem;border-radius:20px;border:1.5px solid var(--border);background:transparent;color:var(--ink-soft);font-size:.85rem;font-weight:600;cursor:pointer;transition:all .15s}.vb-rate-btn.active{background:var(--accent);border-color:var(--accent);color:#fff}.vb-mode-group{display:flex;gap:.35rem}.vb-mode-btn{padding:.38rem .85rem;border-radius:20px;border:1.5px solid var(--border);background:transparent;color:var(--ink-soft);font-size:.82rem;cursor:pointer;transition:all .15s}.vb-mode-btn.active{background:var(--surface);border-color:var(--accent);color:var(--ink)}.vb-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.vb-table{width:100%;border-collapse:collapse;font-size:.875rem}.vb-table th{text-align:right;padding:.45rem .6rem;color:var(--ink-soft);font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--border);white-space:nowrap}.vb-table th:first-child{text-align:left}.vb-table td{padding:.45rem .6rem;border-bottom:1px solid var(--border);vertical-align:middle}.vb-table td.num{text-align:right;color:var(--ink);font-variant-numeric:tabular-nums;white-space:nowrap}.vb-table td.num--vat{color:var(--accent);font-weight:600}.vb-inp{width:130px;background:var(--surface);border:1px solid var(--border);border-radius:6px;padding:.35rem .6rem;color:var(--ink);font-size:.875rem;text-align:right}.vb-inp:focus{outline:2px solid var(--accent);border-color:transparent}.vb-del-btn{background:none;border:none;color:var(--ink-soft);font-size:1rem;cursor:pointer;padding:.2rem .4rem;border-radius:4px;transition:color .15s;line-height:1}.vb-del-btn:hover{color:var(--ds-danger-text, #FCA5A5)}.vb-totals-row td{font-weight:700;color:var(--ink);border-top:2px solid var(--border);border-bottom:none}.vb-totals-row td.num--vat{color:var(--accent)}.vb-add-btn{margin-top:.7rem;background:transparent;border:1.5px dashed var(--border);border-radius:8px;color:var(--ink-soft);padding:.45rem 1rem;font-size:.85rem;cursor:pointer;width:100%;transition:border-color .15s,color .15s}.vb-add-btn:hover{border-color:var(--accent);color:var(--ink)}.vb-copy-btn{margin-top:.8rem;padding:.5rem 1.2rem;background:var(--surface);border:1.5px solid var(--border);border-radius:8px;color:var(--ink-soft);font-size:.82rem;cursor:pointer;transition:all .15s}.vb-copy-btn:hover{border-color:var(--accent);color:var(--ink)}.vb-copy-btn.copied{border-color:#6ee7b7;color:#6ee7b7}.vb-full-section{width:100%}[data-theme=light] .vb-inp{background:#fff}[data-theme=light] .vb-del-btn:hover{color:#dc2626}.vb-gap-section{margin-top:1.2rem;padding:.9rem 1rem;border-radius:8px;border:1px solid var(--border);background:var(--surface)}.vb-gap-section__title{font-size:.8rem;font-weight:600;color:var(--ink);margin-bottom:.6rem}.vb-gap-inputs{display:flex;gap:.6rem;margin-bottom:.7rem;flex-wrap:wrap}.vb-gap-field{flex:1;min-width:130px}.vb-gap-field label{display:block;font-size:.72rem;color:var(--ink-soft);margin-bottom:.2rem}.vb-gap-field p{font-size:.7rem;color:var(--ink-soft);margin:.1rem 0 .25rem;line-height:1.3}.vb-gap-track{height:8px;border-radius:4px;background:var(--border);overflow:hidden;margin:.3rem 0}.vb-gap-fill{height:100%;border-radius:4px;transition:width .3s ease,background .3s}.vb-gap-fill--green{background:#10b981b3}.vb-gap-fill--yellow{background:#f59e0bb3}.vb-gap-fill--red{background:#ef4444b3}.vb-gap-meta{display:flex;justify-content:space-between;font-size:.72rem;color:var(--ink-soft)}.vb-gap-pct--green{color:#6ee7b7;font-weight:700}.vb-gap-pct--yellow{color:#fcd34d;font-weight:700}.vb-gap-pct--red{color:#fca5a5;font-weight:700}.vb-gap-verdict{font-size:.8rem;margin-top:.5rem;padding:.45rem .7rem;border-radius:6px}.vb-gap-verdict--green{background:#10b9811a;color:#6ee7b7}.vb-gap-verdict--yellow{background:#f59e0b1a;color:#fcd34d}.vb-gap-verdict--red{background:#ef44441a;color:#fca5a5}[data-theme=light] .vb-gap-pct--green{color:#059669}[data-theme=light] .vb-gap-pct--yellow{color:#d97706}[data-theme=light] .vb-gap-pct--red{color:#dc2626}[data-theme=light] .vb-gap-verdict--green{color:#059669}[data-theme=light] .vb-gap-verdict--yellow{color:#d97706}[data-theme=light] .vb-gap-verdict--red{color:#dc2626}
