/* EditInstractions Component Styles */

.pc-edit-instractions {
	display: flex;
	flex-direction: column;
	height: 100%;
	padding: 0;
}

.pc-edit-instractions.is-loading {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	padding: 3rem;
	gap: 1rem;
	color: #6b7280;
}

.pc-edit-instractions .loading-spinner {
	width: 32px;
	height: 32px;
	border: 3px solid #e5e7eb;
	border-top-color: #4caf50;
	border-radius: 50%;
	animation: spin 1s linear infinite;
}

@keyframes spin {
	to {
		transform: rotate(360deg);
	}
}

/* Toolbar */
.pc-edit-instractions .instr-toolbar {
	display: flex;
	justify-content: space-between;
	align-items: center;
	/* padding: 1rem 1.25rem; */
	/* border-bottom: 1px solid #e5e7eb; */
	/* background: #f9fafb; */
	gap: 1rem;
	flex-wrap: wrap;
}

.pc-edit-instractions .instr-toolbar-left {
	display: flex;
	align-items: center;
	gap: 0.75rem;
}

.pc-edit-instractions .instr-toolbar-left h3 {
	margin: 0;
	font-size: var(--rd-fontsize-6);
	font-weight: var(--rd-fontweights-open-sans-1);
	color: var(--rd-font-dark);
}

.pcx_toggleBox_title {
	color: var(--rd-font-dark);
}

.pc-edit-instractions .instr-count-badge {
	background: #4caf50;
	color: white;
	padding: 0.25rem 0.625rem;
	border-radius: 1rem;
	font-size: 0.8125rem;
	font-weight: 500;
}

.pc-edit-instractions .instr-toolbar-right {
	display: flex;
	align-items: center;
}

.pc-edit-instractions .instr-toolbar-right pc-knob-date-time-range {
	min-width: 160px;
}

/* Search */
.pc-edit-instractions .instr-search {
	padding: var(--rd-spacing-md) 0 0;
}

.pc-edit-instractions .instr-search .rd-selector-searchrow {
	margin: 0;
}

/* Categories */
.pc-edit-instractions .instr-categories {
	flex: 1;
	overflow-y: auto;
	padding: 0.5rem 0;
}

.pc-edit-instractions .instr-categories .rd-toggle-box {
	margin: 0;
	border-radius: 0;
	border-left: none;
	border-right: none;
	border-top: none;
}

.pc-edit-instractions .instr-categories .rd-toggle-box:first-child {
	border-top: none;
}

.pc-edit-instractions .instr-cat-badge {
	background: #f3f4f6;
	color: #6b7280;
	padding: 0.125rem 0.5rem;
	border-radius: 0.75rem;
	font-size: 0.75rem;
	font-weight: 500;
	margin-left: 0.5rem;
}

/* Category header with select all */
.pc-edit-instractions .instr-category-header {
	padding: var(--rd-spacing-sm) 0 var(--rd-spacing-x-sm);
	margin-bottom: var(--rd-spacing-x-sm);
	margin-left: var(--rd-spacing-sm);
}

.pc-edit-instractions .instr-select-all {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	font-size: var(--rd-fontsize-3);
	color: var(--rd-gray-500);
	margin-bottom: 0;
}



/* Filters */
.pc-edit-instractions .instr-filters {
	padding: var(--rd-spacing-md) 0 var(--rd-spacing-xxx-big);
	display: flex;
	/* flex-direction: column; */
	gap: var(--rd-spacing-md);
}

.pc-edit-instractions .instr-filter-row {
	display: flex;
	gap: 0.75rem;
	flex-wrap: wrap;
	align-items: center;
}

.pc-edit-instractions .instr-filter-label {
	font-size: 0.75rem;
	font-weight: 500;
	color: #6b7280;
	text-transform: uppercase;
	letter-spacing: 0.025em;
}

.pc-edit-instractions .instr-filter-row pc-knob-segmented {
	flex-shrink: 0;
}

.pc-edit-instractions .instr-empty-category {
	padding: 1rem;
	text-align: center;
	color: #9ca3af;
	font-size: 0.875rem;
}

/* Instruction Cards List */
.pc-edit-instractions .instr-cards-list {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
	margin-bottom: var(--rd-spacing-md);
	align-items: center;
}

/* Instruction Card */
.pc-edit-instractions .instr-card {
	display: flex;
	align-items: flex-start;
	gap: 0.75rem;
	padding: var(--rd-spacing-sm);
	border: 1px solid var(--rd-success-inactive);
	border-radius: 0.5rem;
	background: var(rd-font-light);
	cursor: pointer;
	transition: all 0.15s ease;
	width: calc(100% - 128px);
	margin-left: 30px;
}

.pc-edit-instractions .instr-card:hover {
	border-color: var(--rd-success-default);
	background: var(--rd-list-hover);
}

.pc-edit-instractions .instr-card.selected {
	border-color: var(--rd-success-default);
	background: rgba(76, 175, 80, 0.05);
}

.pc-edit-instractions .instr-card.completed {
	/*
	opacity: 0.6;
	cursor: default;
	background: #f9fafb;
    */
}

.pc-edit-instractions .instr-card.completed:hover {
	border-color: #e5e7eb;
	background: #f9fafb;
}

.pc-edit-instractions .instr-card.tabu {
	opacity: 0.5;
	cursor: not-allowed;
	background: #fef3c7;
	border-color: #fcd34d;
}

.pc-edit-instractions .instr-card.tabu:hover {
	border-color: #fcd34d;
	background: #fef3c7;
}

.pc-edit-instractions .instr-card-checkbox {
	flex-shrink: 0;
	padding-top: 0.25rem;
}

.pc-edit-instractions .instr-card-image {
	width: 56px;
	height: 42px;
	flex-shrink: 0;
	background-size: cover;
	background-position: center;
	background-color: #f3f4f6;
	border-radius: 0.25rem;
	aspect-ratio: 16/9;
}

.pc-edit-instractions .instr-card-content {
	flex: 1;
	min-width: 0;
}

.pc-edit-instractions .instr-card-header {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 0.5rem;
	margin-bottom: 0.125rem;
}

.pc-edit-instractions .instr-card-title {
	font-size: 0.875rem;
	font-weight: 500;
	color: #1f2937;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	flex: 1;
	min-width: 0;
}

.pc-edit-instractions .instr-card-title .pcx_highlight {
	background: #fef08a;
	padding: 0 0.125rem;
	border-radius: 0.125rem;
}

.pc-edit-instractions .instr-card-tag {
	font-size: var(--rd-fontsize-1);
	font-style: normal;
	font-weight: var(--rd-fontweights-open-sans-1);
	line-height: 17px;
	letter-spacing: 0.1px;
	padding: var(--rd-spacing-xx-sm) var(--rd-spacing-sm);
	display: block;
	text-align: center;
	border-radius: 80px;
	min-width: 88px;
	max-width: max-content;
	background-color: var(--rd-pink-100);
	color: var(--rd-primary-pressed);
}

.pc-edit-instractions .instr-card-tag.own {
	color: var(--rd-green-900);
	background-color: var(--rd-success-inactive);
}

.pc-edit-instractions .instr-card-tag.central {
	color: var(--rd-warning-900);
	background-color: var(--rd-warning-inactive);
}

.pc-edit-instractions .instr-card-tag.shared {
	background-color: var(--rd-chip-accent-geteilt);
	color: var(--rd-accent-4-900);
}

.pc-edit-instractions .instr-card-course {
	font-size: 0.75rem;
	color: #6b7280;
	margin-bottom: 0.25rem;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.pc-edit-instractions .instr-card-date {
	font-size: 0.6875rem;
	color: #9ca3af;
}

.pc-edit-instractions .instr-card-completed {
	font-size: 0.6875rem;
	color: #22c55e;
	display: flex;
	align-items: center;
	gap: 0.25rem;
}

/* Search Results */
.pc-edit-instractions .instr-search-results {
	padding: 1rem 1.25rem;
}

.pc-edit-instractions .instr-search-count {
	font-size: 0.875rem;
	color: #6b7280;
	margin-bottom: 0.75rem;
}

/* Actions */
.pc-edit-instractions .instr-actions {
	display: flex;
	justify-content: flex-end;
	gap: 0.75rem;
	padding-top: var(--rd-spacing-xxx-big);
	/* background: #f9fafb; */
}

/* Responsive */
@media (max-width: 480px) {
	.pc-edit-instractions .instr-toolbar {
		flex-direction: column;
		align-items: flex-start;
	}

	.pc-edit-instractions .instr-toolbar-right {
		width: 100%;
	}

	.pc-edit-instractions .instr-toolbar-right pc-knob-date-time-range {
		width: 100%;
	}

	.pc-edit-instractions .instr-card-image {
		width: 48px;
		height: 36px;
	}
}