@import url("https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap");

.fppm-shell {
	--fppm-bg: #f8fafc;
	--fppm-card: #ffffff;
	--fppm-border: #e2e8f0;
	--fppm-text: #0f172a;
	--fppm-muted: #64748b;
	--fppm-primary: #2563eb;
	--fppm-primary-dark: #1d4ed8;
	--fppm-accent: #3b82f6;
	--fppm-success: #059669;
	--fppm-danger: #dc2626;
	--fppm-warn: #d97706;
	--fppm-shadow: 0 10px 24px rgba(15, 23, 42, 0.08);
	font-family: "Inter", "Segoe UI", "Helvetica Neue", Arial, sans-serif;
	color: var(--fppm-text);
	margin-top: 0;
	margin-bottom: 1.75rem;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	padding-left: clamp(12px, 2vw, 24px);
	padding-right: clamp(12px, 2vw, 24px);
	max-width: 100vw;
	width: 100vw;
}

.fppm-shell,
.fppm-shell * {
	box-sizing: border-box;
}

.fppm-shell h1,
.fppm-shell h2,
.fppm-shell h3,
.fppm-shell h4,
.fppm-shell h5,
.fppm-shell h6 {
	font-family: "Inter", "Segoe UI", "Helvetica Neue", Arial, sans-serif;
	line-height: 1.25;
	color: #101a2a;
}

.fppm-shell p,
.fppm-shell li,
.fppm-shell label,
.fppm-shell input,
.fppm-shell select,
.fppm-shell textarea,
.fppm-shell button {
	font-family: "Inter", "Segoe UI", "Helvetica Neue", Arial, sans-serif;
}

.fppm-card,
.fppm-subcard {
	background: var(--fppm-card);
	border: 1px solid #d7e3f3;
	border-radius: 14px;
	box-shadow: 0 12px 28px rgba(15, 23, 42, 0.08), 0 1px 0 rgba(148, 163, 184, 0.16) inset;
}

.fppm-card {
	padding: 1.25rem;
	background-image: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
}

.fppm-subcard {
	padding: 1rem;
}

.fppm-title {
	font-size: 1.3rem;
	margin: 0 0 1rem;
	letter-spacing: 0.2px;
}

.fppm-form {
	display: grid;
	gap: 1rem;
}

.fppm-field label {
	display: block;
	font-weight: 600;
	margin-bottom: 0.35rem;
}

.fppm-field input[type="text"],
.fppm-field input[type="date"],
.fppm-field input[type="number"],
.fppm-field select,
.fppm-field textarea,
.fppm-form input[type="text"],
.fppm-form input[type="date"],
.fppm-form input[type="number"],
.fppm-form select,
.fppm-form textarea {
	width: 100%;
	border: 1px solid #c9d5e6;
	border-radius: 11px;
	padding: 0.62rem 0.78rem;
	line-height: 1.35;
	background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%);
	transition: border-color 0.18s ease, box-shadow 0.18s ease, background-color 0.18s ease;
}

.fppm-field input[type="text"]:focus,
.fppm-field input[type="date"]:focus,
.fppm-field input[type="number"]:focus,
.fppm-field select:focus,
.fppm-field textarea:focus,
.fppm-form input[type="text"]:focus,
.fppm-form input[type="date"]:focus,
.fppm-form input[type="number"]:focus,
.fppm-form select:focus,
.fppm-form textarea:focus {
	border-color: #3b82f6;
	box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.16);
	outline: none;
	background: #fff;
}

.fppm-field select[multiple] {
	min-height: 170px;
}

.fppm-shell .select2-container {
	width: 100% !important;
}

.fppm-shell .select2-container--default .select2-selection--single {
	min-height: 42px;
	border: 1px solid #c9d5e6;
	border-radius: 11px;
	background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%);
	display: flex;
	align-items: center;
	padding: 0 2.1rem 0 0.22rem;
	transition: border-color 0.18s ease, box-shadow 0.18s ease, background-color 0.18s ease;
}

.fppm-shell .select2-container--default .select2-selection--single .select2-selection__rendered {
	color: #0f172a;
	line-height: 1.35;
	padding-left: 0.5rem;
}

.fppm-shell .select2-container--default .select2-selection--single .select2-selection__arrow {
	height: 100%;
	right: 6px;
}

.fppm-shell .select2-container--default.select2-container--focus .select2-selection--single,
.fppm-shell .select2-container--default.select2-container--open .select2-selection--single {
	border-color: #3b82f6;
	box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.16);
	background: #fff;
}

.fppm-shell .select2-container--default .select2-selection--multiple {
	min-height: 44px;
	border: 1px solid #c9d5e6;
	border-radius: 11px;
	background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%);
	padding: 0.35rem 0.4rem;
	transition: border-color 0.18s ease, box-shadow 0.18s ease, background-color 0.18s ease;
}

.fppm-shell .select2-container--default.select2-container--focus .select2-selection--multiple,
.fppm-shell .select2-container--default.select2-container--open .select2-selection--multiple {
	border-color: #3b82f6;
	box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.16);
	background: #fff;
}

.fppm-shell .select2-container--default .select2-selection--multiple .select2-selection__choice {
	background: #e8f1ff;
	border: 1px solid #bfd6ff;
	border-radius: 999px;
	color: #1d4ed8;
	font-size: 12px;
	font-weight: 600;
	padding: 0.1rem 0.45rem;
}

.fppm-shell .select2-dropdown {
	border: 1px solid #c9d5e6;
	border-radius: 12px;
	box-shadow: 0 18px 36px rgba(15, 23, 42, 0.18);
	overflow: hidden;
}

.fppm-shell .select2-search--dropdown .select2-search__field {
	border: 1px solid #c9d5e6;
	border-radius: 9px;
	padding: 0.45rem 0.6rem;
}

.fppm-help,
.fppm-muted {
	font-size: 0.88rem;
	color: var(--fppm-muted);
	margin: 0.45rem 0 0;
}

.fppm-actions {
	display: flex;
	gap: 0.6rem;
	align-items: center;
	flex-wrap: wrap;
}

.fppm-button {
	border: 1px solid var(--fppm-primary);
	background: linear-gradient(135deg, #2563eb, #1d4ed8);
	color: #fff;
	font-weight: 700;
	padding: 0.58rem 1rem;
	border-radius: 10px;
	cursor: pointer;
	box-shadow: 0 6px 16px rgba(37, 99, 235, 0.22);
	transition: transform 0.15s ease, box-shadow 0.2s ease, background-color 0.2s ease, border-color 0.2s ease;
}

.fppm-button:hover,
.fppm-button:focus {
	background: var(--fppm-primary-dark);
	border-color: var(--fppm-primary-dark);
	color: #fff;
	transform: translateY(-1px);
	box-shadow: 0 10px 24px rgba(37, 99, 235, 0.3);
}

.fppm-button-secondary {
	background: #ffffff;
	color: #1e3a5f;
	border-color: #bfd0e8;
	box-shadow: 0 4px 12px rgba(15, 23, 42, 0.07);
}

.fppm-button-secondary:hover,
.fppm-button-secondary:focus {
	background: #f5f9ff;
	border-color: #96b3d9;
	color: #0f172a;
	transform: translateY(-1px);
}

.fppm-notice {
	border-radius: 10px;
	padding: 0.65rem 0.9rem;
	margin: 0 0 0.9rem;
	border: 1px solid transparent;
}

.fppm-notice p {
	margin: 0;
}

.fppm-notice-success {
	border-color: #9adab7;
	background: #effcf4;
	color: #0f5f36;
}

.fppm-notice-error {
	border-color: #f0b7b1;
	background: #fff1f0;
	color: #7f1d1d;
}

.fppm-notice-info {
	border-color: #b5d6f4;
	background: #eef7ff;
	color: #1d4ed8;
}

.fppm-ajax-feedback {
	min-height: 0;
}

.fppm-grid-2,
.fppm-grid-3,
.fppm-update-grid {
	display: grid;
	gap: 0.85rem;
}

.fppm-grid-2 {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.fppm-grid-3,
.fppm-update-grid {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.fppm-stack {
	display: grid;
	gap: 0.9rem;
}

.fppm-project-head,
.fppm-task-head,
.fppm-meta-line,
.fppm-progress-head,
.fppm-comment-meta {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 0.7rem;
	flex-wrap: wrap;
}

.fppm-project-head h4,
.fppm-task-head h4 {
	margin: 0;
	font-size: 1.08rem;
}

.fppm-badges {
	display: flex;
	gap: 0.4rem;
	align-items: center;
}

.fppm-status,
.fppm-priority {
	display: inline-flex;
	align-items: center;
	padding: 0.2rem 0.55rem;
	border-radius: 999px;
	font-size: 0.75rem;
	font-weight: 600;
	line-height: 1.4;
	border: 1px solid transparent;
}

.fppm-status-active,
.fppm-status-in_progress,
.fppm-status-todo {
	background: #e5f0ff;
	border-color: #b8d2f5;
	color: #0d4f84;
}

.fppm-status-draft,
.fppm-status-planning {
	background: #edf5ff;
	border-color: #ccdefa;
	color: #1e4f8f;
}

.fppm-status-on_hold,
.fppm-status-review {
	background: #fff6e8;
	border-color: #f7d7a2;
	color: #9a5700;
}

.fppm-status-completed,
.fppm-status-done {
	background: #ecfdf3;
	border-color: #a6e1c0;
	color: #0f6d40;
}

.fppm-status-archived {
	background: #f1f5f9;
	border-color: #d5dee7;
	color: #526074;
}

.fppm-priority-low {
	background: #eef6ff;
	border-color: #c6def8;
	color: #155a91;
}

.fppm-priority-medium {
	background: #f3f8ff;
	border-color: #c9daf4;
	color: #1d4a7e;
}

.fppm-priority-high {
	background: #fff5ea;
	border-color: #f7d5ac;
	color: #9c5200;
}

.fppm-priority-urgent {
	background: #fff0f0;
	border-color: #f4bcbc;
	color: #9b1c1c;
}

.fppm-progress-wrap {
	margin-top: 0.65rem;
}

.fppm-progress-track {
	position: relative;
	height: 10px;
	border-radius: 999px;
	background: #edf1f7;
	overflow: hidden;
}

.fppm-progress-track > span {
	display: block;
	height: 100%;
	background-image: linear-gradient(90deg, #2563eb, #3b82f6);
	transition: width 0.25s ease;
}

.fppm-rich-text p {
	margin: 0.4rem 0;
}

.fppm-comments {
	margin-top: 0.85rem;
	border-top: 1px dashed #d2dbe6;
	padding-top: 0.85rem;
}

.fppm-comments h5 {
	margin: 0 0 0.7rem;
	font-size: 0.97rem;
}

.fppm-kicker {
	margin: 0 0 0.2rem;
	font-size: 0.76rem;
	text-transform: uppercase;
	letter-spacing: 0.9px;
	color: #4f6277;
	font-weight: 700;
}

.fppm-workspace-head {
	margin-bottom: 0.9rem;
	padding: 1rem;
	background: linear-gradient(135deg, #2563eb 0%, #1d4ed8 100%);
	color: #fff;
	border-radius: 12px;
}

.fppm-workspace-head h2 {
	margin: 0;
	color: #fff;
}

.fppm-workspace-head .fppm-muted {
	color: rgba(255, 255, 255, 0.9);
}

.fppm-workspace-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1rem;
	margin-bottom: 1rem;
}

.fppm-workspace .fppm-shell {
	max-width: none;
	margin: 0;
}

.fppm-workspace-section {
	margin-bottom: 1rem;
}

.fppm-inline-form {
	margin: 0;
}

.fppm-link {
	display: inline-flex;
	align-items: center;
	font-weight: 600;
	color: #2563eb;
	text-decoration: none;
}

.fppm-link:hover,
.fppm-link:focus {
	color: #1d4ed8;
	text-decoration: underline;
}

.fppm-read {
	opacity: 0.82;
}

.fppm-unread {
	border-left: 4px solid #2563eb;
}

.fppm-comment-list {
	display: grid;
	gap: 0.6rem;
	margin-bottom: 0.7rem;
}

.fppm-comment-item {
	border: 1px solid #dde4ef;
	border-radius: 9px;
	padding: 0.7rem;
	background: #fbfdff;
}

.fppm-comment-meta {
	font-size: 0.82rem;
	color: var(--fppm-muted);
	margin-bottom: 0.35rem;
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	align-items: center;
}

.fppm-comment-form {
	display: grid;
	gap: 0.45rem;
}

.fppm-comment-form label {
	font-weight: 600;
}

.fppm-copy-link-btn {
	border: 1px solid #d3deec;
	background: #f8fbff;
	color: #1f4f7f;
	font-size: 0.73rem;
	font-weight: 600;
	line-height: 1;
	padding: 0.3rem 0.5rem;
	border-radius: 999px;
	cursor: pointer;
}

.fppm-copy-link-btn:hover,
.fppm-copy-link-btn:focus {
	background: #edf5ff;
	border-color: #bfd4ee;
}

.fppm-required {
	color: #b42318;
}

.fppm-project-builder {
	background-image: linear-gradient(180deg, #ffffff 0%, #fbfcff 100%);
}

.fppm-project-page-head {
	margin-bottom: 0.95rem;
}

.fppm-project-page-head__card {
	background-image: linear-gradient(135deg, #f8fbff 0%, #edf7ff 100%);
	border-color: #d6e6f7;
}

.fppm-project-page-head .fppm-title {
	margin-bottom: 0.35rem;
}

.fppm-task-page-head {
	margin-bottom: 0.95rem;
}

.fppm-task-page-head__card {
	background-image: linear-gradient(135deg, #f8fbff 0%, #edf7ff 100%);
	border-color: #d6e6f7;
}

.fppm-project-page-head__actions,
.fppm-task-page-head__actions {
	margin-top: 0.7rem;
	display: flex;
	flex-wrap: wrap;
	gap: 0.55rem;
}

.fppm-create-modal-shell {
	position: fixed;
	inset: 0;
	z-index: 10020;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0.8rem;
}

.fppm-create-modal-shell,
.fppm-create-modal-shell * {
	box-sizing: border-box;
}

.fppm-create-modal-shell.is-hidden {
	display: none;
}

.fppm-create-modal-shell__overlay {
	position: absolute;
	inset: 0;
	background: rgba(15, 23, 42, 0.5);
	backdrop-filter: blur(4px);
}

.fppm-create-modal-shell__dialog {
	position: relative;
	z-index: 1;
	width: min(980px, calc(100vw - 1rem));
	max-height: calc(100vh - 1rem);
	background: #fff;
	border: 1px solid #dbe5f2;
	border-radius: 18px;
	box-shadow: 0 18px 50px rgba(15, 23, 42, 0.24);
	overflow: hidden;
	display: flex;
	flex-direction: column;
}

.fppm-create-modal-shell__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.8rem;
	padding: 0.92rem 1rem;
	border-bottom: 1px solid #e4ebf5;
	background: #fff;
}

.fppm-create-modal-shell__brand {
	display: inline-flex;
	align-items: center;
	gap: 0.75rem;
	min-width: 0;
}

.fppm-create-modal-shell__brand-icon {
	width: 40px;
	height: 40px;
	border-radius: 12px;
	background: linear-gradient(135deg, #3b82f6, #1d4ed8);
	color: #fff;
	font-size: 0.74rem;
	font-weight: 800;
	letter-spacing: 0.03em;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}

.fppm-create-modal-shell__brand-copy {
	min-width: 0;
}

.fppm-create-modal-shell__brand-title {
	margin: 0;
	font-size: 1.48rem;
	font-weight: 800;
	line-height: 1.08;
	color: #0f172a;
}

.fppm-create-modal-shell__brand-subtitle {
	margin: 0.07rem 0 0;
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	color: #64748b;
}

.fppm-create-modal-shell__head-actions {
	display: inline-flex;
	align-items: center;
	gap: 0.65rem;
	flex-shrink: 0;
}

.fppm-create-modal-shell__head h3 {
	margin: 0;
	font-size: clamp(1rem, 1.8vw, 1.28rem);
	color: #0f172a;
}

.fppm-create-modal-shell__close {
	width: 34px;
	height: 34px;
	border-radius: 10px;
	border: 1px solid #d5dfec;
	background: #fff;
	color: #334155;
	font-size: 1.15rem;
	line-height: 1;
	cursor: pointer;
}

.fppm-create-modal-shell__close:hover,
.fppm-create-modal-shell__close:focus {
	background: #eff6ff;
	border-color: #bfdbfe;
	color: #1e40af;
}

.fppm-create-modal-shell__body {
	flex: 1;
	min-height: 0;
	overflow-y: auto;
	padding: 0.95rem;
	background: #f8fafc;
}

.fppm-create-modal-shell__body .fppm-shell {
	margin: 0;
	padding: 0;
	max-width: 100%;
	width: 100%;
}

.fppm-create-modal-shell__body .fppm-card {
	box-shadow: none;
	border: 0;
	border-radius: 0;
	background: transparent;
	padding: 0;
}

.fppm-create-modal-shell__body .fppm-project-section,
.fppm-create-modal-shell__body .fppm-task-create__section {
	background: #fff;
	border: 1px solid #dde5f1;
	border-radius: 14px;
}

.fppm-create-modal-shell .fppm-actions {
	justify-content: flex-end;
	gap: 0.6rem;
}

@media (max-width: 820px) {
	.fppm-create-modal-shell {
		padding: 0.45rem;
	}

	.fppm-create-modal-shell__dialog {
		width: calc(100vw - 0.9rem);
		max-height: calc(100vh - 0.9rem);
		border-radius: 14px;
	}

	.fppm-create-modal-shell__head {
		padding: 0.75rem 0.85rem;
	}

	.fppm-create-modal-shell__brand-title {
		font-size: 1.14rem;
	}

	.fppm-create-modal-shell__head h3 {
		display: none;
	}

	.fppm-create-modal-shell__body {
		padding: 0.75rem;
	}
}

html.fppm-modal-open,
body.fppm-modal-open {
	overflow: hidden;
}

.fppm-project-builder__head {
	margin-bottom: 0.3rem;
	padding-bottom: 0.75rem;
	border-bottom: 1px solid #e6edf6;
}

.fppm-project-builder__intro {
	margin: 0.15rem 0 0.1rem;
}

.fppm-project-builder__form {
	gap: 1.2rem;
}

.fppm-project-section {
	border: 1px solid #e4e9f2;
	border-radius: 12px;
	padding: 0.95rem 1rem;
	background: #fdfefe;
}

.fppm-project-section h4 {
	margin: 0 0 0.85rem;
	font-size: 1.03rem;
}

.fppm-project-grid-1,
.fppm-project-grid-2 {
	display: grid;
	gap: 0.85rem;
}

.fppm-project-grid-2 {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.fppm-project-actions {
	justify-content: flex-end;
	padding-top: 0.2rem;
}

.fppm-project-list-card {
	background-image: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
}

.fppm-directory-head {
	display: flex;
	flex-wrap: wrap;
	gap: 0.6rem;
	align-items: flex-start;
	justify-content: space-between;
	margin-bottom: 0.55rem;
}

.fppm-directory-filters {
	margin-bottom: 0.85rem;
}

.fppm-directory-tabs {
	display: inline-flex;
	align-items: center;
	gap: 0.3rem;
	background: #f1f5f9;
	border: 1px solid #e2e8f0;
	padding: 0.2rem;
	border-radius: 10px;
}

.fppm-directory-tab {
	border: 0;
	background: transparent;
	color: #475569;
	font-size: 0.8rem;
	font-weight: 600;
	padding: 0.36rem 0.68rem;
	border-radius: 8px;
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
}

.fppm-directory-tab:hover,
.fppm-directory-tab:focus {
	color: #334155;
	background: #fff;
}

.fppm-directory-tab.is-active {
	background: #fff;
	color: #0f172a;
	box-shadow: 0 1px 3px rgba(15, 23, 42, 0.09);
}

.fppm-directory-tab__count {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 18px;
	height: 18px;
	padding: 0 0.32rem;
	border-radius: 999px;
	background: #dbeafe;
	color: #1d4ed8;
	font-size: 0.68rem;
	font-weight: 800;
}

.fppm-directory-bulk {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 0.65rem;
	margin: 0.45rem 0 0.8rem;
	padding: 0.55rem 0.7rem;
	border: 1px solid #e2e8f0;
	border-radius: 10px;
	background: #f8fafc;
}

.fppm-directory-bulk__select-all {
	display: inline-flex;
	align-items: center;
	gap: 0.42rem;
	font-size: 0.8rem;
	color: #334155;
	font-weight: 600;
}

.fppm-directory-bulk__count {
	font-size: 0.8rem;
	color: #64748b;
	font-weight: 600;
}

.fppm-directory-bulk__actions {
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
}

.fppm-project-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0.85rem;
}

.fppm-project-tile {
	background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
	border: 1px solid #d7e3f3;
	box-shadow: 0 10px 26px rgba(30, 64, 175, 0.08);
	transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

.fppm-project-tile:hover {
	border-color: #bfd3f1;
	transform: translateY(-1px);
	box-shadow: 0 14px 30px rgba(30, 64, 175, 0.11);
}

.fppm-project-tile__head {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 0.7rem;
}

.fppm-project-tile__select {
	display: inline-flex;
	align-items: center;
	margin-top: 0.18rem;
}

.fppm-project-tile__select input {
	width: 16px;
	height: 16px;
}

.fppm-project-tile__head h4 {
	margin: 0;
	font-size: 1.02rem;
}

.fppm-project-tile__head h4 a {
	color: #0f172a;
	text-decoration: none;
}

.fppm-project-tile__head h4 a:hover,
.fppm-project-tile__head h4 a:focus {
	color: #1d4ed8;
	text-decoration: underline;
}

.fppm-project-tile__meta {
	margin: 0.4rem 0 0.6rem;
	font-size: 0.84rem;
	color: #5f6b7c;
}

.fppm-project-tile__meta span {
	white-space: nowrap;
}

.fppm-project-tile__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0.55rem;
	margin-bottom: 0.6rem;
}

.fppm-project-tile__grid span {
	display: block;
	font-size: 0.74rem;
	color: #6b7280;
	margin-bottom: 0.05rem;
}

.fppm-project-tile__grid strong {
	display: block;
	font-size: 0.86rem;
	color: #0f172a;
	word-break: break-word;
}

.fppm-project-tile__description {
	border: 1px solid #ebeff5;
	border-radius: 8px;
	padding: 0.5rem 0.62rem;
	background: #fafcff;
	margin-bottom: 0.55rem;
}

.fppm-project-tile__progress {
	margin-top: 0.15rem;
}

.fppm-project-tile__tasks {
	margin-top: 0.55rem;
	border: 1px solid #d9e6f7;
	background: linear-gradient(180deg, #fafdff 0%, #f4f8ff 100%);
	border-radius: 9px;
	padding: 0.55rem 0.65rem;
}

.fppm-project-tile__tasks h5 {
	margin: 0 0 0.4rem;
	font-size: 0.8rem;
	font-weight: 700;
	color: #334155;
}

.fppm-project-tile__task-cards {
	display: grid;
	gap: 0.45rem;
}

.fppm-project-task-card {
	display: grid;
	gap: 0.36rem;
	padding: 0.48rem 0.55rem;
	border: 1px solid #dce5f2;
	border-radius: 10px;
	background: #fff;
	text-decoration: none;
	color: inherit;
	transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.fppm-project-task-card:hover,
.fppm-project-task-card:focus {
	border-color: #bfdbfe;
	box-shadow: 0 4px 16px rgba(30, 64, 175, 0.08);
	transform: translateY(-1px);
}

.fppm-project-task-card__top {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 0.4rem;
}

.fppm-project-task-card__top strong {
	font-size: 0.8rem;
	line-height: 1.35;
	color: #0f172a;
}

.fppm-project-task-card__meta {
	display: flex;
	flex-wrap: wrap;
	gap: 0.32rem 0.52rem;
	font-size: 0.72rem;
	color: #64748b;
}

.fppm-project-tile__tasks-more {
	margin: 0.5rem 0 0;
	font-size: 0.74rem;
	font-weight: 600;
	color: #1d4ed8;
}

.fppm-project-tile__members {
	display: flex;
	flex-wrap: wrap;
	gap: 0.35rem;
	margin-top: 0.55rem;
}

.fppm-project-tile__members.is-hidden {
	display: none;
}

.fppm-project-tile__members .avatar {
	border: 1px solid #e4ebf5;
	box-shadow: none;
}

.fppm-project-single-card {
	display: grid;
	gap: 0.9rem;
}

.fppm-project-single-card__meta-layout {
	display: grid;
	grid-template-columns: minmax(0, 2fr) minmax(220px, 1fr);
	gap: 0.8rem;
	align-items: start;
}

.fppm-project-single-card__meta-main {
	display: grid;
	gap: 0.65rem;
}

.fppm-project-single-card__team {
	border: 1px solid #dbe7f4;
	background: linear-gradient(180deg, #f9fcff 0%, #f2f7ff 100%);
	border-radius: 12px;
	padding: 0.7rem;
	display: grid;
	gap: 0.62rem;
	position: sticky;
	top: 86px;
}

.fppm-project-single-card__team-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.45rem;
}

.fppm-project-single-card__team-head h4 {
	margin: 0;
	font-size: 0.9rem;
	color: #0f172a;
}

.fppm-project-team-filter {
	display: grid;
	gap: 0.28rem;
}

.fppm-project-team-filter label {
	font-size: 0.7rem;
	font-weight: 700;
	letter-spacing: 0.02em;
	text-transform: uppercase;
	color: #64748b;
}

.fppm-project-team-filter select {
	width: 100%;
	font-size: 0.8rem;
	padding: 0.42rem 0.5rem;
	border-radius: 9px;
	border: 1px solid #cad8ea;
	background: #fff;
	color: #0f172a;
}

.fppm-project-team-list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 0.45rem;
	max-height: 320px;
	overflow: auto;
	padding-right: 0.15rem;
}

.fppm-project-team-list__item {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	padding: 0.38rem 0.42rem;
	border: 1px solid #dbe5f2;
	background: #fff;
	border-radius: 10px;
}

.fppm-project-team-list__avatar .avatar {
	border: 1px solid #dbe5f2;
	box-shadow: none;
}

.fppm-project-team-list__meta {
	display: grid;
	gap: 0.06rem;
	min-width: 0;
}

.fppm-project-team-list__meta strong {
	font-size: 0.82rem;
	color: #0f172a;
	line-height: 1.25;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.fppm-project-team-list__meta em {
	font-style: normal;
	font-size: 0.72rem;
	color: #64748b;
}

.fppm-project-team-list__position {
	display: inline-flex;
	align-items: center;
	padding: 0.08rem 0.36rem;
	border-radius: 999px;
	border: 1px solid #dbe5f2;
	background: #f8fbff;
	color: #37507a;
	font-size: 0.66rem;
	font-weight: 700;
	width: fit-content;
}

.fppm-project-team-list__empty {
	font-size: 0.78rem;
	color: #64748b;
	padding: 0.5rem 0.4rem;
	border: 1px dashed #cfdbec;
	border-radius: 10px;
	background: #fff;
}

.fppm-project-single-card__team-manage {
	width: 100%;
	justify-content: center;
}

.fppm-project-single-card__head {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 0.8rem;
	flex-wrap: wrap;
	padding-bottom: 0.75rem;
	border-bottom: 1px solid #e6edf6;
}

.fppm-project-single-card__head .fppm-title {
	margin-bottom: 0.25rem;
}

.fppm-project-single-card__head-actions {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	flex-wrap: wrap;
}

.fppm-project-lock-toggle {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
}

.fppm-project-single-card__tasks {
	border: 1px dashed #dde7f3;
	background: #fafcff;
	border-radius: 10px;
	padding: 0.75rem;
}

.fppm-project-single-card__tasks-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.6rem;
	flex-wrap: wrap;
	margin-bottom: 0.65rem;
}

.fppm-project-single-card__tasks-head h4 {
	margin: 0;
	font-size: 0.98rem;
}

.fppm-project-single-card__tasks-head a {
	color: #1d4ed8;
	font-weight: 600;
	font-size: 0.84rem;
	text-decoration: none;
}

.fppm-project-single-card__tasks-head a:hover,
.fppm-project-single-card__tasks-head a:focus {
	text-decoration: underline;
}

.fppm-project-single-card__task-list {
	display: grid;
	gap: 0.5rem;
}

.fppm-project-single-card__milestones {
	border: 1px dashed #dbe7f4;
	background: #f9fcff;
	border-radius: 12px;
	padding: 0.8rem;
	display: grid;
	gap: 0.75rem;
}

.fppm-project-milestone-list {
	display: grid;
	gap: 0.55rem;
}

.fppm-project-milestone-card {
	border: 1px solid #dce6f3;
	border-radius: 11px;
	background: #fff;
	padding: 0.7rem;
	display: grid;
	gap: 0.55rem;
}

.fppm-project-milestone-card__top {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 0.45rem;
}

.fppm-project-milestone-card__top > div > strong {
	display: block;
	font-size: 0.88rem;
	color: #0f172a;
}

.fppm-project-milestone-card__meta {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 0.35rem 0.65rem;
	font-size: 0.76rem;
	color: #64748b;
	margin-top: 0.28rem;
}

.fppm-project-milestone-card__actions {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
}

.fppm-project-milestone-card__linked > span {
	display: block;
	font-size: 0.75rem;
	font-weight: 700;
	color: #334155;
	margin-bottom: 0.3rem;
}

.fppm-project-milestone-card__linked ul {
	margin: 0;
	padding-left: 1rem;
	display: grid;
	gap: 0.22rem;
}

.fppm-project-milestone-card__linked a {
	color: #1d4ed8;
	text-decoration: none;
	font-size: 0.8rem;
	font-weight: 600;
}

.fppm-project-milestone-card__linked a:hover,
.fppm-project-milestone-card__linked a:focus {
	text-decoration: underline;
}

@media (max-width: 900px) {
	.fppm-grid-3,
	.fppm-update-grid {
		grid-template-columns: 1fr;
	}

	.fppm-project-grid {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 680px) {
	.fppm-grid-2 {
		grid-template-columns: 1fr;
	}

	.fppm-project-grid-2 {
		grid-template-columns: 1fr;
	}

	.fppm-project-actions {
		justify-content: stretch;
	}

	.fppm-project-actions .fppm-button {
		width: 100%;
	}

	.fppm-workspace-grid {
		grid-template-columns: 1fr;
	}

	.fppm-card {
		padding: 0.95rem;
	}

	.fppm-project-single-card__head-actions {
		width: 100%;
		justify-content: flex-start;
	}

	.fppm-project-single-card__meta-layout {
		grid-template-columns: 1fr;
	}

	.fppm-project-single-card__team {
		position: static;
	}

	.fppm-project-lock-toggle {
		width: 100%;
		justify-content: center;
	}
}

.fppm-button-ghost {
	background: #fff;
	color: #334155;
	border-color: #d6dde8;
}

.fppm-button-ghost:hover,
.fppm-button-ghost:focus {
	background: #f8fafc;
	border-color: #c7d2e2;
	color: #0f172a;
}

.fppm-task-create {
	background: #fff;
	border: 1px solid #dfe5f0;
	font-family: "Inter", "Segoe UI", "Helvetica Neue", Arial, sans-serif;
}

.fppm-task-create__head {
	margin-bottom: 1rem;
	padding-bottom: 0.75rem;
	border-bottom: 1px solid #e9eef6;
}

.fppm-task-create__form {
	gap: 1rem;
}

.fppm-task-create__section {
	border: 1px solid #e4eaf4;
	border-radius: 12px;
	padding: 0.95rem;
	background: #fdfefe;
	display: grid;
	gap: 0.8rem;
}

.fppm-task-create__section h4 {
	margin: 0;
	font-size: 1.03rem;
}

.fppm-task-create__grid {
	display: grid;
	gap: 0.85rem;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.fppm-editor-wrap {
	border: 1px solid #dce3ef;
	border-radius: 10px;
	overflow: hidden;
	background: #fff;
}

.fppm-editor-wrap .wp-editor-wrap {
	border: 0;
}

.fppm-editor-wrap .quicktags-toolbar,
.fppm-editor-wrap .mce-toolbar-grp {
	border-bottom: 1px solid #e4ebf4;
}

.fppm-priority-pills {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 0.55rem;
}

.fppm-priority-pill {
	position: relative;
	display: block;
	cursor: pointer;
}

.fppm-priority-pill input {
	position: absolute;
	opacity: 0;
	pointer-events: none;
}

.fppm-priority-pill span {
	display: inline-flex;
	width: 100%;
	justify-content: center;
	align-items: center;
	padding: 0.5rem 0.45rem;
	border: 1px solid #d8e0ec;
	border-radius: 10px;
	font-size: 0.82rem;
	font-weight: 600;
	color: #334155;
	background: #fff;
	transition: all 0.2s ease;
}

.fppm-priority-pill input:checked + span {
	border-color: #2563eb;
	background: #eff6ff;
	color: #1d4ed8;
}

.fppm-dropzone {
	border: 2px dashed #ced8e8;
	border-radius: 12px;
	padding: 1rem;
	background: #f8fbff;
	text-align: center;
	cursor: pointer;
	transition: all 0.2s ease;
}

.fppm-dropzone:hover {
	border-color: #98c5e5;
	background: #f1f8ff;
}

.fppm-dropzone.is-drag-active {
	border-color: #2563eb;
	background: #eff6ff;
}

.fppm-dropzone input[type="file"] {
	display: block;
	margin: 0.62rem auto 0;
	font-size: 0.76rem;
	color: #475569;
}

.fppm-dropzone.is-enhanced input[type="file"] {
	display: none;
}

.fppm-dropzone__title {
	margin: 0;
	font-weight: 700;
	color: #1e293b;
}

.fppm-dropzone__text {
	margin: 0.2rem 0 0;
	color: #64748b;
	font-size: 0.85rem;
}

.fppm-dropzone__files {
	list-style: none;
	margin: 0.6rem 0 0;
	padding: 0;
	display: grid;
	gap: 0.6rem;
}

.fppm-dropzone__files.is-hidden {
	display: none;
}

.fppm-upload-feedback {
	margin-top: 0.55rem;
	padding: 0.45rem 0.65rem;
	border-radius: 10px;
	font-size: 0.78rem;
	font-weight: 600;
	background: #eff6ff;
	color: #1e40af;
	border: 1px solid #bfdbfe;
}

.fppm-upload-feedback.is-hidden {
	display: none;
}

.fppm-upload-feedback.is-error {
	background: #fef2f2;
	color: #b91c1c;
	border-color: #fecaca;
}

.fppm-upload-feedback.is-success {
	background: #ecfdf5;
	color: #047857;
	border-color: #a7f3d0;
}

.fppm-upload-item {
	display: grid;
	grid-template-columns: 92px minmax(0, 1fr) auto;
	gap: 0.75rem;
	align-items: center;
	background: #fff;
	border: 1px solid #dbe5f2;
	border-radius: 12px;
	padding: 0.55rem;
	box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
}

.fppm-upload-item__preview {
	width: 92px;
	height: 72px;
	border-radius: 9px;
	border: 1px solid #dbe5f2;
	background: #f8fafc;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
}

.fppm-upload-item__preview img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.fppm-upload-item__file-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 42px;
	height: 28px;
	border-radius: 999px;
	background: #e2e8f0;
	color: #334155;
	font-size: 0.72rem;
	font-weight: 800;
	letter-spacing: 0.04em;
	padding: 0 0.45rem;
}

.fppm-upload-item__meta {
	min-width: 0;
	display: grid;
	gap: 0.36rem;
}

.fppm-upload-item__name-row {
	display: flex;
	gap: 0.45rem;
	align-items: center;
	justify-content: space-between;
}

.fppm-upload-item__name-row strong {
	font-size: 0.85rem;
	color: #0f172a;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.fppm-upload-item__status {
	font-size: 0.72rem;
	font-weight: 700;
	border-radius: 999px;
	padding: 0.15rem 0.44rem;
	background: #e0f2fe;
	color: #0369a1;
	white-space: nowrap;
}

.fppm-upload-item__subline {
	display: flex;
	flex-wrap: wrap;
	gap: 0.35rem 0.6rem;
	font-size: 0.74rem;
	color: #64748b;
}

.fppm-upload-item__progress {
	height: 7px;
	border-radius: 999px;
	background: #e2e8f0;
	overflow: hidden;
}

.fppm-upload-item__progress span {
	display: block;
	height: 100%;
	width: 0;
	background: linear-gradient(90deg, #0ea5e9, #2563eb);
	transition: width 0.16s ease;
}

.fppm-upload-item.is-uploaded .fppm-upload-item__status {
	background: #dcfce7;
	color: #166534;
}

.fppm-upload-item.is-uploaded .fppm-upload-item__progress span {
	background: linear-gradient(90deg, #22c55e, #16a34a);
}

.fppm-upload-item.is-failed .fppm-upload-item__status {
	background: #fee2e2;
	color: #b91c1c;
}

.fppm-upload-item.is-failed .fppm-upload-item__progress span {
	background: linear-gradient(90deg, #f87171, #dc2626);
}

.fppm-upload-item.is-cancelled .fppm-upload-item__status,
.fppm-upload-item.is-removing .fppm-upload-item__status {
	background: #e2e8f0;
	color: #475569;
}

.fppm-upload-item__actions {
	display: grid;
	gap: 0.4rem;
	justify-items: end;
}

.fppm-upload-btn {
	border: 1px solid #c7d2e5;
	background: #f8fbff;
	color: #1f4f7f;
	font-size: 0.74rem;
	font-weight: 700;
	border-radius: 999px;
	padding: 0.25rem 0.6rem;
	line-height: 1.25;
	cursor: pointer;
}

.fppm-upload-btn:hover,
.fppm-upload-btn:focus {
	background: #edf5ff;
	border-color: #abc6e7;
	color: #153a5f;
}

.fppm-upload-btn.is-hidden {
	display: none;
}

.fppm-upload-btn:disabled {
	opacity: 0.6;
	cursor: not-allowed;
}

.fppm-task-create__hint {
	margin: 0.85rem 0 0;
	text-align: center;
	font-size: 0.8rem;
	color: #64748b;
}

.fppm-task-thread-board {
	background: #fff;
	border: 1px solid #dce4ef;
	font-family: "Inter", "Segoe UI", "Helvetica Neue", Arial, sans-serif;
}

.fppm-task-thread-board__head {
	border-bottom: 1px solid #edf2f8;
	padding-bottom: 0.8rem;
	margin-bottom: 0.95rem;
}

.fppm-task-thread-board__head .fppm-title {
	margin-bottom: 0.25rem;
}

.fppm-task-thread-list {
	display: grid;
	gap: 1rem;
}

.fppm-task-thread {
	border: 1px solid #dfe7f3;
	border-radius: 14px;
	background: #fdfefe;
	overflow: hidden;
}

.fppm-task-thread__header {
	padding: 0.95rem 1rem;
	border-bottom: 1px solid #ebf0f6;
	background: #fff;
}

.fppm-task-thread__badges {
	display: flex;
	gap: 0.4rem;
	align-items: center;
	margin-bottom: 0.45rem;
}

.fppm-task-thread__id {
	font-size: 0.78rem;
	font-family: "SFMono-Regular", "Consolas", "Liberation Mono", monospace;
	color: #64748b;
	display: block;
	margin-bottom: 0.35rem;
}

.fppm-task-thread__header h4 {
	margin: 0;
	font-size: 1.06rem;
	line-height: 1.35;
}

.fppm-task-thread__description {
	padding: 0.95rem 1rem 0;
}

.fppm-task-replies {
	padding: 0.9rem 1rem 1rem;
	background: #f8fafd;
}

.fppm-task-replies__head h5 {
	margin: 0 0 0.75rem;
	font-size: 0.98rem;
}

.fppm-task-replies__list {
	display: grid;
	gap: 0.65rem;
	margin-bottom: 0.8rem;
}

.fppm-thread-reply {
	border: 1px solid #dce5f2;
	border-radius: 10px;
	padding: 0.75rem;
	background: #fff;
	transition: border-color 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease;
}

.fppm-thread-reply.is-highlighted {
	animation: fppmReplyHighlight 2s ease;
}

@keyframes fppmReplyHighlight {
	0% {
		box-shadow: 0 0 0 0 rgba(37, 99, 235, 0.35);
		border-color: #93c5fd;
		background: #eff6ff;
	}
	70% {
		box-shadow: 0 0 0 10px rgba(37, 99, 235, 0);
	}
	100% {
		border-color: #dce5f2;
		background: #fff;
	}
}

.fppm-thread-reply__meta {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 0.5rem;
	flex-wrap: wrap;
	margin-bottom: 0.45rem;
}

.fppm-thread-reply__author {
	display: inline-flex;
	gap: 0.4rem;
	align-items: center;
	flex-wrap: wrap;
	font-size: 0.8rem;
	color: #64748b;
}

.fppm-thread-reply__author strong {
	color: #0f172a;
	font-size: 0.84rem;
}

.fppm-thread-reply__tools {
	display: inline-flex;
	gap: 0.35rem;
	align-items: center;
	flex-wrap: wrap;
}

.fppm-thread-reply__id,
.fppm-reply-ref-btn,
.fppm-reply-edit-btn {
	border: 1px solid #d5dfec;
	background: #f8fbff;
	color: #1f4f7f;
	font-size: 0.72rem;
	font-weight: 700;
	border-radius: 999px;
	padding: 0.28rem 0.52rem;
	line-height: 1;
	text-decoration: none;
	cursor: pointer;
}

.fppm-thread-reply__id:hover,
.fppm-thread-reply__id:focus,
.fppm-reply-ref-btn:hover,
.fppm-reply-ref-btn:focus,
.fppm-reply-edit-btn:hover,
.fppm-reply-edit-btn:focus {
	background: #edf5ff;
	border-color: #bdd5ef;
	color: #163d63;
}

.fppm-thread-reply__content {
	font-size: 0.9rem;
	color: #1f2937;
}

.fppm-reply-ref-link {
	color: #2563eb;
	font-weight: 700;
	text-decoration: none;
}

.fppm-reply-ref-link:hover,
.fppm-reply-ref-link:focus {
	text-decoration: underline;
}

.fppm-comment-form-create,
.fppm-comment-form-edit {
	background: #fff;
	border: 1px solid #dce5f2;
	border-radius: 10px;
	padding: 0.7rem;
}

.fppm-comment-form-edit.is-hidden {
	display: none;
}

.fppm-comment-form textarea {
	min-height: 92px;
}

.fppm-comment-form__actions {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.8rem;
	flex-wrap: wrap;
}

@media (max-width: 900px) {
	.fppm-task-create__grid {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 680px) {
	.fppm-priority-pills {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.fppm-upload-item {
		grid-template-columns: 1fr;
	}

	.fppm-upload-item__preview {
		width: 100%;
		height: 140px;
	}

	.fppm-upload-item__actions {
		grid-auto-flow: column;
		justify-content: flex-start;
	}

	.fppm-thread-reply__meta {
		align-items: flex-start;
	}

	.fppm-comment-form__actions {
		flex-direction: column;
		align-items: stretch;
	}

	.fppm-task-subtask-item {
		grid-template-columns: auto minmax(0, 1fr);
	}

	.fppm-task-subtask-item__actions {
		grid-column: 1 / -1;
		justify-content: flex-start;
		padding-left: 1.55rem;
	}
}

.fppm-task-directory {
	background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
	border: 1px solid #d7e3f3;
	box-shadow: 0 12px 28px rgba(30, 64, 175, 0.08);
}

.fppm-task-directory__head {
	margin-bottom: 0.85rem;
	padding-bottom: 0.7rem;
	border-bottom: 1px solid #e2e8f0;
}

.fppm-task-directory__head .fppm-title {
	margin-bottom: 0.22rem;
}

.fppm-task-directory__head .fppm-muted {
	margin: 0;
}

.fppm-directory-search {
	margin-top: 0.7rem;
	max-width: 360px;
}

.fppm-directory-search input[type="search"] {
	width: 100%;
	border: 1px solid #cbd8ea;
	border-radius: 10px;
	padding: 0.5rem 0.7rem;
	background: #fff;
	color: #0f172a;
	font-size: 0.85rem;
}

.fppm-directory-search input[type="search"]:focus {
	outline: none;
	border-color: #3b82f6;
	box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.16);
}

.fppm-task-directory__list {
	display: grid;
	gap: 0.75rem;
}

.fppm-task-directory__item {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 0.75rem;
	align-items: center;
	padding: 0.85rem;
	border: 1px solid #d4e2f2;
	border-radius: 14px;
	background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
	position: relative;
	isolation: isolate;
	cursor: pointer;
	transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.fppm-task-directory__item:hover {
	border-color: #bdd2ef;
	box-shadow: 0 10px 22px rgba(30, 64, 175, 0.08);
	transform: translateY(-1px);
}

.fppm-task-directory__item-main {
	min-width: 0;
	position: relative;
	z-index: 1;
}

.fppm-task-directory__select {
	display: inline-flex;
	align-items: center;
}

.fppm-task-directory__select input {
	width: 16px;
	height: 16px;
	position: relative;
	z-index: 2;
}

.fppm-task-directory__item-title-row {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 0.45rem;
}

.fppm-task-directory__item-title {
	font-size: 1rem;
	font-weight: 700;
	color: #0f172a;
	text-decoration: none;
	margin-right: 0.25rem;
	position: relative;
	z-index: 2;
}

.fppm-task-directory__item-title:hover,
.fppm-task-directory__item-title:focus {
	color: #1d4ed8;
	text-decoration: underline;
}

.fppm-task-directory__item-meta {
	margin-top: 0.5rem;
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 0.35rem 0.75rem;
	font-size: 0.8rem;
	color: #475569;
}

.fppm-task-directory__item-meta strong {
	color: #0f172a;
}

.fppm-task-directory__item-meta a {
	color: #0f172a;
	font-weight: 600;
	text-decoration: none;
	position: relative;
	z-index: 2;
}

.fppm-task-directory__item-meta a:hover,
.fppm-task-directory__item-meta a:focus {
	color: #1d4ed8;
	text-decoration: underline;
}

.fppm-task-directory__item-open {
	width: 34px;
	height: 34px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 999px;
	border: 1px solid #cbd5e1;
	background: #fff;
	color: #1d4ed8;
	font-weight: 800;
	text-decoration: none;
	flex: 0 0 auto;
	position: relative;
	z-index: 2;
}

.fppm-task-directory__item-open:hover,
.fppm-task-directory__item-open:focus {
	background: #eff6ff;
	border-color: #93c5fd;
	color: #1d4ed8;
}

.fppm-task-directory__item-actions {
	display: inline-flex;
	align-items: center;
	justify-content: flex-end;
	gap: 0.4rem;
	position: relative;
	z-index: 2;
}

.fppm-task-details-wrap {
	font-family: "Inter", "Segoe UI", "Helvetica Neue", Arial, sans-serif;
}

.fppm-task-single-nav {
	margin-bottom: 0.85rem;
}

.fppm-task-single-nav a {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	padding: 0.45rem 0.72rem;
	border-radius: 999px;
	border: 1px solid #dbe5f2;
	background: #fff;
	color: #1e40af;
	font-size: 0.8rem;
	font-weight: 600;
	text-decoration: none;
}

.fppm-task-single-nav a:hover,
.fppm-task-single-nav a:focus {
	background: #eff6ff;
	border-color: #bfdbfe;
	color: #1d4ed8;
}

.fppm-task-details-list {
	display: grid;
	gap: 1.3rem;
}

.fppm-task-details-card {
	background: #fff;
	border: 1px solid #e5e7eb;
	border-radius: 18px;
	box-shadow: 0 2px 8px rgba(15, 23, 42, 0.05);
	overflow: hidden;
}

.fppm-task-details-card__head {
	padding: 1.35rem 1.5rem 1.1rem;
	border-bottom: 1px solid #f0f2f5;
}

.fppm-task-details-card__badges {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin-bottom: 0.75rem;
}

.fppm-task-chip {
	display: inline-flex;
	align-items: center;
	gap: 0.3rem;
	padding: 0.25rem 0.62rem;
	border-radius: 999px;
	font-size: 0.74rem;
	font-weight: 700;
	border: 1px solid transparent;
	line-height: 1.3;
}

.fppm-task-chip__dot {
	width: 6px;
	height: 6px;
	border-radius: 999px;
	background: currentColor;
}

.fppm-task-chip-status-todo,
.fppm-task-chip-status-in_progress {
	background: #eff6ff;
	border-color: #bfdbfe;
	color: #1d4ed8;
}

.fppm-task-chip-status-review {
	background: #fef3c7;
	border-color: #fde68a;
	color: #b45309;
}

.fppm-task-chip-status-done {
	background: #ecfdf3;
	border-color: #bbf7d0;
	color: #15803d;
}

.fppm-task-chip-priority-low {
	background: #f1f5f9;
	border-color: #dce3ea;
	color: #475569;
}

.fppm-task-chip-priority-medium {
	background: #eff6ff;
	border-color: #bfdbfe;
	color: #1e40af;
}

.fppm-task-chip-priority-high {
	background: #fff7ed;
	border-color: #fed7aa;
	color: #c2410c;
}

.fppm-task-chip-priority-urgent {
	background: #fef2f2;
	border-color: #fecaca;
	color: #b91c1c;
}

.fppm-task-chip-milestone {
	background: #f1f5f9;
	border-color: #d7e1ed;
	color: #334155;
}

.fppm-task-details-card__task-id {
	margin-left: auto;
	color: #9ca3af;
	font-size: 0.82rem;
	font-weight: 600;
}

.fppm-task-details-card h2 {
	margin: 0;
	font-size: clamp(1.35rem, 2vw, 1.85rem);
	line-height: 1.25;
	color: #111827;
}

.fppm-task-project-overview {
	margin-top: 0.65rem;
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	flex-wrap: wrap;
	font-size: 0.83rem;
	color: #475569;
}

.fppm-task-project-overview a {
	color: #1d4ed8;
	font-weight: 700;
	text-decoration: none;
}

.fppm-task-project-overview a:hover,
.fppm-task-project-overview a:focus {
	text-decoration: underline;
}

.fppm-task-project-overview__status,
.fppm-task-project-overview__client {
	display: inline-flex;
	align-items: center;
	padding: 0.15rem 0.48rem;
	border-radius: 999px;
	font-size: 0.72rem;
	font-weight: 600;
	border: 1px solid #dbe5f2;
	background: #f8fafc;
	color: #475569;
}

.fppm-task-project-related {
	margin-top: 0.9rem;
	padding: 0.7rem;
	border: 1px solid #e5e7eb;
	border-radius: 12px;
	background: #f8fafc;
}

.fppm-task-project-related__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.55rem;
	flex-wrap: wrap;
	margin-bottom: 0.55rem;
}

.fppm-task-project-related__head h4 {
	margin: 0;
	font-size: 0.86rem;
	color: #0f172a;
}

.fppm-task-project-related__head a {
	font-size: 0.76rem;
	font-weight: 700;
	color: #1d4ed8;
	text-decoration: none;
}

.fppm-task-project-related__head a:hover,
.fppm-task-project-related__head a:focus {
	text-decoration: underline;
}

.fppm-task-project-related__grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
	gap: 0.48rem;
}

.fppm-task-project-related__card {
	display: grid;
	gap: 0.35rem;
	border: 1px solid #dbe5f2;
	border-radius: 10px;
	padding: 0.48rem 0.55rem;
	background: #fff;
	text-decoration: none;
	color: inherit;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.fppm-task-project-related__card:hover,
.fppm-task-project-related__card:focus {
	border-color: #bfdbfe;
	box-shadow: 0 2px 10px rgba(30, 64, 175, 0.08);
}

.fppm-task-project-related__card-top {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 0.38rem;
}

.fppm-task-project-related__card-top strong {
	font-size: 0.79rem;
	line-height: 1.35;
	color: #0f172a;
}

.fppm-task-project-related__card-meta {
	display: flex;
	flex-wrap: wrap;
	gap: 0.3rem 0.52rem;
	font-size: 0.72rem;
	color: #64748b;
}

.fppm-task-details-card__meta {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 0.75rem;
	margin-top: 0.75rem;
	font-size: 0.92rem;
	color: #334155;
}

.fppm-task-details-card__meta strong {
	color: #111827;
}

.fppm-task-details-card__meta a {
	color: #1d4ed8;
	font-weight: 700;
	text-decoration: none;
}

.fppm-task-details-card__meta a:hover,
.fppm-task-details-card__meta a:focus {
	text-decoration: underline;
}

.fppm-task-details-card__desc {
	margin-top: 0.8rem;
	color: #4b5563;
}

.fppm-task-attachments {
	margin-top: 0.95rem;
}

.fppm-task-attachments h4 {
	margin: 0 0 0.55rem;
	font-size: 0.83rem;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	color: #475569;
}

.fppm-task-attachments__grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
	gap: 0.65rem;
}

.fppm-task-attachment {
	display: flex;
	align-items: center;
	gap: 0.55rem;
	padding: 0.45rem;
	border: 1px solid #dce5f2;
	border-radius: 10px;
	background: #f8fbff;
	text-decoration: none;
	color: inherit;
}

.fppm-task-attachment:hover,
.fppm-task-attachment:focus {
	border-color: #bdd5ef;
	background: #edf5ff;
}

.fppm-task-attachment__preview {
	width: 66px;
	height: 52px;
	border-radius: 8px;
	background: #e2e8f0;
	border: 1px solid #d5dfec;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
	flex-shrink: 0;
}

.fppm-task-attachment__preview img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.fppm-task-attachment__file-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 40px;
	height: 24px;
	border-radius: 999px;
	background: #cbd5e1;
	color: #334155;
	font-size: 0.68rem;
	font-weight: 800;
	letter-spacing: 0.04em;
	padding: 0 0.35rem;
}

.fppm-task-attachment__meta {
	min-width: 0;
	display: grid;
	gap: 0.18rem;
}

.fppm-task-attachment__meta strong {
	font-size: 0.78rem;
	color: #0f172a;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.fppm-task-attachment__meta span {
	font-size: 0.72rem;
	color: #64748b;
}

.fppm-task-details-card__author-row {
	margin-top: 1rem;
	padding-top: 0.85rem;
	border-top: 1px solid #f3f4f6;
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 0.65rem;
	flex-wrap: wrap;
}

.fppm-task-details-card__author {
	display: inline-flex;
	align-items: center;
	gap: 0.6rem;
}

.fppm-task-details-card__author p {
	margin: 0;
	font-size: 0.9rem;
	font-weight: 700;
	color: #111827;
}

.fppm-task-details-card__author span {
	display: block;
	font-size: 0.75rem;
	color: #6b7280;
}

.fppm-task-details-card__actions {
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
}

.fppm-icon-button {
	width: 34px;
	height: 34px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 10px;
	border: 1px solid #e5e7eb;
	background: #fff;
	color: #6b7280;
	cursor: pointer;
}

.fppm-icon-button:hover,
.fppm-icon-button:focus {
	background: #f8fafc;
	color: #1f2937;
	border-color: #d1d5db;
}

.fppm-icon-button:disabled {
	opacity: 0.55;
	cursor: not-allowed;
}

.fppm-icon-button.fppm-task-status-toggle.is-task-close {
	color: #b91c1c;
	border-color: #fecaca;
	background: #fff5f5;
}

.fppm-icon-button.fppm-task-status-toggle.is-task-close:hover,
.fppm-icon-button.fppm-task-status-toggle.is-task-close:focus {
	color: #991b1b;
	border-color: #fca5a5;
	background: #fee2e2;
}

.fppm-icon-button.fppm-task-status-toggle.is-task-open {
	color: #166534;
	border-color: #bbf7d0;
	background: #f0fdf4;
}

.fppm-icon-button.fppm-task-status-toggle.is-task-open:hover,
.fppm-icon-button.fppm-task-status-toggle.is-task-open:focus {
	color: #14532d;
	border-color: #86efac;
	background: #dcfce7;
}

.screen-reader-text,
.fppm-task-status-toggle .screen-reader-text {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.fppm-task-details-card__replies {
	background: #f9fafb;
	padding: 1.2rem 1.5rem 1.4rem;
}

.fppm-task-details-card__replies-head h3 {
	margin: 0 0 0.9rem;
	font-size: 1rem;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 0.01em;
	color: #111827;
}

.fppm-task-subtasks {
	margin-top: 1rem;
	padding: 0.85rem;
	border: 1px dashed #d9e3f1;
	border-radius: 12px;
	background: #f8fbff;
	display: grid;
	gap: 0.7rem;
}

.fppm-task-subtask-list {
	display: grid;
	gap: 0.55rem;
}

.fppm-task-subtask-item {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr) auto;
	gap: 0.55rem;
	align-items: center;
	border: 1px solid #d9e4f1;
	border-radius: 10px;
	background: #fff;
	padding: 0.65rem 0.7rem;
}

.fppm-task-subtask-item.is-done {
	background: #f8fafc;
}

.fppm-task-subtask-item.is-done .fppm-task-subtask-item__title {
	text-decoration: line-through;
	color: #64748b;
}

.fppm-task-subtask-item.is-done .fppm-task-subtask-item__meta {
	color: #94a3b8;
}

.fppm-task-subtask-item__toggle {
	display: inline-flex;
	align-items: center;
	align-self: flex-start;
	padding-top: 0.14rem;
}

.fppm-task-subtask-item__check {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 20px;
	height: 20px;
	cursor: pointer;
}

.fppm-task-subtask-item__check.is-readonly {
	cursor: default;
}

.fppm-task-subtask-item__checkbox {
	position: absolute;
	inset: 0;
	margin: 0;
	opacity: 0;
	cursor: pointer;
}

.fppm-task-subtask-item__checkbox-ui {
	width: 20px;
	height: 20px;
	border-radius: 6px;
	border: 1.5px solid #b7c7dd;
	background: #fff;
	color: transparent;
	font-size: 0.68rem;
	font-weight: 700;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	transition: all 0.2s ease;
	pointer-events: none;
}

.fppm-task-subtask-item__checkbox:checked + .fppm-task-subtask-item__checkbox-ui,
.fppm-task-subtask-item__checkbox-ui.is-checked {
	border-color: #1d4ed8;
	background: #2563eb;
	color: #fff;
	box-shadow: 0 6px 12px rgba(37, 99, 235, 0.24);
}

.fppm-task-subtask-item__checkbox:focus + .fppm-task-subtask-item__checkbox-ui {
	box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.22);
}

.fppm-task-subtask-item__title-row {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 0.35rem;
	margin-bottom: 0.25rem;
}

.fppm-task-subtask-item__title-row strong {
	font-size: 0.86rem;
	color: #0f172a;
}

.fppm-task-subtask-item__meta {
	display: flex;
	flex-wrap: wrap;
	gap: 0.35rem 0.65rem;
	font-size: 0.76rem;
	color: #64748b;
}

.fppm-task-subtask-item__actions {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
}

.fppm-task-reply-list {
	display: grid;
	gap: 0.85rem;
}

.fppm-task-reply-system {
	position: relative;
	padding: 0.25rem 0;
	display: flex;
	align-items: center;
	justify-content: center;
}

.fppm-task-reply-system__line {
	position: absolute;
	top: 50%;
	left: 0;
	right: 0;
	border-top: 1px dashed #cbd5e1;
	transform: translateY(-50%);
}

.fppm-task-reply-system__pill {
	position: relative;
	z-index: 1;
	background: #fff;
	border: 1px solid #dbe5f2;
	border-radius: 999px;
	padding: 0.3rem 0.7rem;
	font-size: 0.76rem;
	color: #475569;
	display: inline-flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 0.35rem;
}

.fppm-task-reply-system__pill strong {
	color: #111827;
}

.fppm-task-reply-system__pill em {
	font-style: normal;
	color: #94a3b8;
	font-size: 0.72rem;
}

.fppm-task-reply-card {
	background: #fff;
	border: 1px solid #e5e7eb;
	border-radius: 14px;
	padding: 0.95rem;
	transition: border-color 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease;
}

.fppm-task-reply-card.is-internal-note {
	background: #fefce8;
	border-color: #fef08a;
}

.fppm-task-reply-card.is-highlighted {
	animation: fppmReplyHighlightPulse 2s ease-out;
}

@keyframes fppmReplyHighlightPulse {
	0% {
		box-shadow: 0 0 0 0 rgba(59, 130, 246, 0.7);
		border-color: #3b82f6;
		background-color: #eff6ff;
	}
	70% {
		box-shadow: 0 0 0 10px rgba(59, 130, 246, 0);
		border-color: #e5e7eb;
		background-color: #ffffff;
	}
	100% {
		box-shadow: 0 0 0 0 rgba(59, 130, 246, 0);
		border-color: #e5e7eb;
		background-color: #ffffff;
	}
}

.fppm-task-reply-card__head {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	gap: 0.6rem;
	flex-wrap: wrap;
	margin-bottom: 0.55rem;
}

.fppm-task-reply-card__author {
	display: inline-flex;
	align-items: center;
	gap: 0.55rem;
}

.fppm-task-reply-card__author-top {
	display: flex;
	align-items: center;
	gap: 0.45rem;
	flex-wrap: wrap;
}

.fppm-task-reply-card__author strong {
	font-size: 0.92rem;
	color: #111827;
}

.fppm-task-reply-card__author span {
	font-size: 0.82rem;
	color: #6b7280;
}

.fppm-task-reply-card__internal {
	display: inline-flex;
	align-items: center;
	padding: 0.15rem 0.4rem;
	border-radius: 6px;
	border: 1px solid #fde68a;
	background: #fef3c7;
	color: #92400e;
	font-size: 0.63rem;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 0.03em;
}

.fppm-task-reply-card__tools {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	flex-wrap: wrap;
}

.fppm-task-reply-card__content {
	font-size: 0.95rem;
	color: #374151;
	line-height: 1.6;
	padding-left: 2.6rem;
}

.fppm-reply-editor-form {
	margin-top: 1rem;
	background: #fff;
	border: 1px solid #e5e7eb;
	border-radius: 14px;
	padding: 1rem;
}

.fppm-reply-ajax-feedback {
	min-height: 0;
}

.fppm-task-reply-editor-open.is-hidden,
.fppm-task-reply-editor-closed.is-hidden {
	display: none;
}

.fppm-task-reply-editor-closed {
	margin-top: 1rem;
	padding: 1.1rem;
	border: 1px solid #d1fae5;
	background: #ecfdf5;
	border-radius: 14px;
	text-align: center;
	display: grid;
	gap: 0.5rem;
	justify-items: center;
}

.fppm-task-reply-editor-closed__icon {
	width: 38px;
	height: 38px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 999px;
	background: #10b981;
	color: #fff;
	font-weight: 800;
}

.fppm-task-reply-editor-closed h4 {
	margin: 0;
	font-size: 1rem;
	color: #065f46;
}

.fppm-task-reply-editor-closed p {
	margin: 0;
	color: #047857;
	font-size: 0.84rem;
}

.fppm-reply-editor {
	display: flex;
	gap: 0.8rem;
	align-items: flex-start;
}

.fppm-reply-editor__avatar .avatar {
	border: 2px solid #fff;
	box-shadow: 0 1px 6px rgba(15, 23, 42, 0.14);
}

.fppm-reply-editor__body {
	flex: 1;
	min-width: 0;
}

.fppm-reply-editor__box {
	border: 1px solid #d1d5db;
	border-radius: 12px;
	overflow: hidden;
	background: #fff;
}

.fppm-reply-editor__box-wysiwyg .wp-editor-wrap {
	border: 0;
}

.fppm-reply-editor__box-wysiwyg .wp-editor-tools {
	border-bottom: 1px solid #e5e7eb;
	background: #f9fafb;
	padding: 4px 6px;
}

.fppm-reply-editor__box-wysiwyg .quicktags-toolbar,
.fppm-reply-editor__box-wysiwyg .mce-toolbar-grp {
	border: 0;
	background: #f9fafb;
}

.fppm-reply-editor__box-wysiwyg .wp-editor-container {
	border: 0;
}

.fppm-reply-editor__box-wysiwyg textarea.wp-editor-area,
.fppm-reply-editor__box-wysiwyg .mce-content-body {
	font-size: 0.92rem;
	color: #1f2937;
}

.fppm-reply-editor__toolbar {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 0.2rem;
	padding: 0.45rem;
	background: #f9fafb;
	border-bottom: 1px solid #e5e7eb;
}

.editor-btn {
	border: 0;
	background: transparent;
	padding: 0.35rem 0.45rem;
	border-radius: 8px;
	font-size: 0.84rem;
	color: #6b7280;
	cursor: pointer;
}

.editor-btn:hover,
.editor-btn:focus {
	background: #f3f4f6;
	color: #111827;
}

.fppm-reply-editor__box textarea {
	width: 100%;
	border: 0;
	min-height: 120px;
	padding: 0.8rem 0.9rem;
	resize: vertical;
	font-size: 0.92rem;
	color: #1f2937;
}

.fppm-reply-editor__box textarea:focus {
	outline: none;
}

.fppm-reply-editor__actions {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 0.75rem;
	margin-top: 0.75rem;
	flex-wrap: wrap;
}

.fppm-internal-toggle {
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
	font-size: 0.85rem;
	color: #4b5563;
	cursor: pointer;
}

.fppm-internal-toggle input {
	width: 16px;
	height: 16px;
}

.fppm-reply-editor__right {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
}

.fppm-reply-editor__right select {
	min-width: 180px;
	border: 1px solid #d1d5db;
	border-radius: 9px;
	background: #fff;
	padding: 0.45rem 0.6rem;
	font-size: 0.84rem;
}

.fppm-reply-send {
	border: 1px solid #2563eb;
	background: #2563eb;
	color: #fff;
	border-radius: 9px;
	padding: 0.48rem 1rem;
	font-weight: 700;
	font-size: 0.85rem;
	cursor: pointer;
}

.fppm-reply-send:hover,
.fppm-reply-send:focus {
	background: #1d4ed8;
	border-color: #1d4ed8;
}

.fppm-notes-shell {
	max-width: 100%;
}

.fppm-notes-app {
	background: #fff;
	border: 1px solid #e2e8f0;
	border-radius: 18px;
	padding: 1rem;
	box-shadow: 0 3px 12px rgba(15, 23, 42, 0.04);
}

.fppm-notes-app__head {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 0.7rem;
	margin-bottom: 0.9rem;
}

.fppm-notes-app__head .fppm-title {
	margin: 0 0 0.18rem;
}

.fppm-notes-app__head-actions {
	display: inline-flex;
	gap: 0.45rem;
	flex-wrap: wrap;
}

.fppm-notes-filters {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 0.65rem;
	padding: 0.72rem;
	border-radius: 12px;
	border: 1px solid #e2e8f0;
	background: #f8fafc;
	margin-bottom: 0.75rem;
}

.fppm-notes-filters__tabs {
	display: inline-flex;
	align-items: center;
	gap: 0.3rem;
	background: #eef2f7;
	padding: 0.2rem;
	border-radius: 10px;
}

.fppm-notes-tab {
	border: 0;
	background: transparent;
	color: #475569;
	font-size: 0.8rem;
	font-weight: 700;
	padding: 0.36rem 0.68rem;
	border-radius: 8px;
	cursor: pointer;
}

.fppm-notes-tab.is-active {
	background: #fff;
	color: #0f172a;
	box-shadow: 0 1px 3px rgba(15, 23, 42, 0.09);
}

.fppm-notes-filters__controls {
	display: flex;
	align-items: center;
	gap: 0.42rem;
	flex-wrap: wrap;
}

.fppm-notes-filters__controls input,
.fppm-notes-filters__controls select {
	border: 1px solid #cbd5e1;
	background: #fff;
	border-radius: 10px;
	padding: 0.44rem 0.58rem;
	font-size: 0.82rem;
}

.fppm-notes-filters__controls input {
	min-width: 210px;
}

.fppm-notes-meta {
	margin-bottom: 0.62rem;
}

.fppm-notes-meta__count {
	font-size: 0.8rem;
	color: #475569;
}

.fppm-notes-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
	gap: 0.7rem;
}

.fppm-note-card {
	background: #fff;
	border: 1px solid #dbe5f2;
	border-radius: 12px;
	padding: 0.72rem;
	box-shadow: 0 1px 4px rgba(15, 23, 42, 0.04);
	display: grid;
	gap: 0.46rem;
}

.fppm-note-card__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.45rem;
}

.fppm-note-card__type {
	display: inline-flex;
	align-items: center;
	padding: 0.12rem 0.45rem;
	border-radius: 999px;
	font-size: 0.68rem;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 0.03em;
}

.fppm-note-card__type-note {
	background: #dbeafe;
	color: #1d4ed8;
}

.fppm-note-card__type-call {
	background: #d1fae5;
	color: #047857;
}

.fppm-note-card__date {
	font-size: 0.73rem;
	color: #64748b;
	font-weight: 600;
}

.fppm-note-card h4 {
	margin: 0;
	font-size: 0.94rem;
	line-height: 1.35;
	color: #0f172a;
}

.fppm-note-card__meta {
	display: flex;
	flex-wrap: wrap;
	gap: 0.28rem 0.55rem;
	font-size: 0.74rem;
	color: #64748b;
}

.fppm-note-card__participants {
	margin: 0;
	font-size: 0.76rem;
	color: #334155;
}

.fppm-note-card__summary {
	margin: 0;
	font-size: 0.82rem;
	color: #374151;
	line-height: 1.55;
}

.fppm-note-card__actions {
	border-top: 1px dashed #dbe5f2;
	padding-top: 0.45rem;
}

.fppm-note-card__actions h5 {
	margin: 0 0 0.35rem;
	font-size: 0.72rem;
	text-transform: uppercase;
	letter-spacing: 0.03em;
	color: #334155;
}

.fppm-note-card__actions ul {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 0.25rem;
}

.fppm-note-card__actions li {
	position: relative;
	padding-left: 0.78rem;
	font-size: 0.76rem;
	color: #334155;
}

.fppm-note-card__actions li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.38rem;
	width: 6px;
	height: 6px;
	border-radius: 999px;
	background: #94a3b8;
}

.fppm-note-card__tags {
	display: flex;
	flex-wrap: wrap;
	gap: 0.28rem;
}

.fppm-note-card__tags span {
	display: inline-flex;
	align-items: center;
	padding: 0.12rem 0.42rem;
	border-radius: 999px;
	font-size: 0.68rem;
	font-weight: 700;
	background: #f1f5f9;
	color: #334155;
}

.fppm-note-card__tools {
	display: flex;
	flex-wrap: wrap;
	gap: 0.35rem;
	padding-top: 0.36rem;
	border-top: 1px dashed #dbe5f2;
}

.fppm-note-tool {
	border: 1px solid #c7d2e5;
	background: #f8fafc;
	color: #1e293b;
	font-size: 0.72rem;
	font-weight: 700;
	border-radius: 999px;
	padding: 0.18rem 0.58rem;
	line-height: 1.35;
	cursor: pointer;
}

.fppm-note-tool:hover,
.fppm-note-tool:focus {
	background: #eff6ff;
	border-color: #93c5fd;
	color: #1d4ed8;
}

.fppm-note-tool.is-danger:hover,
.fppm-note-tool.is-danger:focus {
	background: #fef2f2;
	border-color: #fecaca;
	color: #b91c1c;
}

.fppm-notes-empty {
	margin-top: 0.6rem;
	padding: 1rem;
	border-radius: 12px;
	border: 1px dashed #cbd5e1;
	text-align: center;
	background: #f8fafc;
}

.fppm-notes-empty h4 {
	margin: 0 0 0.25rem;
	font-size: 1rem;
	color: #111827;
}

.fppm-notes-empty p {
	margin: 0;
	font-size: 0.84rem;
	color: #64748b;
}

.fppm-notes-empty.is-hidden {
	display: none;
}

.fppm-notes-modal {
	position: fixed;
	inset: 0;
	z-index: 9999;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0.8rem;
}

.fppm-notes-modal.is-hidden {
	display: none;
}

.fppm-notes-modal__overlay {
	position: absolute;
	inset: 0;
	background: rgba(15, 23, 42, 0.5);
	backdrop-filter: blur(4px);
}

.fppm-notes-modal__dialog {
	position: relative;
	z-index: 2;
	width: min(760px, calc(100vw - 1rem));
	max-height: calc(100vh - 1.5rem);
	overflow: hidden;
	background: #fff;
	border: 1px solid #dbe5f2;
	border-radius: 16px;
	box-shadow: 0 12px 36px rgba(15, 23, 42, 0.24);
	display: flex;
	flex-direction: column;
}

.fppm-notes-modal__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.55rem;
	padding: 0.9rem 1rem;
	border-bottom: 1px solid #e2e8f0;
}

.fppm-notes-modal__head h4 {
	margin: 0;
	font-size: 1rem;
	color: #111827;
}

.fppm-notes-modal__close {
	border: 0;
	background: transparent;
	font-size: 1.35rem;
	line-height: 1;
	color: #64748b;
	cursor: pointer;
}

.fppm-notes-form {
	display: grid;
	gap: 0.65rem;
	padding: 0.95rem 1rem;
	overflow-y: auto;
}

.fppm-notes-form__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0.55rem;
}

.fppm-notes-form__call {
	border: 1px solid #dbeafe;
	background: #eff6ff;
	border-radius: 10px;
	padding: 0.6rem;
}

.fppm-notes-form__call.is-hidden {
	display: none;
}

.fppm-notes-modal__feedback .fppm-notice {
	margin: 0;
}

.fppm-notes-modal__actions {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 0.56rem;
	padding-top: 0.45rem;
}

.fppm-create-modal-shell .fppm-actions .fppm-button,
.fppm-notes-modal__actions .fppm-button,
.fppm-crud-modal__actions .fppm-button {
	min-height: 42px;
	padding: 0.58rem 1.08rem;
	border-radius: 11px;
	font-size: 0.95rem;
	font-weight: 700;
}

.fppm-create-modal-shell .fppm-actions .fppm-button:not(.fppm-button-secondary):not(.fppm-button-ghost),
.fppm-notes-modal__actions .fppm-button:not(.fppm-button-secondary):not(.fppm-button-ghost),
.fppm-crud-modal__actions .fppm-button:not(.fppm-button-secondary):not(.fppm-button-ghost) {
	background: linear-gradient(135deg, #3b82f6, #1d4ed8);
	border-color: #2563eb;
	color: #fff;
	box-shadow: 0 10px 22px rgba(37, 99, 235, 0.24);
}

.fppm-create-modal-shell .fppm-actions .fppm-button:not(.fppm-button-secondary):not(.fppm-button-ghost):hover,
.fppm-create-modal-shell .fppm-actions .fppm-button:not(.fppm-button-secondary):not(.fppm-button-ghost):focus,
.fppm-notes-modal__actions .fppm-button:not(.fppm-button-secondary):not(.fppm-button-ghost):hover,
.fppm-notes-modal__actions .fppm-button:not(.fppm-button-secondary):not(.fppm-button-ghost):focus,
.fppm-crud-modal__actions .fppm-button:not(.fppm-button-secondary):not(.fppm-button-ghost):hover,
.fppm-crud-modal__actions .fppm-button:not(.fppm-button-secondary):not(.fppm-button-ghost):focus {
	background: linear-gradient(135deg, #2563eb, #1d4ed8);
	border-color: #1d4ed8;
}

.fppm-create-modal-shell .fppm-actions .fppm-button.fppm-button-secondary,
.fppm-create-modal-shell .fppm-actions .fppm-button.fppm-button-ghost,
.fppm-notes-modal__actions .fppm-button.fppm-button-secondary,
.fppm-notes-modal__actions .fppm-button.fppm-button-ghost,
.fppm-crud-modal__actions .fppm-button.fppm-button-secondary,
.fppm-crud-modal__actions .fppm-button.fppm-button-ghost {
	background: #fff;
	border-color: #cbd5e1;
	color: #334155;
	box-shadow: 0 2px 8px rgba(15, 23, 42, 0.06);
}

.fppm-create-modal-shell .fppm-actions .fppm-button.fppm-button-secondary:hover,
.fppm-create-modal-shell .fppm-actions .fppm-button.fppm-button-secondary:focus,
.fppm-create-modal-shell .fppm-actions .fppm-button.fppm-button-ghost:hover,
.fppm-create-modal-shell .fppm-actions .fppm-button.fppm-button-ghost:focus,
.fppm-notes-modal__actions .fppm-button.fppm-button-secondary:hover,
.fppm-notes-modal__actions .fppm-button.fppm-button-secondary:focus,
.fppm-notes-modal__actions .fppm-button.fppm-button-ghost:hover,
.fppm-notes-modal__actions .fppm-button.fppm-button-ghost:focus,
.fppm-crud-modal__actions .fppm-button.fppm-button-secondary:hover,
.fppm-crud-modal__actions .fppm-button.fppm-button-secondary:focus,
.fppm-crud-modal__actions .fppm-button.fppm-button-ghost:hover,
.fppm-crud-modal__actions .fppm-button.fppm-button-ghost:focus {
	background: #f8fafc;
	border-color: #94a3b8;
	color: #0f172a;
}

.fppm-create-modal-shell .fppm-actions .fppm-button:disabled,
.fppm-notes-modal__actions .fppm-button:disabled,
.fppm-crud-modal__actions .fppm-button:disabled {
	opacity: 0.65;
	box-shadow: none;
	cursor: not-allowed;
}

.fppm-crud-modal {
	position: fixed;
	inset: 0;
	z-index: 10000;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0.8rem;
}

.fppm-crud-modal,
.fppm-crud-modal * {
	box-sizing: border-box;
}

.fppm-crud-modal.is-hidden {
	display: none;
}

.fppm-crud-modal__overlay {
	position: absolute;
	inset: 0;
	background: rgba(15, 23, 42, 0.58);
	backdrop-filter: blur(4px);
}

.fppm-crud-modal__dialog {
	position: relative;
	z-index: 2;
	width: min(760px, calc(100vw - 1rem));
	max-height: calc(100vh - 1rem);
	background: #fff;
	border: 1px solid #dbe5f2;
	border-radius: 18px;
	box-shadow: 0 18px 42px rgba(15, 23, 42, 0.25);
	overflow: hidden;
	display: flex;
	flex-direction: column;
}

.fppm-crud-modal__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.85rem;
	padding: 0.92rem 1rem;
	border-bottom: 1px solid #e2e8f0;
	background: #fff;
}

.fppm-crud-modal__brand {
	display: inline-flex;
	align-items: center;
	gap: 0.85rem;
	min-width: 0;
}

.fppm-crud-modal__brand-icon {
	width: 40px;
	height: 40px;
	border-radius: 12px;
	background: linear-gradient(135deg, #3b82f6, #1d4ed8);
	color: #fff;
	font-size: 0.78rem;
	font-weight: 800;
	letter-spacing: 0.04em;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}

.fppm-crud-modal__brand-copy {
	min-width: 0;
}

.fppm-crud-modal__brand-title {
	margin: 0;
	font-size: 1.48rem;
	font-weight: 800;
	color: #0f172a;
	line-height: 1.08;
}

.fppm-crud-modal__brand-subtitle {
	margin: 0.08rem 0 0;
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	color: #64748b;
}

.fppm-crud-modal__head-actions {
	display: inline-flex;
	align-items: center;
	gap: 0.7rem;
	flex-shrink: 0;
}

.fppm-crud-modal__head h4 {
	margin: 0;
	font-size: clamp(1rem, 1.8vw, 1.22rem);
	color: #0f172a;
}

.fppm-crud-modal__close {
	border: 1px solid #e2e8f0;
	background: #fff;
	width: 36px;
	height: 36px;
	border-radius: 10px;
	font-size: 1.3rem;
	line-height: 1;
	color: #64748b;
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

.fppm-crud-modal__close:hover,
.fppm-crud-modal__close:focus {
	background: #f8fafc;
	color: #334155;
	border-color: #cbd5e1;
}

.fppm-crud-modal__form {
	display: flex;
	flex-direction: column;
	flex: 1;
	min-height: 0;
}

.fppm-crud-modal__body {
	flex: 1;
	min-height: 0;
	overflow-y: auto;
	padding: 0.95rem;
	background: #f8fafc;
}

.fppm-crud-modal__fields {
	display: grid;
	gap: 0.78rem;
}

.fppm-crud-modal__fields .fppm-field {
	background: #fff;
	border: 1px solid #dde5f1;
	border-radius: 14px;
	padding: 0.75rem 0.82rem;
}

.fppm-crud-modal__fields .fppm-field label {
	margin-bottom: 0.48rem;
	font-size: 0.86rem;
	letter-spacing: 0.01em;
	color: #334155;
}

.fppm-crud-modal__fields .fppm-field input[type="text"],
.fppm-crud-modal__fields .fppm-field input[type="date"],
.fppm-crud-modal__fields .fppm-field input[type="number"],
.fppm-crud-modal__fields .fppm-field select,
.fppm-crud-modal__fields .fppm-field textarea {
	border: 1px solid #c5d2e5;
	border-radius: 12px;
	padding: 0.7rem 0.78rem;
	background: #fff;
	font-size: 0.96rem;
}

.fppm-create-modal-shell .fppm-field select[multiple],
.fppm-crud-modal__fields .fppm-field select[multiple] {
	min-height: 48px;
	max-height: 160px;
}

.fppm-crud-modal__fields .fppm-field select[multiple] {
	min-height: 170px;
	padding-right: 0.55rem;
}

.fppm-crud-modal__fields .fppm-field input:focus,
.fppm-crud-modal__fields .fppm-field select:focus,
.fppm-crud-modal__fields .fppm-field textarea:focus {
	outline: none;
	border-color: #3b82f6;
	box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.16);
}

.fppm-crud-modal__feedback .fppm-notice {
	margin: 0.7rem 0 0;
}

.fppm-crud-modal__footer {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.72rem;
	padding: 0.8rem 1rem;
	border-top: 1px solid #dbe5f2;
	background: #f8fafc;
}

.fppm-crud-modal__status {
	font-size: 0.78rem;
	font-weight: 600;
	color: #64748b;
}

.fppm-crud-modal__actions {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 0.56rem;
}

.fppm-crud-modal__save,
.fppm-crud-modal__cancel {
	min-width: 118px;
	min-height: 42px;
	border-radius: 12px;
	font-size: 0.98rem;
	font-weight: 700;
}

@media (max-width: 820px) {
	.fppm-crud-modal {
		padding: 0.45rem;
	}

	.fppm-crud-modal__dialog {
		width: calc(100vw - 0.9rem);
		max-height: calc(100vh - 0.9rem);
		border-radius: 14px;
	}

	.fppm-crud-modal__head {
		padding: 0.78rem 0.85rem;
	}

	.fppm-crud-modal__body {
		padding: 0.85rem;
	}

	.fppm-crud-modal__footer {
		padding: 0.78rem 0.85rem;
	}

	.fppm-crud-modal__brand-title {
		font-size: 1.2rem;
	}

	.fppm-crud-modal__status {
		display: none;
	}

	.fppm-crud-modal__actions {
		width: 100%;
	}

	.fppm-crud-modal__save,
	.fppm-crud-modal__cancel {
		flex: 1 1 0;
		min-width: 0;
	}
}

.fppm-notification-shell {
	max-width: 100%;
}

.fppm-notification-center {
	background: #fff;
	border: 1px solid #e2e8f0;
	border-radius: 20px;
	box-shadow: 0 2px 10px rgba(15, 23, 42, 0.05);
	min-height: 600px;
	display: flex;
	flex-direction: column;
	overflow: hidden;
}

.fppm-notification-center__head {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	gap: 0.8rem;
	padding: 1rem 1.15rem;
	border-bottom: 1px solid #e2e8f0;
}

.fppm-notification-center__head .fppm-title {
	margin-bottom: 0.18rem;
}

.fppm-notification-center__head .fppm-muted {
	margin: 0;
}

.fppm-notification-center__head-actions {
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
}

.fppm-notification-prefs {
	padding: 0.75rem 1.15rem;
	border-bottom: 1px solid #e2e8f0;
	background: #f8fafc;
}

.fppm-notification-prefs__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0.55rem 0.8rem;
}

.fppm-notification-prefs__field {
	display: grid;
	gap: 0.2rem;
	font-size: 0.76rem;
	font-weight: 700;
	color: #334155;
}

.fppm-notification-prefs__field select {
	width: 100%;
	border: 1px solid #cbd5e1;
	border-radius: 8px;
	padding: 0.35rem 0.45rem;
	font-size: 0.78rem;
	background: #fff;
	color: #0f172a;
}

.fppm-notification-prefs__actions {
	margin-top: 0.65rem;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.55rem;
}

.fppm-notif-head-btn {
	border: 1px solid #bfdbfe;
	background: #eff6ff;
	color: #1d4ed8;
	font-size: 0.78rem;
	font-weight: 700;
	border-radius: 999px;
	padding: 0.35rem 0.7rem;
	cursor: pointer;
}

.fppm-notif-head-btn:hover,
.fppm-notif-head-btn:focus {
	background: #dbeafe;
	border-color: #93c5fd;
}

.fppm-notification-center__tabs {
	display: flex;
	align-items: center;
	gap: 0.35rem;
	flex-wrap: wrap;
	padding: 0.4rem 1.15rem;
	border-bottom: 1px solid #e2e8f0;
	background: #f8fafc;
}

.fppm-notif-tab {
	border: 1px solid transparent;
	background: transparent;
	color: #64748b;
	font-size: 0.8rem;
	font-weight: 700;
	border-radius: 999px;
	padding: 0.35rem 0.68rem;
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	gap: 0.3rem;
}

.fppm-notif-tab:hover,
.fppm-notif-tab:focus {
	color: #334155;
	background: #fff;
	border-color: #e2e8f0;
}

.fppm-notif-tab.is-active {
	color: #1d4ed8;
	background: #eff6ff;
	border-color: #bfdbfe;
}

.fppm-notif-tab__badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 18px;
	height: 18px;
	padding: 0 0.3rem;
	border-radius: 999px;
	background: #dbeafe;
	color: #1d4ed8;
	font-size: 0.68rem;
	font-weight: 800;
}

.fppm-notification-list {
	padding: 0.65rem;
	display: grid;
	gap: 0.6rem;
	overflow-y: auto;
	max-height: 70vh;
}

.fppm-notification-item {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 0.7rem;
	align-items: center;
	border: 1px solid #e2e8f0;
	border-radius: 14px;
	background: #fff;
	padding: 0.75rem 0.8rem;
	transition: border-color 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease;
	animation: fppmNotificationFade 0.24s ease both;
}

@keyframes fppmNotificationFade {
	from {
		opacity: 0;
		transform: translateY(4px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

.fppm-notification-item:hover {
	border-color: #cbd5e1;
	background: #f8fafc;
}

.fppm-notification-item.is-unread {
	border-color: #bfdbfe;
	background: #eff6ff;
	box-shadow: 0 1px 0 rgba(37, 99, 235, 0.05);
}

.fppm-notification-item__body {
	min-width: 0;
}

.fppm-notification-item__message {
	margin: 0;
	font-size: 0.88rem;
	line-height: 1.45;
	color: #0f172a;
}

.fppm-notification-item__meta {
	margin-top: 0.32rem;
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
	flex-wrap: wrap;
	font-size: 0.72rem;
	color: #64748b;
}

.fppm-notification-item__type {
	display: inline-flex;
	align-items: center;
	padding: 0.14rem 0.42rem;
	border-radius: 999px;
	border: 1px solid #dbe5f2;
	background: #f8fafc;
	color: #334155;
	font-weight: 700;
}

.fppm-notification-item__actions {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	flex-wrap: wrap;
}

.fppm-notif-link,
.fppm-notif-action {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border: 1px solid #cbd5e1;
	background: #fff;
	color: #1e3a8a;
	font-size: 0.73rem;
	font-weight: 700;
	border-radius: 999px;
	padding: 0.26rem 0.58rem;
	text-decoration: none;
	cursor: pointer;
}

.fppm-notif-link:hover,
.fppm-notif-link:focus,
.fppm-notif-action:hover,
.fppm-notif-action:focus {
	border-color: #93c5fd;
	background: #eff6ff;
	color: #1d4ed8;
}

.fppm-notif-action.is-danger {
	color: #b91c1c;
	border-color: #fecaca;
	background: #fff;
}

.fppm-notif-action.is-danger:hover,
.fppm-notif-action.is-danger:focus {
	background: #fef2f2;
	border-color: #fca5a5;
	color: #991b1b;
}

.fppm-notification-empty {
	border: 1px dashed #cbd5e1;
	border-radius: 14px;
	background: #f8fafc;
	color: #64748b;
	padding: 1.2rem;
	text-align: center;
	font-size: 0.86rem;
}

@media (max-width: 960px) {
	.fppm-project-grid {
		grid-template-columns: 1fr;
	}

	.fppm-notification-prefs__grid {
		grid-template-columns: 1fr;
	}

	.fppm-task-details-card__meta {
		grid-template-columns: 1fr;
	}

	.fppm-notification-item {
		grid-template-columns: 1fr;
	}

	.fppm-notification-item__actions {
		justify-content: flex-start;
	}
}

@media (max-width: 700px) {
	.fppm-directory-bulk {
		flex-direction: column;
		align-items: flex-start;
	}

	.fppm-directory-bulk__count {
		width: 100%;
	}

	.fppm-directory-bulk__actions {
		width: 100%;
	}

	.fppm-directory-bulk__actions .fppm-button {
		flex: 1;
	}

	.fppm-task-details-card__head {
		padding: 1rem;
	}

	.fppm-task-single-nav {
		margin-bottom: 0.65rem;
	}

	.fppm-task-single-nav a {
		font-size: 0.76rem;
		padding: 0.38rem 0.62rem;
	}

	.fppm-task-details-list {
		gap: 0.95rem;
	}

	.fppm-task-details-card {
		border-radius: 14px;
	}

	.fppm-task-details-card__badges {
		gap: 0.35rem;
	}

	.fppm-task-chip {
		font-size: 0.68rem;
		padding: 0.2rem 0.5rem;
	}

	.fppm-task-details-card__task-id {
		margin-left: 0;
		width: 100%;
		font-size: 0.74rem;
		color: #94a3b8;
	}

	.fppm-task-details-card h2 {
		font-size: clamp(1.12rem, 6vw, 1.4rem);
		line-height: 1.3;
	}

	.fppm-task-project-overview {
		font-size: 0.78rem;
		gap: 0.3rem;
	}

	.fppm-task-project-related {
		padding: 0.58rem;
		border-radius: 10px;
	}

	.fppm-task-project-related__grid {
		grid-template-columns: 1fr;
	}

	.fppm-task-details-card__meta {
		margin-top: 0.62rem;
		gap: 0.5rem;
		font-size: 0.84rem;
	}

	.fppm-task-attachments__grid {
		grid-template-columns: 1fr;
	}

	.fppm-task-details-card__author-row {
		align-items: flex-start;
		flex-direction: column;
	}

	.fppm-task-details-card__actions {
		width: 100%;
		justify-content: flex-start;
	}

	.fppm-task-details-card__replies {
		padding: 0.9rem 1rem 1rem;
	}

	.fppm-task-reply-card {
		padding: 0.78rem;
		border-radius: 12px;
	}

	.fppm-task-reply-card__head {
		gap: 0.45rem;
		margin-bottom: 0.45rem;
	}

	.fppm-task-reply-card__author strong {
		font-size: 0.86rem;
	}

	.fppm-task-reply-card__author span {
		font-size: 0.74rem;
	}

	.fppm-task-reply-card__tools {
		width: 100%;
		justify-content: flex-start;
	}

	.fppm-task-reply-card__content {
		padding-left: 0;
		font-size: 0.9rem;
		line-height: 1.52;
	}

	.fppm-reply-editor-form {
		padding: 0.78rem;
		border-radius: 12px;
	}

	.fppm-reply-editor {
		flex-direction: column;
	}

	.fppm-reply-editor__avatar {
		display: none;
	}

	.fppm-reply-editor__toolbar {
		overflow-x: auto;
		flex-wrap: nowrap;
		white-space: nowrap;
	}

	.fppm-reply-editor__actions {
		flex-direction: column;
		align-items: stretch;
	}

	.fppm-reply-editor__right {
		width: 100%;
		display: grid;
		grid-template-columns: 1fr 1fr;
	}

	.fppm-reply-editor__right select {
		min-width: 0;
		width: 100%;
	}

	.fppm-reply-editor__right select,
	.fppm-reply-send {
		flex: 1;
	}

	.fppm-reply-send {
		width: 100%;
		display: inline-flex;
		justify-content: center;
	}

	.fppm-task-directory__item {
		grid-template-columns: 1fr;
		align-items: flex-start;
		padding: 0.75rem;
	}

	.fppm-task-directory__item-title {
		font-size: 0.95rem;
	}

	.fppm-task-directory__item-actions {
		width: 100%;
		justify-content: flex-start;
	}

	.fppm-task-directory__item-open {
		width: 32px;
		height: 32px;
	}

	.fppm-directory-search {
		max-width: none;
	}

	.fppm-notification-center {
		border-radius: 14px;
	}

	.fppm-notification-center__head,
	.fppm-notification-center__tabs,
	.fppm-notification-prefs {
		padding-left: 0.8rem;
		padding-right: 0.8rem;
	}

	.fppm-notification-prefs__actions {
		flex-direction: column;
		align-items: stretch;
	}

	.fppm-notification-prefs__actions .fppm-button {
		width: 100%;
	}

	.fppm-notification-list {
		padding: 0.55rem;
	}
}

.fppm-kanban-board__head,
.fppm-files-board__head,
.fppm-calendar-board__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	margin-bottom: 1rem;
}

.fppm-kanban-board__feedback {
	margin-bottom: 0.75rem;
}

.fppm-kanban-board__feedback.is-hidden {
	display: none;
}

.fppm-kanban-board__filters,
.fppm-files-board__filters {
	display: flex;
	flex-wrap: wrap;
	gap: 0.55rem;
}

.fppm-kanban-board__filters select,
.fppm-files-board__filters select {
	min-height: 40px;
	min-width: 170px;
	border: 1px solid #d0d8e8;
	border-radius: 10px;
	background: #fff;
	padding: 0.42rem 0.7rem;
}

.fppm-kanban-board__grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 0.9rem;
}

.fppm-kanban-column {
	border: 1px solid #d8e0ee;
	border-radius: 12px;
	background: #f8fbff;
	min-height: 220px;
	display: flex;
	flex-direction: column;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.fppm-kanban-column.is-drop-target {
	border-color: #8db0e8;
	box-shadow: 0 0 0 3px rgba(44, 119, 229, 0.16);
}

.fppm-kanban-column__head {
	padding: 0.75rem 0.85rem;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.5rem;
	border-bottom: 1px solid #e6edf8;
}

.fppm-kanban-column__head h4 {
	margin: 0;
	font-size: 0.95rem;
}

.fppm-kanban-column__head span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 26px;
	height: 26px;
	border-radius: 999px;
	background: #e5efff;
	color: #2d4f82;
	font-weight: 700;
	font-size: 0.75rem;
}

.fppm-kanban-column__body {
	padding: 0.7rem;
	display: flex;
	flex-direction: column;
	gap: 0.6rem;
	min-height: 110px;
}

.fppm-kanban-column__body:focus-visible {
	outline: 2px solid #2f6fd8;
	outline-offset: 2px;
	border-radius: 10px;
}

.fppm-kanban-column__empty {
	margin: 0;
	font-size: 0.78rem;
}

.fppm-kanban-column__empty.is-hidden {
	display: none;
}

.fppm-kanban-card {
	display: flex;
	flex-direction: column;
	gap: 0.3rem;
	border: 1px solid #d7e2f0;
	border-radius: 11px;
	background: #fff;
	padding: 0.7rem 0.75rem;
	color: #223148;
	transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease, opacity 0.2s ease;
}

.fppm-kanban-card:hover {
	border-color: #9eb6dd;
	box-shadow: 0 4px 18px rgba(51, 88, 148, 0.12);
}

.fppm-kanban-card:focus-visible {
	outline: 2px solid #2f6fd8;
	outline-offset: 2px;
	border-color: #2f6fd8;
	box-shadow: 0 0 0 3px rgba(47, 111, 216, 0.16);
}

.fppm-kanban-card.is-draggable {
	cursor: grab;
	touch-action: manipulation;
}

.fppm-kanban-card.is-draggable:active {
	cursor: grabbing;
}

.fppm-kanban-card.is-dragging {
	opacity: 0.55;
	transform: scale(0.99);
}

.fppm-kanban-card.is-moving {
	opacity: 0.78;
	pointer-events: none;
}

.fppm-kanban-card strong {
	font-size: 0.9rem;
	line-height: 1.35;
}

.fppm-kanban-card strong a {
	color: #223148;
	text-decoration: none;
}

.fppm-kanban-card strong a:hover {
	color: #1d67d8;
}

.fppm-kanban-card span {
	font-size: 0.78rem;
	color: #5a6f8f;
}

.fppm-kanban-card em {
	font-style: normal;
	color: #2f4362;
}

.fppm-kanban-card__meta-link {
	color: #1d67d8;
	font-weight: 600;
	margin-top: 0.15rem;
	text-decoration: none;
}

.fppm-kanban-card__meta-link:hover {
	color: #0e54bd;
}

.fppm-kanban-card__actions {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	flex-wrap: wrap;
	margin-top: 0.2rem;
}

.fppm-kanban-card__project-link {
	font-size: 0.73rem;
	color: #43679a;
	text-decoration: none;
}

.fppm-kanban-card__project-link:hover {
	color: #1d67d8;
}

.fppm-kanban-card__locked {
	display: inline-flex;
	align-items: center;
	width: fit-content;
	font-size: 0.69rem;
	font-weight: 700;
	color: #8b5e00;
	background: #fff7d9;
	border: 1px solid #f2d27b;
	border-radius: 999px;
	padding: 0.08rem 0.45rem;
}

.fppm-files-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(230px, 1fr));
	gap: 0.85rem;
}

.fppm-file-card {
	border: 1px solid #d8e2f0;
	border-radius: 12px;
	overflow: hidden;
	background: #fff;
	display: flex;
	flex-direction: column;
	transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.fppm-file-card:hover {
	border-color: #b9cde8;
	box-shadow: 0 8px 18px rgba(30, 64, 175, 0.09);
	transform: translateY(-1px);
}

.fppm-file-card__preview {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 150px;
	background: #f4f8ff;
	border-bottom: 1px solid #e5edf8;
	text-decoration: none;
}

.fppm-file-card__preview img {
	width: 100%;
	height: 170px;
	object-fit: cover;
	display: block;
}

.fppm-file-card__preview span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 56px;
	height: 56px;
	border-radius: 14px;
	background: #dfeafc;
	color: #27466d;
	font-weight: 700;
	letter-spacing: 0.08em;
}

.fppm-file-card__meta {
	padding: 0.75rem;
	display: flex;
	flex-direction: column;
	gap: 0.3rem;
}

.fppm-file-card__meta strong {
	font-size: 0.88rem;
	line-height: 1.35;
	word-break: break-word;
}

.fppm-file-card__meta span {
	font-size: 0.76rem;
	color: #5a6f8f;
}

.fppm-file-card__links {
	display: flex;
	flex-wrap: wrap;
	gap: 0.45rem;
	margin-top: 0.35rem;
}

.fppm-file-card__links a {
	text-decoration: none;
	font-size: 0.74rem;
	font-weight: 600;
	color: #215ec2;
	background: #edf4ff;
	border-radius: 999px;
	padding: 0.22rem 0.58rem;
}

.fppm-file-card__links a:hover {
	background: #dceaff;
}

.fppm-calendar-board__head {
	justify-content: center;
}

.fppm-calendar-board__head .fppm-title {
	margin: 0 0.7rem;
	min-width: 170px;
	text-align: center;
}

.fppm-calendar-board__legend {
	display: flex;
	justify-content: center;
	gap: 0.7rem;
	margin-bottom: 0.85rem;
}

.fppm-calendar-board__legend span {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	padding: 0.18rem 0.55rem;
	border-radius: 999px;
	font-size: 0.75rem;
	font-weight: 600;
}

.fppm-calendar-board__legend span.is-task {
	background: #e9f1ff;
	color: #245bb6;
}

.fppm-calendar-board__legend span.is-note {
	background: #ecfbf2;
	color: #1f7f4f;
}

.fppm-calendar-grid {
	display: grid;
	grid-template-columns: repeat(7, minmax(0, 1fr));
	border: 1px solid #dbe5f3;
	border-radius: 14px;
	overflow: hidden;
}

.fppm-calendar-grid__weekday {
	background: #f2f6fd;
	border-right: 1px solid #dbe5f3;
	padding: 0.58rem 0.4rem;
	text-align: center;
	font-size: 0.75rem;
	font-weight: 700;
	color: #3d567e;
}

.fppm-calendar-grid__weekday:nth-child(7n) {
	border-right: 0;
}

.fppm-calendar-grid__cell {
	min-height: 110px;
	border-top: 1px solid #e2eaf7;
	border-right: 1px solid #e2eaf7;
	padding: 0.38rem;
	background: #fff;
	display: flex;
	flex-direction: column;
	gap: 0.35rem;
}

.fppm-calendar-grid__cell:nth-child(7n) {
	border-right: 0;
}

.fppm-calendar-grid__cell.is-empty {
	background: #f8fbff;
}

.fppm-calendar-grid__day {
	font-size: 0.78rem;
	font-weight: 700;
	color: #2d466d;
}

.fppm-calendar-grid__events {
	margin: 0;
	padding: 0;
	list-style: none;
	display: flex;
	flex-direction: column;
	gap: 0.2rem;
}

.fppm-calendar-grid__event a {
	display: block;
	text-decoration: none;
	font-size: 0.7rem;
	padding: 0.28rem 0.4rem;
	border-radius: 9px;
	line-height: 1.35;
	border: 1px solid transparent;
	transition: transform 0.15s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

.fppm-calendar-grid__event a:hover,
.fppm-calendar-grid__event a:focus {
	transform: translateY(-1px);
}

.fppm-calendar-grid__event.is-task a {
	background: #eaf1ff;
	color: #2b5caa;
	border-color: #caddfb;
}

.fppm-calendar-grid__event.is-note a {
	background: #ebfaf1;
	color: #25724c;
	border-color: #cbeeda;
}

.fppm-calendar-grid__event-row {
	display: flex;
	align-items: center;
	gap: 0.34rem;
	min-width: 0;
}

.fppm-calendar-grid__event-avatar {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 18px;
	height: 18px;
	border-radius: 999px;
	flex-shrink: 0;
	overflow: hidden;
}

.fppm-calendar-grid__event-avatar .avatar,
.fppm-calendar-grid__event-avatar img {
	width: 18px !important;
	height: 18px !important;
	border-radius: 999px !important;
	border: 0 !important;
	box-shadow: none !important;
	display: block;
}

.fppm-calendar-grid__event-label {
	display: block;
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.fppm-calendar-grid__event-meta {
	display: block;
	font-size: 0.63rem;
	line-height: 1.3;
	color: inherit;
	opacity: 0.8;
	padding-left: 1.38rem;
}

.fppm-calendar-grid__more {
	font-size: 0.68rem;
	color: #7488a8;
}

.fppm-calendar-grid__empty {
	font-size: 0.75rem;
	color: #9caecc;
}

.fppm-task-project-overview__files {
	display: inline-flex;
	align-items: center;
	padding: 0.14rem 0.55rem;
	border-radius: 999px;
	background: #edf4ff;
	color: #245fc0;
	font-size: 0.72rem;
	font-weight: 600;
	text-decoration: none;
}

.fppm-task-project-overview__files:hover {
	background: #deebff;
}

@media (max-width: 1100px) {
	.fppm-kanban-board__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 880px) {
	.fppm-calendar-board__head {
		gap: 0.65rem;
		margin-bottom: 0.8rem;
	}

	.fppm-calendar-board__head .fppm-title {
		min-width: 0;
		margin: 0;
		font-size: 1.02rem;
	}

	.fppm-calendar-board__legend {
		justify-content: flex-start;
		flex-wrap: wrap;
		margin-bottom: 0.65rem;
	}

	.fppm-calendar-grid {
		grid-template-columns: repeat(1, minmax(0, 1fr));
		border: 0;
		border-radius: 0;
		gap: 0.65rem;
		overflow: visible;
		background: transparent;
	}

	.fppm-calendar-grid__weekday {
		display: none;
	}

	.fppm-calendar-grid__cell {
		min-height: 0;
		border: 1px solid #d8e5f5;
		border-radius: 12px;
		padding: 0.58rem 0.62rem;
		background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
		box-shadow: 0 8px 18px rgba(30, 64, 175, 0.07);
	}

	.fppm-calendar-grid__cell:nth-child(7n) {
		border-right: 1px solid #d8e5f5;
	}

	.fppm-calendar-grid__cell.is-empty {
		display: none;
	}

	.fppm-calendar-grid__day {
		font-size: 0.8rem;
	}

	.fppm-calendar-grid__events {
		gap: 0.28rem;
	}

	.fppm-calendar-grid__event a {
		font-size: 0.76rem;
		padding: 0.34rem 0.44rem;
	}

	.fppm-calendar-grid__event-meta {
		font-size: 0.67rem;
		padding-left: 1.32rem;
	}
}

@media (max-width: 760px) {
	.fppm-kanban-board__head,
	.fppm-files-board__head {
		flex-direction: column;
		align-items: flex-start;
		gap: 0.75rem;
		margin-bottom: 0.75rem;
	}

	.fppm-kanban-board__grid {
		grid-template-columns: 1fr;
		gap: 0.72rem;
	}

	.fppm-files-board__filters,
	.fppm-kanban-board__filters {
		width: 100%;
	}

	.fppm-files-board__filters select,
	.fppm-kanban-board__filters select {
		flex: 1;
		width: 100%;
	}

	.fppm-kanban-column {
		border-radius: 11px;
		min-height: 170px;
	}

	.fppm-kanban-column__head {
		padding: 0.62rem 0.72rem;
	}

	.fppm-kanban-column__head h4 {
		font-size: 0.86rem;
	}

	.fppm-kanban-column__head span {
		min-width: 24px;
		height: 24px;
		font-size: 0.72rem;
	}

	.fppm-kanban-column__body {
		padding: 0.55rem;
		gap: 0.5rem;
	}

	.fppm-kanban-card {
		padding: 0.58rem 0.62rem;
		border-radius: 10px;
		gap: 0.25rem;
	}

	.fppm-kanban-card strong {
		font-size: 0.82rem;
		line-height: 1.32;
	}

	.fppm-kanban-card span,
	.fppm-kanban-card em {
		font-size: 0.72rem;
	}

	.fppm-kanban-card__actions {
		gap: 0.38rem;
	}

	.fppm-kanban-card__project-link,
	.fppm-kanban-card__meta-link {
		font-size: 0.7rem;
	}

	.fppm-files-grid {
		grid-template-columns: repeat(auto-fill, minmax(170px, 1fr));
		gap: 0.68rem;
	}

	.fppm-file-card {
		border-radius: 10px;
	}

	.fppm-file-card__preview {
		min-height: 124px;
	}

	.fppm-file-card__preview img {
		height: 128px;
	}

	.fppm-file-card__meta {
		padding: 0.62rem;
		gap: 0.24rem;
	}

	.fppm-file-card__meta strong {
		font-size: 0.8rem;
		line-height: 1.32;
	}

	.fppm-file-card__meta span {
		font-size: 0.7rem;
	}

	.fppm-file-card__links {
		gap: 0.35rem;
		margin-top: 0.28rem;
	}

	.fppm-file-card__links a {
		font-size: 0.68rem;
		padding: 0.2rem 0.5rem;
	}
}

@media (max-width: 560px) {
	.fppm-task-details-card__head {
		padding: 0.88rem;
	}

	.fppm-task-details-card__replies {
		padding: 0.76rem 0.82rem 0.86rem;
	}

	.fppm-task-reply-system__pill {
		border-radius: 12px;
		padding: 0.3rem 0.56rem;
	}

	.fppm-reply-editor__right {
		grid-template-columns: 1fr;
	}

	.fppm-calendar-board__head {
		gap: 0.45rem;
	}

	.fppm-calendar-board__head .fppm-button {
		min-width: 36px;
		padding: 0.4rem 0.55rem;
	}

	.fppm-calendar-board__head .fppm-title {
		font-size: 0.94rem;
	}

	.fppm-calendar-grid__cell {
		padding: 0.5rem 0.52rem;
		border-radius: 10px;
	}

	.fppm-calendar-grid__event-avatar {
		width: 16px;
		height: 16px;
	}

	.fppm-calendar-grid__event-avatar .avatar,
	.fppm-calendar-grid__event-avatar img {
		width: 16px !important;
		height: 16px !important;
	}

	.fppm-calendar-grid__event-meta {
		padding-left: 1.2rem;
	}

	.fppm-kanban-column {
		min-height: 150px;
	}

	.fppm-kanban-column__head {
		padding: 0.56rem 0.62rem;
	}

	.fppm-kanban-column__body {
		padding: 0.46rem;
		gap: 0.42rem;
	}

	.fppm-kanban-card {
		padding: 0.5rem 0.54rem;
		border-radius: 9px;
	}

	.fppm-kanban-card strong {
		font-size: 0.78rem;
	}

	.fppm-kanban-card span,
	.fppm-kanban-card em,
	.fppm-kanban-card__project-link,
	.fppm-kanban-card__meta-link {
		font-size: 0.68rem;
	}

	.fppm-files-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 0.55rem;
	}

	.fppm-file-card__preview {
		min-height: 100px;
	}

	.fppm-file-card__preview img {
		height: 102px;
	}

	.fppm-file-card__preview span {
		width: 46px;
		height: 46px;
		border-radius: 11px;
		font-size: 0.66rem;
	}

	.fppm-file-card__meta {
		padding: 0.52rem;
	}

	.fppm-file-card__meta strong {
		font-size: 0.74rem;
	}

	.fppm-file-card__links {
		margin-top: 0.2rem;
	}

	.fppm-file-card__links a {
		font-size: 0.64rem;
		padding: 0.16rem 0.42rem;
	}
}

/* PM login page */
.fppm-login {
	position: relative;
	display: flex;
	min-height: 100vh;
	background: #ffffff;
	color: #0f172a;
	font-family: "Inter", "Segoe UI", "Helvetica Neue", Arial, sans-serif;
}

.fppm-login *,
.fppm-login *::before,
.fppm-login *::after {
	box-sizing: border-box;
}

.fppm-login__hero {
	position: relative;
	display: none;
	width: 42%;
	min-height: 100vh;
	overflow: hidden;
	background: radial-gradient(circle at top left, #2f63d8 0%, #1e3a8a 38%, #172554 78%);
	padding: clamp(24px, 3.4vw, 52px);
	color: #ffffff;
}

.fppm-login__blob {
	position: absolute;
	border-radius: 999px;
	opacity: 0.45;
	filter: blur(64px);
}

.fppm-login__blob--top {
	width: 320px;
	height: 320px;
	top: -120px;
	left: -80px;
	background: #60a5fa;
}

.fppm-login__blob--bottom {
	width: 300px;
	height: 300px;
	right: -80px;
	bottom: -140px;
	background: #7c3aed;
}

.fppm-login__hero-brand,
.fppm-login__mobile-brand {
	position: relative;
	z-index: 2;
	display: inline-flex;
	align-items: center;
	gap: 0.72rem;
}

.fppm-login__hero-logo {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.25rem;
	height: 2.25rem;
	border-radius: 0.72rem;
	background: linear-gradient(145deg, #4e8cff 0%, #2f63d8 100%);
	color: #f8fbff;
	box-shadow: 0 10px 24px rgba(12, 74, 180, 0.38);
}

.fppm-login__hero-logo svg {
	width: 1.2rem;
	height: 1.2rem;
	display: block;
}

.fppm-login__hero-brand strong {
	font-size: 1.2rem;
	line-height: 1;
	letter-spacing: 0.01em;
}

.fppm-login__hero-copy {
	position: relative;
	z-index: 2;
	margin-top: clamp(56px, 9vh, 120px);
	max-width: 470px;
}

.fppm-login__hero-copy h2 {
	margin: 0 0 0.9rem;
	font-size: clamp(1.9rem, 2.6vw, 2.85rem);
	line-height: 1.18;
	font-weight: 700;
	letter-spacing: -0.014em;
	color: #ffffff;
}

.fppm-login__hero-copy p {
	margin: 0;
	font-size: 1.03rem;
	color: #dbeafe;
	line-height: 1.64;
}

.fppm-login__hero-footer {
	position: absolute;
	z-index: 2;
	left: clamp(24px, 3.4vw, 52px);
	right: clamp(24px, 3.4vw, 52px);
	bottom: clamp(20px, 2.8vw, 36px);
	color: rgba(191, 219, 254, 0.9);
	font-size: 0.83rem;
}

.fppm-login__panel {
	flex: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: clamp(18px, 3vw, 44px);
	background: #ffffff;
}

.fppm-login__mobile-brand {
	display: inline-flex;
	margin-bottom: 1.15rem;
}

.fppm-login__mobile-brand strong {
	font-size: 1.2rem;
	font-weight: 700;
}

.fppm-login__card {
	width: min(440px, 100%);
}

.fppm-login__card-head {
	margin-bottom: 1.35rem;
}

.fppm-login__card-head h1 {
	margin: 0 0 0.45rem;
	font-size: clamp(1.8rem, 3.1vw, 2.25rem);
	line-height: 1.16;
	font-weight: 700;
	color: #111827;
}

.fppm-login__card-head p {
	margin: 0;
	font-size: 0.95rem;
	color: #64748b;
}

.fppm-login__notice-wrap .fppm-notice {
	margin-bottom: 1rem;
}

.fppm-login__sso {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0.62rem;
	margin-bottom: 0.95rem;
}

.fppm-login__sso-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 2.5rem;
	border: 1px solid #dbe2ec;
	border-radius: 0.7rem;
	background: #f8fafc;
	color: #64748b;
	font-size: 0.82rem;
	font-weight: 600;
	cursor: default;
}

.fppm-login__divider {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0.25rem 0 1rem;
}

.fppm-login__divider::before {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	top: 50%;
	border-top: 1px solid #e2e8f0;
}

.fppm-login__divider span {
	position: relative;
	padding: 0 0.62rem;
	background: #fff;
	font-size: 0.72rem;
	color: #94a3b8;
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.fppm-login__form {
	display: grid;
	gap: 0.95rem;
}

.fppm-login__field > span:first-child {
	display: inline-block;
	font-size: 0.84rem;
	font-weight: 600;
	color: #334155;
	margin-bottom: 0.46rem;
}

.fppm-login__input-wrap {
	display: flex;
	align-items: center;
	position: relative;
	border: 1px solid #cbd5e1;
	border-radius: 0.75rem;
	background: #ffffff;
	transition: box-shadow 0.2s ease, border-color 0.2s ease;
}

.fppm-login__input-wrap:focus-within {
	border-color: #3b82f6;
	box-shadow: 0 0 0 4px rgba(59, 130, 246, 0.16);
}

.fppm-login__input-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.6rem;
	color: #94a3b8;
	flex-shrink: 0;
}

.fppm-login__input-icon svg {
	width: 1rem;
	height: 1rem;
	display: block;
}

.fppm-login__input-wrap input[type="text"],
.fppm-login__input-wrap input[type="password"] {
	flex: 1;
	min-width: 0;
	border: 0;
	outline: none;
	background: transparent;
	padding: 0.74rem 0.7rem 0.74rem 0;
	font-size: 0.95rem;
	color: #0f172a;
}

.fppm-login__input-wrap input::placeholder {
	color: #94a3b8;
}

.fppm-login__toggle {
	border: 0;
	background: transparent;
	color: #94a3b8;
	cursor: pointer;
	width: 2.6rem;
	height: 2.6rem;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0;
}

.fppm-login__toggle:hover,
.fppm-login__toggle:focus {
	color: #334155;
}

.fppm-login__toggle svg {
	display: block;
	width: 1.05rem;
	height: 1.05rem;
}

.fppm-login__toggle-eyeoff {
	display: none;
}

.fppm-login__toggle.is-visible .fppm-login__toggle-eye {
	display: none;
}

.fppm-login__toggle.is-visible .fppm-login__toggle-eyeoff {
	display: block;
}

.fppm-login__meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 0.7rem;
	margin-top: 0.15rem;
}

.fppm-login__remember {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	font-size: 0.84rem;
	color: #475569;
	cursor: pointer;
}

.fppm-login__remember input[type="checkbox"] {
	width: 0.96rem;
	height: 0.96rem;
	accent-color: #2563eb;
}

.fppm-login__meta a,
.fppm-login__register a {
	color: #2563eb;
	text-decoration: none;
	font-weight: 600;
}

.fppm-login__meta a:hover,
.fppm-login__register a:hover {
	color: #1d4ed8;
	text-decoration: underline;
}

.fppm-login__submit {
	margin-top: 0.46rem;
	border: 1px solid #2563eb;
	background: #2563eb;
	color: #ffffff;
	border-radius: 0.75rem;
	min-height: 2.85rem;
	padding: 0.72rem 1rem;
	font-size: 0.95rem;
	font-weight: 600;
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.55rem;
	transition: background-color 0.2s ease, border-color 0.2s ease, opacity 0.2s ease;
}

.fppm-login__submit:hover,
.fppm-login__submit:focus {
	background: #1d4ed8;
	border-color: #1d4ed8;
}

.fppm-login__submit[disabled] {
	opacity: 0.82;
	cursor: wait;
}

.fppm-login__submit-spinner {
	display: none;
	width: 1rem;
	height: 1rem;
	border: 2px solid rgba(255, 255, 255, 0.35);
	border-top-color: #ffffff;
	border-radius: 999px;
	animation: fppm-login-spin 0.85s linear infinite;
}

.fppm-login__form.is-submitting .fppm-login__submit-text {
	display: none;
}

.fppm-login__form.is-submitting .fppm-login__submit-spinner {
	display: inline-block;
}

.fppm-login__register {
	margin: 1.1rem 0 0;
	font-size: 0.85rem;
	color: #64748b;
}

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

@media (min-width: 1024px) {
	.fppm-login__hero {
		display: flex;
		flex-direction: column;
	}

	.fppm-login__mobile-brand {
		display: none;
	}
}

@media (max-width: 640px) {
	.fppm-login__panel {
		padding: 1.15rem;
	}

	.fppm-login__sso {
		grid-template-columns: 1fr;
	}

	.fppm-login__meta {
		flex-direction: column;
		align-items: flex-start;
	}
}

/* Asana-inspired clean surface pass: reduce border-box density. */
.fppm-shell {
	--fppm-bg: #f6f7fb;
	--fppm-border: #e7ebf1;
	--fppm-text: #1f2937;
	--fppm-muted: #6b7280;
}

.fppm-card,
.fppm-subcard,
.fppm-task-directory,
.fppm-project-list-card,
.fppm-task-single-card,
.fppm-task-project-overview,
.fppm-note-card {
	background: #fff;
	background-image: none;
	border: 1px solid #e7ebf1;
	box-shadow: 0 1px 2px rgba(15, 23, 42, 0.05);
}

.fppm-project-section,
.fppm-task-create__section {
	background: transparent;
	border: 0;
	border-top: 1px solid #edf1f6;
	border-radius: 0;
	padding: 1rem 0;
}

.fppm-project-section:first-of-type,
.fppm-task-create__section:first-of-type {
	border-top: 0;
	padding-top: 0.35rem;
}

.fppm-create-modal-shell__body .fppm-project-section,
.fppm-create-modal-shell__body .fppm-task-create__section {
	border: 0;
	border-top: 1px solid #edf1f6;
	border-radius: 0;
	background: transparent;
	padding: 0.95rem 0;
}

.fppm-task-directory__item {
	border: 1px solid #e8ecf3;
	background: #fff;
	box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
}

.fppm-task-directory__item:hover {
	border-color: #d4dce9;
	box-shadow: 0 6px 16px rgba(15, 23, 42, 0.08);
	transform: translateY(-1px);
}

.fppm-crud-modal__fields .fppm-field {
	background: transparent;
	border: 0;
	border-bottom: 1px solid #edf1f6;
	border-radius: 0;
	padding: 0 0 0.92rem;
}

.fppm-crud-modal__fields .fppm-field:last-child {
	border-bottom: 0;
	padding-bottom: 0;
}

.fppm-field input[type="text"],
.fppm-field input[type="date"],
.fppm-field input[type="number"],
.fppm-field select,
.fppm-field textarea,
.fppm-form input[type="text"],
.fppm-form input[type="date"],
.fppm-form input[type="number"],
.fppm-form select,
.fppm-form textarea,
.fppm-shell .select2-container--default .select2-selection--single,
.fppm-shell .select2-container--default .select2-selection--multiple {
	border-color: #d7ddea;
	background: #fff;
}

.fppm-field input[type="text"]:focus,
.fppm-field input[type="date"]:focus,
.fppm-field input[type="number"]:focus,
.fppm-field select:focus,
.fppm-field textarea:focus,
.fppm-form input[type="text"]:focus,
.fppm-form input[type="date"]:focus,
.fppm-form input[type="number"]:focus,
.fppm-form select:focus,
.fppm-form textarea:focus,
.fppm-shell .select2-container--default.select2-container--focus .select2-selection--single,
.fppm-shell .select2-container--default.select2-container--open .select2-selection--single,
.fppm-shell .select2-container--default.select2-container--focus .select2-selection--multiple,
.fppm-shell .select2-container--default.select2-container--open .select2-selection--multiple {
	border-color: #2563eb;
	box-shadow: 0 0 0 2px rgba(37, 99, 235, 0.14);
}

.fppm-button {
	background: #2563eb;
	border-color: #2563eb;
	box-shadow: 0 1px 2px rgba(37, 99, 235, 0.25);
}

.fppm-button:hover,
.fppm-button:focus {
	background: #1d4ed8;
	border-color: #1d4ed8;
	transform: none;
	box-shadow: 0 4px 10px rgba(37, 99, 235, 0.24);
}

.fppm-button-secondary,
.fppm-button-ghost {
	background: #fff;
	border-color: #d7ddea;
	color: #334155;
	box-shadow: none;
}

.fppm-button-secondary:hover,
.fppm-button-secondary:focus,
.fppm-button-ghost:hover,
.fppm-button-ghost:focus {
	background: #f8fafc;
	border-color: #c7d2e2;
	transform: none;
}

/* Final clean surface pass: less box-heavy, Asana-inspired hierarchy. */
.fppm-shell {
	--fppm-bg: #f6f8fc;
	--fppm-border: #e7edf5;
	--fppm-border-strong: #dbe5f1;
	--fppm-text: #1f2937;
	--fppm-muted: #66758b;
}

.fppm-card,
.fppm-subcard,
.fppm-task-directory,
.fppm-project-list-card,
.fppm-task-single-card,
.fppm-task-details-card,
.fppm-task-project-overview,
.fppm-note-card,
.fppm-notes-shell,
.fppm-notification-shell,
.fppm-project-tile,
.fppm-project-single-card__team,
.fppm-file-card,
.fppm-kanban-column {
	background: #ffffff;
	background-image: none;
	border: 1px solid var(--fppm-border);
	box-shadow: 0 1px 2px rgba(15, 23, 42, 0.05);
}

.fppm-project-section,
.fppm-task-create__section,
.fppm-create-modal-shell__body .fppm-project-section,
.fppm-create-modal-shell__body .fppm-task-create__section,
.fppm-crud-modal__fields .fppm-field {
	background: transparent;
	border: 0;
	border-top: 1px solid #edf2f8;
	border-radius: 0;
	padding-left: 0;
	padding-right: 0;
}

.fppm-project-section:first-of-type,
.fppm-task-create__section:first-of-type,
.fppm-crud-modal__fields .fppm-field:first-child {
	border-top: 0;
}

.fppm-create-modal-shell__body,
.fppm-crud-modal__body {
	background: #ffffff;
}

.fppm-create-modal-shell__dialog,
.fppm-crud-modal__dialog,
.fppm-notes-modal__dialog {
	width: min(920px, calc(100vw - 1.6rem));
	max-height: calc(100vh - 1.6rem);
	border: 1px solid var(--fppm-border-strong);
	border-radius: 16px;
	box-shadow: 0 24px 65px rgba(15, 23, 42, 0.24);
}

.fppm-create-modal-shell__head,
.fppm-crud-modal__head,
.fppm-notes-modal__head,
.fppm-crud-modal__footer {
	background: #ffffff;
	border-color: var(--fppm-border);
}

.fppm-create-modal-shell__close,
.fppm-crud-modal__close,
.fppm-notes-modal__close {
	border-color: var(--fppm-border);
}

.fppm-button {
	background: #2563eb;
	border-color: #2563eb;
	font-weight: 600;
	border-radius: 9px;
	box-shadow: none;
}

.fppm-button:hover,
.fppm-button:focus {
	background: #1d4ed8;
	border-color: #1d4ed8;
	box-shadow: 0 4px 10px rgba(37, 99, 235, 0.2);
}

.fppm-button-secondary,
.fppm-button-ghost {
	border-color: #d5deea;
	background: #ffffff;
	color: #334155;
}

.fppm-button-secondary:hover,
.fppm-button-secondary:focus,
.fppm-button-ghost:hover,
.fppm-button-ghost:focus {
	background: #f8fafc;
	border-color: #c8d4e4;
}

.fppm-field input[type="text"],
.fppm-field input[type="date"],
.fppm-field input[type="number"],
.fppm-field select,
.fppm-field textarea,
.fppm-form input[type="text"],
.fppm-form input[type="date"],
.fppm-form input[type="number"],
.fppm-form select,
.fppm-form textarea,
.fppm-shell .select2-container--default .select2-selection--single,
.fppm-shell .select2-container--default .select2-selection--multiple {
	background: #ffffff;
	border-color: #d5deea;
}

.fppm-field input[type="text"]:focus,
.fppm-field input[type="date"]:focus,
.fppm-field input[type="number"]:focus,
.fppm-field select:focus,
.fppm-field textarea:focus,
.fppm-form input[type="text"]:focus,
.fppm-form input[type="date"]:focus,
.fppm-form input[type="number"]:focus,
.fppm-form select:focus,
.fppm-form textarea:focus,
.fppm-shell .select2-container--default.select2-container--focus .select2-selection--single,
.fppm-shell .select2-container--default.select2-container--open .select2-selection--single,
.fppm-shell .select2-container--default.select2-container--focus .select2-selection--multiple,
.fppm-shell .select2-container--default.select2-container--open .select2-selection--multiple {
	border-color: #2563eb;
	box-shadow: 0 0 0 2px rgba(37, 99, 235, 0.14);
}

.fppm-directory-tabs,
.fppm-directory-bulk {
	background: #f8fafd;
	border-color: #e3eaf3;
}

.fppm-directory-tab.is-active {
	box-shadow: none;
	border: 1px solid #dbe5f1;
}

.fppm-task-directory__head {
	padding-bottom: 0.5rem;
	margin-bottom: 0.65rem;
	border-color: #edf2f8;
}

.fppm-task-directory__list {
	gap: 0.6rem;
}

.fppm-task-directory__item {
	border: 1px solid #e7edf5;
	border-radius: 12px;
	box-shadow: none;
	padding: 0.8rem;
}

.fppm-task-directory__item:hover {
	border-color: #d5dfec;
	box-shadow: 0 8px 18px rgba(15, 23, 42, 0.07);
	transform: translateY(-1px);
}

.fppm-task-directory__item-open {
	background: #f8fafc;
	border: 1px solid #dbe5f1;
	color: #334155;
}

.fppm-task-directory__item-open:hover,
.fppm-task-directory__item-open:focus {
	background: #eef2f7;
	border-color: #cfd8e6;
	color: #1f2937;
}

.fppm-project-tile {
	border-radius: 14px;
	box-shadow: none;
}

.fppm-project-tile:hover {
	border-color: #d5deeb;
	box-shadow: 0 10px 20px rgba(15, 23, 42, 0.07);
}

.fppm-project-tile__description {
	border: 0;
	border-left: 2px solid #dbe8ff;
	background: #f8fbff;
	padding: 0.45rem 0.62rem;
	border-radius: 8px;
}

.fppm-project-tile__tasks {
	margin-top: 0.62rem;
	padding: 0.62rem 0 0;
	border: 0;
	border-top: 1px solid #edf2f8;
	background: transparent;
	border-radius: 0;
}

.fppm-project-task-card {
	border: 1px solid #e8eef7;
	background: #fcfdff;
	box-shadow: none;
}

.fppm-project-task-card:hover,
.fppm-project-task-card:focus {
	border-color: #d4e1f3;
	box-shadow: 0 4px 12px rgba(15, 23, 42, 0.06);
}

.fppm-project-single-card__team {
	position: sticky;
	top: 82px;
}

.fppm-project-team-list__item {
	border: 0;
	border-bottom: 1px solid #edf2f8;
	background: transparent;
	border-radius: 0;
	padding: 0.38rem 0.12rem;
}

.fppm-project-team-list__item:last-child {
	border-bottom: 0;
}

.fppm-project-team-list__position {
	border-color: #dfe8f3;
	background: #f8fafd;
	color: #4b5d77;
}

.fppm-task-reply-card,
.fppm-task-attachment,
.fppm-upload-item {
	border-color: #e7edf5;
	box-shadow: none;
}

.fppm-task-reply-card:hover,
.fppm-task-attachment:hover {
	border-color: #d8e2ef;
}

.fppm-kanban-column {
	background: #f8fafd;
	border-color: #e2eaf4;
}

.fppm-kanban-column__head {
	background: transparent;
	border-color: #e7edf6;
}

.fppm-kanban-card {
	border: 1px solid #e5ebf4;
	background: #ffffff;
	box-shadow: none;
}

.fppm-kanban-card:hover {
	border-color: #d3deec;
	box-shadow: 0 8px 16px rgba(15, 23, 42, 0.07);
}

.fppm-files-grid {
	gap: 0.72rem;
}

.fppm-file-card {
	border-color: #e4eaf3;
	box-shadow: none;
}

.fppm-file-card:hover {
	border-color: #d3deec;
	box-shadow: 0 8px 16px rgba(15, 23, 42, 0.07);
}

.fppm-file-card__preview {
	background: #f8fafd;
	border-color: #edf2f8;
}

.fppm-calendar-grid {
	border: 0;
	gap: 0.58rem;
	background: transparent;
}

.fppm-calendar-grid__weekday {
	background: transparent;
	border: 0;
	color: #607089;
	font-size: 0.74rem;
}

.fppm-calendar-grid__cell {
	border: 1px solid #e5ecf6;
	border-radius: 12px;
	background: #ffffff;
	box-shadow: none;
}

.fppm-calendar-grid__cell:nth-child(7n) {
	border-right: 1px solid #e5ecf6;
}

.fppm-calendar-grid__event a {
	border-radius: 8px;
}

.fppm-notification-item {
	border-color: #e7edf5;
	box-shadow: none;
}

.fppm-notification-item:hover {
	border-color: #d5dfec;
	box-shadow: 0 6px 14px rgba(15, 23, 42, 0.06);
}

@media (max-width: 860px) {
	.fppm-create-modal-shell__dialog,
	.fppm-crud-modal__dialog,
	.fppm-notes-modal__dialog {
		width: calc(100vw - 1rem);
		max-height: calc(100vh - 1rem);
	}

	.fppm-create-modal-shell__body,
	.fppm-crud-modal__body,
	.fppm-notes-modal__body {
		padding-left: 0.82rem;
		padding-right: 0.82rem;
	}

	.fppm-project-single-card__meta-layout {
		grid-template-columns: 1fr;
	}

	.fppm-project-single-card__team {
		position: static;
	}
}

/* Micro-pass: typography scale + spacing rhythm for key pages. */
.fppm-project-list-card,
.fppm-task-directory,
.fppm-task-details-card {
	border-radius: 14px;
}

.fppm-directory-head {
	gap: 0.85rem;
	margin-bottom: 0.75rem;
}

.fppm-directory-head .fppm-title,
.fppm-task-directory__head .fppm-title,
.fppm-task-details-card__head .fppm-title {
	font-size: clamp(1.25rem, 1.1rem + 0.5vw, 1.6rem);
	line-height: 1.22;
	letter-spacing: -0.01em;
}

.fppm-directory-head .fppm-muted,
.fppm-task-directory__head .fppm-muted {
	font-size: 0.9rem;
	line-height: 1.45;
	color: #64748b;
}

.fppm-project-grid {
	gap: 1rem;
}

.fppm-project-tile {
	padding: 1rem 1.05rem;
}

.fppm-project-tile__head h4 {
	font-size: 1.02rem;
	line-height: 1.32;
	letter-spacing: -0.005em;
}

.fppm-project-tile__meta {
	margin: 0.5rem 0 0.7rem;
	font-size: 0.8rem;
	line-height: 1.5;
}

.fppm-project-tile__grid {
	gap: 0.6rem 0.75rem;
	margin-bottom: 0.72rem;
}

.fppm-project-tile__grid span {
	font-size: 0.7rem;
	letter-spacing: 0.02em;
	text-transform: uppercase;
}

.fppm-project-tile__grid strong {
	font-size: 0.85rem;
	line-height: 1.4;
	font-weight: 600;
}

.fppm-project-tile__tasks h5,
.fppm-project-single-card__tasks-head h4 {
	font-size: 0.82rem;
	letter-spacing: 0.02em;
	text-transform: uppercase;
}

.fppm-project-task-card {
	padding: 0.55rem 0.62rem;
	gap: 0.42rem;
}

.fppm-project-task-card__top strong {
	font-size: 0.82rem;
	line-height: 1.36;
}

.fppm-project-task-card__meta {
	font-size: 0.71rem;
	line-height: 1.45;
}

.fppm-project-single-card {
	gap: 1rem;
}

.fppm-project-single-card__head {
	padding-bottom: 0.9rem;
	margin-bottom: 0.15rem;
}

.fppm-project-single-card__team {
	padding: 0.82rem 0.8rem;
}

.fppm-project-team-list {
	gap: 0.22rem;
}

.fppm-project-team-list__meta strong {
	font-size: 0.83rem;
	line-height: 1.3;
}

.fppm-project-team-list__meta em {
	font-size: 0.73rem;
}

.fppm-task-directory__head {
	margin-bottom: 0.72rem;
	padding-bottom: 0.58rem;
}

.fppm-task-directory__list {
	gap: 0.55rem;
}

.fppm-task-directory__item {
	padding: 0.8rem 0.84rem;
	gap: 0.72rem;
}

.fppm-task-directory__item-title {
	font-size: 1rem;
	line-height: 1.32;
	letter-spacing: -0.005em;
}

.fppm-task-directory__item-meta {
	margin-top: 0.42rem;
	font-size: 0.77rem;
	line-height: 1.45;
	gap: 0.32rem 0.65rem;
}

.fppm-task-directory__item-open {
	width: 33px;
	height: 33px;
}

.fppm-task-details-list {
	gap: 1rem;
}

.fppm-task-details-card__head {
	padding: 1.2rem 1.25rem 1rem;
}

.fppm-task-details-card h2 {
	font-size: clamp(1.4rem, 1.12rem + 0.85vw, 1.92rem);
	line-height: 1.2;
	letter-spacing: -0.012em;
}

.fppm-task-details-card__task-id {
	font-size: 0.77rem;
	letter-spacing: 0.02em;
}

.fppm-task-project-overview {
	margin-top: 0.72rem;
	font-size: 0.79rem;
	gap: 0.36rem;
}

.fppm-task-details-card__meta {
	margin-top: 0.82rem;
	gap: 0.68rem;
	font-size: 0.86rem;
	line-height: 1.42;
}

.fppm-task-details-card__desc {
	margin-top: 0.85rem;
	font-size: 0.95rem;
	line-height: 1.72;
	color: #334155;
}

.fppm-task-details-card__author-row {
	margin-top: 0.95rem;
	padding-top: 0.8rem;
}

.fppm-task-details-card__author p {
	font-size: 0.86rem;
}

.fppm-task-details-card__author span {
	font-size: 0.73rem;
}

.fppm-task-details-card__replies {
	padding: 1.05rem 1.2rem 1.15rem;
}

.fppm-task-details-card__replies-head h3 {
	margin-bottom: 0.72rem;
	font-size: 0.88rem;
	letter-spacing: 0.04em;
}

.fppm-task-reply-list {
	gap: 0.68rem;
}

.fppm-task-reply-card {
	padding: 0.82rem 0.86rem;
	border-radius: 12px;
}

.fppm-task-reply-card__head {
	margin-bottom: 0.5rem;
}

.fppm-task-reply-card__author strong {
	font-size: 0.88rem;
}

.fppm-task-reply-card__author span {
	font-size: 0.75rem;
}

.fppm-task-reply-card__tools .fppm-thread-reply__id,
.fppm-task-reply-card__tools .fppm-copy-link-btn,
.fppm-task-reply-card__tools .fppm-reply-ref-btn,
.fppm-task-reply-card__tools .fppm-reply-edit-btn {
	font-size: 0.74rem;
}

.fppm-task-reply-card__content {
	padding-left: 2.3rem;
	font-size: 0.9rem;
	line-height: 1.68;
}

@media (max-width: 980px) {
	.fppm-project-grid {
		grid-template-columns: 1fr;
		gap: 0.82rem;
	}

	.fppm-project-tile {
		padding: 0.92rem;
	}

	.fppm-task-details-card__meta {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 680px) {
	.fppm-directory-head .fppm-title,
	.fppm-task-directory__head .fppm-title,
	.fppm-task-details-card h2 {
		letter-spacing: -0.008em;
	}

	.fppm-directory-tabs {
		padding: 0.16rem;
		gap: 0.2rem;
	}

	.fppm-directory-tab {
		font-size: 0.75rem;
		padding: 0.32rem 0.56rem;
	}

	.fppm-task-directory__item {
		padding: 0.7rem 0.72rem;
	}

	.fppm-task-directory__item-title {
		font-size: 0.94rem;
	}

	.fppm-task-directory__item-meta {
		font-size: 0.74rem;
		gap: 0.28rem 0.52rem;
	}

	.fppm-task-details-card__head {
		padding: 0.95rem 0.92rem 0.86rem;
	}

	.fppm-task-details-card__meta {
		grid-template-columns: 1fr;
		font-size: 0.82rem;
	}

	.fppm-task-details-card__desc {
		font-size: 0.89rem;
		line-height: 1.64;
	}

	.fppm-task-details-card__replies {
		padding: 0.86rem 0.86rem 0.94rem;
	}

	.fppm-task-reply-card {
		padding: 0.72rem 0.72rem;
	}

	.fppm-task-reply-card__content {
		padding-left: 0;
		font-size: 0.86rem;
		line-height: 1.62;
	}
}

/* Ultra-fine polish: button labels + chip spacing rhythm. */
.fppm-button,
.fppm-button-secondary,
.fppm-button-ghost,
.fppm-reply-send,
.fppm-directory-tab {
	font-weight: 600;
	letter-spacing: 0.005em;
	line-height: 1.22;
}

.fppm-button,
.fppm-button-secondary,
.fppm-button-ghost,
.fppm-reply-send {
	padding-top: 0.54rem;
	padding-bottom: 0.54rem;
	padding-left: 0.94rem;
	padding-right: 0.94rem;
	border-radius: 9px;
}

.fppm-create-modal-shell .fppm-actions .fppm-button,
.fppm-notes-modal__actions .fppm-button,
.fppm-crud-modal__actions .fppm-button {
	min-height: 38px;
}

.fppm-directory-tab {
	padding-top: 0.34rem;
	padding-bottom: 0.34rem;
	padding-left: 0.62rem;
	padding-right: 0.62rem;
	gap: 0.28rem;
}

.fppm-directory-tab__count,
.fppm-notif-tab__badge {
	min-width: 18px;
	height: 18px;
	padding: 0 0.34rem;
	font-size: 0.66rem;
	font-weight: 700;
	letter-spacing: 0;
}

.fppm-badges,
.fppm-task-details-card__badges,
.fppm-task-thread__badges {
	gap: 0.38rem 0.42rem;
}

.fppm-task-chip,
.fppm-task-project-overview__status,
.fppm-task-project-overview__client,
.fppm-project-team-list__position,
.fppm-task-reply-system__pill {
	font-weight: 600;
	letter-spacing: 0.01em;
	line-height: 1.25;
}

.fppm-task-chip {
	padding: 0.22rem 0.56rem;
	gap: 0.26rem;
	font-size: 0.71rem;
	border-radius: 999px;
}

.fppm-task-chip__dot {
	width: 5px;
	height: 5px;
}

.fppm-task-project-overview__status,
.fppm-task-project-overview__client {
	padding: 0.14rem 0.45rem;
	font-size: 0.69rem;
}

.fppm-project-team-list__position {
	padding: 0.08rem 0.34rem;
	font-size: 0.64rem;
}

.fppm-task-reply-system__pill {
	padding: 0.25rem 0.58rem;
	gap: 0.28rem;
	font-size: 0.72rem;
}

@media (max-width: 680px) {
	.fppm-button,
	.fppm-button-secondary,
	.fppm-button-ghost,
	.fppm-reply-send {
		padding-top: 0.5rem;
		padding-bottom: 0.5rem;
		padding-left: 0.84rem;
		padding-right: 0.84rem;
	}

	.fppm-task-chip {
		padding: 0.2rem 0.5rem;
		font-size: 0.68rem;
	}
}

.fppm-audit-shell {
	padding-top: 0.4rem;
}

.fppm-audit-log {
	display: grid;
	gap: 0.9rem;
}

.fppm-audit-log__head {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 0.85rem;
	flex-wrap: wrap;
}

.fppm-audit-log__count {
	display: inline-flex;
	align-items: center;
	padding: 0.3rem 0.64rem;
	border-radius: 999px;
	font-size: 0.73rem;
	font-weight: 700;
	background: #eff6ff;
	color: #1d4ed8;
	border: 1px solid #bfdbfe;
}

.fppm-audit-log__filters {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 0.68rem;
	align-items: end;
	padding: 0.85rem;
	background: #f8fafc;
	border: 1px solid #e2e8f0;
	border-radius: 12px;
}

.fppm-audit-log__filters label {
	display: grid;
	gap: 0.26rem;
}

.fppm-audit-log__filters label > span {
	font-size: 0.7rem;
	font-weight: 700;
	color: #475569;
	text-transform: uppercase;
	letter-spacing: 0.02em;
}

.fppm-audit-log__filters select,
.fppm-audit-log__filters input[type="search"] {
	width: 100%;
	height: 2.25rem;
	border: 1px solid #cbd5e1;
	border-radius: 10px;
	padding: 0 0.72rem;
	background: #ffffff;
	font-size: 0.84rem;
}

.fppm-audit-log__filters select:focus,
.fppm-audit-log__filters input[type="search"]:focus {
	outline: none;
	border-color: #3b82f6;
	box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.14);
}

.fppm-audit-log__search {
	grid-column: span 2;
}

.fppm-audit-log__filter-actions {
	display: flex;
	justify-content: flex-end;
	gap: 0.5rem;
}

.fppm-audit-log__list {
	display: grid;
	gap: 0.62rem;
}

.fppm-audit-log__item {
	padding: 0.86rem;
	border: 1px solid #e2e8f0;
	border-radius: 12px;
	background: #ffffff;
}

.fppm-audit-log__item-head {
	display: flex;
	align-items: center;
	gap: 0.6rem;
}

.fppm-audit-log__actor-avatar img,
.fppm-audit-log__actor-avatar .avatar {
	border-radius: 999px;
}

.fppm-audit-log__item-meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.35rem 0.55rem;
	font-size: 0.76rem;
	color: #64748b;
}

.fppm-audit-log__item-meta strong {
	font-size: 0.82rem;
	color: #0f172a;
}

.fppm-audit-log__item-message {
	margin: 0.58rem 0 0;
	font-size: 0.84rem;
	line-height: 1.46;
	color: #334155;
}

.fppm-audit-log__item-links {
	margin-top: 0.54rem;
	display: flex;
	flex-wrap: wrap;
	gap: 0.42rem;
}

.fppm-audit-log__item-links a {
	font-size: 0.75rem;
	font-weight: 700;
	color: #2563eb;
	text-decoration: none;
}

.fppm-audit-log__item-links a:hover,
.fppm-audit-log__item-links a:focus-visible {
	text-decoration: underline;
}

.fppm-audit-log__pager {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.58rem;
	flex-wrap: wrap;
}

.fppm-audit-log__pager-meta {
	font-size: 0.78rem;
	font-weight: 600;
	color: #475569;
}

@media (max-width: 920px) {
	.fppm-audit-log__filters {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.fppm-audit-log__search {
		grid-column: span 2;
	}

	.fppm-audit-log__filter-actions {
		grid-column: span 2;
		justify-content: flex-start;
	}
}

@media (max-width: 640px) {
	.fppm-audit-log__filters {
		grid-template-columns: 1fr;
	}

	.fppm-audit-log__search,
	.fppm-audit-log__filter-actions {
		grid-column: span 1;
	}
}

.fppm-draft-hint {
	margin: 0 0 0.75rem;
	font-size: 0.74rem;
	font-weight: 600;
	letter-spacing: 0.01em;
	line-height: 1.35;
}

.fppm-draft-hint.is-hidden {
	display: none;
}

.fppm-draft-hint.is-restored {
	color: #92400e;
}

.fppm-draft-hint.is-saved {
	color: #1d4ed8;
}

.fppm-command-bar {
	position: fixed;
	inset: 0;
	z-index: 100000;
	display: flex;
	justify-content: center;
	align-items: flex-start;
	padding: 7vh 1rem 1.25rem;
	opacity: 1;
	visibility: visible;
	transition: opacity 0.16s ease, visibility 0.16s ease;
}

.fppm-command-bar.is-hidden {
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
}

.fppm-command-bar__overlay {
	position: absolute;
	inset: 0;
	border: 0;
	padding: 0;
	background: rgba(15, 23, 42, 0.48);
	backdrop-filter: blur(2px);
	cursor: default;
}

.fppm-command-bar__panel {
	position: relative;
	width: min(760px, calc(100vw - 2rem));
	max-height: min(72vh, 640px);
	display: flex;
	flex-direction: column;
	background: #ffffff;
	border: 1px solid #dbe2ec;
	border-radius: 16px;
	box-shadow: 0 32px 80px rgba(15, 23, 42, 0.24);
	overflow: hidden;
}

.fppm-command-bar__head {
	padding: 0.78rem 0.86rem;
	border-bottom: 1px solid #e5ebf3;
	background: linear-gradient(180deg, #f8fafc 0%, #f1f5f9 100%);
}

.fppm-command-bar__input {
	width: 100%;
	height: 2.85rem;
	border: 1px solid #d0dae8;
	border-radius: 10px;
	padding: 0 0.9rem;
	font-size: 0.95rem;
	font-weight: 500;
	color: #0f172a;
	background: #ffffff;
	outline: none;
}

.fppm-command-bar__input:focus {
	border-color: #3b82f6;
	box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.16);
}

.fppm-command-bar__body {
	padding: 0.42rem;
	overflow: auto;
}

.fppm-command-bar__list {
	display: flex;
	flex-direction: column;
	gap: 0.28rem;
}

.fppm-command-bar__item {
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem;
	text-align: left;
	background: #ffffff;
	border: 1px solid transparent;
	border-radius: 10px;
	padding: 0.58rem 0.68rem;
	color: #0f172a;
	cursor: pointer;
	transition: background-color 0.14s ease, border-color 0.14s ease, transform 0.14s ease;
}

.fppm-command-bar__item:hover,
.fppm-command-bar__item.is-active {
	background: #eff6ff;
	border-color: #bfdbfe;
	transform: translateY(-1px);
}

.fppm-command-bar__item-label {
	font-size: 0.86rem;
	font-weight: 600;
	line-height: 1.35;
}

.fppm-command-bar__item-meta {
	font-size: 0.72rem;
	font-weight: 600;
	color: #64748b;
	flex-shrink: 0;
}

.fppm-command-bar__empty {
	margin: 0.38rem 0.3rem;
	padding: 0.6rem 0.5rem;
	font-size: 0.8rem;
	color: #64748b;
}

.fppm-command-bar__hint {
	margin: 0;
	padding: 0.58rem 0.84rem 0.7rem;
	border-top: 1px solid #ecf2f8;
	background: #f8fafc;
	font-size: 0.7rem;
	font-weight: 600;
	letter-spacing: 0.01em;
	color: #64748b;
}

.fppm-crud-modal .select2-container {
	width: 100% !important;
}

.fppm-crud-modal .select2-container--default .select2-selection--single,
.fppm-crud-modal .select2-container--default .select2-selection--multiple {
	border: 1px solid #c9d5e6;
	border-radius: 12px;
	background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%);
	min-height: 44px;
	padding: 0.25rem 0.42rem;
	transition: border-color 0.18s ease, box-shadow 0.18s ease, background-color 0.18s ease;
}

.fppm-crud-modal .select2-container--default .select2-selection--single .select2-selection__rendered {
	color: #0f172a;
	line-height: 1.45;
	padding-left: 0.42rem;
}

.fppm-crud-modal .select2-container--default .select2-selection--single .select2-selection__arrow {
	height: 100%;
	right: 8px;
}

.fppm-crud-modal .select2-container--default .select2-selection--multiple .select2-selection__choice {
	background: #e8f1ff;
	border: 1px solid #bfd6ff;
	color: #1d4ed8;
	border-radius: 999px;
	font-size: 0.74rem;
	font-weight: 700;
	padding: 0.08rem 0.48rem;
}

.fppm-crud-modal .select2-container--default.select2-container--focus .select2-selection--single,
.fppm-crud-modal .select2-container--default.select2-container--open .select2-selection--single,
.fppm-crud-modal .select2-container--default.select2-container--focus .select2-selection--multiple,
.fppm-crud-modal .select2-container--default.select2-container--open .select2-selection--multiple {
	border-color: #3b82f6;
	box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.16);
	background: #ffffff;
}

.fppm-crud-modal .select2-dropdown,
.select2-dropdown.fppm-select2-dropdown {
	border: 1px solid #c9d5e6;
	border-radius: 12px;
	box-shadow: 0 18px 36px rgba(15, 23, 42, 0.18);
	overflow: hidden;
}

.fppm-crud-modal .select2-results__option,
.select2-dropdown.fppm-select2-dropdown .select2-results__option {
	padding: 0.46rem 0.66rem;
	font-size: 0.84rem;
}

.fppm-crud-modal .select2-container--default .select2-results__option--highlighted[aria-selected],
.select2-dropdown.fppm-select2-dropdown .select2-results__option--highlighted[aria-selected] {
	background-color: #2563eb;
	color: #ffffff;
}

.fppm-crud-modal .select2-search--dropdown .select2-search__field,
.select2-dropdown.fppm-select2-dropdown .select2-search__field {
	border: 1px solid #c9d5e6;
	border-radius: 9px;
	padding: 0.45rem 0.6rem;
}

@media (max-width: 782px) {
	.fppm-command-bar {
		padding-top: max(4.25rem, env(safe-area-inset-top));
		padding-left: 0.7rem;
		padding-right: 0.7rem;
	}

	.fppm-command-bar__panel {
		width: calc(100vw - 1.4rem);
		max-height: calc(100vh - 5.2rem);
		border-radius: 12px;
	}

	.fppm-command-bar__item {
		padding: 0.56rem 0.62rem;
	}

	.fppm-command-bar__item-label {
		font-size: 0.82rem;
	}
}

/* Final modal + task-detail polish (single source of truth). */
.fppm-crud-modal__dialog {
	width: min(880px, calc(100vw - 1.6rem));
	max-height: calc(100vh - 1.6rem);
	border-radius: 18px;
}

.fppm-crud-modal__head {
	padding: 0.9rem 1rem;
}

.fppm-crud-modal__brand-title {
	font-size: clamp(1.1rem, 2.1vw, 1.7rem);
	line-height: 1.1;
}

.fppm-crud-modal__brand-subtitle {
	letter-spacing: 0.09em;
}

.fppm-crud-modal__body {
	padding: 1rem;
}

.fppm-crud-modal__fields {
	gap: 0.88rem;
}

.fppm-crud-modal__fields .fppm-field {
	border: 1px solid #e1e8f3;
	border-radius: 14px;
	background: #ffffff;
	padding: 0.76rem 0.84rem;
}

.fppm-crud-modal__fields .fppm-field label {
	margin-bottom: 0.45rem;
	font-weight: 700;
	color: #334155;
}

.fppm-crud-modal__footer {
	padding: 0.82rem 1rem;
}

.fppm-crud-modal__actions {
	gap: 0.62rem;
}

.fppm-crud-modal .select2-container {
	width: 100% !important;
}

.fppm-crud-modal .select2-container--default .select2-selection--multiple {
	padding: 0.28rem 0.38rem;
	min-height: 46px;
	max-height: 136px;
	overflow-y: auto;
}

.fppm-crud-modal .select2-container--default .select2-selection--multiple .select2-selection__choice {
	display: inline-flex;
	align-items: center;
	gap: 0.2rem;
	margin-top: 0.18rem;
	margin-bottom: 0.18rem;
}

.fppm-crud-modal .select2-container--default .select2-selection--multiple .select2-selection__choice__remove {
	color: #1d4ed8;
	margin-right: 0.12rem;
}

.fppm-crud-modal .select2-dropdown,
.select2-dropdown.fppm-select2-dropdown {
	z-index: 10050;
	max-width: min(720px, calc(100vw - 2rem));
}

.fppm-crud-modal .select2-results > .select2-results__options,
.select2-dropdown.fppm-select2-dropdown .select2-results > .select2-results__options {
	max-height: 250px;
	overflow-y: auto;
}

.fppm-task-team-strip {
	margin-top: 0.76rem;
	margin-bottom: 0.9rem;
	padding: 0.85rem 0.95rem;
	border: 1px solid #e3ebf7;
	border-radius: 14px;
	background: linear-gradient(180deg, #f8fbff 0%, #ffffff 100%);
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.9rem;
}

.fppm-task-team-strip__left h4 {
	margin: 0 0 0.34rem;
	font-size: 0.92rem;
	font-weight: 700;
	color: #0f172a;
}

.fppm-task-team-strip__summary {
	margin: 0.34rem 0 0;
	font-size: 0.8rem;
	color: #475569;
	line-height: 1.45;
}

.fppm-task-tabs {
	margin-top: 0.76rem;
}

.fppm-task-tabs__nav {
	display: flex;
	flex-wrap: wrap;
	gap: 0.42rem;
	padding: 0.26rem;
	background: #f8fafd;
	border: 1px solid #e3ebf7;
	border-radius: 12px;
}

.fppm-task-tab {
	border: 1px solid transparent;
	background: transparent;
	color: #475569;
	font-size: 0.84rem;
	font-weight: 700;
	border-radius: 9px;
	padding: 0.38rem 0.7rem;
	line-height: 1.35;
	cursor: pointer;
	transition: all 0.16s ease;
}

.fppm-task-tab:hover,
.fppm-task-tab:focus {
	background: #eef4ff;
	color: #1d4ed8;
	border-color: #d4e3ff;
}

.fppm-task-tab.is-active {
	background: #ffffff;
	color: #1d4ed8;
	border-color: #bfd5ff;
	box-shadow: 0 1px 2px rgba(37, 99, 235, 0.12);
}

.fppm-task-tab-panel {
	margin-top: 0.72rem;
	padding: 0.86rem 0.94rem;
	border: 1px solid #e6edf7;
	border-radius: 13px;
	background: #ffffff;
}

.fppm-task-tab-panel.is-active {
	animation: fppmFadeInPanel 0.18s ease;
}

.fppm-task-doc-grid {
	margin-top: 0.78rem;
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 0.56rem;
}

.fppm-task-doc-card {
	background: #f8fbff;
	border: 1px solid #dce7f8;
	border-radius: 11px;
	padding: 0.65rem 0.72rem;
	display: grid;
	gap: 0.24rem;
}

.fppm-task-doc-card strong {
	font-size: 0.74rem;
	text-transform: uppercase;
	letter-spacing: 0.03em;
	color: #64748b;
}

.fppm-task-doc-card span {
	font-size: 0.84rem;
	color: #1e293b;
}

.fppm-task-note-list {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0.58rem;
}

.fppm-task-note-card {
	background: #ffffff;
	border: 1px solid #dbe7f6;
	border-radius: 11px;
	padding: 0.62rem 0.68rem;
}

.fppm-task-note-card h5 {
	margin: 0 0 0.22rem;
	font-size: 0.86rem;
	color: #0f172a;
}

.fppm-task-note-card p {
	margin: 0 0 0.24rem;
	font-size: 0.78rem;
	color: #475569;
	line-height: 1.45;
}

.fppm-task-note-card span {
	font-size: 0.7rem;
	color: #64748b;
	font-weight: 600;
}

@keyframes fppmFadeInPanel {
	from {
		opacity: 0;
		transform: translateY(2px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

@media (max-width: 880px) {
	.fppm-task-doc-grid,
	.fppm-task-note-list {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 782px) {
	.fppm-crud-modal__head {
		padding: 0.75rem 0.82rem;
	}

	.fppm-crud-modal__body {
		padding: 0.82rem;
	}

	.fppm-crud-modal__footer {
		padding: 0.72rem 0.82rem;
	}

	.fppm-task-team-strip {
		flex-direction: column;
		align-items: stretch;
	}

	.fppm-task-team-strip__actions .fppm-button {
		width: 100%;
	}
}

/* Final CRUD modal polish */
.fppm-crud-modal__dialog {
	width: min(860px, calc(100vw - 2rem));
	max-height: min(92vh, 920px);
}

.fppm-crud-modal__form {
	flex: 0 1 auto;
	max-height: calc(min(92vh, 920px) - 74px);
}

.fppm-crud-modal__body {
	flex: 0 1 auto;
	max-height: calc(min(92vh, 920px) - 172px);
	background: linear-gradient(180deg, #fbfdff 0%, #f8fafd 100%);
}

.fppm-crud-modal__fields .fppm-field {
	border-color: #e4ecf8;
	box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.85);
}

.fppm-crud-modal__fields .fppm-field select[multiple] {
	min-height: 56px;
	max-height: 128px;
}

.fppm-crud-modal__fields .fppm-field select[multiple][data-fppm-select2-ready="1"] {
	min-height: 0;
	max-height: none;
}

.fppm-crud-modal .select2-container--default .select2-selection--multiple {
	min-height: 46px;
	max-height: 128px;
	overflow-y: auto;
}

.fppm-crud-modal .select2-container--default .select2-selection--multiple .select2-selection__choice {
	background: #ebf2ff;
	border-color: #c7dbff;
	color: #1d4ed8;
	font-size: 0.76rem;
	font-weight: 700;
}

.fppm-crud-modal .select2-container--default .select2-selection--multiple .select2-selection__choice__remove {
	color: #1e40af;
}

.fppm-crud-modal .select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover {
	color: #1e3a8a;
}

.fppm-crud-modal__actions .fppm-button {
	min-width: 132px;
}

.fppm-crud-modal__actions .fppm-button.fppm-button-secondary,
.fppm-crud-modal__actions .fppm-button.fppm-button-ghost {
	background: #ffffff;
	color: #334155;
	border-color: #cbd5e1;
}

.fppm-crud-modal__actions .fppm-button.fppm-button-secondary:hover,
.fppm-crud-modal__actions .fppm-button.fppm-button-secondary:focus,
.fppm-crud-modal__actions .fppm-button.fppm-button-ghost:hover,
.fppm-crud-modal__actions .fppm-button.fppm-button-ghost:focus {
	background: #f8fafc;
	color: #0f172a;
	border-color: #94a3b8;
}

.fppm-crud-modal__actions .fppm-button:disabled {
	background: #e2e8f0;
	border-color: #e2e8f0;
	color: #94a3b8;
	opacity: 1;
}

@media (max-width: 782px) {
	.fppm-crud-modal__dialog {
		width: calc(100vw - 1rem);
		max-height: calc(100vh - 1rem);
	}

	.fppm-crud-modal__form {
		max-height: calc(100vh - 5rem);
	}

	.fppm-crud-modal__body {
		max-height: calc(100vh - 10.4rem);
	}
}
