#product-picker { position:fixed; inset:0; z-index:1200; background:#0006; display:flex; align-items:center; justify-content:center; padding:18px; }
#product-picker[hidden] { display:none; }
.product-dialog { width:640px; max-width:100%; max-height:90dvh; overflow:auto; background:var(--surface); color:var(--text); border-radius:18px; padding:24px; box-shadow:0 14px 50px #0003; }
.product-dialog h2 { margin:0; font-size:18px; }
.product-dialog p { margin:10px 0; font-size:12px; color:var(--text2); line-height:1.6; }
.product-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.product-kinds { display:flex; gap:6px; margin:16px 0; }
.product-kinds button { flex:1; }
.product-kinds [aria-pressed=false] { background:var(--surface); color:var(--text2); border-color:var(--border); }
.product-kinds [aria-pressed=true] { background:var(--accent); color:white; border-color:var(--accent); }
.product-search-row { display:flex; gap:7px; align-items:stretch; }
.product-search-row input { flex:1; min-width:0; }
.product-dialog input,.product-dialog select { font:inherit; font-size:13px; padding:10px; border:1px solid var(--border); background:var(--surface2); color:var(--text); border-radius:8px; }
.product-dialog label { display:block; margin:12px 0 6px; font-size:12px; font-weight:600; }
#product-status { min-height:20px; margin:12px 0 4px; font-size:12px; color:var(--text2); }
#product-results { display:grid; gap:8px; }
.product-result { display:flex; width:100%; flex-direction:column; gap:5px; text-align:left; border:1px solid var(--border); border-radius:10px; padding:12px; background:var(--surface); color:var(--text); cursor:pointer; font:inherit; overflow-wrap:anywhere; }
.product-result:hover { background:var(--surface2); border-color:var(--accent); }
.product-result strong { font-size:13px; }
.product-result span { font-size:11px; color:var(--text2); line-height:1.5; }
.product-result .product-select { color:var(--accent); font-weight:700; align-self:flex-end; }
.product-pager { display:flex; align-items:center; justify-content:center; gap:12px; margin-top:12px; font-size:12px; }
.product-pager[hidden] { display:none; }
.product-manual { margin-top:18px; border-top:1px solid var(--border); padding-top:6px; }
.product-dialog button:focus-visible,.product-dialog input:focus-visible,.product-dialog select:focus-visible { outline:2px solid var(--accent); outline-offset:2px; }
.product-search-launch { margin-top:6px; }
[data-product-value],.tag-list .tag { max-width:100%; overflow-wrap:anywhere; white-space:normal; }
.tag-input-row input { min-width:0; }
#my-products-list .product-library-item { width:100%; display:flex; align-items:center; justify-content:space-between; gap:8px; padding:10px 12px; border:1px solid var(--border); border-radius:10px; overflow-wrap:anywhere; }
.product-library-item strong { font-size:12px; }
.product-library-item small { display:block; color:var(--text3); font-size:11px; margin-top:4px; }
@media(max-width:480px) {
  .log-add-row { flex-wrap:wrap; }
  .log-add-row .log-input { flex-basis:calc(100% - 48px); }
  #product-picker { padding:10px; align-items:flex-start; padding-top:22px; }
  .product-dialog { padding:16px; max-height:92dvh; }
  .product-search-row { flex-wrap:wrap; }
  #product-field { width:100%; }
  .product-search-row input { width:60%; }
}
