.pgrsc-mm-frontend-wrap{max-width:920px;margin:0 auto;padding:12px}.pgrsc-mm-application-form{background:#fff;border:1px solid rgba(15,23,42,.10);border-radius:22px;box-shadow:0 10px 32px rgba(15,23,42,.08);overflow:hidden}.pgrsc-mm-stepper{display:grid;grid-template-columns:repeat(4,1fr);gap:0;background:#f8fafc;border-bottom:1px solid #e2e8f0}.pgrsc-mm-stepper span{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#64748b;padding:14px 16px;text-align:center;border-right:1px solid #e2e8f0}.pgrsc-mm-stepper span:last-child{border-right:0}.pgrsc-mm-stepper .is-active{background:#19648e;color:#fff}.pgrsc-mm-stepper .is-complete{background:#e8f4fa;color:#19648e}.pgrsc-mm-step-panel{display:none!important}.pgrsc-mm-step-panel.is-active{display:block!important}.pgrsc-mm-step-panel.pgrsc-mm-grid.is-active,.pgrsc-mm-step-panel.pgrsc-mm-student-fields.is-active{display:grid!important}.pgrsc-mm-form-section{padding:26px 30px;border-bottom:1px solid #eef2f7}.pgrsc-mm-form-section:last-child{border-bottom:0}.pgrsc-mm-form-section h2{margin:0 0 8px;font-size:28px;line-height:1.18;color:#0f172a}.pgrsc-mm-form-section h3{grid-column:1/-1;margin:0 0 16px;font-size:18px;color:#0f172a}.pgrsc-mm-intro{margin:0 0 18px;color:#475569}.pgrsc-mm-type-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.pgrsc-mm-type-card{display:block;border:1px solid #dbe5ee;border-radius:18px;padding:18px;cursor:pointer;background:linear-gradient(180deg,#fff,#f8fbfd);transition:.18s}.pgrsc-mm-type-card:hover{transform:translateY(-2px);box-shadow:0 8px 22px rgba(15,23,42,.08);border-color:#19648e}.pgrsc-mm-type-card:has(input:checked){border-color:#19648e;box-shadow:0 0 0 3px rgba(25,100,142,.12)}.pgrsc-mm-type-card input{margin:0 0 12px!important;display:inline-block!important;visibility:visible!important;opacity:1!important;position:static!important;width:auto!important;height:auto!important;appearance:auto!important;-webkit-appearance:radio!important}.pgrsc-mm-type-title{display:block;font-weight:800;color:#0f172a;margin-bottom:8px}.pgrsc-mm-type-desc{display:block;font-size:13px;line-height:1.45;color:#64748b}.pgrsc-mm-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 18px}.pgrsc-mm-field{display:flex;flex-direction:column;gap:7px}.pgrsc-mm-field label{font-size:13px;font-weight:700;color:#334155}.pgrsc-mm-field label span,.pgrsc-mm-checkline span{color:#dc2626}.pgrsc-mm-field input,.pgrsc-mm-field select,.pgrsc-mm-field textarea{width:100%;box-sizing:border-box;border:1px solid #cbd5e1;border-radius:12px;padding:11px 12px;background:#fff;color:#0f172a;font-size:14px}.pgrsc-mm-field input[type=checkbox],.pgrsc-mm-checkbox-grid input[type=checkbox],.pgrsc-mm-checkline input[type=checkbox]{display:inline-block!important;visibility:visible!important;opacity:1!important;position:static!important;width:18px!important;height:18px!important;min-width:18px!important;margin:0 8px 0 0!important;vertical-align:middle!important;appearance:auto!important;-webkit-appearance:checkbox!important;accent-color:#19648e}.pgrsc-mm-field input[type=radio]{accent-color:#19648e}.pgrsc-mm-field input:focus,.pgrsc-mm-field select:focus,.pgrsc-mm-field textarea:focus{outline:0;border-color:#19648e;box-shadow:0 0 0 3px rgba(25,100,142,.13)}.pgrsc-mm-full{grid-column:1/-1}.pgrsc-mm-checkbox-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px 14px}.pgrsc-mm-checkline label,.pgrsc-mm-checkbox-grid label{font-weight:500;color:#334155;display:flex;align-items:flex-start;gap:6px}.pgrsc-mm-notice-info{background:#eff8ff;border:1px solid #bfdbfe;border-left:4px solid #19648e;border-radius:14px;padding:14px 16px;margin-bottom:16px;color:#0f3d5c}.pgrsc-mm-form-errors{background:#fef2f2;border:1px solid #fecaca;border-left:5px solid #dc2626;border-radius:16px;padding:16px 18px;margin:0 0 18px;color:#7f1d1d}.pgrsc-mm-form-errors ul{margin:8px 0 0 20px}.pgrsc-mm-success-card{background:#f0fdf4;border:1px solid #bbf7d0;border-left:5px solid #16a34a;border-radius:18px;padding:24px;color:#14532d}.pgrsc-mm-success-card h3{margin-top:0}.pgrsc-mm-submit,.pgrsc-mm-nav-btn{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:999px;font-weight:800;padding:13px 24px;cursor:pointer;text-decoration:none}.pgrsc-mm-submit,.pgrsc-mm-next{background:#19648e;color:#fff;box-shadow:0 8px 18px rgba(25,100,142,.22)}.pgrsc-mm-submit:hover,.pgrsc-mm-next:hover{background:#0d567c}.pgrsc-mm-prev{background:#e2e8f0;color:#334155}.pgrsc-mm-form-nav{display:flex;gap:12px;justify-content:space-between;align-items:center;margin-top:18px}.pgrsc-mm-global-nav{padding:18px 30px;background:#f8fafc;border-top:1px solid #e2e8f0}.pgrsc-mm-hp{position:absolute!important;left:-9999px!important}.pgrsc-mm-antispam-note{position:absolute!important;left:-9999px!important}.pgrsc-mm-antispam-visible{margin-top:14px;padding:10px 12px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;color:#64748b;font-size:13px}/* Conditional labels and step-3 blocks */
.pgrsc-label-institutional{display:none}

/*
   Step 3 is composed of several panels with data-step="3".
   The stepper JS adds .is-active to all of them when the user reaches step 3.
   Therefore conditional panels must be hidden again with !important, then re-enabled only for the selected membership type.
*/
.pgrsc-mm-step-panel.pgrsc-mm-conditional.is-active{display:none!important}

/* Common Step 3 block: shown for Individual, Student and Institutional */
.pgrsc-mm-form-has-type-individual .pgrsc-mm-individual-student.is-active,
.pgrsc-mm-form-has-type-student .pgrsc-mm-individual-student.is-active,
.pgrsc-mm-form-has-type-institutional .pgrsc-mm-individual-student.is-active{display:block!important}

/* Student-only Step 3 block */
.pgrsc-mm-form-has-type-student .pgrsc-mm-student-fields.is-active{display:grid!important}

/* Institutional-only Step 3 block */
.pgrsc-mm-form-has-type-institutional .pgrsc-mm-institutional-fields.is-active{display:block!important}

.pgrsc-mm-form-has-type-institutional .pgrsc-label-default{display:none}
.pgrsc-mm-form-has-type-institutional .pgrsc-label-institutional{display:inline}
.pgrsc-mm-form-has-type-institutional .pgrsc-mm-field-org input{border-color:#19648e}.pgrsc-mm-review-box{background:#f8fafc;border:1px solid #e2e8f0;border-radius:16px;padding:16px;margin-bottom:18px}.pgrsc-mm-review-title{font-weight:800;margin-bottom:12px;color:#0f172a}.pgrsc-mm-review-row{display:grid;grid-template-columns:220px 1fr;gap:12px;padding:8px 0;border-top:1px solid #e2e8f0}.pgrsc-mm-review-row:first-of-type{border-top:0}.pgrsc-mm-review-row strong{color:#334155}.pgrsc-mm-review-row span{color:#0f172a}@media(max-width:760px){.pgrsc-mm-stepper{grid-template-columns:1fr 1fr}.pgrsc-mm-type-cards,.pgrsc-mm-grid,.pgrsc-mm-checkbox-grid{grid-template-columns:1fr}.pgrsc-mm-form-section{padding:22px 18px}.pgrsc-mm-form-section h2{font-size:23px}.pgrsc-mm-review-row{grid-template-columns:1fr;gap:3px}.pgrsc-mm-global-nav{padding:16px 18px}}


/* =========================================================
   PGRSC Membership Dashboard Widget - v1.7.0
========================================================= */
.pgrsc-mm-dashboard-card {
    background: #ffffff;
    border: 1px solid rgba(15, 23, 42, 0.10);
    border-radius: 18px;
    box-shadow: 0 10px 30px rgba(15, 23, 42, 0.08);
    padding: 22px;
    max-width: 980px;
    margin: 0 auto 24px auto;
    color: #0f172a;
}
.pgrsc-mm-dash-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 18px;
}
.pgrsc-mm-dash-head h3 {
    margin: 3px 0 0 0;
    font-size: 1.35rem;
    line-height: 1.2;
}
.pgrsc-mm-eyebrow {
    display: block;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #19648E;
}
.pgrsc-mm-status-badge {
    display: inline-flex;
    align-items: center;
    border-radius: 999px;
    padding: 6px 11px;
    font-size: 0.78rem;
    font-weight: 800;
    background: #f1f5f9;
    color: #475569;
    border: 1px solid #cbd5e1;
    white-space: nowrap;
}
.pgrsc-mm-status-badge.is-approved {
    background: #ecfdf5;
    color: #047857;
    border-color: #a7f3d0;
}
.pgrsc-mm-status-badge.is-pending {
    background: #fff7ed;
    color: #c2410c;
    border-color: #fed7aa;
}
.pgrsc-mm-status-badge.is-muted {
    background: #f8fafc;
    color: #64748b;
    border-color: #e2e8f0;
}
.pgrsc-mm-membership-summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 16px;
    border-radius: 16px;
    background: linear-gradient(135deg, #ffffff 0%, #d6f0ff 100%);
    border: 1px solid rgba(25, 100, 142, 0.16);
    margin-bottom: 18px;
}
.pgrsc-mm-type-label {
    font-weight: 800;
    color: #19648E;
    margin-bottom: 3px;
}
.pgrsc-mm-member-name {
    font-size: 1rem;
    color: #334155;
}
.pgrsc-mm-id-pill {
    border-radius: 999px;
    background: #19648E;
    color: #ffffff;
    padding: 8px 12px;
    font-size: 0.8rem;
    font-weight: 800;
    white-space: nowrap;
}
.pgrsc-mm-info-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    margin-bottom: 20px;
}
.pgrsc-mm-info-grid > div {
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 14px;
    padding: 13px 14px;
    background: #f8fafc;
    min-width: 0;
}
.pgrsc-mm-info-grid span {
    display: block;
    font-size: 0.74rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #64748b;
    margin-bottom: 5px;
}
.pgrsc-mm-info-grid strong {
    display: block;
    font-size: 0.95rem;
    color: #0f172a;
    overflow-wrap: anywhere;
}
.pgrsc-mm-dash-section {
    border-top: 1px solid rgba(15, 23, 42, 0.08);
    padding-top: 16px;
    margin-top: 16px;
}
.pgrsc-mm-dash-section h4 {
    margin: 0 0 10px 0;
    font-size: 1rem;
}
.pgrsc-mm-action-row,
.pgrsc-mm-doc-list {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}
.pgrsc-mm-dash-btn,
.pgrsc-mm-doc-list a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 38px;
    border-radius: 999px;
    padding: 8px 14px;
    border: 1px solid rgba(25, 100, 142, 0.22);
    background: #ffffff;
    color: #19648E;
    font-weight: 800;
    font-size: 0.86rem;
    text-decoration: none !important;
    cursor: pointer;
}
.pgrsc-mm-dash-btn.primary {
    background: #19648E;
    color: #ffffff;
}
.pgrsc-mm-dash-btn.danger {
    color: #b91c1c;
    border-color: rgba(185, 28, 28, 0.22);
}
.pgrsc-mm-dash-btn.disabled,
.pgrsc-mm-dash-btn:disabled {
    opacity: 0.48;
    cursor: not-allowed;
    background: #f8fafc;
    color: #64748b;
}
.pgrsc-mm-muted-note {
    color: #64748b;
    font-size: 0.9rem;
    margin: 8px 0 0 0;
}
@media (max-width: 800px) {
    .pgrsc-mm-info-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 560px) {
    .pgrsc-mm-dashboard-card { padding: 17px; border-radius: 16px; }
    .pgrsc-mm-dash-head,
    .pgrsc-mm-membership-summary { align-items: stretch; flex-direction: column; }
    .pgrsc-mm-info-grid { grid-template-columns: 1fr; }
    .pgrsc-mm-id-pill,
    .pgrsc-mm-status-badge { width: fit-content; }
    .pgrsc-mm-dash-btn,
    .pgrsc-mm-doc-list a { width: 100%; }
}

/* =========================================================
   My Membership dashboard widget — v1.7.3
========================================================= */
.pgrsc-mm-my-membership-v171,
.pgrsc-mm-my-membership-v173 {
    overflow: hidden;
}
.pgrsc-mm-dashboard-notice {
    padding: 11px 14px;
    border-radius: 12px;
    margin-bottom: 14px;
    font-weight: 700;
    font-size: 0.92rem;
}
.pgrsc-mm-dashboard-notice.success {
    color: #047857;
    background: #ECFDF5;
    border: 1px solid #A7F3D0;
}
.pgrsc-mm-membership-hero {
    margin-bottom: 18px;
}
.pgrsc-mm-membership-dashboard-layout {
    display: grid;
    grid-template-columns: minmax(170px, 25%) minmax(280px, 1fr) minmax(120px, 15%);
    gap: 16px;
    align-items: stretch;
}
.pgrsc-mm-membership-meta,
.pgrsc-mm-membership-main,
.pgrsc-mm-membership-doc-buttons {
    min-width: 0;
}
.pgrsc-mm-membership-meta {
    display: grid;
    gap: 10px;
}
.pgrsc-mm-membership-meta > div,
.pgrsc-mm-expiration-panel,
.pgrsc-mm-status-panel {
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 14px;
    background: #f8fafc;
    padding: 12px 13px;
}
.pgrsc-mm-membership-meta span,
.pgrsc-mm-expiration-panel span,
.pgrsc-mm-status-panel span {
    display: block;
    font-size: 0.72rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #64748b;
    margin-bottom: 5px;
}
.pgrsc-mm-membership-meta strong,
.pgrsc-mm-expiration-panel strong,
.pgrsc-mm-status-panel strong {
    display: block;
    color: #0f172a;
    font-size: 0.94rem;
    line-height: 1.35;
    overflow-wrap: anywhere;
}
.pgrsc-mm-membership-main {
    display: flex;
    flex-direction: column;
    gap: 14px;
}
.pgrsc-mm-status-panel {
    border-width: 1px 1px 1px 5px;
}
.pgrsc-mm-status-panel.is-approved {
    border-left-color: #059669;
    background: linear-gradient(135deg, #ffffff 0%, #ECFDF5 100%);
}
.pgrsc-mm-status-panel.is-warning {
    border-left-color: #D97706;
    background: linear-gradient(135deg, #ffffff 0%, #FFFBEB 100%);
}
.pgrsc-mm-status-panel.is-expired {
    border-left-color: #DC2626;
    background: linear-gradient(135deg, #ffffff 0%, #FEF2F2 100%);
}
.pgrsc-mm-status-panel.is-pending {
    border-left-color: #D97706;
    background: linear-gradient(135deg, #ffffff 0%, #FFFBEB 100%);
}
.pgrsc-mm-status-panel.is-muted {
    border-left-color: #64748b;
    background: linear-gradient(135deg, #ffffff 0%, #f1f5f9 100%);
}
.pgrsc-mm-status-panel.is-approved strong { color: #047857; }
.pgrsc-mm-status-panel.is-warning strong,
.pgrsc-mm-status-panel.is-pending strong { color: #B45309; }
.pgrsc-mm-status-panel.is-expired strong { color: #B91C1C; }

.pgrsc-mm-student-meta-separator {
    margin-top: 8px;
    padding-top: 10px;
    border-top: 1px solid rgba(15, 23, 42, 0.10);
}
.pgrsc-mm-student-meta-separator span {
    color: #19648E !important;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}
.pgrsc-mm-main-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}
.pgrsc-mm-cancel-form {
    margin: 0;
    display: flex;
}
.pgrsc-mm-cancel-form .pgrsc-mm-dash-btn,
.pgrsc-mm-main-actions > .pgrsc-mm-dash-btn {
    width: 100%;
    min-height: 44px;
}
.pgrsc-mm-student-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}
.pgrsc-mm-membership-doc-buttons {
    display: grid;
    grid-template-rows: repeat(4, minmax(54px, 1fr));
    gap: 10px;
}
.pgrsc-mm-doc-tall {
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    min-height: 54px;
    width: 100%;
    padding: 10px 12px;
    border-radius: 14px;
    border: 1px solid rgba(25, 100, 142, 0.22);
    background: #ffffff;
    color: #19648E;
    font-weight: 800;
    font-size: 0.82rem;
    line-height: 1.25;
    text-decoration: none !important;
    cursor: pointer;
}
.pgrsc-mm-doc-tall:hover {
    background: #f0f9ff;
    color: #0f4f73;
}
.pgrsc-mm-doc-tall.disabled,
.pgrsc-mm-doc-tall:disabled {
    opacity: 0.48;
    cursor: not-allowed;
    background: #f8fafc;
    color: #64748b;
}
@media (max-width: 980px) {
    .pgrsc-mm-membership-dashboard-layout {
        grid-template-columns: 1fr 1fr;
    }
    .pgrsc-mm-membership-main {
        grid-column: span 2;
        order: 1;
    }
    .pgrsc-mm-membership-meta { order: 2; }
    .pgrsc-mm-membership-doc-buttons { order: 3; }
}
@media (max-width: 640px) {
    .pgrsc-mm-membership-dashboard-layout {
        grid-template-columns: 1fr;
    }
    .pgrsc-mm-membership-main,
    .pgrsc-mm-membership-meta,
    .pgrsc-mm-membership-doc-buttons {
        grid-column: auto;
    }
    .pgrsc-mm-membership-main { order: 1; }
    .pgrsc-mm-membership-meta { order: 2; }
    .pgrsc-mm-membership-doc-buttons { order: 3; grid-template-rows: none; }
    .pgrsc-mm-main-actions { grid-template-columns: 1fr; }
    .pgrsc-mm-student-actions .pgrsc-mm-dash-btn { width: 100%; }
}


/* =========================================================
   v1.7.3 refinements
========================================================= */
.pgrsc-mm-form-has-type-student .pgrsc-mm-field-position,
.pgrsc-mm-form-has-type-student .pgrsc-mm-field-org {
    display: none !important;
}
.pgrsc-mm-main-actions {
    grid-template-columns: repeat(2, max-content);
    justify-content: center;
    align-items: center;
    gap: 18px;
}
.pgrsc-mm-cancel-form .pgrsc-mm-dash-btn,
.pgrsc-mm-main-actions > .pgrsc-mm-dash-btn {
    width: auto;
    min-width: 0;
    max-width: 260px;
    padding-left: 18px;
    padding-right: 18px;
    white-space: normal;
}
.pgrsc-mm-cancel-form {
    justify-content: center;
}
@media (max-width: 760px) {
    .pgrsc-mm-main-actions {
        grid-template-columns: 1fr;
        justify-content: stretch;
        gap: 12px;
    }
    .pgrsc-mm-cancel-form .pgrsc-mm-dash-btn,
    .pgrsc-mm-main-actions > .pgrsc-mm-dash-btn {
        width: 100%;
        max-width: none;
    }
}

/* =========================================================
   v1.7.4 refinements
========================================================= */
.pgrsc-mm-cancel-form .pgrsc-mm-dash-btn.danger:hover,
.pgrsc-mm-cancel-form .pgrsc-mm-dash-btn.danger:focus {
    background: #b91c1c;
    border-color: #b91c1c;
    color: #ffffff;
}

/* =========================================================
   v1.7.6 refinements — Student membership dashboard actions
========================================================= */
.pgrsc-mm-my-membership-v176 {
    overflow: hidden;
}
.pgrsc-mm-my-membership-v176 .pgrsc-mm-membership-meta > .pgrsc-mm-student-actions-inline {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    padding: 0;
    border: 0;
    background: transparent;
}
.pgrsc-mm-my-membership-v176 .pgrsc-mm-student-request-btn {
    min-height: 58px;
    width: 100%;
    font-size: 0.78rem;
    padding: 10px 9px;
}
@media (max-width: 980px) {
    .pgrsc-mm-my-membership-v176 .pgrsc-mm-membership-meta > .pgrsc-mm-student-actions-inline {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
@media (max-width: 420px) {
    .pgrsc-mm-my-membership-v176 .pgrsc-mm-membership-meta > .pgrsc-mm-student-actions-inline {
        grid-template-columns: 1fr;
    }
}


/* v1.7.6 — Student action buttons in central column */
.pgrsc-mm-my-membership-v176 .pgrsc-mm-membership-main > .pgrsc-mm-student-actions-main {
    margin: 14px 0 16px 0 !important;
}

.pgrsc-mm-my-membership-v176 .pgrsc-mm-student-actions-main {
    display: flex !important;
    flex-direction: row !important;
    align-items: stretch !important;
    gap: 12px !important;
}

.pgrsc-mm-my-membership-v176 .pgrsc-mm-student-actions-main .pgrsc-mm-student-request-btn {
    flex: 1 1 0 !important;
    min-height: 46px !important;
    height: auto !important;
}

@media (max-width: 720px) {
    .pgrsc-mm-my-membership-v176 .pgrsc-mm-student-actions-main {
        flex-direction: column !important;
    }
}

/* =========================================================
   v1.7.7 — Dashboard widgets UI alignment + membership indicator
   Mirrors PGRSC Member Dashboard Widgets visual language while staying self-contained.
========================================================= */
.pgrsc-mm-my-membership-v177 {
    box-sizing: border-box;
    background: #ffffff;
    border: 1px solid #E2E8F0;
    border-top: 5px solid #06B6D4;
    border-radius: 18px;
    box-shadow: 0 10px 26px rgba(15, 23, 42, 0.07);
    overflow: hidden;
}

.pgrsc-mm-my-membership-v177 .pgrsc-mm-membership-hero {
    background: linear-gradient(180deg, #ffffff 0%, #F8FAFC 100%);
    border: 1px solid #E2E8F0;
    border-radius: 16px;
    box-shadow: none;
}

.pgrsc-mm-my-membership-v177 .pgrsc-mm-type-label,
.pgrsc-mm-my-membership-v177 .pgrsc-mm-membership-meta span,
.pgrsc-mm-my-membership-v177 .pgrsc-mm-status-panel span,
.pgrsc-mm-my-membership-v177 .pgrsc-mm-expiration-panel span {
    color: #64748B;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.055em;
}

.pgrsc-mm-my-membership-v177 .pgrsc-mm-member-name {
    color: #0F172A;
    font-weight: 850;
}

.pgrsc-mm-my-membership-v177 .pgrsc-mm-id-pill {
    background: #F8FAFC;
    color: #0F172A;
    border: 1px solid #E2E8F0;
    border-radius: 999px;
    font-weight: 750;
}

.pgrsc-mm-my-membership-v177 .pgrsc-mm-membership-meta,
.pgrsc-mm-my-membership-v177 .pgrsc-mm-membership-main,
.pgrsc-mm-my-membership-v177 .pgrsc-mm-membership-doc-buttons {
    border-color: #E2E8F0;
}

.pgrsc-mm-my-membership-v177 .pgrsc-mm-membership-meta > div,
.pgrsc-mm-my-membership-v177 .pgrsc-mm-status-panel,
.pgrsc-mm-my-membership-v177 .pgrsc-mm-expiration-panel {
    background: linear-gradient(180deg, #ffffff 0%, #F8FAFC 100%);
    border: 1px solid #E2E8F0;
    border-radius: 16px;
}

.pgrsc-mm-my-membership-v177 .pgrsc-mm-status-panel.is-approved {
    border-color: #BBF7D0;
    background: linear-gradient(180deg, #ffffff 0%, #ECFDF5 100%);
}
.pgrsc-mm-my-membership-v177 .pgrsc-mm-status-panel.is-approved strong { color: #047857; }

.pgrsc-mm-my-membership-v177 .pgrsc-mm-status-panel.is-warning {
    border-color: #FED7AA;
    background: linear-gradient(180deg, #ffffff 0%, #FFF7ED 100%);
}
.pgrsc-mm-my-membership-v177 .pgrsc-mm-status-panel.is-warning strong { color: #C2410C; }

.pgrsc-mm-my-membership-v177 .pgrsc-mm-status-panel.is-expired {
    border-color: #FECACA;
    background: linear-gradient(180deg, #ffffff 0%, #FEF2F2 100%);
}
.pgrsc-mm-my-membership-v177 .pgrsc-mm-status-panel.is-expired strong { color: #B91C1C; }

.pgrsc-mm-my-membership-v177 .pgrsc-mm-status-panel.is-pending {
    border-color: #A5F3FC;
    background: linear-gradient(180deg, #ffffff 0%, #ECFEFF 100%);
}
.pgrsc-mm-my-membership-v177 .pgrsc-mm-status-panel.is-pending strong { color: #0284C7; }

.pgrsc-mm-my-membership-v177 .pgrsc-mm-status-panel.is-muted {
    border-color: #CBD5E1;
    background: linear-gradient(180deg, #ffffff 0%, #F8FAFC 100%);
}
.pgrsc-mm-my-membership-v177 .pgrsc-mm-status-panel.is-muted strong { color: #64748B; }

.pgrsc-mm-my-membership-v177 .pgrsc-mm-doc-tall,
.pgrsc-mm-my-membership-v177 .pgrsc-mm-dash-btn {
    border-radius: 999px;
    font-weight: 750;
}

.pgrsc-mm-my-membership-v177 .pgrsc-mm-doc-tall:not(.disabled),
.pgrsc-mm-my-membership-v177 .pgrsc-mm-student-request-btn {
    background: #F8FAFC;
    border: 1px solid #E2E8F0;
    color: #0F172A;
}
.pgrsc-mm-my-membership-v177 .pgrsc-mm-doc-tall:not(.disabled):hover,
.pgrsc-mm-my-membership-v177 .pgrsc-mm-student-request-btn:hover {
    background: #E2E8F0;
    color: #0F172A;
}

.pgrsc-mm-my-membership-v177 .pgrsc-mm-membership-main > .pgrsc-mm-student-actions-main {
    margin: 14px 0 16px 0 !important;
}
.pgrsc-mm-my-membership-v177 .pgrsc-mm-student-actions-main {
    display: flex !important;
    flex-direction: row !important;
    align-items: stretch !important;
    gap: 12px !important;
}
.pgrsc-mm-my-membership-v177 .pgrsc-mm-student-actions-main .pgrsc-mm-student-request-btn {
    flex: 1 1 0 !important;
    min-height: 46px !important;
    height: auto !important;
}

.pgrsc-mdw-widget.pgrsc-mm-membership-indicator,
.pgrsc-mm-membership-indicator {
    box-sizing: border-box;
    width: 100%;
    max-width: 240px;
    aspect-ratio: 1 / 1;
    min-height: 150px;
    background: #ffffff;
    border: 1px solid #E2E8F0;
    border-top: 5px solid #06B6D4;
    border-radius: 18px;
    padding: 18px;
    box-shadow: 0 10px 26px rgba(15, 23, 42, 0.07);
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 10px;
    text-align: center;
    overflow: hidden;
    transition: transform 160ms ease, box-shadow 160ms ease, border-color 160ms ease;
}

.pgrsc-mdw-widget.pgrsc-mm-membership-indicator:hover,
.pgrsc-mm-membership-indicator:hover {
    transform: translateY(-2px);
    box-shadow: 0 14px 32px rgba(15, 23, 42, 0.10);
}

.pgrsc-mdw-grid .pgrsc-mm-membership-indicator,
.pgrsc-mdw-grid > .wp-block-group__inner-container .pgrsc-mm-membership-indicator {
    max-width: none;
}

.pgrsc-mm-membership-indicator .pgrsc-mdw-title {
    min-height: 2.5em;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: clamp(10px, 1.05vw, 12px);
    line-height: 1.2;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.055em;
    color: #64748B;
    max-width: 100%;
    overflow-wrap: anywhere;
}

.pgrsc-mm-membership-indicator .pgrsc-mdw-value {
    font-size: clamp(22px, 3vw, 34px);
    line-height: 1.02;
    font-weight: 850;
    color: #0F172A;
    overflow-wrap: anywhere;
    max-width: 100%;
}

.pgrsc-mm-indicator-type {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 5px 10px;
    border-radius: 999px;
    background: rgba(248, 250, 252, 0.9);
    border: 1px solid #E2E8F0;
    color: #0F172A;
    font-size: 11.5px;
    line-height: 1.15;
    font-weight: 750;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.pgrsc-mm-membership-indicator .pgrsc-mdw-note {
    min-height: 2.7em;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: clamp(12px, 1.05vw, 13px);
    line-height: 1.35;
    color: #64748B;
    max-width: 95%;
    overflow-wrap: anywhere;
}

.pgrsc-mm-indicator-meta {
    font-size: 11.5px;
    line-height: 1.2;
    color: #64748B;
    font-weight: 700;
}

.pgrsc-mm-membership-state-active {
    border-top-color: #10B981 !important;
    background: linear-gradient(180deg, #ffffff 0%, #ECFDF5 100%) !important;
}
.pgrsc-mm-membership-state-active .pgrsc-mdw-value { color: #047857 !important; }

.pgrsc-mm-membership-state-warning {
    border-top-color: #F97316 !important;
    background: linear-gradient(180deg, #ffffff 0%, #FFF7ED 100%) !important;
}
.pgrsc-mm-membership-state-warning .pgrsc-mdw-value { color: #C2410C !important; }

.pgrsc-mm-membership-state-expired {
    border-top-color: #EF4444 !important;
    background: linear-gradient(180deg, #ffffff 0%, #FEF2F2 100%) !important;
}
.pgrsc-mm-membership-state-expired .pgrsc-mdw-value { color: #B91C1C !important; }

.pgrsc-mm-membership-state-pending {
    border-top-color: #06B6D4 !important;
    background: linear-gradient(180deg, #ffffff 0%, #ECFEFF 100%) !important;
}
.pgrsc-mm-membership-state-pending .pgrsc-mdw-value { color: #0284C7 !important; }

.pgrsc-mm-membership-state-muted,
.pgrsc-mm-membership-state-default {
    border-top-color: #CBD5E1 !important;
    background: linear-gradient(180deg, #ffffff 0%, #F8FAFC 100%) !important;
}
.pgrsc-mm-membership-state-muted .pgrsc-mdw-value,
.pgrsc-mm-membership-state-default .pgrsc-mdw-value { color: #64748B !important; }

.pgrsc-mm-membership-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    min-height: 26px;
    padding: 5px 11px;
    border-radius: 999px;
    border: 1px solid #E2E8F0;
    background: #F8FAFC;
    color: #0F172A;
    font-size: 12px;
    line-height: 1.15;
    font-weight: 800;
    white-space: nowrap;
}

.pgrsc-mm-membership-badge.pgrsc-mm-membership-state-active { color: #047857; border-color: #BBF7D0; background: #ECFDF5 !important; }
.pgrsc-mm-membership-badge.pgrsc-mm-membership-state-warning { color: #C2410C; border-color: #FED7AA; background: #FFF7ED !important; }
.pgrsc-mm-membership-badge.pgrsc-mm-membership-state-expired { color: #B91C1C; border-color: #FECACA; background: #FEF2F2 !important; }
.pgrsc-mm-membership-badge.pgrsc-mm-membership-state-pending { color: #0284C7; border-color: #A5F3FC; background: #ECFEFF !important; }
.pgrsc-mm-membership-badge.pgrsc-mm-membership-state-muted,
.pgrsc-mm-membership-badge.pgrsc-mm-membership-state-default { color: #64748B; border-color: #CBD5E1; background: #F8FAFC !important; }

@media (max-width: 720px) {
    .pgrsc-mm-my-membership-v177 .pgrsc-mm-student-actions-main {
        flex-direction: column !important;
    }
    .pgrsc-mm-membership-badge {
        white-space: normal;
        text-align: center;
    }
}

/* =========================================================
   Certificate generation — v1.8.0
========================================================= */
.pgrsc-mm-dashboard-notice.error {
    color: #B91C1C;
    background: #FEF2F2;
    border: 1px solid #FECACA;
}
.pgrsc-mm-certificate-form {
    margin: 0;
    display: flex;
    min-width: 0;
}
.pgrsc-mm-certificate-form .pgrsc-mm-doc-tall {
    font-family: inherit;
}

/* v2.0.7 — Institutional member profile & announcement card in [pgrsc_my_membership] */
.pgrsc-mm-my-membership-v177 .pgrsc-mm-institutional-profile-card{
    margin:14px 0 16px;
    padding:16px;
    border:1px solid #D7E6F0;
    border-radius:18px;
    background:linear-gradient(180deg,#FFFFFF 0%,#F8FBFD 100%);
    box-shadow:0 8px 22px rgba(15,23,42,.055);
}
.pgrsc-mm-institutional-card-body{
    display:flex;
    gap:16px;
    align-items:flex-start;
}
.pgrsc-mm-institutional-content{
    flex:1 1 auto;
    min-width:0;
}
.pgrsc-mm-institutional-topline{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:12px;
    margin-bottom:8px;
}
.pgrsc-mm-institutional-topline h4{
    margin:0;
    font-size:16px;
    line-height:1.25;
    color:#0F172A;
    font-weight:850;
}
.pgrsc-mm-announcement-badge{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:5px 10px;
    border-radius:999px;
    font-size:11px;
    font-weight:850;
    line-height:1.1;
    white-space:nowrap;
    border:1px solid #CBD5E1;
    background:#F8FAFC;
    color:#475569;
}
.pgrsc-mm-announcement-badge.is-scheduled{
    border-color:#A5F3FC;
    background:#ECFEFF;
    color:#0369A1;
}
.pgrsc-mm-announcement-badge.is-published{
    border-color:#BBF7D0;
    background:#ECFDF5;
    color:#047857;
}
.pgrsc-mm-institutional-desc{
    margin:0 0 10px;
    font-size:13.5px;
    line-height:1.6;
    color:#475569;
}
.pgrsc-mm-institutional-links{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin:8px 0 12px;
}
.pgrsc-mm-institutional-links a{
    display:inline-flex;
    align-items:center;
    padding:6px 10px;
    border-radius:999px;
    background:#FFFFFF;
    border:1px solid #D7E6F0;
    color:#0D6E9F;
    text-decoration:none;
    font-size:12px;
    font-weight:800;
}
.pgrsc-mm-institutional-links a:hover{
    background:#EEF6FB;
    color:#0D6E9F;
}
.pgrsc-mm-institutional-announcement{
    margin-top:10px;
    padding:12px;
    border-radius:14px;
    background:#FFFFFF;
    border:1px solid #E2E8F0;
}
.pgrsc-mm-institutional-announcement span,
.pgrsc-mm-institutional-publication span{
    display:block;
    margin-bottom:4px;
    color:#64748B;
    font-size:11px;
    font-weight:850;
    text-transform:uppercase;
    letter-spacing:.045em;
}
.pgrsc-mm-institutional-announcement p{
    margin:0;
    color:#334155;
    font-size:13.5px;
    line-height:1.6;
}
.pgrsc-mm-institutional-publication{
    margin-top:10px;
    color:#334155;
    font-size:13px;
}
.pgrsc-mm-institutional-publication strong{
    color:#0F172A;
}
.pgrsc-mm-institutional-logo{
    flex:0 0 92px;
    width:92px;
    height:92px;
    border-radius:16px;
    border:1px solid #E2E8F0;
    background:#FFFFFF;
    display:flex;
    align-items:center;
    justify-content:center;
    overflow:hidden;
}
.pgrsc-mm-institutional-logo img{
    max-width:82px;
    max-height:82px;
    width:auto;
    height:auto;
    display:block;
}
.pgrsc-mm-institutional-logo span{
    padding:8px;
    color:#94A3B8;
    font-size:11px;
    text-align:center;
    line-height:1.2;
    font-weight:700;
}
@media(max-width:720px){
    .pgrsc-mm-institutional-card-body{flex-direction:column-reverse;}
    .pgrsc-mm-institutional-logo{width:84px;height:84px;}
    .pgrsc-mm-institutional-topline{flex-direction:column;}
}
