::-webkit-input-placeholder { /* WebKit, Blink, Edge */
	color: #bbb!important;
	opacity: .5;
}
:-moz-placeholder { /* Mozilla Firefox 4 to 18 */
	color: #bbb!important;
	opacity: .5;
}
::-moz-placeholder { /* Mozilla Firefox 19+ */
	color: #bbb!important;
	opacity: .5;
}
:-ms-input-placeholder { /* Internet Explorer 10-11 */
	color: #bbb!important;
	opacity: .5;
}
::-ms-input-placeholder { /* Microsoft Edge */
	color: #bbb!important;
	opacity: .5;
}
::placeholder { /* Most modern browsers support this now. */
	color: #bbb!important;
	opacity: .5;
}

body :not(.form-check) > label {
	color: #6e6e6e;
	font-weight: 500;
	font-size: .85rem;
}

.event-task-item {
	transition: background-color .15s ease;
}

.event-task-item:hover,
.event-task-item:focus-within {
	background-color: rgba(13, 110, 253, .04);
}

.event-task-grip {
	cursor: grab;
	line-height: 1;
}

.event-task-grip:active {
	cursor: grabbing;
}

.event-task-grip--disabled {
	cursor: default;
	opacity: .5;
}

.event-task-date,
.event-task-delete {
	line-height: 1;
	opacity: 0;
	transition: opacity .15s ease;
}

.event-task-item:hover .event-task-date,
.event-task-item:focus-within .event-task-date,
.event-task-item:hover .event-task-delete,
.event-task-item:focus-within .event-task-delete {
	opacity: 1;
}

.event-task-dragging {
	opacity: .55;
}

.event-task-name {
	overflow-wrap: anywhere;
}

.event-task-date-panel {
	max-width: 24rem;
}

.task-stub-grip {
	cursor: grab;
	line-height: 1;
}

.task-stub-grip:active {
	cursor: grabbing;
}

.task-stub-dragging {
	opacity: .55;
}

.event-calendar-table {
	table-layout: fixed;
}

.event-calendar-table th,
.event-calendar-table td {
	width: 14.285%;
}

.event-calendar-day {
	height: 7.5rem;
	vertical-align: top;
}

.event-calendar-date {
	font-weight: 600;
	text-decoration: none;
}

.event-calendar-today {
	background-color: rgba(255, 247, 110, 0.45) !important;
	box-shadow: inset 0 0 0 2px rgba(25, 135, 84, .35);
}

.event-calendar-events {
	min-width: 0;
}

.event-calendar-task {
	color: var(--bs-body-color);
}

.event-calendar-task-open {
	background-color: rgba(13, 110, 253, .16);
}

.event-calendar-task-confirmed {
	background-color: rgba(var(--bs-success-rgb), .16);
}

.event-calendar-task-complete {
	background-color: var(--bs-secondary-bg);
	color: var(--bs-secondary-color);
}

.admin-calendar-table .event-calendar-day {
	min-width: 9rem;
}

.admin-calendar-task {
	color: var(--bs-body-color);
	border: 1px solid transparent;
}

.admin-calendar-task:hover,
.admin-calendar-task:focus {
	color: var(--bs-body-color);
	filter: brightness(.98);
}

.admin-calendar-task-confirmed {
	background-color: rgba(var(--bs-success-rgb), .14);
	border-color: rgba(var(--bs-success-rgb), .25);
}

.admin-calendar-task-pending {
	background-color: rgba(255, 159, 0, .14);
	border-color: rgba(255, 119, 0, .25);
}

.event-tag-icon-badge {
	align-items: center;
	border: 1px solid var(--bs-border-color);
	border-radius: .25rem;
	display: inline-flex;
	height: 1.375rem;
	justify-content: center;
	margin-left: .25rem;
	vertical-align: middle;
	width: 1.375rem;
}

.event-synopsis-card .card-body {
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

.event-synopsis-section + .event-synopsis-section {
	border-top: 1px solid var(--bs-border-color);
	padding-top: 1rem;
}

.event-synopsis-heading {
	color: var(--bs-secondary-color);
	font-size: .75rem;
	font-weight: 700;
	margin-bottom: .25rem;
	text-transform: uppercase;
}

.event-chat {
	display: flex;
	flex-direction: column;
	height: 100%;
	min-height: 0;
}

.event-chat-top {
	border-bottom: 1px solid var(--bs-border-color);
	padding: 1rem;
}

.event-chat-top-row {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: .75rem;
	justify-content: space-between;
}

.event-chat-unread {
	color: var(--bs-secondary-color);
	font-size: .8125rem;
	white-space: nowrap;
}

.event-chat-tag-filters {
	flex: 0 1 auto;
}

.event-chat-avatar {
	align-items: center;
	aspect-ratio: 1;
	background: var(--avatar-bg, #1f7a8c);
	border-radius: 50%;
	color: #fff;
	display: inline-flex;
	flex: 0 0 auto;
	font-size: .8125rem;
	font-weight: 700;
	justify-content: center;
	width: 2rem;
}

.event-chat-avatar--member {
	font-size: .6875rem;
	width: 1.5rem;
}

.event-chat-avatar--recipient {
	font-size: .5625rem;
	width: 1.25rem;
}

.event-chat-avatar--role {
	--avatar-bg: #000;
	color: #fff;
}

.event-chat-avatar--offline {
	opacity: .38;
}

.event-chat-messages {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	gap: .875rem;
	min-height: 0;
	overflow-y: auto;
	padding: 1rem;
}

.event-chat-message {
	align-items: flex-start;
	display: grid;
	gap: .625rem;
	grid-template-columns: 2rem minmax(0, 1fr);
}

.event-chat-message-avatar {
	align-items: center;
	display: flex;
	flex-direction: column;
	gap: .125rem;
}

.event-chat-message--own .event-chat-bubble {
	background: #e7e7e7;
}

.event-chat-message--reply-parent .event-chat-bubble,
.event-chat-message--thread-focus .event-chat-bubble {
	background: #fff3cd;
	border-color: #ffda6a;
	box-shadow: 0 0 0 .125rem rgba(255, 193, 7, .18);
}

.event-chat-message--thread-related .event-chat-bubble {
	background: #fff8e1;
	border-color: #ffe69c;
}

.event-chat-read-indicator {
	line-height: 1;
	min-height: .625rem;
	text-align: center;
}

.event-chat-read-toggle {
	background: transparent;
	border: 0;
	font-size: .625rem;
	padding: 0;
}

.event-chat-bubble {
	background: var(--bs-tertiary-bg);
	border: 1px solid var(--bs-border-color);
	border-radius: .5rem;
	font-size: .9375rem;
	padding: .625rem .75rem;
}

.event-chat-bubble--new {
	animation: event-chat-new-message .6s ease-out;
	transform-origin: bottom left;
}

@keyframes event-chat-new-message {
	0% {
		opacity: 0;
		transform: translateY(.5rem) scale(.97);
	}
	50% {
		opacity: 1;
		transform: translateY(0) scale(1.01);
		box-shadow: 0 0 0 .2rem rgba(var(--bs-success-rgb), .2);
	}
	100% {
		opacity: 1;
		transform: none;
		box-shadow: 0 0 0 0 transparent;
	}
}

@media (prefers-reduced-motion: reduce) {
	.event-chat-bubble--new {
		animation: none;
	}
}

.event-chat-body {
	line-height: 1.35;
}

.event-chat-recipient-avatars {
	display: flex;
	flex-wrap: wrap;
	gap: .25rem;
	margin-bottom: .125rem;
}

.event-chat-bubble-actions {
	align-items: center;
	display: flex;
	gap: .375rem;
	justify-content: flex-start;
	margin-top: .375rem;
}

.event-chat-timestamp {
	color: var(--bs-secondary-color);
	font-size: .75rem;
	line-height: 1;
}

.event-chat-reply,
.event-chat-thread-toggle {
	align-items: center;
	background: transparent;
	border: 0;
	color: var(--bs-secondary-color);
	display: inline-flex;
	gap: .25rem;
	line-height: 1;
	padding: .125rem;
}

.event-chat-reply:hover,
.event-chat-thread-toggle:hover {
	color: var(--bs-primary);
}

.event-chat-reply {
	margin-left: auto;
}

.event-chat-thread-count {
	align-items: center;
	display: inline-flex;
	font-size: .75rem;
	gap: .125rem;
}

.event-chat-bubble-tags {
	line-height: 1;
}

.event-chat-tag-toggle {
	align-items: center;
	background: transparent;
	border: 0;
	color: var(--bs-secondary-color);
	display: inline-flex;
	justify-content: center;
	line-height: 1;
	min-width: 1.25rem;
	padding: .125rem;
}

.event-chat-message-tag {
	align-items: center;
	display: flex;
	font-size: .875rem;
}

.event-chat-message-tag.active {
	font-weight: 600;
}

.event-chat-tag-menu {
	min-width: 10rem;
}

.event-chat-composer {
	border-top: 1px solid var(--bs-border-color);
	display: flex;
	flex: 0 0 auto;
	flex-direction: column;
	gap: .625rem;
	margin-top: auto;
	padding: 1rem;
}

.event-chat-thread-bar {
	align-items: center;
	background: var(--bs-body-bg);
	border-top: 1px solid var(--bs-border-color);
	display: flex;
	flex: 0 0 auto;
	justify-content: space-between;
	padding: .5rem 1rem;
}

.event-chat-replying {
	align-items: center;
	background: #fff3cd;
	border: 1px solid #ffda6a;
	border-radius: .375rem;
	display: flex;
	justify-content: space-between;
	padding: .375rem .5rem;
}

.event-chat-input-row {
	display: grid;
	gap: .5rem;
	grid-template-columns: minmax(0, 1fr) auto;
}

.event-chat-recipient-menu {
	max-height: min(22rem, 70vh);
	min-width: 18rem;
	overflow-y: auto;
}

.event-chat-selected-recipients {
	display: flex;
	flex-wrap: wrap;
	gap: .25rem;
	min-height: 1.5rem;
}

.event-chat-avatar--selected {
	font-size: .6875rem;
	width: 1.5rem;
}

.event-chat-recipient-section + .event-chat-recipient-section {
	border-top: 1px solid var(--bs-border-color);
	margin-top: .5rem;
	padding-top: .5rem;
}

.event-chat-recipient-heading {
	color: var(--bs-secondary-color);
	font-size: .75rem;
	font-weight: 700;
	margin-bottom: .375rem;
	text-transform: uppercase;
}

.event-chat-recipient {
	align-items: center;
	display: flex;
	gap: .5rem;
	margin-bottom: .375rem;
}

.event-chat-recipient:has(.form-check-input:disabled) {
	color: var(--bs-secondary-color);
	opacity: .65;
}

.event-chat-recipient:has(.form-check-input:disabled) .event-chat-avatar--role {
	--avatar-bg: #6c757d;
}
