.bva-builder{min-height:0}.bva-grid-head{display:grid;grid-template-columns:minmax(140px,1.5fr) 132px minmax(190px,2fr) 96px 38px;gap:10px;padding:12px 16px 0;font-size:11px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;color:var(--text3)}.bva-rows{display:flex;flex-direction:column;gap:8px;padding:8px 16px 16px}.bva-row{display:grid;grid-template-columns:minmax(140px,1.5fr) 132px minmax(190px,2fr) 96px 38px;gap:10px;align-items:center;padding:8px;border:1px solid var(--border);border-radius:10px;background:#ffffff05;transition:border-color .15s ease}:root[data-theme=light] .bva-row{background:#00000004}.bva-row:hover{border-color:var(--border2)}.bva-row input[type=text],.bva-row input[type=number],.bva-row input[type=date],.bva-row select{width:100%;height:36px;box-sizing:border-box;background:var(--bg);color:var(--text);border:1px solid var(--border2);border-radius:8px;padding:0 10px;font-size:13px;font-family:inherit}.bva-row select{cursor:pointer}.bva-row input:focus-visible,.bva-row select:focus-visible{outline:2px solid var(--accent);outline-offset:1px;border-color:var(--accent)}.bva-constraints{display:flex;gap:6px;flex-wrap:wrap}.bva-constraints input{flex:1 1 78px;min-width:62px}.bva-constraints .f-values{flex:1 1 100%}.bva-req{display:inline-flex;align-items:center;justify-content:center;gap:6px;font-size:12px;font-weight:600;color:var(--text3);white-space:nowrap;cursor:pointer;user-select:none}.bva-req input{width:15px;height:15px;accent-color:var(--accent);cursor:pointer}.bva-del{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid var(--border2);background:transparent;color:var(--text3);border-radius:8px;cursor:pointer;transition:color .15s ease,background .15s ease,border-color .15s ease}.bva-del:hover{color:#fff;background:var(--red);border-color:var(--red)}.bva-del svg{width:15px;height:15px}.bva-result{padding:0;overflow-x:auto}.bva-table{width:100%;border-collapse:collapse;font-size:13px}.bva-table thead th{text-align:left;padding:10px 16px;white-space:nowrap;font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:var(--text3);background:var(--panel);border-bottom:1px solid var(--border2);position:sticky;top:0;z-index:1}.bva-table td{padding:9px 16px;border-bottom:1px solid var(--border);vertical-align:top}.bva-table tbody tr:not(.bva-group):hover td{background:#ffffff06}:root[data-theme=light] .bva-table tbody tr:not(.bva-group):hover td{background:#00000005}.bva-group td{padding:9px 16px;background:var(--orange-bg);border-top:1px solid var(--orange-bd);border-bottom:1px solid var(--orange-bd)}.bva-group .gname{font-weight:700;color:var(--text)}.bva-group .gtype{margin-left:8px;padding:1px 9px;border-radius:999px;font-size:11px;font-weight:700;color:var(--accent);border:1px solid var(--orange-bd)}.bva-group .gcount{margin-left:8px;font-size:11px;font-weight:500;color:var(--text3)}.col-val{font-family:JetBrains Mono,ui-monospace,monospace;color:var(--text);white-space:pre-wrap;word-break:break-word;max-width:340px}.col-note{color:var(--text2);white-space:normal;min-width:190px}.res-pill{display:inline-flex;align-items:center;gap:6px;padding:2px 10px;border-radius:999px;font-size:11px;font-weight:700;white-space:nowrap}.res-pill:before{content:"";width:6px;height:6px;border-radius:999px;background:currentColor}.res-valid{color:var(--green);background:#4ade801f}.res-invalid{color:var(--red);background:#f871711f}.tech-pill{display:inline-flex;padding:2px 9px;border-radius:6px;font-size:11px;font-weight:700;white-space:nowrap}.tech-bva{color:#3b82f6;background:#3b82f61f}.tech-ep{color:#a855f7;background:#a855f71f}:root[data-theme=light] .tech-bva{color:#2563eb}:root[data-theme=light] .tech-ep{color:#7c3aed}.bva-empty{padding:40px 20px;text-align:center;color:var(--text3);font-size:13.5px}@media(max-width:760px){.bva-grid-head{display:none}.bva-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.bva-row .f-name{flex:1 1 100%}.bva-row .f-type{flex:1 1 120px}.bva-constraints{flex:1 1 100%}.bva-req{flex:1 1 auto;justify-content:flex-start}.bva-del{flex:0 0 auto;margin-left:auto}}
