.merchant-mark{display:inline-grid;place-items:center;width:38px;height:38px;min-width:38px;border:1px solid var(--border-color,#e3e9ef);border-radius:12px;background:var(--bg-card,#fff);vertical-align:middle;overflow:hidden;box-shadow:0 3px 9px rgba(20,38,57,.055)}
.merchant-mark img{display:block;width:30px;height:30px;object-fit:contain}
.merchant-mark.is-neutral{color:#74869a;background:var(--bg-secondary,#f3f7fa)}
.merchant-mark.is-fallback{font-size:.7rem;font-weight:800;letter-spacing:.035em;color:#164b66;background:linear-gradient(145deg,#e9f8ff,#d6f2eb);border-color:#b9dfe3;box-shadow:inset 0 1px rgba(255,255,255,.85),0 3px 9px rgba(20,38,57,.055)}
.merchant-mark.is-fallback.is-named{color:#244f86;background:linear-gradient(145deg,#ecf3ff,#e3eafc);border-color:#ccd9ef}
.merchant-mark.is-suggested{border-style:dashed;border-color:#89b5d5}
.merchant-transaction-name{display:inline-flex;align-items:center;gap:.62rem;min-width:0}
.merchant-transaction-name>span:last-child{min-width:0;overflow-wrap:anywhere}
.merchant-logo-panel{display:flex;align-items:center;gap:.75rem;margin:.65rem 0 1rem;padding:.65rem .75rem;border:1px solid var(--border-color,#e3e9ef);border-radius:14px;background:var(--bg-secondary,#f7f9fb)}
.merchant-logo-panel-copy{display:grid;gap:.1rem;min-width:0;flex:1}
.merchant-logo-panel-copy strong{font-size:.78rem;color:var(--text-primary,#193047)}
.merchant-logo-panel-copy small{font-size:.7rem;color:var(--text-muted,#687989);line-height:1.3}
.merchant-logo-panel button{border:1px solid var(--border-color,#d5e0e8);border-radius:10px;background:var(--bg-card,#fff);padding:.48rem .65rem;font-size:.72rem;font-weight:700;color:var(--text-primary,#193047);cursor:pointer}
.merchant-logo-dialog{width:min(540px,calc(100vw - 24px));max-height:min(82vh,700px);padding:0;border:1px solid var(--border-color,#dbe4ea);border-radius:20px;background:var(--bg-card,#fff);color:var(--text-primary,#193047);box-shadow:0 24px 80px rgba(8,26,46,.24)}
.merchant-logo-dialog::backdrop{background:rgba(11,25,42,.52);backdrop-filter:blur(6px)}
.merchant-logo-dialog header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.1rem 1.2rem .75rem}
.merchant-logo-dialog h2{margin:0;font-size:1.18rem}
.merchant-logo-dialog header button{border:0;background:transparent;font-size:1.4rem;cursor:pointer;color:inherit}
.merchant-logo-dialog p{margin:0;padding:0 1.2rem .75rem;font-size:.78rem;color:var(--text-muted,#687989)}
.merchant-logo-dialog input{display:block;width:calc(100% - 2.4rem);margin:0 1.2rem .8rem;padding:.7rem;border:1px solid var(--border-color,#dbe4ea);border-radius:12px;background:var(--bg-card,#fff);color:inherit}
.merchant-logo-results{display:grid;gap:.25rem;max-height:45vh;overflow:auto;padding:0 1.2rem .8rem}
.merchant-logo-result{display:flex;align-items:center;gap:.7rem;width:100%;padding:.5rem .65rem;border:1px solid transparent;border-radius:12px;background:transparent;color:inherit;text-align:left;cursor:pointer}
.merchant-logo-result:hover,.merchant-logo-result:focus-visible{border-color:#91bdd2;background:rgba(75,153,190,.09)}
.merchant-logo-result img{width:34px;height:34px;object-fit:contain}
.merchant-logo-result span{display:grid;gap:.05rem;min-width:0}
.merchant-logo-result strong{font-size:.8rem}.merchant-logo-result small{font-size:.67rem;color:var(--text-muted,#687989)}
.merchant-logo-dialog footer{display:flex;gap:.5rem;justify-content:flex-end;flex-wrap:wrap;padding:.8rem 1.2rem 1.1rem;border-top:1px solid var(--border-color,#dbe4ea)}
.merchant-logo-dialog footer button{border:1px solid var(--border-color,#dbe4ea);border-radius:10px;background:var(--bg-secondary,#f5f8fa);padding:.55rem .7rem;color:inherit;cursor:pointer;font-size:.75rem}
.merchant-logo-dialog :focus-visible,.merchant-logo-panel button:focus-visible{outline:3px solid #56a4cc;outline-offset:2px}
.merchant-logo-empty{padding:.8rem!important}
@media(max-width:650px){.merchant-logo-panel{flex-wrap:wrap}.merchant-logo-panel button{margin-left:auto}.merchant-mark{width:34px;height:34px;min-width:34px}.merchant-mark img{width:27px;height:27px}}
