.bsn-dashboard-wrap {
	max-width: 1100px;
	margin: 0 auto;
}

.bsn-dashboard-notice {
	padding: 20px;
	background: #fff4e5;
	border: 1px solid #ffd699;
	border-radius: 8px;
	text-align: center;
}

.bsn-dashboard-header {
	margin-bottom: 20px;
}

.bsn-code-badge-lg {
	font-family: monospace;
	background: #111;
	color: #FFCC00;
	padding: 4px 12px;
	border-radius: 6px;
	font-weight: 700;
}

.bsn-dash-stats-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
	gap: 14px;
	margin-bottom: 30px;
}

.bsn-dash-stat {
	background: #fff;
	border: 1px solid #e2e2e2;
	border-radius: 8px;
	padding: 14px 16px;
	text-align: center;
}

.bsn-dash-stat-value {
	display: block;
	font-size: 1.6em;
	font-weight: 700;
	color: #8B0000;
}

.bsn-dash-stat-label {
	font-size: 0.85em;
	color: #555;
}

.bsn-dash-columns {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 30px;
}

@media (max-width: 780px) {
	.bsn-dash-columns { grid-template-columns: 1fr; }
}

.bsn-dash-list {
	list-style: none;
	padding: 0;
	margin: 0 0 20px;
}

.bsn-dash-list li {
	padding: 8px 0;
	border-bottom: 1px solid #eee;
}

.bsn-progress-bar {
	background: #eee;
	border-radius: 6px;
	height: 8px;
	margin-top: 4px;
	overflow: hidden;
}

.bsn-progress-fill {
	background: #146c2e;
	height: 100%;
}

.bsn-announcement {
	background: #fff;
	border: 1px solid #e2e2e2;
	border-radius: 8px;
	padding: 12px 16px;
	margin-bottom: 12px;
}

#bsn-dash-message-area input,
#bsn-dash-message-area textarea {
	width: 100%;
	margin-bottom: 8px;
	padding: 8px;
	border: 1px solid #ccc;
	border-radius: 6px;
	box-sizing: border-box;
}

#bsn-dash-msg-send {
	background: #8B0000;
	color: #fff;
	border: none;
	border-radius: 6px;
	padding: 10px 20px;
	cursor: pointer;
}

#bsn-dash-msg-status {
	margin-top: 8px;
	font-size: 0.9em;
}
