.bill-scanner-wrap{max-width:760px;padding:1em;border:1px solid #ddd;border-radius:8px;font-family:sans-serif}
.bill-scanner-wrap h3{margin-top:0}
.bill-scanner-usage{border:1px solid #ddd;border-radius:6px;padding:.6em .9em;margin:0 0 1em;background:#fafafa}
.bill-scanner-usage legend{font-weight:600;padding:0 .4em;color:#333}
.bill-scanner-usage-opt{display:inline-flex;align-items:center;gap:.4em;margin:.2em 1em .2em 0;cursor:pointer;font-size:.95em}
.bill-scanner-usage-opt small{color:#777}
.bill-scanner-step{margin:.4em 0 .6em;color:#555;font-size:.95em}
.bill-scanner-drop{border:2px dashed #b5b5b5;border-radius:8px;padding:1.5em;text-align:center;color:#666;cursor:pointer;transition:all .15s;background:#fafafa}
.bill-scanner-drop:hover,.bill-scanner-drop.dragover{border-color:#2271b1;background:#eef5fb;color:#2271b1}
.bill-scanner-drop.is-disabled{opacity:.5;pointer-events:none;cursor:not-allowed;background:#f0f0f0}
.bill-scanner-drop p{margin:0}
.bill-scanner-thumbs{display:flex;flex-wrap:wrap;gap:.6em;margin:.8em 0}
.bill-scanner-thumb{position:relative;width:110px;height:110px;border:1px solid #ddd;border-radius:6px;overflow:hidden;background:#f6f7f7}
.bill-scanner-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.bill-scanner-thumb .rm{position:absolute;top:2px;right:2px;width:22px;height:22px;border-radius:50%;border:0;background:rgba(0,0,0,.6);color:#fff;font-size:14px;line-height:22px;cursor:pointer;padding:0}
.bill-scanner-thumb .rm:hover{background:#c00}
.bill-scanner-thumb .lbl{position:absolute;bottom:0;left:0;right:0;background:rgba(0,0,0,.55);color:#fff;font-size:11px;text-align:center;padding:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bill-scanner-go{background:#2271b1;color:#fff;border:0;padding:.6em 1.2em;border-radius:4px;cursor:pointer;font-size:1em}
.bill-scanner-go:disabled{background:#999;cursor:not-allowed}
.bill-scanner-go:hover:not(:disabled){background:#135e96}
.bill-scanner-status{font-size:.9em;color:#555;min-height:1.2em;margin-top:.6em}
.bill-scanner-progress{height:6px;background:#eee;border-radius:3px;overflow:hidden;margin:.5em 0}
#bill-scanner-bar{height:100%;width:0;background:#2271b1;transition:width .2s}
.bill-scanner-results{margin-top:1em}
#bill-scanner-preview{display:flex;flex-wrap:wrap;gap:.5em}
#bill-scanner-preview img{max-width:200px;border:1px solid #ddd;border-radius:4px}
#bill-scanner-table{width:100%;border-collapse:collapse;margin-bottom:1em}
#bill-scanner-table th,#bill-scanner-table td{border:1px solid #ddd;padding:.4em .6em;text-align:left}
#bill-scanner-table th{background:#f6f7f7;width:40%}
#bill-scanner-json{background:#f6f7f7;padding:.6em;border-radius:4px;max-height:240px;overflow:auto;white-space:pre-wrap;font-size:.85em}
.bill-scanner-fields{margin:1em 0}
.bill-scanner-fields summary{display:inline-block;cursor:pointer;background:#f0f0f1;color:#2271b1;border:1px solid #c3c4c7;border-radius:4px;padding:.45em .9em;font-size:.92em;font-weight:600;list-style:none;user-select:none;transition:background .15s,border-color .15s}
.bill-scanner-fields summary::-webkit-details-marker{display:none}
.bill-scanner-fields summary::before{content:'▸ ';font-size:.8em;margin-right:.2em;display:inline-block;transition:transform .15s}
.bill-scanner-fields[open] summary::before{transform:rotate(90deg)}
.bill-scanner-fields summary:hover{background:#e5f0f9;border-color:#2271b1}
.bill-scanner-fields[open] summary{margin-bottom:.6em}
.bill-scanner-raw{margin-top:1em}
.bill-scanner-raw summary{cursor:pointer;color:#555;font-size:.9em}

/* Recommendations */
.bill-scanner-recommend{margin-top:1.2em}
.bill-scanner-recommend h4{margin-bottom:.4em}
.bs-rec-context{font-size:.92em;color:#444;margin:.2em 0 .8em;background:#f6f7f7;padding:.5em .7em;border-radius:4px}
.bs-rec-footer{font-size:.8em;color:#888;margin-top:.6em}
.bs-plan{border:1px solid #ddd;border-radius:6px;padding:.7em .9em;margin:.5em 0;background:#fff;transition:box-shadow .15s}
.bs-plan:hover{box-shadow:0 2px 6px rgba(0,0,0,.06)}
.bs-plan.is-recommended{border-color:#2e7d32;background:#f1faf2;box-shadow:0 0 0 1px #2e7d32 inset}
.bs-plan-head{display:flex;align-items:center;gap:.5em;margin-bottom:.3em;font-size:1.02em}
.bs-plan-color{display:inline-block;width:10px;height:10px;border-radius:50%;flex-shrink:0}
.bs-rec-badge{margin-left:auto;background:#2e7d32;color:#fff;font-size:.72em;padding:.18em .55em;border-radius:99px;letter-spacing:.02em;text-transform:uppercase}
.bs-plan-meta{display:flex;flex-wrap:wrap;gap:.3em .6em;font-size:.85em;color:#555;margin-bottom:.3em}
.bs-plan-detail{font-size:.85em;color:#555;margin-bottom:.2em}
.bs-plan-cost{font-size:.95em;margin:.3em 0 .15em}
.bs-plan-cost strong{color:#1565c0}
.bs-plan-savings{font-size:.88em;font-weight:600}
.bs-plan-savings.pos{color:#2e7d32}
.bs-plan-savings.neg{color:#c62828}
.bs-plan-savings.zero{color:#666}
.bs-plan-link{margin-top:.3em;font-size:.88em}
.bs-plan-link a{color:#2271b1;text-decoration:none}
.bs-plan-link a:hover{text-decoration:underline}
