/* FCRMC Platform — front-end styles (from snippets 52, 67, 70, 73, 81). */

/* Role/login-aware visibility helpers for Elementor containers (snippet 67). Cosmetic only. */
body:not(.role-fc_client) .fcrmc-only-client,
body:not(.role-fc_provider) .fcrmc-only-provider,
body:not(.role-fc_consultant) .fcrmc-only-consultant,
body:not(.is-logged-in) .fcrmc-only-logged-in,
body.is-logged-in .fcrmc-only-logged-out,
body.role-fc_client .fcrmc-hide-for-client,
body.role-fc_provider .fcrmc-hide-for-provider,
body.role-fc_consultant .fcrmc-hide-for-consultant { display: none !important; }

/* Client dashboard buttons (snippet 52). */
.fcrmc-req-dash a.button,
.fcrmc-req-dash a.wp-element-button,
.fcrmc-req-dash .wp-block-button__link,
.fcrmc-req-dash .btn,
.fcrmc-req-dash .button {
	font-size: 12px !important;
	line-height: 1 !important;
	padding: 6px 10px !important;
	border-radius: 6px !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	text-decoration: none !important;
	margin: 0 !important;
}
.fcrmc-req-dash .wp-block-button { margin: 0 !important; }
.fcrmc-req-dash td { vertical-align: middle; }

/* Notices and connection states. */
.fcrmc-inline-notice,
#fcrmc-js-notice { margin-bottom: 12px; padding: 10px; border: 1px solid #d6efd6; background: #f6fff6; }
.fcrmc-notice-warn,
#fcrmc-js-notice.fcrmc-warn { border-color: #ffe8a1; background: #fffaf0; }
.fcrmc-notice-err,
#fcrmc-js-notice.fcrmc-err { border-color: #f5c2c7; background: #fff5f5; }
.fcrmc-notice-info { border-color: #cfe2ff; background: #f5f9ff; }
.fcrmc-state { margin: 16px 0 12px; padding: 12px; border: 1px solid #ffe8a1; background: #fffaf0; }
.fcrmc-state-confirmed { border-color: #d6efd6; background: #f6fff6; }
.fcrmc-state-declined { border-color: #e5e7eb; background: #f9fafb; }
.fcrmc-quota-widget { border: 1px solid #ccc; padding: 15px; border-radius: 6px; margin-bottom: 20px; }

/* Client requirement form: status while matching runs during the submission (0.9.4-dev). */
.fcrmc-matching-status { margin-top: 12px; padding: 10px; border: 1px solid #cfe2ff; background: #f5f9ff; font-weight: 600; }
.fcrmc-matching-status[hidden] { display: none; }

/* 1.0.1 — connection status badges, CONNECTED panel, view tabs and dashboard summary. */
.fcrmc-badge { display: inline-block; padding: 2px 9px; border: 1px solid; border-radius: 999px; font-size: 12px; font-weight: 600; line-height: 1.6; white-space: nowrap; }
.fcrmc-badge--available { color: #374151; background: #f9fafb; border-color: #d1d5db; }
.fcrmc-badge--pending { color: #6b4f00; background: #fffaf0; border-color: #f0d27a; }
.fcrmc-badge--connected { color: #1b5e20; background: #f1fbf1; border-color: #9fd59f; }
.fcrmc-badge--declined { color: #4b5563; background: #f3f4f6; border-color: #d1d5db; }
.fcrmc-status-line { margin: 0 0 14px; }
.fcrmc-connected { margin: 0 0 20px; padding: 16px 18px; border: 2px solid #9fd59f; border-radius: 8px; background: #f1fbf1; }
.fcrmc-connected p { margin: 0; }
.fcrmc-connected__label { margin-bottom: 6px !important; color: #1b5e20; font-size: 13px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.fcrmc-connected__name { font-size: 20px; font-weight: 700; line-height: 1.3; overflow-wrap: anywhere; }
.fcrmc-connected__type { margin-bottom: 10px !important; opacity: .85; }
.fcrmc-connected__line { line-height: 1.7; overflow-wrap: anywhere; }
.fcrmc-connected__meta { margin-top: 10px !important; font-size: 13px; opacity: .85; }
.fcrmc-tabs { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 14px; }
.fcrmc-tabs a { padding: 6px 12px; border: 1px solid #d1d5db; border-radius: 6px; text-decoration: none; }
.fcrmc-tabs a[aria-current="page"] { border-color: #1f2937; font-weight: 700; }
.fcrmc-conn-summary { margin-top: 12px; padding-top: 10px; border-top: 1px solid #e5e7eb; }
.fcrmc-conn-summary p { margin: 0 0 4px; }
.fcrmc-table-wrap { overflow-x: auto; }
.fcrmc-connections-table { width: 100%; border-collapse: collapse; border: 1px solid #e1e1e1; font-size: 15px; }
.fcrmc-connections-table th,
.fcrmc-connections-table td { padding: 8px 10px; text-align: left; vertical-align: top; }
.fcrmc-connections-table td { border-top: 1px solid #f0f0f0; }
.fcrmc-contact-cell { overflow-wrap: anywhere; min-width: 12em; }
.fcrmc-muted { font-size: 13px; opacity: .8; }
.fcrmc-nowrap { white-space: nowrap; }
.fcrmc-connections a.button { padding: 6px 10px !important; border-radius: 6px !important; font-size: 13px !important; line-height: 1.2 !important; text-decoration: none !important; }
