.nse-mb-root {
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
	color: #1a1e27;
	max-width: 900px;
	margin: 0 auto;
}
.nse-mb-header h2 { margin-bottom: 2px; }
.nse-mb-meta { color: #6b7280; font-size: 13px; margin-top: 0; }

.nse-mb-controls {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 14px 0;
}
.nse-mb-controls input,
.nse-mb-controls select {
	padding: 7px 10px;
	border: 1px solid #d8dbe2;
	border-radius: 6px;
	font-size: 13px;
}
.nse-mb-search { flex: 1; min-width: 160px; }
.nse-mb-toggle { display: flex; align-items: center; gap: 6px; font-size: 13px; }

.nse-mb-table-head,
.nse-mb-row {
	display: grid;
	grid-template-columns: 32px 1fr 90px 80px 80px 80px 90px;
	gap: 10px;
	align-items: center;
	padding: 8px 10px;
	width: 100%;
	text-align: left;
	background: none;
	border: none;
	border-bottom: 1px solid #eef0f4;
	cursor: pointer;
	font-size: 13px;
}
.nse-mb-table-head {
	font-size: 11px;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	color: #8a90a0;
	cursor: default;
}
.nse-mb-sortable {
	cursor: pointer;
	user-select: none;
	text-align: right;
}
.nse-mb-sortable:hover { color: #1a1e27; }
.nse-mb-row:hover { background: #f7f8fa; }
.nse-mb-rank { color: #9aa0ae; font-variant-numeric: tabular-nums; }
.nse-mb-name { display: flex; flex-direction: column; min-width: 0; }
.nse-mb-symbol { font-weight: 600; }
.nse-mb-sub { font-size: 11px; color: #8a90a0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.nse-mb-price { font-variant-numeric: tabular-nums; text-align: right; }
.nse-mb-change { font-variant-numeric: tabular-nums; text-align: right; }
.up { color: #1f9d6f; }
.down { color: #d64545; }
.nse-mb-empty, .nse-mb-error { color: #6b7280; padding: 24px 4px; }
.nse-mb-disclaimer { font-size: 11px; color: #9aa0ae; margin-top: 14px; }

.nse-mb-modal-backdrop {
	position: fixed; inset: 0; background: rgba(10,12,18,0.55);
	display: flex; align-items: center; justify-content: center;
	z-index: 9999; padding: 16px;
}
.nse-mb-modal {
	background: #fff; border-radius: 12px; padding: 22px;
	max-width: 520px; width: 100%; max-height: 88vh; overflow-y: auto;
	position: relative;
}
.nse-mb-close {
	position: absolute; top: 12px; right: 14px; border: none; background: none;
	font-size: 22px; line-height: 1; cursor: pointer; color: #8a90a0;
}
.nse-mb-detail-header .nse-mb-symbol { font-size: 20px; font-weight: 700; display: block; }
.nse-mb-detail-price { font-size: 22px; font-variant-numeric: tabular-nums; margin: 10px 0 16px; }
.nse-mb-detail-price span { font-size: 13px; margin-left: 8px; }
.nse-mb-stats-grid, .nse-mb-proj-grid {
	display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin: 14px 0;
}
.nse-mb-stats-grid div, .nse-mb-proj-grid div {
	background: #f7f8fa; border-radius: 8px; padding: 10px;
}
.nse-mb-stats-grid span, .nse-mb-proj-grid span {
	display: block; font-size: 10px; text-transform: uppercase; color: #9aa0ae; margin-bottom: 4px;
}
.nse-mb-proj-grid strong { display: block; }
.nse-mb-proj-grid small { display: block; color: #9aa0ae; font-size: 10px; margin-top: 2px; }
.nse-mb-proj-note { font-size: 12px; color: #8a90a0; line-height: 1.5; }

@media (max-width: 640px) {
	.nse-mb-table-head { display: none; }
	.nse-mb-row {
		grid-template-columns: 24px 1fr auto;
	}
	.nse-mb-price, .nse-mb-change:nth-of-type(2), .nse-mb-spark { display: none; }
}
