/* Extracted module styles. */
/* Extracted from modules/fellowship/class-fellowship-events.php */
.ymp-fellowship-events {
                max-width: 1440px;
                width: 100%;
            }

            .ymp-events-hero {
                background: linear-gradient(135deg, #ffffff 0%, #eef5ff 100%);
                border: 1px solid #c3d9f2;
                border-radius: 16px;
                margin: 0 0 22px;
                padding: 24px;
            }

            .ymp-events-hero h2 {
                font-size: 34px;
                line-height: 1.1;
                margin: 0 0 8px;
            }

            .ymp-events-hero p {
                color: #555;
                font-size: 16px;
                margin: 0;
                max-width: 850px;
            }

            .ymp-events-hero-meta {
                display: flex;
                flex-wrap: wrap;
                gap: 8px;
                margin-top: 14px;
            }

            .ymp-events-hero-meta span,
            .ymp-events-count-pill {
                background: #fff;
                border: 1px solid #dcdcde;
                border-radius: 999px;
                color: #1d2327;
                display: inline-block;
                font-size: 13px;
                font-weight: 800;
                padding: 6px 10px;
            }

            .ymp-events-dashboard-grid {
                display: grid;
                gap: 12px;
                grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
                margin: 0 0 22px;
            }

            .ymp-events-dashboard-card {
                background: #fff;
                border: 1px solid #dcdcde;
                border-left: 5px solid #2271b1;
                border-radius: 14px;
                box-shadow: 0 4px 14px rgba(0, 0, 0, 0.05);
                min-height: 100px;
                padding: 16px;
            }

            .ymp-events-dashboard-card strong {
                display: block;
                font-size: 32px;
                line-height: 1;
                margin-bottom: 8px;
            }

            .ymp-events-dashboard-card span {
                color: #646970;
                font-size: 13px;
                font-weight: 800;
            }

            .ymp-events-main-title {
                font-size: 24px;
                margin: 0 0 16px;
            }

            .ymp-events-my-rsvps {
                background: #fff;
                border: 1px solid #dcdcde;
                border-radius: 16px;
                box-shadow: 0 4px 14px rgba(0, 0, 0, 0.05);
                margin: 0 0 24px;
                padding: 18px;
            }

            .ymp-events-section-header {
                align-items: center;
                border-bottom: 1px solid #eee;
                display: flex;
                flex-wrap: wrap;
                gap: 10px;
                justify-content: space-between;
                margin-bottom: 14px;
                padding-bottom: 10px;
            }

            .ymp-events-section-header h3 {
                font-size: 22px;
                margin: 0;
            }

            .ymp-events-section-header span {
                background: #eef5ff;
                border: 1px solid #c3d9f2;
                border-radius: 999px;
                color: #174ea6;
                font-size: 12px;
                font-weight: 800;
                padding: 6px 10px;
            }

            .ymp-events-rsvp-grid {
                display: grid;
                gap: 12px;
                grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
            }

            .ymp-events-rsvp-card {
                background: #f6f7f7;
                border: 1px solid #e3e3e3;
                border-left: 5px solid #2271b1;
                border-radius: 12px;
                display: grid;
                gap: 6px;
                padding: 12px;
            }

            .ymp-events-rsvp-card strong {
                font-size: 16px;
            }

            .ymp-events-rsvp-card span {
                color: #50575e;
                font-size: 13px;
                font-weight: 700;
            }

            .ymp-event-owner-tools {
                background: #fff7d6;
                border: 1px solid #f0d36b;
                border-radius: 12px;
                color: #6b4e00;
                margin: 0 0 12px;
                padding: 10px;
            }

            .ymp-event-owner-tools strong {
                display: block;
                margin-bottom: 4px;
            }

            .ymp-event-owner-tools span {
                display: block;
                font-size: 12px;
                font-weight: 700;
            }

            .ymp-events-fellowship-card {
                background: #fff;
                border: 1px solid #dcdcde;
                border-radius: 16px;
                box-shadow: 0 4px 14px rgba(0, 0, 0, 0.05);
                margin: 0 0 24px;
                padding: 18px;
            }

            .ymp-events-fellowship-header {
                align-items: flex-start;
                border-bottom: 1px solid #eee;
                display: flex;
                gap: 16px;
                justify-content: space-between;
                margin: 0 0 16px;
                padding-bottom: 14px;
            }

            .ymp-events-fellowship-header h3 {
                font-size: 24px;
                line-height: 1.2;
                margin: 0 0 6px;
            }

            .ymp-events-fellowship-header p {
                color: #646970;
                margin: 0;
            }

            .ymp-events-create-panel {
                background: #f6f7f7;
                border: 1px solid #dcdcde;
                border-radius: 14px;
                margin: 0 0 18px;
                padding: 12px 14px;
            }

            .ymp-events-create-panel summary {
                cursor: pointer;
                font-size: 16px;
                font-weight: 800;
            }

            .ymp-events-create-form {
                margin-top: 14px;
            }

            .ymp-events-form-grid {
                display: grid;
                gap: 12px;
                grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
            }

            .ymp-events-form-grid p {
                margin: 0;
            }

            .ymp-events-form-wide {
                grid-column: 1 / -1;
            }

            .ymp-events-create-form label,
            .ymp-event-rsvp-form label {
                display: block;
                font-weight: 800;
                margin-bottom: 6px;
            }

            .ymp-events-create-form input,
            .ymp-events-create-form select,
            .ymp-events-create-form textarea,
            .ymp-event-rsvp-form select {
                max-width: 100%;
                min-height: 38px;
                width: 100%;
            }

            .ymp-events-section-title {
                font-size: 18px;
                margin: 18px 0 14px;
            }

            .ymp-events-grid {
                display: grid;
                gap: 16px;
                grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
            }

            .ymp-event-card,
            .ymp-events-empty {
                background: #fff;
                border: 1px solid #dcdcde;
                border-left: 5px solid #2271b1;
                border-radius: 14px;
                box-shadow: 0 3px 12px rgba(0, 0, 0, 0.04);
                padding: 16px;
            }

            .ymp-event-card {
                display: flex;
                flex-direction: column;
                min-height: 360px;
                scroll-margin-top: 24px;
            }

            .ymp-event-card-header {
                align-items: flex-start;
                display: flex;
                gap: 12px;
                margin: 0 0 12px;
            }

            .ymp-event-type-icon {
                align-items: center;
                background: #eef5ff;
                border: 1px solid #c3d9f2;
                border-radius: 12px;
                display: inline-flex;
                flex: 0 0 42px;
                font-size: 23px;
                height: 42px;
                justify-content: center;
                width: 42px;
            }

            .ymp-event-card h5 {
                font-size: 20px;
                line-height: 1.25;
                margin: 0 0 5px;
            }

            .ymp-event-card-header p {
                color: #646970;
                font-weight: 700;
                margin: 0;
            }

            .ymp-event-meta {
                display: grid;
                gap: 7px;
                margin: 0 0 12px;
            }

            .ymp-event-meta span {
                background: #f6f7f7;
                border: 1px solid #e3e3e3;
                border-radius: 999px;
                color: #50575e;
                display: inline-block;
                font-size: 12px;
                font-weight: 700;
                padding: 6px 9px;
            }

            .ymp-event-description {
                color: #3c434a;
                line-height: 1.55;
                margin: 0 0 14px;
            }

            .ymp-event-description.muted {
                color: #777;
            }

            .ymp-event-rsvp-counts {
                display: flex;
                flex-wrap: wrap;
                gap: 7px;
                margin: auto 0 14px;
            }

            .ymp-event-rsvp-counts span,
            .ymp-event-current-rsvp {
                border-radius: 999px;
                display: inline-block;
                font-size: 12px;
                font-weight: 800;
                padding: 6px 9px;
            }

            .ymp-event-rsvp-counts .going,
            .ymp-event-current-rsvp-going {
                background: #e7f7ed;
                color: #0f5f2e;
            }

            .ymp-event-rsvp-counts .maybe,
            .ymp-event-current-rsvp-maybe {
                background: #fff7d6;
                color: #6b4e00;
            }

            .ymp-event-rsvp-counts .declined,
            .ymp-event-current-rsvp-declined {
                background: #fdeaea;
                color: #9f1c1c;
            }

            .ymp-event-current-rsvp- {
                background: #f6f7f7;
                color: #646970;
            }

            .ymp-event-rsvp-form {
                background: #f6f7f7;
                border: 1px solid #e3e3e3;
                border-radius: 12px;
                padding: 12px;
            }

            .ymp-event-rsvp-row {
                align-items: center;
                display: grid;
                gap: 8px;
                grid-template-columns: minmax(0, 1fr) auto;
                margin-bottom: 9px;
            }

            .ymp-events-button {
                border: 1px solid #2271b1;
                border-radius: 8px;
                cursor: pointer;
                display: inline-block;
                font-weight: 800;
                padding: 9px 13px;
                text-decoration: none;
            }

            .ymp-events-button-primary {
                background: #2271b1;
                color: #fff;
                margin-top: 12px;
            }

            .ymp-events-button-secondary {
                background: #fff;
                color: #2271b1;
                white-space: nowrap;
            }

            .ymp-events-button-primary:hover {
                color: #fff;
                filter: brightness(0.95);
            }
            .ymp-events-button-danger{
                background:#b42318;
                border-color:#b42318;
                color:#fff;
                margin-top:6px;
            }

            @media (max-width: 700px) {
                .ymp-events-hero h2 {
                    font-size: 28px;
                }

                .ymp-events-fellowship-header,
                .ymp-event-rsvp-row {
                    display: grid;
                }

                .ymp-events-grid {
                    grid-template-columns: 1fr;
                }

                .ymp-events-button-secondary {
                    width: 100%;
                }
            }
        
            .ymp-events-toast {
                border-radius: 12px;
                box-shadow: 0 4px 14px rgba(0, 0, 0, 0.06);
                font-weight: 800;
                margin: 0 0 18px;
                padding: 13px 15px;
            }

            .ymp-events-toast-success {
                background: #e7f7ed;
                border: 1px solid #9ed6ae;
                color: #0f5f2e;
            }

            .ymp-events-toast-error {
                background: #fff1f0;
                border: 1px solid #e3a09a;
                color: #8a1f17;
            }

            .ymp-event-full-badge {
                background: #fff1f0;
                border: 1px solid #e3a09a;
                border-radius: 999px;
                color: #8a1f17;
                display: inline-block;
                font-size: 11px;
                font-weight: 900;
                margin-left: 8px;
                padding: 3px 7px;
                text-transform: uppercase;
            }

            .ymp-events-button-danger {
                background: #b32d2e;
                border-color: #b32d2e;
                color: #fff;
            }

            .ymp-events-button-danger:hover {
                color: #fff;
                filter: brightness(0.95);
            }

            .ymp-event-modal-backdrop {
                align-items: center;
                background: rgba(0, 0, 0, 0.45);
                bottom: 0;
                display: flex;
                justify-content: center;
                left: 0;
                padding: 20px;
                position: fixed;
                right: 0;
                top: 0;
                z-index: 99999;
            }

            .ymp-event-modal-backdrop[hidden] {
                display: none;
            }

            .ymp-event-modal {
                background: #fff;
                border-radius: 16px;
                box-shadow: 0 18px 60px rgba(0, 0, 0, 0.35);
                max-width: 460px;
                padding: 22px;
                width: 100%;
            }

            .ymp-event-modal h3 {
                font-size: 24px;
                margin: 0 0 10px;
            }

            .ymp-event-modal p {
                color: #50575e;
                line-height: 1.5;
                margin: 0 0 18px;
            }

            .ymp-event-modal-actions {
                display: flex;
                flex-wrap: wrap;
                gap: 8px;
                justify-content: flex-end;
            }

        
            .ymp-event-edit-panel {
                background: #fff;
                border: 1px solid #f0d36b;
                border-radius: 10px;
                margin-top: 8px;
                padding: 10px;
            }

            .ymp-event-edit-panel summary {
                cursor: pointer;
                font-weight: 800;
            }

            .ymp-event-edit-panel .ymp-events-create-form {
                margin-top: 12px;
            }

        
            .ymp-event-rsvp-counts .total {
                background: #eef5ff;
                color: #174ea6;
            }

            .ymp-event-rsvp-deadline {
                border-radius: 999px;
                display: inline-block;
                font-size: 12px;
                font-weight: 800;
                margin: 0 0 12px;
                padding: 6px 9px;
            }

            .ymp-event-rsvp-deadline.open {
                background: #e7f7ed;
                color: #0f5f2e;
            }

            .ymp-event-rsvp-deadline.closed {
                background: #fdeaea;
                color: #9f1c1c;
            }

            .ymp-event-analytics {
                background: #f6f7f7;
                border: 1px solid #e3e3e3;
                border-radius: 12px;
                margin: 0 0 14px;
                padding: 12px;
            }

            .ymp-event-analytics-row {
                align-items: center;
                display: flex;
                justify-content: space-between;
                margin-bottom: 8px;
            }

            .ymp-event-analytics-row strong,
            .ymp-event-analytics-row span {
                font-size: 13px;
                font-weight: 800;
            }

            .ymp-event-progress {
                background: #e3e3e3;
                border-radius: 999px;
                height: 10px;
                overflow: hidden;
            }

            .ymp-event-progress span {
                background: #46b450;
                display: block;
                height: 100%;
            }

            .ymp-event-analytics-split {
                color: #646970;
                display: flex;
                flex-wrap: wrap;
                gap: 8px;
                font-size: 12px;
                font-weight: 700;
                margin-top: 8px;
            }

            .ymp-event-planning-note {
                color: #50575e;
                font-size: 12px;
                font-weight: 800;
                margin: 8px 0 0;
            }

        
            .ymp-events-calendar-foundation,
            .ymp-events-past-panel {
                background: #fff;
                border: 1px solid #dcdcde;
                border-radius: 16px;
                box-shadow: 0 4px 14px rgba(0, 0, 0, 0.05);
                margin: 0 0 24px;
                padding: 18px;
            }

            .ymp-events-calendar-month {
                border-top: 1px solid #eee;
                padding-top: 14px;
            }

            .ymp-events-calendar-month:first-of-type {
                border-top: 0;
                padding-top: 0;
            }

            .ymp-events-calendar-month h4 {
                font-size: 18px;
                margin: 0 0 10px;
            }

            .ymp-events-calendar-list,
            .ymp-events-past-grid {
                display: grid;
                gap: 12px;
                grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
            }

            .ymp-events-calendar-item,
            .ymp-event-past-card {
                scroll-margin-top: 24px;
                background: #f6f7f7;
                border: 1px solid #e3e3e3;
                border-radius: 12px;
                display: grid;
                gap: 6px;
                padding: 12px;
            }

            .ymp-events-calendar-item strong,
            .ymp-event-past-card strong {
                font-size: 16px;
            }

            .ymp-events-calendar-item span,
            .ymp-event-past-card span,
            .ymp-event-past-card p {
                color: #50575e;
                font-size: 13px;
                font-weight: 700;
                margin: 0;
            }

            .ymp-events-past-panel summary {
                cursor: pointer;
                font-size: 18px;
                font-weight: 800;
            }

            .ymp-events-past-panel .ymp-events-empty,
            .ymp-events-past-panel .ymp-events-past-grid {
                margin-top: 14px;
            }

        
            .ymp-events-filter-bar {
                align-items: end;
                background: #fff;
                border: 1px solid #dcdcde;
                border-radius: 16px;
                box-shadow: 0 4px 14px rgba(0, 0, 0, 0.05);
                display: flex;
                flex-wrap: wrap;
                gap: 12px;
                margin: 0 0 24px;
                padding: 16px;
            }

            .ymp-events-filter-bar label {
                display: grid;
                flex: 1 1 220px;
                gap: 6px;
            }

            .ymp-events-filter-bar input,
            .ymp-events-filter-bar select {
                border: 1px solid #c3c4c7;
                border-radius: 8px;
                min-height: 40px;
                padding: 6px 10px;
                width: 100%;
            }

        
            .ymp-events-month-board {
                background: #f6f7f7;
                border: 1px solid #e3e3e3;
                border-radius: 16px;
                margin: 0 0 20px;
                overflow: hidden;
            }

            .ymp-events-month-board-head {
                align-items: center;
                background: #fff;
                border-bottom: 1px solid #e3e3e3;
                display: flex;
                flex-wrap: wrap;
                gap: 8px;
                justify-content: space-between;
                padding: 14px;
            }

            .ymp-events-month-board-head strong {
                font-size: 20px;
            }

            .ymp-events-month-board-head span {
                background: #eef5ff;
                border-radius: 999px;
                color: #174ea6;
                font-size: 12px;
                font-weight: 800;
                padding: 5px 9px;
            }

            .ymp-events-month-weekdays,
            .ymp-events-month-grid {
                display: grid;
                grid-template-columns: repeat(7, minmax(0, 1fr));
            }

            .ymp-events-month-weekdays span {
                background: #eef5ff;
                border-bottom: 1px solid #d7e7fb;
                color: #174ea6;
                font-size: 12px;
                font-weight: 900;
                padding: 9px;
                text-align: center;
            }

            .ymp-events-month-day {
                background: #fff;
                border-bottom: 1px solid #eee;
                border-right: 1px solid #eee;
                min-height: 110px;
                padding: 8px;
            }

            .ymp-events-month-day.muted {
                background: #f6f7f7;
                color: #a7aaad;
            }

            .ymp-events-month-day-number {
                display: block;
                font-size: 12px;
                font-weight: 900;
                margin-bottom: 6px;
            }

            .ymp-events-month-event {
                background: #e7f7ed;
                border-left: 3px solid #46b450;
                border-radius: 8px;
                color: #0f5f2e;
                display: block;
                margin: 0 0 5px;
                padding: 6px;
                text-decoration: none;
            }

            .ymp-events-month-event strong {
                display: block;
                font-size: 12px;
                line-height: 1.2;
            }

            .ymp-events-month-event small {
                display: block;
                font-size: 11px;
                margin-top: 3px;
            }

            @media (max-width: 782px) {
                .ymp-events-month-weekdays {
                    display: none;
                }

                .ymp-events-month-grid {
                    grid-template-columns: 1fr;
                }

                .ymp-events-month-day {
                    min-height: auto;
                }

                .ymp-events-month-day.muted {
                    display: none;
                }
            }

        
            .ymp-events-month-board-head > div {
                align-items: center;
                display: flex;
                flex-wrap: wrap;
                gap: 8px;
            }

            .ymp-events-month-nav {
                justify-content: flex-end;
            }

            .ymp-events-month-nav .ymp-events-button {
                text-decoration: none;
            }

        
            .ymp-events-view-tabs {
                display: flex;
                flex-wrap: wrap;
                gap: 8px;
                margin: -8px 0 24px;
            }

            .ymp-events-view-tabs a {
                background: #fff;
                border: 1px solid #dcdcde;
                border-radius: 999px;
                color: #2271b1;
                font-weight: 800;
                padding: 8px 12px;
                text-decoration: none;
            }

            .ymp-events-view-tabs a.active {
                background: #2271b1;
                border-color: #2271b1;
                color: #fff;
            }

        
            .ymp-event-capacity {
                border-top: 1px solid #e3e3e3;
                margin-top: 10px;
                padding-top: 10px;
            }

/* Extracted from modules/fellowship/class-fellowship-shortcodes.php */
.ymp-create-fellowship {
                color: var(--ymp-front-text, #1d2327);
                max-width: 1100px;
            }

            .ymp-create-fellowship-hero {
                background: var(--ymp-front-surface, #fff);
                border: 1px solid var(--ymp-front-border, #dcdcde);
                border-radius: 16px;
                margin: 0 0 20px;
                padding: 24px;
            }

            .ymp-create-fellowship-hero h2 {
                font-size: 34px;
                line-height: 1.1;
                margin: 0 0 8px;
            }

            .ymp-create-fellowship-hero p,
            .ymp-create-fellowship-help,
            .ymp-create-fellowship-submit p {
                color: var(--ymp-front-muted, #555);
                font-size: 15px;
                margin: 0;
            }

            .ymp-create-fellowship-card,
            .ymp-create-fellowship-submit {
                background: var(--ymp-front-surface, #fff);
                border: 1px solid var(--ymp-front-border, #dcdcde);
                border-radius: 14px;
                box-shadow: 0 4px 14px rgba(0, 0, 0, 0.05);
                margin: 0 0 18px;
                padding: 18px;
            }

            .ymp-create-fellowship-card h3 {
                border-bottom: 1px solid var(--ymp-front-border, #dcdcde);
                font-size: 20px;
                margin: 0 0 14px;
                padding-bottom: 10px;
            }

            .ymp-create-fellowship-form label {
                display: block;
                font-weight: 800;
                margin-bottom: 6px;
            }

            .ymp-create-fellowship-form input[type="text"],
            .ymp-create-fellowship-form input[type="url"],
            .ymp-create-fellowship-form input[type="email"],
            .ymp-create-fellowship-form select,
            .ymp-create-fellowship-form textarea {
                max-width: 700px;
                min-height: 38px;
                width: 100%;
            }

            .ymp-create-fellowship-button {
                background: var(--ymp-front-primary, #2271b1);
                border: 1px solid var(--ymp-front-primary, #2271b1);
                border-radius: 8px;
                color: var(--ymp-front-primary-contrast, #fff);
                cursor: pointer;
                font-weight: 800;
                margin-bottom: 10px;
                padding: 10px 14px;
            }

            .ymp-create-fellowship-button:hover {
                filter: brightness(0.95);
            }

            @media (max-width: 700px) {
                .ymp-create-fellowship-hero h2 {
                    font-size: 28px;
                }
            }

/* Extracted from modules/fellowship/class-fellowship-nearby.php */
.ymp-nearby-fellowships {
                max-width: 1440px;
            }

            .ymp-nearby-hero {
                background: linear-gradient(135deg, #ffffff 0%, #eef5ff 100%);
                border: 1px solid #c3d9f2;
                border-radius: 16px;
                margin: 0 0 20px;
                padding: 24px;
            }

            .ymp-nearby-hero h2 {
                font-size: 34px;
                line-height: 1.1;
                margin: 0 0 8px;
            }

            .ymp-nearby-hero p {
                color: #555;
                font-size: 16px;
                margin: 0;
                max-width: 820px;
            }

            .ymp-nearby-filter {
                align-items: center;
                background: #fff;
                border: 1px solid #dcdcde;
                border-radius: 14px;
                display: flex;
                flex-wrap: wrap;
                gap: 10px;
                margin: 0 0 16px;
                padding: 16px;
            }

            .ymp-nearby-filter label {
                font-weight: 800;
            }

            .ymp-nearby-filter select {
                min-height: 36px;
            }

            .ymp-nearby-summary {
                color: #50575e;
                font-weight: 700;
                margin: 0 0 16px;
            }

            .ymp-nearby-grid {
                display: grid;
                gap: 16px;
                grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
            }

            .ymp-nearby-card,
            .ymp-nearby-empty {
                background: #fff;
                border: 1px solid #dcdcde;
                border-left: 5px solid #2271b1;
                border-radius: 14px;
                box-shadow: 0 4px 14px rgba(0, 0, 0, 0.05);
                padding: 18px;
            }

            .ymp-nearby-card {
                display: flex;
                flex-direction: column;
                min-height: 250px;
            }

            .ymp-nearby-card-top {
                align-items: flex-start;
                display: flex;
                gap: 12px;
                margin-bottom: 14px;
            }

            .ymp-nearby-card-icon {
                align-items: center;
                background: #eef5ff;
                border: 1px solid #c3d9f2;
                border-radius: 12px;
                display: inline-flex;
                flex: 0 0 42px;
                font-size: 24px;
                height: 42px;
                justify-content: center;
                width: 42px;
            }

            .ymp-nearby-card h3 {
                font-size: 21px;
                line-height: 1.25;
                margin: 0 0 6px;
            }

            .ymp-nearby-card-top p {
                color: #555;
                margin: 0;
            }

            .ymp-nearby-meta {
                display: flex;
                flex-wrap: wrap;
                gap: 8px;
                margin: 0 0 14px;
            }

            .ymp-nearby-meta span {
                background: #f6f7f7;
                border: 1px solid #e3e3e3;
                border-radius: 999px;
                color: #50575e;
                font-size: 12px;
                font-weight: 700;
                padding: 6px 9px;
            }

            .ymp-nearby-description {
                color: #3c434a;
                line-height: 1.55;
                margin: 0 0 16px;
            }

            .ymp-nearby-description.muted {
                color: #777;
            }

            .ymp-nearby-actions {
                margin-top: auto;
            }

            .ymp-nearby-button {
                border: 1px solid #2271b1;
                border-radius: 8px;
                cursor: pointer;
                display: inline-block;
                font-weight: 700;
                padding: 9px 13px;
                text-decoration: none;
            }

            .ymp-nearby-button-primary {
                background: #2271b1;
                color: #fff;
            }

            .ymp-nearby-button-primary:hover {
                color: #fff;
                filter: brightness(0.95);
            }

            .ymp-nearby-button-secondary {
                background: #fff;
                color: #2271b1;
            }

            @media (max-width: 700px) {
                .ymp-nearby-hero h2 {
                    font-size: 28px;
                }

                .ymp-nearby-filter {
                    align-items: stretch;
                    display: grid;
                }

                .ymp-nearby-grid {
                    grid-template-columns: 1fr;
                }
            }

/* Extracted from modules/fellowship/class-fellowship-directory.php */
.ymp-ministry-directory{color:var(--ymp-front-text,#1d2327);max-width:1440px;width:100%}
            .ymp-ministry-directory-hero{align-items:center;background:var(--ymp-front-surface,#fff);border:1px solid var(--ymp-front-border,#dcdcde);border-left:4px solid var(--ymp-front-primary,#2271b1);border-radius:14px;display:flex;gap:24px;justify-content:space-between;margin-bottom:14px;padding:18px 20px}
            .ymp-ministry-kicker{color:var(--ymp-front-primary,#2271b1);font-size:10px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}
            .ymp-ministry-directory-hero h1{color:var(--ymp-front-text,#1d2327);font-size:32px;line-height:1.15;margin:5px 0 6px}
            .ymp-ministry-directory-hero p{color:var(--ymp-front-muted,#646970);font-size:14px;line-height:1.5;margin:0;max-width:900px}
            .ymp-ministry-result-count{flex:0 0 auto!important;font-size:12px!important;font-weight:800!important;text-align:right;white-space:nowrap}
            .ymp-ministry-result-count strong{color:var(--ymp-front-text,#1d2327);display:block;font-size:24px;line-height:1.1}
            .ymp-ministry-filters{align-items:end;background:var(--ymp-front-surface,#fff);border:1px solid var(--ymp-front-border,#dcdcde);border-radius:13px;display:grid;gap:10px;grid-template-columns:1.45fr repeat(3,minmax(140px,.72fr)) auto;margin-bottom:16px;padding:13px}
            .ymp-ministry-filters label{color:var(--ymp-front-text,#1d2327);display:grid;font-weight:800;gap:4px}
            .ymp-ministry-filters label span{font-size:10px;letter-spacing:.03em;text-transform:uppercase}
            .ymp-ministry-filters input,.ymp-ministry-filters select{background:var(--ymp-front-bg,#f6f7f8);border:1px solid var(--ymp-front-border,#dcdcde);border-radius:8px;box-sizing:border-box;color:var(--ymp-front-text,#1d2327);min-height:38px;padding:7px 9px;width:100%}
            .ymp-ministry-filter-actions{display:flex;gap:7px}
            .ymp-ministry-filter-actions button,.ymp-ministry-filter-actions a,.ymp-ministry-actions a{border:1px solid var(--ymp-front-primary,#2271b1);border-radius:8px;font-size:12px;font-weight:800;padding:8px 11px;text-decoration:none;white-space:nowrap}
            .ymp-ministry-filter-actions button,.ymp-ministry-actions .primary{background:var(--ymp-front-primary,#2271b1);color:var(--ymp-front-primary-contrast,#fff)}
            .ymp-ministry-filter-actions a,.ymp-ministry-actions a{background:var(--ymp-front-surface,#fff);color:var(--ymp-front-primary,#2271b1)}
            .ymp-ministry-grid{align-items:stretch;display:grid;gap:16px;grid-template-columns:repeat(3,minmax(0,1fr))}
            .ymp-ministry-card{background:var(--ymp-front-surface,#fff);border:1px solid var(--ymp-front-border,#dcdcde);border-radius:15px;box-shadow:var(--ymp-front-shadow,0 8px 24px rgba(0,0,0,.06));color:var(--ymp-front-text,#1d2327);display:flex;flex-direction:column;height:100%;overflow:hidden}
            .ymp-ministry-card-cover{background:linear-gradient(135deg,#dfe8f3,#b9cadf);background-position:center;background-size:cover;height:115px}
            .ymp-ministry-card-body{display:flex;flex:1 1 auto;flex-direction:column;padding:0 17px 17px}
            .ymp-ministry-card-heading{align-items:flex-start;display:flex;gap:12px;margin-top:-36px;min-height:104px}
            .ymp-ministry-logo{align-items:center;background:var(--ymp-front-surface,#fff);border:3px solid var(--ymp-front-surface,#fff);border-radius:50%;box-shadow:0 3px 12px rgba(0,0,0,.16);display:flex;flex:0 0 76px;height:76px;justify-content:center;overflow:hidden;width:76px}
            .ymp-ministry-logo img{height:100%;object-fit:cover;width:100%}
            .ymp-ministry-logo span{font-size:23px;font-weight:900}
            .ymp-ministry-card-identity{flex:1 1 auto;min-width:0;padding-top:43px}.ymp-ministry-card h2{color:var(--ymp-front-text,#1d2327);display:-webkit-box;font-size:19px;line-height:1.18;margin:5px 0 2px;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}
            .ymp-ministry-badges{display:flex;flex-wrap:wrap;gap:5px}
            .ymp-ministry-badges span{background:var(--ymp-front-bg,#f0f3f7);border:1px solid var(--ymp-front-border,#dcdcde);border-radius:999px;color:var(--ymp-front-muted,#646970);font-size:9px;font-weight:900;padding:4px 7px}
            .ymp-ministry-badges .verified{background:#e7f7ed;border-color:#9bd3ad;color:#0f5f2e}
            .ymp-ministry-location,.ymp-ministry-tagline,.ymp-ministry-description{color:var(--ymp-front-muted,#646970)}
            .ymp-ministry-location{display:-webkit-box;font-size:11.5px;font-weight:700;line-height:1.35;margin:0;min-height:31px;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}
            .ymp-ministry-tagline{color:var(--ymp-front-text,#1d2327);display:-webkit-box;font-size:14px;font-weight:800;line-height:1.35;margin:8px 0 6px;min-height:38px;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}.ymp-ministry-tagline.is-empty{visibility:hidden}
            .ymp-ministry-description{display:-webkit-box;font-size:13px;line-height:1.45;margin:0;min-height:76px;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:4}
            .ymp-ministry-counts{border-bottom:1px solid var(--ymp-front-border,#ececec);border-top:1px solid var(--ymp-front-border,#ececec);display:grid;grid-template-columns:repeat(3,1fr);margin:14px 0 12px;margin-top:auto;padding:12px 0;text-align:center}
            .ymp-ministry-counts span{color:var(--ymp-front-muted,#646970);font-size:11px}
            .ymp-ministry-counts strong{color:var(--ymp-front-text,#1d2327);display:block;font-size:17px}
            .ymp-ministry-actions{align-items:center;display:flex;flex-wrap:wrap;gap:8px;min-height:32px}
            .ymp-ministry-empty{background:var(--ymp-front-surface,#fff);border:1px solid var(--ymp-front-border,#dcdcde);border-radius:14px;padding:30px;text-align:center}
            :root[data-ymp-theme="dark"] .ymp-ministry-badges .verified{background:#173f29;border-color:#2d7546;color:#a8e6ba}
            @media(prefers-color-scheme:dark){:root:not([data-ymp-theme="light"]):not([data-ymp-theme="dark"]) .ymp-ministry-badges .verified{background:#173f29;border-color:#2d7546;color:#a8e6ba}}
            @media(max-width:1150px){.ymp-ministry-filters{grid-template-columns:repeat(2,1fr)}.ymp-ministry-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
            @media(max-width:720px){.ymp-ministry-directory-hero{align-items:flex-start;flex-direction:column;gap:10px}.ymp-ministry-directory-hero h1{font-size:28px}.ymp-ministry-result-count{text-align:left}.ymp-ministry-result-count strong{display:inline;font-size:16px}.ymp-ministry-filters,.ymp-ministry-grid{grid-template-columns:1fr}.ymp-ministry-filter-actions{flex-wrap:wrap}.ymp-ministry-card-heading{min-height:100px}.ymp-ministry-card h2{min-height:0}.ymp-ministry-location{min-height:0}.ymp-ministry-tagline{min-height:36px}.ymp-ministry-description{min-height:72px}}

/* Extracted from modules/fellowship/class-fellowship-dashboard.php */
.ymp-fellowship-dashboard {
                max-width: 1180px;
            }

            .ymp-fd-hero {
                background: linear-gradient(135deg, #ffffff 0%, #eef5ff 100%);
                border: 1px solid #c3d9f2;
                border-radius: 16px;
                margin: 0 0 20px;
                padding: 24px;
            }

            .ymp-fd-hero h2 {
                font-size: 34px;
                line-height: 1.1;
                margin: 0 0 8px;
            }

            .ymp-fd-hero p {
                color: #555;
                font-size: 16px;
                margin: 0;
                max-width: 850px;
            }

            .ymp-fd-hero-meta,
            .ymp-fd-pills,
            .ymp-fd-actions,
            .ymp-fd-request-actions {
                display: flex;
                flex-wrap: wrap;
                gap: 8px;
            }

            .ymp-fd-hero-meta {
                margin-top: 14px;
            }

            .ymp-fd-hero-meta span,
            .ymp-fd-pills span {
                background: #fff;
                border: 1px solid #dcdcde;
                border-radius: 999px;
                color: #1d2327;
                display: inline-block;
                font-size: 13px;
                font-weight: 800;
                padding: 6px 10px;
            }

            .ymp-fd-summary-grid {
                display: grid;
                gap: 12px;
                grid-template-columns: repeat(auto-fit, minmax(185px, 1fr));
                margin: 0 0 20px;
            }

            .ymp-fd-summary-card,
            .ymp-fd-fellowship-card,
            .ymp-fd-panel,
            .ymp-fd-links-panel {
                background: #fff;
                border: 1px solid #dcdcde;
                border-radius: 14px;
                box-shadow: 0 4px 14px rgba(0, 0, 0, 0.05);
            }

            .ymp-fd-summary-card {
                border-left: 5px solid #2271b1;
                min-height: 96px;
                padding: 16px;
            }

            .ymp-fd-summary-card strong {
                display: block;
                font-size: 30px;
                line-height: 1;
                margin-bottom: 8px;
            }

            .ymp-fd-summary-card span {
                color: #646970;
                font-size: 13px;
                font-weight: 800;
            }

            .ymp-fd-fellowship-card {
                margin: 0 0 22px;
                overflow: hidden;
            }

            .ymp-fd-fellowship-header {
                align-items: flex-start;
                background: #fff;
                border-bottom: 1px solid #eee;
                display: flex;
                gap: 16px;
                justify-content: space-between;
                padding: 18px;
            }

            .ymp-fd-fellowship-header h3 {
                font-size: 24px;
                line-height: 1.2;
                margin: 0 0 10px;
            }

            .ymp-fd-status-active {
                background: #e7f7ed !important;
                border-color: #9ed6ae !important;
                color: #0f5f2e !important;
            }

            .ymp-fd-layout {
                display: grid;
                gap: 16px;
                grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
                padding: 18px;
            }

            .ymp-fd-panel {
                box-shadow: none;
                padding: 16px;
            }

            .ymp-fd-panel h4,
            .ymp-fd-links-panel h4 {
                border-bottom: 1px solid #eee;
                font-size: 18px;
                margin: 0 0 14px;
                padding-bottom: 10px;
            }

            .ymp-fd-links-panel {
                box-shadow: none;
                margin: 18px;
                padding: 16px;
            }

            .ymp-fd-links-panel p {
                color: #646970;
                margin: 0 0 14px;
            }

            .ymp-fd-links-form {
                display: grid;
                gap: 14px;
            }

            .ymp-fd-links-grid {
                display: grid;
                gap: 12px;
                grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
            }

            .ymp-fd-links-grid label {
                display: grid;
                font-weight: 800;
                gap: 6px;
            }

            .ymp-fd-links-grid input {
                border: 1px solid #c3c4c7;
                border-radius: 8px;
                min-height: 38px;
                padding: 8px 10px;
                width: 100%;
            }

            .ymp-fd-member-grid,
            .ymp-fd-request-list {
                display: grid;
                gap: 10px;
            }

            .ymp-fd-member-card,
            .ymp-fd-request-card,
            .ymp-fd-empty {
                background: #f6f7f7;
                border: 1px solid #e3e3e3;
                border-radius: 12px;
                padding: 10px;
            }

            .ymp-fd-member-card {
                align-items: center;
                display: flex;
                gap: 10px;
            }

            .ymp-fd-member-icon {
                align-items: center;
                background: #fff;
                border: 1px solid #dcdcde;
                border-radius: 999px;
                display: inline-flex;
                flex: 0 0 36px;
                height: 36px;
                justify-content: center;
                width: 36px;
            }

            .ymp-fd-member-card strong,
            .ymp-fd-request-card strong {
                display: block;
            }

            .ymp-fd-member-card span:last-child,
            .ymp-fd-request-card span {
                color: #646970;
                display: block;
                font-size: 12px;
                font-weight: 700;
                margin-top: 2px;
            }

            .ymp-fd-request-card {
                display: grid;
                gap: 10px;
            }

            .ymp-fd-request-actions form {
                margin: 0;
            }

            .ymp-fd-button {
                border: 1px solid #2271b1;
                border-radius: 8px;
                cursor: pointer;
                display: inline-block;
                font-weight: 800;
                padding: 8px 12px;
                text-decoration: none;
            }

            .ymp-fd-button-primary {
                background: #2271b1;
                color: #fff;
            }

            .ymp-fd-button-primary:hover {
                color: #fff;
                filter: brightness(0.95);
            }

            .ymp-fd-button-secondary {
                background: #fff;
                color: #2271b1;
            }

            .ymp-fd-button-danger {
                background: #fff;
                border-color: #b32d2e;
                color: #b32d2e;
            }

            @media (max-width: 800px) {
                .ymp-fd-hero h2 {
                    font-size: 28px;
                }

                .ymp-fd-fellowship-header,
                .ymp-fd-layout {
                    display: grid;
                    grid-template-columns: 1fr;
                }
            }


/* 6.17.1: dynamic media/progress without inline styles. */
.ymp-ministry-card-cover { overflow: hidden; position: relative; }
.ymp-ministry-card-cover-image { display: block; height: 100%; object-fit: cover; width: 100%; }
.ymp-event-progress-control {
    appearance: none;
    background: transparent;
    border: 0;
    display: block;
    height: 10px;
    width: 100%;
}
.ymp-event-progress-control::-webkit-progress-bar { background: transparent; }
.ymp-event-progress-control::-webkit-progress-value { background: #46b450; border-radius: 999px; }
.ymp-event-progress-control::-moz-progress-bar { background: #46b450; border-radius: 999px; }
