/**
 * BDPR admin styles.
 *
 * Section 1: Shared / assignments / blogger pages (Bootstrap-based).
 * Section 2: Hexa dashboard design (no Bootstrap dependency).
 */

/* ============================================================
   SECTION 1 — Assignments & Blogger pages (Bootstrap compat)
   ============================================================ */
.bdpr-admin .card {
	border: 1px solid rgba(0, 0, 0, 0.08);
}

.bdpr-admin .container-fluid {
	max-width: 1200px;
	padding-left: 0;
	padding-right: 0;
}

.bdpr-shortcode {
	max-width: 900px;
	margin-left: auto;
	margin-right: auto;
}

.bdpr-msg {
	margin: 0.5em 0;
}

.bdpr-site-tile-btn {
	min-height: 7rem;
	border-radius: 0.375rem;
}

.bdpr-site-tile-card .collapse {
	max-height: 70vh;
	overflow-y: auto;
}

.bdpr-login-wrap #bdpr-loginform p {
	margin-bottom: 0.75rem;
}

.bdpr-login-wrap #bdpr-loginform label {
	display: block;
	font-weight: 600;
	margin-bottom: 0.25rem;
}

.bdpr-login-wrap #bdpr-loginform input[type="text"],
.bdpr-login-wrap #bdpr-loginform input[type="password"] {
	width: 100%;
	max-width: 22rem;
}

.bdpr-login-wrap #bdpr-loginform .login-remember label {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	font-weight: normal;
}

.bdpr-login-wrap #bdpr-loginform .login-submit {
	margin-top: 0.5rem;
}

.bdpr-login-wrap #bdpr-loginform .button.button-primary,
.bdpr-login-wrap #bdpr-loginform input[type="submit"] {
	padding: 0.4rem 1rem;
}

/* ============================================================
   SECTION 2 — Hexa Dashboard
   ============================================================ */

/* --- Variables --- */
:root {
	--hexa-primary: #a78200;
	--hexa-primary-hover: #000000;
	--hexa-primary-container: #a78200;
	--hexa-on-primary-fixed: #000000;
	--hexa-on-primary-fixed-variant: #000000;
	--hexa-primary-fixed-dim: rgba(167, 130, 0, 0.35);
	--hexa-primary-fixed: rgba(167, 130, 0, 0.12);
	--hexa-on-background: #000000;
	--hexa-on-surface: #000000;
	--hexa-on-surface-variant: #000000;
	--hexa-outline: rgba(0, 0, 0, 0.55);
	--hexa-outline-variant: rgba(0, 0, 0, 0.15);
	--hexa-surface-container: rgba(0, 0, 0, 0.04);
	--hexa-surface-container-low: rgba(0, 0, 0, 0.02);
	--hexa-surface-container-high: rgba(0, 0, 0, 0.06);
	--hexa-surface-container-lowest: #ffffff;
	--hexa-surface-bright: rgba(167, 130, 0, 0.06);
	--hexa-inverse-surface: #000000;
	--hexa-error: #000000;
	--hexa-success: #a78200;
	--hexa-white: #ffffff;
}

/* --- Animations --- */
@keyframes hexa-ping {
	75%, 100% { transform: scale(2); opacity: 0; }
}
@keyframes hexa-pulse {
	50% { opacity: .5; }
}

/* --- Material Icons --- */
.hexa-dashboard .material-symbols-outlined {
	font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24;
	font-size: 20px;
	vertical-align: middle;
}

/* --- WP Postbox inside dashboard --- */
.hexa-dashboard .wp-postbox {
	background: #ffffff;
	border: 1px solid #dcdcde;
	box-shadow: 0 1px 1px rgba(0, 0, 0, .04);
	border-radius: 4px;
}
.hexa-dashboard .wp-postbox-header {
	border-bottom: 1px solid #dcdcde;
	padding: 12px 20px;
	background: #ffffff;
	border-top-left-radius: 4px;
	border-top-right-radius: 4px;
}

/* --- Badges --- */
.hexa-badge-success {
	background-color: rgba(167, 130, 0, 0.12);
	color: #a78200;
	border: 1px solid #a78200;
	padding: 3px 10px;
	border-radius: 3px;
	font-size: 11px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.025em;
	display: inline-block;
}
.hexa-badge-pending {
	background-color: rgba(0, 0, 0, 0.06);
	color: #000000;
	border: 1px solid rgba(0, 0, 0, 0.25);
	padding: 3px 10px;
	border-radius: 3px;
	font-size: 11px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.025em;
	display: inline-block;
}

/* --- Alert notices --- */
.hexa-alert {
	padding: 12px 40px 12px 16px;
	border-radius: 4px;
	margin-bottom: 1.5rem;
	font-size: 13px;
	font-weight: 500;
	position: relative;
}
.hexa-alert-success {
	background-color: rgba(167, 130, 0, 0.12);
	color: #000000;
	border: 1px solid #a78200;
}
.hexa-alert-error {
	background-color: rgba(0, 0, 0, 0.06);
	color: #000000;
	border: 1px solid #000000;
}
.hexa-alert-close {
	position: absolute;
	right: 12px;
	top: 50%;
	transform: translateY(-50%);
	background: none;
	border: none;
	font-size: 18px;
	cursor: pointer;
	color: inherit;
	opacity: .6;
	line-height: 1;
}
.hexa-alert-close:hover { opacity: 1; }

/* --- Dashboard wrapper --- */
.hexa-dashboard {
	font-family: 'Inter', ui-sans-serif, system-ui, sans-serif;
	font-size: 13px;
	line-height: 1.5;
	color: var(--hexa-on-surface);
}

.hexa-dashboard.wrap {
	margin: 0;
	padding: 0 1.25rem 2rem;
}
.hexa-dashboard .hexa-container {
	max-width: 1400px;
	margin: 0 auto;
	padding: 1rem 0 0;
}
.hexa-dashboard * { box-sizing: border-box; }

/* --- Dashboard Page Header --- */
.hexa-dashboard .hexa-page-header {
	margin-bottom: 2rem;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: space-between;
	gap: 1rem;
}

@media (min-width: 768px) {
	.hexa-dashboard .hexa-page-header {
		flex-direction: row;
		align-items: center;
	}
}

.hexa-dashboard .hexa-page-header-main {
	display: flex;
	align-items: center;
	gap: 1rem;
	min-width: 0;
}

.hexa-dashboard .hexa-page-logo {
	display: block;
	width: auto;
	height: 5.5rem;
	max-width: 5.5rem;
	object-fit: contain;
	flex-shrink: 0;
}

.hexa-dashboard .hexa-page-header-text {
	min-width: 0;
}

.hexa-dashboard .hexa-page-title {
	font-family: 'Inter', sans-serif;
	font-size: 1.875rem;
	line-height: 1.2;
	font-weight: 600;
	color: var(--hexa-on-background);
	letter-spacing: -0.025em;
	margin: 0;
	padding: 0;
}

.hexa-dashboard .hexa-page-subtitle {
	color: var(--hexa-outline);
	margin: 0.5rem 0 0;
	padding: 0;
	font-size: 0.875rem;
	line-height: 1.5;
	max-width: 36rem;
}

.hexa-dashboard .hexa-live-badge {
	flex-shrink: 0;
	display: flex;
	align-items: center;
	gap: .5rem;
	padding: .375rem .75rem;
	background-color: rgba(167, 130, 0, 0.12);
	color: #000000;
	font-size: .75rem;
	font-weight: 600;
	border-radius: 12px;
	border: 1px solid #a78200;
	white-space: nowrap;
}
.hexa-live-dot {
	position: relative;
	display: flex;
	height: .5rem;
	width: .5rem;
}
.hexa-live-dot-ping {
	animation: hexa-ping 1s cubic-bezier(0, 0, .2, 1) infinite;
	position: absolute;
	display: inline-flex;
	height: 100%;
	width: 100%;
	border-radius: 50%;
	background-color: #a78200;
	opacity: .75;
}
.hexa-live-dot-core {
	position: relative;
	display: inline-flex;
	border-radius: 50%;
	height: .5rem;
	width: .5rem;
	background-color: #a78200;
}

/* --- KPI Grid --- */
.hexa-kpi-grid {
	display: grid;
	grid-template-columns: repeat(1, 1fr);
	gap: 1.5rem;
	margin-bottom: 2.5rem;
}
@media (min-width: 640px) {
	.hexa-kpi-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (min-width: 1024px) {
	.hexa-kpi-grid { grid-template-columns: repeat(4, 1fr); }
}

.hexa-kpi-card {
	padding: 1.5rem;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	cursor: default;
	min-height: 7.5rem;
}
.hexa-kpi-label {
	color: var(--hexa-outline);
	font-family: 'Inter', sans-serif;
	font-size: .75rem;
	text-transform: uppercase;
	letter-spacing: .05em;
	margin-bottom: 1rem;
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.hexa-kpi-label .material-symbols-outlined {
	font-size: 14px;
	color: rgba(167, 130, 0, 0.45);
	transition: color .15s;
}
.hexa-kpi-card:hover .hexa-kpi-label .material-symbols-outlined { color: var(--hexa-primary); }
.hexa-kpi-card:hover .hexa-kpi-label .hexa-icon-error { color: var(--hexa-error); }
.hexa-kpi-value {
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.hexa-kpi-number {
	font-size: 1.875rem;
	line-height: 2.25rem;
	font-weight: 700;
	color: var(--hexa-on-background);
}
.hexa-kpi-number-primary {
	font-size: 1.875rem;
	line-height: 2.25rem;
	font-weight: 700;
	color: var(--hexa-primary);
}
.hexa-kpi-number-error {
	font-size: 1.875rem;
	line-height: 2.25rem;
	font-weight: 700;
	color: #000000;
}

/* --- Content Layout --- */
.hexa-content-layout {
	display: flex;
	flex-direction: column;
	gap: 2rem;
	margin-bottom: 2.5rem;
}
.hexa-content-main {
	display: flex;
	flex-direction: column;
	flex: 1;
	gap: 2rem;
	min-width: 0;
}

/* --- Progress Section --- */
.hexa-progress-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.hexa-progress-header h3 {
	font-family: 'Inter', sans-serif;
	font-size: 1rem;
	font-weight: 600;
	margin: 0;
}
.hexa-progress-badge {
	font-size: .75rem;
	font-weight: 700;
	color: var(--hexa-primary);
	background-color: rgba(167, 130, 0, 0.08);
	padding: .25rem .5rem;
	border-radius: 4px;
}
.hexa-progress-body { padding: 1.5rem; }
.hexa-progress-track {
	width: 100%;
	background-color: var(--hexa-surface-container-high);
	height: 2.5rem;
	border-radius: 4px;
	margin-bottom: 1rem;
	overflow: hidden;
	border: 1px solid rgba(193, 199, 210, .3);
	display: flex;
	box-shadow: inset 0 2px 4px 0 rgba(0, 0, 0, .05);
}
.hexa-progress-fill {
	background: #a78200;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: flex-end;
	padding: 0 1rem;
	transition: all 1s;
	position: relative;
	min-width: 3rem;
}
.hexa-progress-fill-glow {
	position: absolute;
	inset: 0;
	background-color: rgba(255, 255, 255, .1);
	opacity: 0;
	transition: opacity .15s;
}
.hexa-progress-fill:hover .hexa-progress-fill-glow { opacity: 1; }
.hexa-progress-fill span {
	color: #000000;
	font-weight: 700;
	font-size: .875rem;
	filter: drop-shadow(0 1px 1px rgba(0, 0, 0, .1));
}
.hexa-progress-note {
	display: flex;
	align-items: center;
	gap: .5rem;
	color: var(--hexa-outline);
	font-size: 12px;
}
.hexa-progress-note .material-symbols-outlined {
	font-size: 16px;
	color: var(--hexa-primary);
}

/* --- Charts Row --- */
.hexa-charts-row {
	display: grid;
	grid-template-columns: 1fr;
	gap: 2rem;
	align-items: stretch;
}
@media (min-width: 768px) {
	.hexa-charts-row { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

.hexa-bar-chart,
.hexa-line-chart {
	display: flex;
	flex-direction: column;
	height: 100%;
	min-height: 22rem;
}

.hexa-bar-chart-header,
.hexa-line-chart-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-shrink: 0;
}

.hexa-bar-chart-header h3,
.hexa-line-chart-header h3 {
	font-family: 'Inter', sans-serif;
	font-size: 1rem;
	font-weight: 600;
	margin: 0;
}

.hexa-bar-legend {
	display: flex;
	gap: .25rem;
}
.hexa-bar-legend-dot {
	width: .5rem;
	height: .5rem;
	border-radius: 50%;
	background-color: var(--hexa-primary);
}
.hexa-bar-legend-dot-alt {
	width: .5rem;
	height: .5rem;
	border-radius: 50%;
	background-color: var(--hexa-primary-container);
}

.hexa-bar-chart-body,
.hexa-line-chart-body {
	flex: 1;
	position: relative;
	height: 18rem;
	min-height: 18rem;
	padding: 1rem 1.5rem 1.5rem;
	background: linear-gradient(180deg, rgba(167, 130, 0, 0.14) 0%, rgba(167, 130, 0, 0) 100%);
}

.hexa-bar-chart-body.hexa-chartjs-wrap,
.hexa-line-chart-body.hexa-chartjs-wrap {
	display: block;
}

.hexa-chartjs-wrap canvas {
	width: 100% !important;
	height: 100% !important;
	min-height: 16rem;
}

.hexa-bar-col {
	display: flex;
	flex: 1;
	flex-direction: column;
	align-items: center;
	position: relative;
}
.hexa-bar-tooltip {
	position: absolute;
	top: -2.5rem;
	background-color: var(--hexa-inverse-surface);
	color: #000000;
	font-size: 10px;
	padding: .25rem .5rem;
	border-radius: 2px;
	opacity: 0;
	transition: opacity .15s;
	white-space: nowrap;
	pointer-events: none;
}
.hexa-bar-col:hover .hexa-bar-tooltip { opacity: 1; }
.hexa-bar {
	width: 100%;
	background: #a78200;
	transition: all .3s;
	border-top-left-radius: 4px;
	border-top-right-radius: 4px;
	box-shadow: 0 1px 2px 0 rgba(0, 0, 0, .05);
	min-height: 4px;
}
.hexa-bar:hover { background: #000000; }
.hexa-bar-label {
	font-size: 11px;
	margin-top: .75rem;
	font-weight: 600;
	color: var(--hexa-on-surface-variant);
}
.hexa-chart-empty {
	color: var(--hexa-outline);
	text-align: center;
	width: 100%;
	margin: auto;
}

.hexa-line-chart-tag {
	font-size: 10px;
	color: var(--hexa-outline);
	text-transform: uppercase;
	font-weight: 600;
}

/* --- Activity / Assignments Table --- */
.hexa-activity-section { overflow: visible; }
.hexa-activity-header {
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.hexa-activity-header h3 {
	font-family: 'Inter', sans-serif;
	font-size: 1rem;
	font-weight: 600;
	margin: 0;
}
.hexa-activity-viewall {
	color: var(--hexa-primary);
	font-weight: 600;
	font-size: 12px;
	display: flex;
	align-items: center;
	gap: .25rem;
	transition: color .15s;
	text-decoration: none;
}
button.hexa-activity-viewall {
	padding: 0;
	border: none;
	background: transparent;
	cursor: pointer;
	font-family: inherit;
}
.hexa-activity-viewall:hover { color: var(--hexa-primary-hover); }
.hexa-activity-viewall .material-symbols-outlined { font-size: 14px; }
.hexa-activity-body { overflow-x: auto; overflow-y: visible; }
#bdpr-assignments-table.hexa-activity-section > .hexa-activity-body.bdpr-table-wrap {
	overflow-x: auto;
	overflow-y: visible;
	max-height: none;
}
.hexa-activity-body--toolbar {
	overflow: visible;
	padding-bottom: 0;
	border-bottom: 1px solid var(--hexa-border, #e5e7eb);
}
.hexa-activity-body--toolbar .bdpr-table-toolbar {
	border-bottom: none;
	background: transparent;
	padding: 12px 16px 0;
}
.hexa-table {
	width: 100%;
	text-align: left;
	border-collapse: collapse;
}
.hexa-table thead tr {
	background-color: var(--hexa-surface-container-low);
	border-bottom: 1px solid var(--hexa-outline-variant);
}
.hexa-table th {
	padding: 1rem 1.25rem;
	font-weight: 600;
	font-size: 12px;
	text-transform: uppercase;
	letter-spacing: .05em;
	color: var(--hexa-outline);
	white-space: nowrap;
}
.hexa-table tbody { font-size: 13px; }
.hexa-table tbody tr {
	border-bottom: 1px solid rgba(193, 199, 210, .3);
	transition: background-color .15s;
}
.hexa-table tbody tr:hover { background-color: var(--hexa-surface-bright); }
.hexa-table-row-alt { background-color: var(--hexa-surface-container-lowest); }
.hexa-table td { padding: 1rem 1.25rem; }
.hexa-table-bold { font-weight: 500; }
.hexa-table-muted { color: var(--hexa-on-surface-variant); }
.hexa-table-link {
	color: var(--hexa-primary);
	font-weight: 500;
	text-decoration: none;
}
.hexa-table-link:hover { text-decoration: underline; }
.hexa-table-empty {
	text-align: center;
	color: var(--hexa-outline);
	padding: 2.5rem 1.25rem !important;
}
.hexa-th-actions { text-align: right; }
.hexa-btn-delete {
	background: none;
	border: 1px solid rgba(186, 26, 26, .3);
	color: var(--hexa-error);
	border-radius: 4px;
	padding: 4px 6px;
	cursor: pointer;
	transition: all .15s;
	display: inline-flex;
	align-items: center;
	line-height: 1;
}
.hexa-btn-delete .material-symbols-outlined { font-size: 16px; }
.hexa-btn-delete:hover {
	background-color: rgba(0, 0, 0, 0.06);
	border-color: var(--hexa-error);
}

.bdpr-table-toolbar {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
}
.bdpr-table-toolbar__search {
	flex: 1 1 260px;
	max-width: 440px;
	min-width: 220px;
}
.bdpr-table-toolbar__search-field {
	position: relative;
	display: block;
}
.bdpr-table-toolbar__icon {
	position: absolute;
	left: 14px;
	top: 50%;
	z-index: 1;
	transform: translateY(-50%);
	font-size: 20px;
	color: var(--hexa-outline);
	pointer-events: none;
}
#bdpr-assignments-table .bdpr-table-toolbar__input {
	display: block;
	width: 100%;
	min-height: 42px;
	padding: 10px 14px 10px 44px;
	border: 1px solid var(--hexa-outline-variant);
	border-radius: 8px;
	background: var(--hexa-surface);
	color: var(--hexa-on-surface);
	font-family: inherit;
	font-size: 14px;
	box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
}
.bdpr-table-toolbar__filter {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 12px;
	margin-left: auto;
}
.bdpr-table-toolbar__filter-label {
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--hexa-outline);
}
.bdpr-status-filter {
	display: inline-flex;
	padding: 4px;
	border: 1px solid var(--hexa-outline-variant);
	border-radius: 8px;
	background: var(--hexa-surface);
	box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
}
.bdpr-status-filter__btn {
	min-height: 34px;
	padding: 0 14px;
	border: none;
	border-radius: 6px;
	background: transparent;
	color: var(--hexa-on-surface-variant);
	font-family: inherit;
	font-size: 13px;
	font-weight: 600;
	cursor: pointer;
}
.bdpr-status-filter__btn.is-active {
	background: var(--hexa-primary);
	color: #fff;
}
.bdpr-status-filter__btn.is-active.bdpr-status-filter__btn--incomplete {
	background: #dc2626;
}
.bdpr-status-filter__btn--incomplete:not(.is-active):hover {
	color: #dc2626;
	background: rgba(220, 38, 38, 0.1);
}
.bdpr-status-badge {
	display: inline-flex;
	padding: 4px 10px;
	border-radius: 999px;
	font-size: 12px;
	font-weight: 600;
}
.bdpr-status-badge--completed {
	background: rgba(34, 197, 94, 0.15);
	color: #16a34a;
}
.bdpr-status-badge--incomplete {
	background: rgba(220, 38, 38, 0.12);
	color: #dc2626;
}
.bdpr-table__no-results[hidden],
.bdpr-assignments-row[hidden] {
	display: none;
}

.bdpr-table__drag-col { width: 40px; }
.bdpr-drag-handle {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 30px;
	height: 30px;
	padding: 0;
	border: none;
	background: transparent;
	color: var(--hexa-outline);
	cursor: grab;
	touch-action: none;
	user-select: none;
	-webkit-user-select: none;
}
#bdpr-assignments-table.is-sort-disabled .bdpr-drag-handle {
	cursor: not-allowed;
	opacity: 0.35;
}
.bdpr-sort-hint {
	margin: 0 16px 10px;
	padding: 8px 12px;
	font-size: 12px;
	color: var(--hexa-on-surface-variant);
	background: var(--hexa-surface-container-low);
	border-radius: 6px;
}
.bdpr-sortable-placeholder {
	background: rgba(167, 130, 0, 0.08);
}

.bdpr-table__actions-group {
	display: inline-flex;
	align-items: center;
	gap: 6px;
}
.bdpr-delete-assignment-form {
	margin: 0;
	display: inline-flex;
}
.bdpr-btn--icon {
	width: 34px;
	height: 34px;
	padding: 0;
	border-radius: 6px;
	background: transparent;
	border: 1px solid var(--hexa-outline-variant);
	color: var(--hexa-outline);
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}
.bdpr-btn--icon-edit:hover {
	background: rgba(167, 130, 0, 0.12);
	color: var(--hexa-primary);
	border-color: var(--hexa-primary);
}
.bdpr-btn--icon-delete:hover {
	background: rgba(220, 38, 38, 0.1);
	color: #dc2626;
	border-color: #dc2626;
}
body.bdpr-modal-open { overflow: hidden; }
.bdpr-modal {
	position: fixed;
	inset: 0;
	z-index: 100000;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 24px;
}
.bdpr-modal[hidden] { display: none; }
.bdpr-modal__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0.45);
}
.bdpr-modal__dialog {
	position: relative;
	z-index: 1;
	width: 100%;
	max-width: 480px;
	border-radius: 8px;
	background: var(--hexa-surface);
	border: 1px solid var(--hexa-outline-variant);
	box-shadow: 0 16px 40px rgba(0, 0, 0, 0.15);
}
.bdpr-modal__header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 20px 20px 0;
}
.bdpr-modal__title { margin: 0; font-size: 18px; font-weight: 700; }
.bdpr-modal__close {
	border: none;
	background: transparent;
	cursor: pointer;
	color: var(--hexa-outline);
}
.bdpr-modal__body {
	display: flex;
	flex-direction: column;
	gap: 16px;
	padding: 20px;
}
.bdpr-modal__footer {
	display: flex;
	justify-content: flex-end;
	gap: 10px;
	padding: 0 20px 20px;
}
.bdpr-modal__form .bdpr-field {
	display: flex;
	flex-direction: column;
	gap: 6px;
}
.bdpr-modal__form .bdpr-field label {
	font-size: 13px;
	font-weight: 600;
}
.bdpr-modal__form .bdpr-field input {
	padding: 10px 14px;
	border: 1px solid var(--hexa-outline-variant);
	border-radius: 6px;
	background: var(--hexa-surface);
}
.bdpr-modal__footer .bdpr-btn--primary {
	background: var(--hexa-primary);
	color: #fff;
	border: none;
	padding: 10px 18px;
	border-radius: 6px;
	font-weight: 600;
	cursor: pointer;
}
.bdpr-modal__footer .bdpr-btn--ghost {
	background: transparent;
	border: 1px solid var(--hexa-outline-variant);
	padding: 10px 18px;
	border-radius: 6px;
	cursor: pointer;
}

/* --- Sidebar Cards --- */
.hexa-sidebar-cards {
	width: 100%;
	display: flex;
	flex-direction: column;
	gap: 2rem;
}
@media (min-width: 1280px) { .hexa-sidebar-cards { width: 20rem; flex-shrink: 0; } }

/* Quick Actions */
.hexa-quick-actions-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.hexa-quick-actions-header h3 {
	font-family: 'Inter', sans-serif;
	font-size: 1rem;
	font-weight: 600;
	margin: 0;
}
.hexa-quick-actions-body {
	padding: 1.25rem;
	display: flex;
	flex-direction: column;
	gap: .75rem;
}
.hexa-btn-primary {
	width: 100%;
	background-color: var(--hexa-primary);
	color: #ffffff;
	padding: .75rem 1rem;
	border-radius: 4px;
	font-weight: 600;
	font-size: 13px;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: .5rem;
	transition: all .15s;
	box-shadow: 0 1px 2px rgba(0, 0, 0, .05);
	text-decoration: none;
	border: none;
	cursor: pointer;
}
.hexa-btn-primary:hover {
	background-color: var(--hexa-primary-hover);
	box-shadow: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -2px rgba(0, 0, 0, .1);
	color: #ffffff;
}
.hexa-btn-primary .material-symbols-outlined {
	font-size: 20px;
	transition: transform .15s;
}
.hexa-btn-primary:hover .material-symbols-outlined { transform: scale(1.1); }

/* --- Status Distribution --- */
.hexa-status-section { overflow: hidden; }
.hexa-status-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.hexa-status-header h3 {
	font-family: 'Inter', sans-serif;
	font-size: 1rem;
	font-weight: 600;
	margin: 0;
}
.hexa-status-body {
	padding: 2rem;
	display: flex;
	flex-direction: column;
	align-items: center;
	background: linear-gradient(to bottom, #fff, rgba(167, 130, 0, 0.08));
}
.hexa-doughnut {
	position: relative;
	width: 11rem;
	height: 11rem;
	border-radius: 50%;
	margin-bottom: 2rem;
	display: flex;
	align-items: center;
	justify-content: center;
}
.hexa-doughnut-ring {
	position: absolute;
	inset: 0;
	border-radius: 50%;
	border: 4px solid rgba(227, 233, 238, .4);
}
.hexa-doughnut-fill {
	position: absolute;
	inset: 0;
	border-radius: 50%;
	box-shadow: 0 0 20px rgba(167, 130, 0, 0.12);
}
.hexa-doughnut-center {
	position: absolute;
	inset: 1.5rem;
	background-color: #fff;
	border-radius: 50%;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	border: 1px solid rgba(193, 199, 210, .2);
	box-shadow: inset 0 2px 4px rgba(0, 0, 0, .06);
}
.hexa-doughnut-value {
	font-size: 1.875rem;
	font-weight: 700;
	color: var(--hexa-on-background);
	letter-spacing: -0.025em;
}
.hexa-doughnut-label {
	font-size: 10px;
	text-transform: uppercase;
	letter-spacing: .1em;
	color: var(--hexa-primary);
	font-weight: 700;
}
.hexa-status-legend { width: 100%; }
.hexa-status-legend > * + * { margin-top: .5rem; }
.hexa-legend-item {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: .75rem;
	border-radius: 4px;
	border: 1px solid transparent;
	transition: all .15s;
}
.hexa-legend-item:hover {
	background-color: #fff;
	box-shadow: 0 1px 2px 0 rgba(0, 0, 0, .05);
	border-color: rgba(193, 199, 210, .3);
}
.hexa-legend-item-left {
	display: flex;
	align-items: center;
	gap: .75rem;
}
.hexa-legend-dot-primary {
	width: .625rem;
	height: .625rem;
	background-color: var(--hexa-primary);
	border-radius: 2px;
	box-shadow: 0 1px 2px 0 rgba(0, 0, 0, .05);
}
.hexa-legend-dot-muted {
	width: .625rem;
	height: .625rem;
	background-color: rgba(0, 0, 0, 0.2);
	border-radius: 2px;
	box-shadow: 0 1px 2px 0 rgba(0, 0, 0, .05);
}
.hexa-legend-text {
	font-size: .875rem;
	color: var(--hexa-on-surface-variant);
	font-weight: 500;
}
.hexa-legend-value {
	font-weight: 700;
	color: var(--hexa-on-background);
}

/* --- System Status --- */
.hexa-system-section { overflow: hidden; }
.hexa-system-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.hexa-system-header h3 {
	font-family: 'Inter', sans-serif;
	font-size: 1rem;
	font-weight: 600;
	margin: 0;
}
.hexa-system-body {
	padding: 1.5rem;
	font-size: 13px;
}
.hexa-system-list > * + * { margin-top: 1rem; }
.hexa-system-row {
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.hexa-system-row-bordered {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding-bottom: .75rem;
	border-bottom: 1px solid rgba(193, 199, 210, .1);
}
.hexa-system-label { color: var(--hexa-outline); }
.hexa-system-value {
	font-weight: 600;
	color: var(--hexa-on-background);
	display: flex;
	align-items: center;
	gap: .375rem;
}
.hexa-system-value .material-symbols-outlined {
	font-size: 16px;
	color: var(--hexa-outline);
}
.hexa-bridge-intro {
	margin: 0 0 1rem;
	color: var(--hexa-outline);
	font-size: 13px;
	line-height: 1.5;
}
.hexa-bridge-steps {
	margin: 0 0 1.25rem 1.25rem;
	font-size: 13px;
	line-height: 1.6;
}
.hexa-bridge-default-form {
	margin-top: .5rem;
}
.hexa-bridge-default-form .hexa-form-field {
	margin-bottom: .75rem;
}
.hexa-system-row-error .hexa-system-value-error {
	color: #000000;
	font-weight: 500;
	font-size: 12px;
	max-width: 60%;
	text-align: right;
	line-height: 1.4;
}
.hexa-system-status-ok {
	color: #000000;
	font-weight: 700;
	display: flex;
	align-items: center;
	gap: .375rem;
}
.hexa-system-status-dot {
	width: .5rem;
	height: .5rem;
	background-color: #000000;
	border-radius: 50%;
	animation: hexa-pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;
}

/* ============================================================
   SECTION 3 — Hexa Assignments Page
   ============================================================ */

/* --- Assignments wrapper --- */
.hexa-assignments {
	font-family: 'Inter', ui-sans-serif, system-ui, sans-serif;
	font-size: 13px;
	line-height: 1.5;
	color: var(--hexa-on-surface);
}
.hexa-assignments .hexa-container {
	max-width: 1400px;
	margin: 0 auto;
}
.hexa-assignments * { box-sizing: border-box; }

/* Two-column assignment tiles (fallback shell) */
.hexa-assignments .bdpr-assignments-page {
	max-width: 1280px;
}
.hexa-assignments .bdpr-assignments-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 24px;
	align-items: stretch;
}
.hexa-assignments .bdpr-card {
	background: #fff;
	border: 1px solid #c3c4c7;
	border-radius: 8px;
	box-shadow: 0 1px 2px rgba(0, 0, 0, .04);
	display: flex;
	flex-direction: column;
	min-height: 0;
	overflow: hidden;
}
.hexa-assignments .bdpr-card__header {
	padding: 16px 20px;
	border-bottom: 1px solid #e0e0e0;
}
.hexa-assignments .bdpr-card__title {
	margin: 0;
	font-size: 15px;
	font-weight: 600;
	color: var(--hexa-on-surface);
}
.hexa-assignments .bdpr-card__body {
	flex: 1;
	padding: 16px 20px 20px;
}
.hexa-assignments .bdpr-form-tile__title-wrap {
	display: flex;
	align-items: flex-start;
	gap: 14px;
}
.hexa-assignments .bdpr-form-tile__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	border-radius: 8px;
	background: var(--hexa-primary-fixed);
	color: var(--hexa-primary);
	font-size: 22px;
	flex-shrink: 0;
}
.hexa-assignments .bdpr-form-tile__desc {
	margin: 4px 0 0;
	font-size: 13px;
	color: var(--hexa-outline);
}
.hexa-assignments .bdpr-form-tile__form,
.hexa-assignments .bdpr-form-stack {
	display: flex;
	flex-direction: column;
	gap: 18px;
}
.hexa-assignments .bdpr-form-tile__form {
	height: 100%;
}
.hexa-assignments .bdpr-form-stack {
	flex: 1;
}
.hexa-assignments .bdpr-field label {
	display: block;
	margin-bottom: 6px;
	font-weight: 500;
	color: var(--hexa-on-surface);
}
.hexa-assignments .bdpr-field input[type='text'],
.hexa-assignments .bdpr-field input[type='number'],
.hexa-assignments .bdpr-field input[type='file'] {
	width: 100%;
	min-height: 36px;
	padding: 8px 12px;
	border: 1px solid #8c8f94;
	border-radius: 4px;
	font-size: 13px;
}
.hexa-assignments .bdpr-field .description {
	margin: 6px 0 0;
	font-size: 12px;
	color: var(--hexa-outline);
}
.hexa-assignments .bdpr-form-footer--actions {
	display: flex;
	justify-content: flex-end;
	margin-top: auto;
}
.hexa-assignments .bdpr-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-height: 36px;
	padding: 0 16px;
	border-radius: 4px;
	border: 1px solid var(--hexa-primary);
	background: var(--hexa-primary);
	color: #fff;
	font-size: 13px;
	font-weight: 500;
	cursor: pointer;
	min-width: 168px;
}
.hexa-assignments .bdpr-btn:hover {
	background: var(--hexa-primary-hover);
	border-color: var(--hexa-primary-hover);
}
.hexa-assignments .bdpr-csv-import__format-label {
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: var(--hexa-outline);
}
.hexa-assignments .bdpr-csv-import__columns {
	display: inline-block;
	padding: 6px 10px;
	border-radius: 4px;
	background: #f6f7f7;
	border: 1px solid #dcdcde;
	font-family: ui-monospace, monospace;
	font-size: 12px;
}
.hexa-assignments .bdpr-csv-import__sample {
	margin: 0;
	padding: 12px 14px;
	font-family: ui-monospace, monospace;
	font-size: 12px;
	line-height: 1.55;
	background: #f6f7f7;
	border: 1px solid #dcdcde;
	border-radius: 4px;
	overflow-x: auto;
	color: #50575e;
}
.hexa-assignments .bdpr-file-input-wrap {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 6px;
	min-height: 168px;
	padding: 24px 20px;
	border: 1px dashed #c3c4c7;
	border-radius: 8px;
	background: #f6f7f7;
	text-align: center;
	cursor: pointer;
}
.hexa-assignments .bdpr-file-input-wrap:hover,
.hexa-assignments .bdpr-file-input-wrap.is-dragover,
.hexa-assignments .bdpr-file-input-wrap.is-filled {
	border-color: var(--hexa-primary);
	background: var(--hexa-primary-fixed);
}
.hexa-assignments .bdpr-file-input-wrap.is-filled {
	border-style: solid;
}
.hexa-assignments .bdpr-file-input-wrap__input {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	margin: 0;
	padding: 0;
	opacity: 0;
	cursor: pointer;
	z-index: 2;
}
.hexa-assignments .bdpr-file-input-wrap__content {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 6px;
	pointer-events: none;
}
.hexa-assignments .bdpr-file-input-wrap__icon {
	font-size: 32px;
	color: var(--hexa-primary);
}
.hexa-assignments .bdpr-file-input-wrap__prompt {
	margin: 0;
	font-size: 14px;
	font-weight: 500;
	color: var(--hexa-on-surface);
}
.hexa-assignments .bdpr-file-input-wrap__or {
	font-size: 12px;
	color: var(--hexa-outline);
}
.hexa-assignments .bdpr-file-input-wrap__browse {
	pointer-events: none;
	min-width: 140px;
	background: #fff;
	border: 1px solid #c3c4c7;
	color: var(--hexa-on-surface);
	display: inline-flex;
	align-items: center;
	gap: 6px;
	min-height: 34px;
	padding: 0 14px;
	border-radius: 4px;
	font-size: 13px;
	font-weight: 500;
}
.hexa-assignments .bdpr-file-input-wrap__name {
	display: block;
	margin-top: 4px;
	padding: 6px 12px;
	max-width: 100%;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	font-size: 13px;
	font-weight: 600;
	background: #fff;
	border: 1px solid #dcdcde;
	border-radius: 4px;
}
.hexa-assignments .bdpr-file-input-wrap__limit {
	font-size: 11px;
	color: var(--hexa-outline);
}
.hexa-assignments .bdpr-field__label {
	display: block;
	margin-bottom: 8px;
	font-weight: 500;
}
@media (max-width: 900px) {
	.hexa-assignments .bdpr-assignments-grid {
		grid-template-columns: 1fr;
	}
}

/* --- Material Icons inside assignments --- */
.hexa-assignments .material-symbols-outlined {
	font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 20;
	font-size: 20px;
	vertical-align: middle;
}

/* --- Page Header --- */
.hexa-assignments .hexa-page-header {
	margin-bottom: 2.5rem;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	align-items: flex-start;
	gap: 1rem;
}
@media (min-width: 768px) {
	.hexa-assignments .hexa-page-header { flex-direction: row; align-items: flex-end; }
}
.hexa-assignments .hexa-page-title {
	font-family: 'Inter', sans-serif;
	font-size: 1.875rem;
	line-height: 2.25rem;
	font-weight: 600;
	color: var(--hexa-on-surface);
	margin: 0 0 .5rem 0;
	padding: 0;
}
.hexa-assignments .hexa-page-subtitle {
	color: var(--hexa-outline);
	font-size: 13px;
}
.hexa-page-actions {
	display: flex;
	gap: .75rem;
}
.hexa-page-actions .material-symbols-outlined { font-size: 18px; }

/* --- Buttons (assignments variants) --- */
.hexa-assignments .hexa-btn-primary {
	background: var(--hexa-primary);
	border: 1px solid var(--hexa-primary);
	color: #ffffff;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 13px;
	font-weight: 500;
	line-height: 1;
	min-height: 36px;
	padding: 0 16px;
	cursor: pointer;
	border-radius: 3px;
	transition: all .1s ease-in-out;
	gap: .5rem;
	text-decoration: none;
	box-shadow: none;
	width: auto;
}
.hexa-assignments .hexa-btn-primary:hover {
	background: var(--hexa-primary-hover);
	border-color: var(--hexa-primary-hover);
	color: #ffffff;
	box-shadow: none;
}
.hexa-btn-secondary {
	background: #f6f7f7;
	border: 1px solid var(--hexa-primary);
	color: var(--hexa-primary);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 13px;
	font-weight: 500;
	min-height: 36px;
	padding: 0 16px;
	border-radius: 3px;
	transition: all .1s ease-in-out;
	gap: .5rem;
	text-decoration: none;
	cursor: pointer;
}
.hexa-btn-secondary:hover {
	background: var(--hexa-primary-fixed);
	border-color: var(--hexa-primary-hover);
	color: var(--hexa-primary-hover);
}

/* --- Content Sections --- */
.hexa-sections > * + * { margin-top: 2.5rem; }

/* --- WP Postbox inside assignments --- */
.hexa-assignments .wp-postbox {
	background: #ffffff;
	border: 1px solid #c3c4c7;
	box-shadow: 0 1px 1px rgba(0, 0, 0, .04);
}

/* --- Form Section --- */
.hexa-form-section {
	border-radius: 4px;
	overflow: hidden;
	box-shadow: 0 1px 2px rgba(0, 0, 0, .05);
	border: none;
}
.hexa-form-header {
	padding: 1rem 1.5rem;
	border-bottom: 1px solid var(--hexa-outline-variant);
	background-color: #f6f7f7;
}
.hexa-form-header h3 {
	font-family: 'Inter', sans-serif;
	font-size: 14px;
	line-height: 1.4;
	font-weight: 600;
	margin: 0;
}
.hexa-form-body { padding: 2rem; }
.hexa-empty-msg {
	color: var(--hexa-outline);
	margin: 0;
}
.hexa-form-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 2rem;
}
@media (min-width: 768px) { .hexa-form-grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .hexa-form-grid { grid-template-columns: repeat(3, 1fr); } }
.hexa-form-field {
	display: flex;
	flex-direction: column;
	gap: .5rem;
}
.hexa-form-field-full {
	margin-top: 1rem;
	max-width: 280px;
}
.hexa-form-field label {
	font-weight: 600;
	font-size: 12px;
}
.hexa-form-field-span {
	display: flex;
	flex-direction: column;
	gap: .5rem;
}
@media (min-width: 1024px) { .hexa-form-field-span { grid-row: span 2; } }
.hexa-form-field-span label {
	font-weight: 600;
	font-size: 12px;
}
.hexa-form-field-span textarea {
	height: 100%;
	min-height: 120px;
	padding: .75rem;
}

/* --- WP Inputs --- */
.hexa-assignments .wp-input {
	border: 1px solid #8c8f94;
	border-radius: 3px;
	padding: 0 12px;
	min-height: 36px;
	font-size: 13px;
	width: 100%;
	font-family: 'Inter', sans-serif;
	background: #fff;
	color: var(--hexa-on-surface);
}
.hexa-assignments .wp-input:focus {
	border-color: #a78200;
	box-shadow: 0 0 0 1px #a78200;
	outline: 2px solid transparent;
}
.hexa-assignments textarea.wp-input {
	padding: .75rem 12px;
	resize: vertical;
}

/* --- Upload Zone --- */
.hexa-upload-zone {
	border: 2px dashed var(--hexa-outline-variant);
	border-radius: 4px;
	padding: 1.5rem;
	text-align: center;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	min-height: 96px;
	cursor: pointer;
	transition: background-color .15s, border-color .15s;
}
.hexa-upload-zone:hover { background-color: var(--hexa-surface-container-low); }
.hexa-upload-zone .material-symbols-outlined {
	color: var(--hexa-outline);
	margin-bottom: .5rem;
}
.hexa-upload-zone p {
	font-size: 12px;
	color: var(--hexa-outline);
	margin: 0;
}

/* --- Credentials --- */
.hexa-form-creds {
	display: flex;
	flex-direction: column;
	gap: .5rem;
	justify-content: flex-end;
}
.hexa-creds-summary {
	display: flex;
	align-items: center;
	gap: .5rem;
	cursor: pointer;
	color: #a78200;
	font-weight: 600;
	font-size: 12px;
	user-select: none;
	list-style: none;
}
.hexa-creds-summary::-webkit-details-marker { display: none; }
.hexa-creds-summary .material-symbols-outlined {
	transition: transform .15s;
}
details[open] .hexa-creds-summary .material-symbols-outlined {
	transform: rotate(90deg);
}
.hexa-creds-grid {
	margin-top: 1rem;
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: .75rem;
}
.hexa-creds-field {
	display: flex;
	flex-direction: column;
	gap: .25rem;
}
.hexa-creds-field label {
	font-size: 11px;
	text-transform: uppercase;
	letter-spacing: .05em;
	color: var(--hexa-outline);
	font-weight: 700;
}
.hexa-creds-pass-wrap { position: relative; }
.hexa-creds-pass-wrap input { padding-right: 2.5rem; }
.hexa-creds-pass-btn {
	position: absolute;
	right: .5rem;
	top: 50%;
	transform: translateY(-50%);
	color: var(--hexa-outline);
	background: none;
	border: none;
	cursor: pointer;
	padding: 0;
}
.hexa-creds-pass-btn .material-symbols-outlined { font-size: 18px; }
.hexa-form-footer {
	margin-top: 2rem;
	padding-top: 1.5rem;
	border-top: 1px solid var(--hexa-outline-variant);
	display: flex;
	justify-content: flex-end;
}
.hexa-form-footer .hexa-btn-primary { padding: 0 2rem; }

/* --- Filters Bar --- */
.hexa-filters {
	margin-bottom: 1.5rem;
	padding: 1rem;
	background-color: #fff;
	border: 1px solid var(--hexa-outline-variant);
	border-radius: 4px;
	display: flex;
	flex-wrap: wrap;
	gap: 1rem;
	align-items: center;
	box-shadow: 0 1px 2px rgba(0, 0, 0, .05);
}
.hexa-search-wrap {
	min-width: 280px;
	flex: 1;
	position: relative;
}
.hexa-search-icon {
	position: absolute;
	left: .75rem;
	top: 50%;
	transform: translateY(-50%);
	color: var(--hexa-outline);
	font-size: 18px !important;
}
.hexa-search-wrap .wp-input { padding-left: 2.5rem; }

/* --- Assignments Table --- */
.hexa-table-wrap {
	border-radius: 4px;
	overflow: hidden;
	border: none;
	box-shadow: 0 1px 2px rgba(0, 0, 0, .05);
}
.hexa-table-scroll { overflow-x: auto; }
.hexa-assignments .wp-list-table {
	width: 100%;
	border-collapse: collapse;
	background: white;
	border: 1px solid #c3c4c7;
}
.hexa-assignments .wp-list-table th {
	text-align: left;
	padding: 12px 16px;
	background: #f6f7f7;
	border-bottom: 1px solid #c3c4c7;
	font-weight: 600;
	font-size: 13px;
	white-space: nowrap;
}
.hexa-assignments .wp-list-table td {
	padding: 12px 16px;
	border-bottom: 1px solid #f0f0f1;
	vertical-align: middle;
}
.hexa-assignments .wp-list-table tr:hover { background-color: #f6f7f7; }
.hexa-table-id {
	color: var(--hexa-outline);
	font-family: 'IBM Plex Mono', ui-monospace, SFMono-Regular, monospace;
	font-size: 11px;
}
.hexa-table-blogger { display: flex; flex-direction: column; }
.hexa-table-blogger-name {
	font-weight: 600;
	color: var(--hexa-on-surface);
}
.hexa-table-code {
	background-color: var(--hexa-surface-container);
	padding: .125rem .5rem;
	border-radius: 3px;
	font-size: 12px;
	font-weight: 500;
	font-family: 'IBM Plex Mono', ui-monospace, SFMono-Regular, monospace;
}
.hexa-assignments .hexa-table-link {
	color: #a78200;
	display: block;
	max-width: 180px;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	font-weight: 500;
	text-decoration: none;
}
.hexa-assignments .hexa-table-link:hover { text-decoration: underline; }
.hexa-table-user {
	color: var(--hexa-on-surface-variant);
	font-weight: 500;
}
.hexa-table-center { text-align: center; }
.hexa-table-right { text-align: right; }
.hexa-table-nowrap {
	color: var(--hexa-outline);
	white-space: nowrap;
}
.hexa-table-empty-cell {
	text-align: center;
	color: var(--hexa-outline);
	padding: 2.5rem 16px !important;
}
.hexa-icon-success { color: #a78200; }
.hexa-icon-muted { color: var(--hexa-outline-variant); }

/* --- Assignments Badges --- */
.hexa-assignments .hexa-badge-pending {
	background-color: rgba(167, 130, 0, 0.12);
	color: #000000;
	padding: .25rem .75rem;
	border-radius: 12px;
	font-size: 10px;
	font-weight: 700;
	border: 1px solid #a78200;
	text-transform: uppercase;
	letter-spacing: .05em;
	display: inline-block;
}
.hexa-badge-completed {
	background-color: rgba(167, 130, 0, 0.12);
	color: #a78200;
	padding: .25rem .75rem;
	border-radius: 12px;
	font-size: 10px;
	font-weight: 700;
	border: 1px solid #a78200;
	text-transform: uppercase;
	letter-spacing: .05em;
	display: inline-block;
}

/* --- Today Count --- */
.hexa-today-count {
	background-color: var(--hexa-surface-container-high);
	padding: .25rem .5rem;
	border-radius: 3px;
	font-weight: 600;
	font-size: 12px;
	display: inline-block;
}

/* --- Table Actions --- */
.hexa-table-actions {
	display: flex;
	justify-content: flex-end;
	gap: .75rem;
}
.hexa-action-delete {
	color: var(--hexa-error);
	font-weight: 500;
	transition: color .15s;
	background: none;
	border: none;
	cursor: pointer;
	font-size: 13px;
	font-family: 'Inter', sans-serif;
	padding: 0;
}
.hexa-action-delete:hover { color: #000000; }

/* --- Pagination --- */
.hexa-pagination {
	padding: 1rem 1.5rem;
	display: flex;
	justify-content: space-between;
	align-items: center;
	background-color: #fff;
	border-top: 1px solid var(--hexa-outline-variant);
}
.hexa-pagination-info {
	color: var(--hexa-outline);
	font-size: 12px;
	font-weight: 500;
}
