/**
 * Unified member Dashboard — [qalam_dashboard]. CSS Grid/Flexbox layout,
 * built entirely from the shared --qcm-* tokens, no colors of its own.
 */

.qcm-dash-wrap {
	max-width: 900px;
	margin: 30px auto;
	padding: 0 16px;
	box-sizing: border-box;
}

.qcm-dash-tabs {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin-bottom: 20px;
}
.qcm-dash-tab {
	padding: 9px 16px;
	border-radius: 8px;
	background: var(--qcm-cream);
	color: var(--qcm-green);
	text-decoration: none;
	font-weight: 600;
	font-size: 14px;
}
.qcm-dash-tab.is-active {
	background: var(--qcm-green);
	color: #fff;
}

.qcm-dash-panel {
	background: #fff;
	border-radius: var(--qcm-radius);
	box-shadow: var(--qcm-shadow);
	padding: 26px;
	border-top: 4px solid var(--qcm-gold);
	box-sizing: border-box;
}
.qcm-dash-panel h3 {
	color: var(--qcm-green);
	margin-top: 0;
}

.qcm-hub-list {
	display: grid;
	grid-template-columns: 1fr;
	gap: 14px;
	margin-top: 14px;
}
.qcm-hub-card {
	border: 1px solid var(--qcm-border);
	border-radius: var(--qcm-radius);
	padding: 16px;
	display: flex;
	flex-direction: column;
	gap: 8px;
}
.qcm-hub-card-row {
	flex-direction: row;
	justify-content: space-between;
	align-items: center;
}
.qcm-hub-card-head {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	gap: 8px;
}
.qcm-hub-card-head h4 {
	margin: 0;
}
.qcm-hub-card-head h4 a {
	color: var(--qcm-green);
	text-decoration: none;
}

.qcm-hub-details > summary {
	cursor: pointer;
	list-style: none;
	display: inline-flex;
}
.qcm-hub-details > summary::-webkit-details-marker {
	display: none;
}
.qcm-hub-details[open] > summary {
	margin-bottom: 10px;
}

.qcm-hub-form {
	background: var(--qcm-cream);
	border-radius: var(--qcm-radius);
	padding: 14px;
}
.qcm-form-row {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
	gap: 12px;
}
.qcm-form-result {
	font-size: 0.85em;
	color: var(--qcm-muted);
}

.qcm-phase-label {
	position: relative;
}
.qcm-phase-badge {
	display: inline-block;
	background: var(--qcm-green);
	color: #fff;
	font-size: 0.72em;
	font-weight: 700;
	padding: 0.15em 0.6em;
	border-radius: 999px;
	margin-bottom: 4px;
}

.qcm-phase-preview {
	background: var(--qcm-cream);
	border-radius: 8px;
	padding: 10px 14px;
	font-size: 0.92em;
	max-height: 220px;
	overflow-y: auto;
}
.qcm-phase-preview h4 {
	margin: 0.6em 0 0.2em;
	color: var(--qcm-green);
	font-size: 0.95em;
}
.qcm-phase-preview h4:first-child {
	margin-top: 0;
}

.qcm-review-actions {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	gap: 10px;
}
.qcm-review-note {
	display: block;
	width: 100%;
	margin-bottom: 8px;
	padding: 0.5em 0.7em;
	border: 1px solid var(--qcm-border);
	border-radius: 8px;
	font-family: inherit;
}
.qcm-review-result {
	font-size: 0.85em;
	color: var(--qcm-muted);
}

@media (min-width: 640px) {
	.qcm-hub-list {
		grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
	}
}
