/* Shared styling for the analysis tools: market search. Metric choice uses the app-wide metric-picker. */
.mk { position: relative; min-width: 0; }
.mk-input { width: 100%; box-sizing: border-box; padding: 9px 12px; border: 1px solid var(--ls-strong-rule); border-radius: 6px; background: var(--ls-input); color: var(--ls-ink); font: inherit; font-size: 13px; }
.mk-input:focus { outline: 2px solid var(--ls-accent); outline-offset: 1px; }
.mk-list { position: absolute; z-index: 40; top: calc(100% + 4px); left: 0; right: 0; margin: 0; padding: 4px; max-height: 320px; overflow: auto; list-style: none; border: 1px solid var(--ls-strong-rule); border-radius: 8px; background: var(--ls-card); box-shadow: var(--ls-shadow); }
.mk-list[hidden] { display: none; }
.mk-list li { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 8px 10px; border-radius: 5px; font-size: 13px; cursor: pointer; }
.mk-list li:hover, .mk-list li.active { background: color-mix(in srgb, var(--ls-accent) 12%, transparent); }
.mk-list li.empty { color: var(--ls-tertiary); cursor: default; }
.mk-list small { color: var(--ls-tertiary); font-size: 11px; }

/* In-app confirmation dialog */
.ls-dialog-backdrop { position: fixed; inset: 0; z-index: 3000; display: grid; place-items: center; padding: 16px; background: rgba(0, 0, 0, .55); backdrop-filter: blur(3px); animation: ls-dialog-fade 140ms ease-out; }
.ls-dialog-backdrop.closing { opacity: 0; transition: opacity 120ms ease-in; }
.ls-dialog { width: min(420px, 100%); box-sizing: border-box; padding: 22px 22px 18px; border: 1px solid var(--ls-strong-rule); border-radius: 12px; background: var(--ls-card); color: var(--ls-ink); box-shadow: var(--ls-shadow); animation: ls-dialog-rise 160ms cubic-bezier(.2, .8, .2, 1); }
.ls-dialog h2 { margin: 0 0 8px; font-size: 17px; font-weight: 600; letter-spacing: -.01em; }
.ls-dialog p { margin: 0; color: var(--ls-secondary); font-size: 13px; line-height: 1.55; }
.ls-dialog-actions { display: flex; justify-content: flex-end; gap: 10px; margin-top: 20px; }
.ls-dialog-confirm { padding: 8px 18px; border: 1px solid var(--ls-accent); border-radius: 7px; background: var(--ls-accent); color: #fff; font: inherit; font-size: 13px; font-weight: 600; cursor: pointer; }
.ls-dialog-confirm.danger { border-color: var(--ls-decline); background: var(--ls-decline); }
.ls-dialog-confirm:hover { filter: brightness(1.08); }
.ls-dialog-actions button:focus-visible { outline: 2px solid var(--ls-accent); outline-offset: 2px; }
@keyframes ls-dialog-fade { from { opacity: 0; } to { opacity: 1; } }
@keyframes ls-dialog-rise { from { opacity: 0; transform: translateY(8px) scale(.98); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) { .ls-dialog-backdrop, .ls-dialog { animation: none; } }
.ls-dialog-field { display: grid; gap: 6px; margin-top: 14px; font-size: 12px; color: var(--ls-secondary); }
.ls-dialog-field input { box-sizing: border-box; width: 100%; padding: 9px 11px; border: 1px solid var(--ls-strong-rule); border-radius: 6px; background: var(--ls-input); color: var(--ls-ink); font: inherit; font-size: 13px; }
.ls-dialog-field input:focus { outline: 2px solid var(--ls-accent); outline-offset: 1px; }
