/* FeatureMap Pro - quick polls + related requests. */
.fm-poll { max-width: 480px; border: var(--fm-bw, 1px) solid var(--border, #e6e8eb); border-radius: 12px; padding: var(--fm-pad, 18px) var(--fm-pad, 20px); background: var(--card, #fff); color: var(--text, #1e1e1e); font-family: inherit; }
.fm-poll-q { font-size: 16px; font-weight: 700; color: var(--text, #1e1e1e); margin: 0 0 14px; }
.fm-poll-opts { list-style: none; margin: 0 0 12px; padding: 0; display: flex; flex-direction: column; gap: 9px; }
.fm-poll-btn {
	position: relative; display: flex; align-items: center; width: 100%;
	border: 1px solid var(--border, #d8dce0); border-radius: 9px; background: var(--bg, #f7f8fa);
	padding: 11px 14px; font: inherit; font-size: 14px; color: var(--text, #1e1e1e);
	cursor: pointer; overflow: hidden; text-align: left; transition: border-color .15s, background .15s;
}
.fm-poll[data-voted="0"] .fm-poll-btn:hover { border-color: var(--hl, #0069ff); background: var(--card, #fff); }
.fm-poll-bar {
	position: absolute; left: 0; top: 0; bottom: 0; width: 0;
	background: color-mix(in srgb, var(--hl, #0069ff) 28%, transparent);
	transition: width .4s cubic-bezier(.2,.7,.3,1); z-index: 0;
}
.fm-poll-label { position: relative; z-index: 1; flex: 1 1 auto; }
.fm-poll-pct { position: relative; z-index: 1; font-weight: 700; font-size: 13px; color: var(--text, #4b5563); margin-left: 10px; opacity: .8; }
.fm-poll[data-voted="0"] .fm-poll-bar,
.fm-poll[data-voted="0"] .fm-poll-pct { opacity: 0; }
.fm-poll[data-voted="0"] .fm-poll-btn { cursor: pointer; }
.fm-poll[data-voted="1"] .fm-poll-btn { cursor: default; }
.fm-poll-opt.is-choice .fm-poll-btn { border-color: var(--hl, #0069ff); }
.fm-poll-opt.is-choice .fm-poll-bar { background: color-mix(in srgb, var(--hl, #0069ff) 42%, transparent); }
.fm-poll-total { margin: 0; font-size: 12px; color: var(--text, #8a93a3); opacity: .65; }
.fm-poll-total-n { font-weight: 700; color: var(--text, #4b5563); opacity: 1; }

/* Related requests (single page) */
.fm-related { margin-top: 26px; padding-top: 20px; border-top: 1px solid #e6e8eb; }
.fm-related-title { font-size: 16px; font-weight: 700; color: #1e1e1e; margin: 0 0 12px; }
.fm-related-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.fm-related-link { display: flex; align-items: center; gap: 12px; padding: 10px 12px; border: 1px solid #e6e8eb; border-radius: 9px; text-decoration: none; transition: border-color .15s, box-shadow .15s; }
.fm-related-link:hover { border-color: var(--blue, #0069ff); box-shadow: 0 1px 4px rgba(0,0,0,.07); }
.fm-related-votes { flex: 0 0 auto; min-width: 34px; text-align: center; font-weight: 700; font-size: 13px; color: var(--blue, #0069ff); }
.fm-related-text { color: #1e1e1e; font-size: 14px; line-height: 1.4; }

/* Admin-only "Edit" link shown under the poll. */
.fm-admin-edit { margin-top: 12px; text-align: center; }
.fm-admin-edit-link {
	display: inline-flex; align-items: center; gap: 5px;
	padding: 4px 12px; border-radius: 999px;
	font-size: 12px; font-weight: 600; line-height: 1.4;
	color: #555; background: rgba(0,0,0,.04);
	border: 1px solid rgba(0,0,0,.12); text-decoration: none;
	transition: background .12s, color .12s, border-color .12s;
}
.fm-admin-edit-link:hover { background: rgba(0,0,0,.07); color: #111; border-color: rgba(0,0,0,.2); }
.fm-admin-edit-link svg { flex: none; }
