/* KB_SOURCING: Photo to HS code + Price & supplier finder. Uses the site tokens from style.css. */
.srcapp{padding:var(--sp-5);text-align:start}
.srcapp h3{font-size:1rem;margin:1.2rem 0 .4rem}
.src-modes{margin:0 0 var(--sp-3)}
.src-drop{border:2px dashed #c7d2fe;border-radius:14px;background:#fafaff;padding:var(--sp-5) var(--sp-4);text-align:center;transition:.15s}
.src-drop.over{border-color:var(--brand);background:var(--brand-soft)}
.src-drop img{display:block;max-width:100%;max-height:260px;margin:0 auto var(--sp-3);border-radius:var(--r-sm);object-fit:contain}
.src-drop-h{font-weight:600;margin:0 0 .2rem;color:var(--ink)}
.src-pick{justify-content:center;margin-top:var(--sp-3)}
.src-pick .btn{min-height:var(--tap);display:inline-flex;align-items:center;gap:.4rem}
.src-pick input:focus-visible+label,.src-pick label:focus-within{box-shadow:var(--focus)}
.src-extra{display:block;margin-top:var(--sp-4);font-weight:600;font-size:.92rem}
.src-extra input,.src-row input,.src-row select{display:block;width:100%;margin-top:.3rem;min-height:var(--tap);padding:.55rem .7rem;border:1.5px solid var(--line);border-radius:var(--r-sm);font:inherit;background:#fff;color:var(--ink)}
.src-row{display:flex;gap:var(--sp-3);align-items:flex-end;flex-wrap:wrap}
.src-row label{font-weight:600;font-size:.92rem}
.src-row .src-grow{flex:1 1 260px}
.src-row .btn{min-height:var(--tap)}
.src-privacy{margin:.6rem 0 0}
.src-note{background:#fffbeb;border:1px solid #fde68a;border-radius:var(--r-sm);padding:.5rem .75rem;color:#92400e}
.src-ts{margin:var(--sp-3) 0}
.src-msg{min-height:1.3em;margin:var(--sp-3) 0 0;font-size:.92rem}
.src-msg.error{color:var(--err)}.src-msg.busy{color:var(--ink-2)}
.src-msg.busy::before{content:"";display:inline-block;width:.9em;height:.9em;margin-inline-end:.45em;vertical-align:-.1em;border:2px solid #c7d2fe;border-top-color:var(--brand);border-radius:50%;animation:src-spin .8s linear infinite}
@keyframes src-spin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.src-msg.busy::before{animation:none}}
.src-left{margin:.2rem 0 0}
.src-out{margin-top:var(--sp-4);border-top:1px solid var(--line);padding-top:var(--sp-4)}
.src-h2{font-size:1.1rem;margin:0 0 var(--sp-3)}
.src-cands{list-style:none;padding:0;margin:0;display:grid;gap:var(--sp-3)}
.src-cand{border:1px solid var(--line);border-radius:var(--r-sm);padding:var(--sp-3) var(--sp-4);background:#fff}
.src-cand.top{border-color:#a5b4fc;box-shadow:0 0 0 3px var(--brand-soft)}
.src-cand-h{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}
.src-code{font:700 1.3rem/1.2 ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--ink);letter-spacing:.02em}
.src-code-s{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;white-space:nowrap}
.src-conf,.src-tag{font-size:.75rem;font-weight:600;border-radius:var(--r-pill);padding:.15rem .55rem;background:#f1f5f9;color:var(--ink-2)}
.src-conf.high{background:var(--ok-soft);color:#166534}.src-conf.mid{background:#fef3c7;color:#92400e}.src-conf.low{background:#fee2e2;color:#991b1b}
.src-desc{margin:.35rem 0 .2rem;color:var(--ink)}
.src-cand .muted{margin:.1rem 0}
.src-bar{height:6px;background:#eef2f7;border-radius:9px;overflow:hidden;margin:.5rem 0}
.src-bar i{display:block;height:100%;border-radius:9px;background:var(--ok)}.src-bar i.mid{background:#d97706}.src-bar i.low{background:#dc2626}
.src-cand .row-actions{margin-top:.5rem}
.src-cand .row-actions .btn{min-height:40px;display:inline-flex;align-items:center}
.src-atlas{margin:var(--sp-3) 0 0;padding:.5rem .75rem;background:#f8fafc;border-radius:var(--r-sm)}
.src-nat{margin-top:var(--sp-4)}
.src-nat .tab{min-height:40px}
.src-lines td,.src-lines th{font-size:.9rem}
.src-links{list-style:none;padding:0;margin:.4rem 0}.src-links li{margin:.3rem 0}
.src-other summary{cursor:pointer;margin-top:var(--sp-3);font-weight:600}
.src-warn{margin-top:var(--sp-5);background:#f8fafc;border:1px solid var(--line);border-inline-start:4px solid #64748b;border-radius:var(--r-sm);padding:var(--sp-3) var(--sp-4);font-size:.92rem;color:var(--ink-2)}
.src-warn p{margin:.2rem 0}
.src-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-3)}
.src-box{border:1px solid var(--line);border-radius:var(--r-sm);padding:var(--sp-3) var(--sp-4);background:#fff}
.src-big{font-size:1.45rem;font-weight:700;margin:0 0 .2rem;color:var(--ink)}
.src-items{margin-top:var(--sp-3)}.src-items summary{cursor:pointer;font-weight:600;padding:.4rem 0}
.src-list{list-style:none;padding:0;margin:.3rem 0}.src-list li{padding:.45rem 0;border-bottom:1px solid #f1f5f9;overflow-wrap:anywhere}
.src-chips{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:.4rem}
.src-chips a{display:inline-flex;align-items:center;min-height:40px;padding:.3rem .85rem;border:1.5px solid var(--line);border-radius:var(--r-pill);background:#fff;color:var(--ink);text-decoration:none;font-size:.9rem}
.src-chips a:hover{border-color:var(--brand);background:var(--brand-soft)}
.src-dirs{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:.2rem var(--sp-4)}
.src-dirs li{padding:.35rem 0}
.src-contacts{margin-top:var(--sp-4)}
.src-place a{display:inline-block;margin:.25rem .6rem 0 0}
.src-slot:not([hidden]){border:1px dashed #cbd5e1;border-radius:var(--r-sm);padding:var(--sp-3);margin-bottom:var(--sp-3)}
.srcapp .trust{margin-top:var(--sp-4)}
@media (max-width:720px){.srcapp{padding:var(--sp-4)}.src-grid,.src-dirs{grid-template-columns:1fr}.src-row .btn{width:100%}.src-code{font-size:1.15rem}}
.src-pick label.btn{margin:0;font-size:1rem;color:#fff}.src-pick label.btn-ghost{color:var(--ink)}
.src-links a,.src-warn a{text-decoration:underline;text-underline-offset:2px}
