.cbd-dashboard {
	max-width: 100%;
}

.cbd-header {
	margin-bottom: 1rem;
}

.cbd-header h2 {
	margin: 0 0 0.5rem;
}

.cbd-header-stats {
	display: flex;
	gap: 1.25rem;
	align-items: center;
	flex-wrap: wrap;
	font-size: 0.95rem;
}

.cbd-balance {
	font-weight: 600;
}

.cbd-upgrade-link {
	margin-left: auto;
}

.cbd-nav ul {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	list-style: none;
	margin: 0 0 1.5rem;
	padding: 0;
	border-bottom: 1px solid #e2e2e2;
}

.cbd-nav a {
	display: inline-block;
	padding: 0.6rem 1rem;
	text-decoration: none;
	border-bottom: 2px solid transparent;
	color: inherit;
}

.cbd-nav li.is-active a {
	border-bottom-color: currentColor;
	font-weight: 600;
}

.cbd-panel h3 {
	margin-top: 0;
}

.cbd-sub {
	color: #666;
	margin-bottom: 1.5rem;
}

.cbd-upload-contacts-cta {
	margin-bottom: 1.5rem;
}

.cbd-mailing-list {
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
}

.cbd-mailing-card {
	display: flex;
	align-items: center;
	gap: 1rem;
	border: 1px solid #e2e2e2;
	border-radius: 6px;
	padding: 0.75rem 1rem;
}

.cbd-mailing-thumb {
	width: 56px;
	height: 56px;
	object-fit: cover;
	border-radius: 4px;
}

.cbd-mailing-details {
	display: flex;
	flex-direction: column;
	gap: 0.15rem;
	flex: 1;
}

.cbd-mailing-meta,
.cbd-mailing-count {
	font-size: 0.85rem;
	color: #666;
}

.cbd-contacts-grid {
	display: grid;
	grid-template-columns: 2fr 1fr;
	gap: 2rem;
}

.cbd-side-box {
	border: 1px solid #e2e2e2;
	border-radius: 6px;
	padding: 1rem;
	margin-bottom: 1.5rem;
}

.cbd-side-box select,
.cbd-side-box input[type="file"] {
	display: block;
	width: 100%;
	margin-bottom: 0.6rem;
}

.cbd-recent-imports,
.cbd-group-list {
	list-style: none;
	margin: 0.75rem 0 0;
	padding: 0;
	font-size: 0.85rem;
}

.cbd-recent-imports li,
.cbd-group-list li {
	padding: 0.3rem 0;
	border-bottom: 1px solid #f0f0f0;
}

.cbd-new-group-form {
	display: flex;
	gap: 0.5rem;
	margin-top: 0.75rem;
}

.cbd-new-group-form input {
	flex: 1;
	padding: 0.4rem;
}

.cbd-add-form {
	margin-bottom: 1.5rem;
	border: 1px solid #e2e2e2;
	border-radius: 6px;
	padding: 0.75rem 1rem;
}

.cbd-add-form summary {
	cursor: pointer;
	font-weight: 600;
}

.cbd-form-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: 0.85rem;
	margin: 1rem 0;
}

.cbd-form-grid label {
	display: flex;
	flex-direction: column;
	gap: 0.3rem;
	font-size: 0.9rem;
}

.cbd-form-grid input,
.cbd-form-grid select {
	padding: 0.5rem;
	border: 1px solid #ccc;
	border-radius: 4px;
}

.cbd-table {
	width: 100%;
	border-collapse: collapse;
	margin-bottom: 1rem;
}

.cbd-table th,
.cbd-table td {
	text-align: left;
	padding: 0.6rem 0.5rem;
	border-bottom: 1px solid #ececec;
	font-size: 0.92rem;
}

.cbd-plan-table th {
	width: 160px;
	color: #666;
}

.cbd-row-actions {
	display: flex;
	gap: 0.75rem;
	align-items: center;
}

.cbd-link-button {
	background: none;
	border: none;
	padding: 0;
	color: #b32d2e;
	text-decoration: underline;
	cursor: pointer;
	font-size: inherit;
}

.cbd-pagination {
	display: flex;
	gap: 0.4rem;
}

.cbd-pagination a {
	padding: 0.3rem 0.65rem;
	border: 1px solid #ddd;
	border-radius: 4px;
	text-decoration: none;
}

.cbd-pagination a.is-active {
	background: #222;
	color: #fff;
	border-color: #222;
}

.cbd-hint {
	color: #777;
	font-size: 0.85rem;
}

.cbd-import-errors {
	margin-top: 0.5rem;
}

.cbd-import-errors pre {
	white-space: pre-wrap;
	background: #fff6f6;
	padding: 0.75rem;
	border-radius: 4px;
	max-height: 240px;
	overflow-y: auto;
}

.cbd-status {
	display: inline-block;
	padding: 0.15rem 0.6rem;
	border-radius: 999px;
	font-size: 0.8rem;
	background: #eee;
}

.cbd-status-active,
.cbd-status-scheduled,
.cbd-status-completed {
	background: #e4f6e8;
	color: #1a7f37;
}

.cbd-status-on-hold,
.cbd-status-pending {
	background: #fff3d6;
	color: #8a6100;
}

.cbd-status-cancelled,
.cbd-status-expired {
	background: #fbe4e4;
	color: #a3282a;
}

.cbd-export-link {
	margin-left: 0.75rem;
}

.cbd-button {
	cursor: pointer;
}

/* Product page recipient picker */
.cbd-recipient-picker {
	border: 1px solid #e2e2e2;
	border-radius: 6px;
	padding: 1rem;
	margin: 1rem 0;
	background: #fafafa;
}

.cbd-balance-note {
	font-weight: 600;
	margin: 0 0 0.75rem;
}

.cbd-field-row {
	margin-bottom: 0.75rem;
}

.cbd-field-row label {
	display: block;
	font-size: 0.85rem;
	margin-bottom: 0.25rem;
	font-weight: 600;
}

.cbd-field-row select {
	width: 100%;
	max-width: 360px;
	padding: 0.5rem;
}

.cbd-no-contacts {
	color: #a3282a;
}
