:root{--v2-bg:#f5f7fa;--v2-surface:#fff;--v2-text:#213547;--v2-muted:#5b6b79;--v2-border:#d7e0e7;--v2-primary:#175c85;--v2-space-1:4px;--v2-space-2:8px;--v2-space-3:12px;--v2-space-4:16px;--v2-space-6:24px;--v2-row:32px;--v2-radius:6px}
.v2-table{font-size:13px;color:var(--v2-text);background:var(--v2-surface)}
.v2-toolbar{display:flex;align-items:center;gap:var(--v2-space-2);flex-wrap:wrap;padding:var(--v2-space-2) 0}
.v2-toolbar>input{max-width:280px}.v2-toolbar>select{width:auto}
.v2-button{min-height:30px;border:1px solid var(--v2-border);border-radius:var(--v2-radius);background:var(--v2-surface);color:var(--v2-text);padding:4px 8px;font:inherit;cursor:pointer}
.v2-button:focus-visible,.v2-table summary:focus-visible,.v2-table-scroll:focus-visible{outline:2px solid var(--v2-primary);outline-offset:2px}
.v2-button:disabled{opacity:.5;cursor:default}.v2-button[aria-pressed=true]{background:#e6f0fa}
.v2-table-scroll{overflow:auto;max-height:65vh;border:1px solid var(--v2-border)}
.v2-table table{table-layout:fixed;border-collapse:separate;border-spacing:0;width:100%;font:inherit;white-space:normal}
.v2-table th,.v2-table td{box-sizing:border-box;padding:5px 8px;height:var(--v2-row);border-bottom:1px solid var(--v2-border);overflow-wrap:anywhere;background:var(--v2-surface)}
.v2-table th{position:sticky;top:0;z-index:2;background:#edf2f6;text-align:left}.v2-table th .v2-button{border:0;background:transparent;padding:0;text-align:left}
.v2-table .v2-frozen{position:sticky;z-index:1;box-shadow:1px 0 var(--v2-border)}.v2-table th.v2-frozen{z-index:3}
.v2-table tr:hover td{background:#f3f7fb}.v2-table tr[aria-selected=true] td{background:#e5f0fa}
.v2-column-control{display:flex;gap:8px;align-items:center;padding:4px}.v2-column-control label{display:flex;gap:4px;align-items:center;min-width:150px}.v2-column-control input[type=checkbox]{width:18px;min-height:18px}.v2-column-control input[type=number]{width:80px;min-height:30px}
.v2-badge{display:inline-flex;align-items:center;padding:2px 7px;border-radius:4px;font-size:12px;font-weight:600}
.v2-neutral{background:#eef0f3;color:#46515d}.v2-info{background:#e5efff;color:#184f9b}.v2-success{background:#e5f5eb;color:#206139}.v2-warning{background:#fff3ce;color:#795500}.v2-danger{background:#ffe8e6;color:#a22721}.v2-special{background:#f1e7fb;color:#72399b}
.v2-drawer{position:fixed;inset:0 0 0 auto;margin:0;width:min(540px,100vw);max-width:100vw;height:100dvh;max-height:100dvh;border:0;border-left:1px solid var(--v2-border);padding:16px;overflow:auto;color:var(--v2-text);background:var(--v2-surface)}
.v2-drawer::backdrop{background:#162a3b55}.v2-drawer h2{font-size:18px;margin:0 0 12px}.v2-empty{padding:24px;color:var(--v2-muted);text-align:center}
[data-density=standard]{--v2-row:40px}[data-density=touch]{--v2-row:48px}[data-density=touch] .v2-button{min-height:44px}
@media(max-width:640px){.v2-column-control{flex-wrap:wrap}.v2-table-scroll{max-height:60vh}.v2-drawer{width:100vw}.v2-toolbar .v2-button{min-height:44px}}
.receipt-scan{display:flex;align-items:end;gap:12px;flex-wrap:wrap;margin:12px 0}.receipt-scan .field{min-width:240px;flex:1}.receipt-line.scan-match{outline:2px solid #147d70;background:#ecfaf6}#receipt-camera-preview{width:min(100%,420px);max-height:320px;object-fit:cover;border-radius:10px;margin:10px 0}
.cr-stock-filters {display:flex;gap:12px;align-items:end;flex-wrap:wrap;margin-bottom:12px}.cr-stock-filters>.field{flex:0 1 220px}.v2-toolbar details{position:relative}.v2-toolbar details[open]{background:white;border:1px solid #aab8c0;padding:12px;z-index:10}.v2-column-control{gap:8px}.compact-filter{flex-wrap:wrap}
