/*
 * QPGOE MPC Member Portal
 * Customization, Hosting and Maintenance by WTECH Network Solutions FZC.
 * Public membership application and Administrator review styles.
 */
:root{--ma-blue:#0862ce;--ma-dark:#10233f;--ma-muted:#62748b;--ma-border:#d8e3f1;--ma-bg:#f4f8fd;--ma-green:#159b5b;--ma-orange:#ef7d19;--ma-purple:#7757df;--ma-red:#df4557}
.application-public-shell{min-height:100vh;background:linear-gradient(140deg,#f8fbff,#eef5ff);color:var(--ma-dark);font-family:Roboto,Arial,sans-serif}
.application-public-header{height:76px;padding:0 clamp(20px,5vw,72px);display:flex;align-items:center;justify-content:space-between;background:#fff;border-bottom:1px solid var(--ma-border);position:sticky;top:0;z-index:30}
.application-brand{display:flex;align-items:center;gap:12px;color:var(--ma-dark);text-decoration:none}.application-brand .portal-seal,.application-brand img{width:48px;height:48px}.application-brand span{display:grid}.application-brand strong{font-size:17px}.application-brand small{text-transform:uppercase;letter-spacing:.07em;color:var(--ma-muted);font-size:11px}
.application-link-button,.result-actions a,.application-correction-button{display:inline-flex;align-items:center;justify-content:center;padding:11px 17px;border:1px solid #b7d1f4;border-radius:8px;color:var(--ma-blue);font-weight:700;text-decoration:none;background:#fff}
.application-public-main{width:min(1180px,calc(100% - 36px));margin:auto;padding:42px 0 70px}.application-choice-main{max-width:1020px}.application-hero{text-align:center;margin-bottom:24px}.application-eyebrow{font-size:11px;font-weight:800;letter-spacing:.09em;color:var(--ma-blue)}.application-hero h1,.application-form-heading h1{font-size:32px;line-height:1.15;margin:8px 0;color:var(--ma-dark)}.application-hero p,.application-form-heading p{color:var(--ma-muted);font-size:15px}
.eligibility-notice{padding:19px 22px;border:1px solid #b9d6fb;border-left:4px solid var(--ma-blue);border-radius:10px;background:#edf6ff;margin:24px 0}.eligibility-notice strong{font-size:15px}.eligibility-notice p{margin:6px 0;color:#365778}.eligibility-notice.compact{margin:0 0 20px}
.membership-type-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.membership-type-card{min-height:285px;padding:25px;border:1px solid var(--ma-border);border-radius:15px;background:#fff;box-shadow:0 10px 30px rgba(15,54,100,.08);text-decoration:none;color:var(--ma-dark);display:flex;flex-direction:column;gap:18px;transition:.2s}.membership-type-card:hover{transform:translateY(-3px);border-color:#8abaf2}.membership-type-card .type-icon{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;background:#e8f2ff;color:var(--ma-blue);font-size:23px;font-weight:800}.membership-type-card.associate .type-icon{background:#f0eaff;color:var(--ma-purple)}.membership-type-card small{color:var(--ma-blue);font-weight:800}.membership-type-card h2{margin:5px 0 2px;font-size:23px}.membership-type-card h3{margin:0;color:var(--ma-muted);font-size:15px}.membership-type-card p{color:var(--ma-muted);line-height:1.55}.membership-type-card b{margin-top:auto;color:var(--ma-blue)}
.application-process-note{margin-top:22px;padding:17px;text-align:center;border-radius:9px;background:#fff8e8;border:1px solid #f0d59d;color:#684b12}.application-public-footer{text-align:center;padding:20px;color:#74869a;font-size:11px}
.application-form-main{max-width:1220px}.application-form-heading{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:22px}.application-type-pill{padding:8px 13px;border-radius:999px;background:#eaf3ff;color:var(--ma-blue);font-size:11px;font-weight:800}.membership-application-form{background:#fff;border:1px solid var(--ma-border);border-radius:15px;box-shadow:0 12px 34px rgba(15,54,100,.08);overflow:hidden}.application-stepper{display:grid;grid-template-columns:repeat(7,1fr);border-bottom:1px solid var(--ma-border);background:#f7faff}.application-stepper button{min-height:70px;border:0;border-right:1px solid var(--ma-border);background:transparent;color:#64768e;font-size:11px;font-weight:700;cursor:pointer;padding:8px}.application-stepper button span{width:25px;height:25px;border-radius:50%;display:grid;place-items:center;margin:0 auto 4px;background:#e5edf7}.application-stepper button.active{color:var(--ma-blue);background:#eef6ff}.application-stepper button.active span,.application-stepper button.completed span{background:var(--ma-blue);color:#fff}
.application-step{display:none;padding:30px}.application-step.active{display:block}.application-step h2{font-size:20px;margin:0 0 22px}.application-step h3{font-size:15px;margin:24px 0 10px}.application-field-grid{display:grid;gap:16px}.application-field-grid.two{grid-template-columns:repeat(2,1fr)}.application-field-grid.three{grid-template-columns:repeat(3,1fr)}.application-field-grid .span-2{grid-column:span 2}.application-field-grid .span-3{grid-column:span 3}
.membership-application-form label,.track-form label,.review-card label{display:grid;gap:7px;color:#243b59;font-size:12px;font-weight:700}.membership-application-form input,.membership-application-form select,.membership-application-form textarea,.track-form input,.review-card input,.review-card select,.review-card textarea,.modern-filter-card input,.modern-filter-card select{width:100%;min-height:46px;border:1px solid #cbd9eb;border-radius:7px;background:#fff;padding:10px 12px;font:inherit;color:var(--ma-dark);box-sizing:border-box}.membership-application-form textarea,.review-card textarea{min-height:90px;resize:vertical}.membership-application-form label small{font-weight:400;color:var(--ma-muted)}.application-check{grid-template-columns:22px 1fr!important;align-items:start;padding:14px;border:1px solid var(--ma-border);border-radius:8px;background:#f9fbfe;margin:10px 0}.application-check input{width:17px!important;min-height:17px!important;margin-top:2px}.application-check span{display:grid;gap:4px}.application-check small{display:block}.application-check.small{padding:10px}.application-check.danger{border-color:#f0aab2;background:#fff5f6}
.repeater-grid{display:grid;gap:8px}.repeater-row{display:grid;grid-template-columns:2fr 1fr 1fr;gap:8px}.repeater-row.two{grid-template-columns:1fr 1fr}.repeater-row.one{grid-template-columns:1fr}.terms-panel{margin-top:22px}.review-summary{padding:25px;border:1px solid #bdd7f5;border-radius:10px;background:#eef6ff;line-height:1.6}.review-summary strong{font-size:20px}.application-submit-button{margin-top:22px;width:100%;min-height:54px;border:0;border-radius:9px;background:var(--ma-blue);color:#fff;font-size:15px;font-weight:800;cursor:pointer}.application-wizard-actions{display:flex;align-items:center;justify-content:space-between;padding:16px 30px;border-top:1px solid var(--ma-border);background:#f8fbff}.application-wizard-actions button{padding:10px 16px;border:1px solid #b9cde7;border-radius:7px;background:#fff;color:var(--ma-blue);font-weight:700}.application-wizard-actions button:disabled{opacity:.4}.application-wizard-actions span{font-size:12px;color:var(--ma-muted)}.application-error,.application-returned-note,.application-status-message{padding:15px 18px;border-radius:9px;margin-bottom:18px}.application-error{background:#fff1f2;border:1px solid #f4b7bf;color:#9e2634}.application-returned-note{background:#fff8e8;border:1px solid #efd39b;color:#6d4b0c}.application-status-message{background:#ecf9f1;color:#176c43}
.application-result-main{max-width:720px}.application-result-card{padding:38px;border:1px solid var(--ma-border);border-radius:16px;background:#fff;text-align:center;box-shadow:0 16px 42px rgba(15,54,100,.1)}.result-icon{width:66px;height:66px;border-radius:50%;display:grid;place-items:center;margin:0 auto 18px;background:#e7f8ef;color:var(--ma-green);font-size:32px}.application-result-card h1{font-size:29px;margin:8px}.application-result-card h2{font-size:17px;color:var(--ma-muted)}.reference-box{margin:24px auto;padding:18px;border-radius:10px;background:#eef6ff;display:grid;gap:7px;max-width:440px}.reference-box strong{font-size:23px;color:var(--ma-blue);letter-spacing:.04em}.reference-box button{border:0;background:transparent;color:var(--ma-blue);font-weight:700;cursor:pointer}.application-result-card dl,.application-status-card dl{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.application-result-card dl div,.application-status-card dl div{padding:13px;background:#f7f9fc;border-radius:8px}.application-result-card dt,.application-status-card dt{font-size:10px;text-transform:uppercase;color:var(--ma-muted)}.application-result-card dd,.application-status-card dd{margin:5px 0 0;font-weight:700}.result-warning{color:#75530f}.result-actions{display:flex;gap:10px;justify-content:center}.result-actions a{background:var(--ma-blue);color:#fff}.result-actions a.secondary{background:#fff;color:var(--ma-blue)}
.application-track-main{max-width:820px}.track-form{max-width:600px;margin:0 auto;background:#fff;border:1px solid var(--ma-border);border-radius:13px;padding:27px;display:grid;gap:15px}.track-form button{min-height:48px;border:0;border-radius:8px;background:var(--ma-blue);color:#fff;font-weight:800}.track-error{color:var(--ma-red);text-align:center}.application-status-card{background:#fff;border:1px solid var(--ma-border);border-radius:14px;padding:26px}.status-head{display:flex;justify-content:space-between;gap:16px}.status-head small{color:var(--ma-blue);font-weight:800}.status-head h2{margin:5px 0}.status-head p{color:var(--ma-muted)}.status-badge{display:inline-flex;align-items:center;align-self:flex-start;padding:7px 10px;border-radius:999px;font-size:11px;font-weight:800;background:#eef2f7;color:#53657a}.status-badge.success{background:#e6f7ee;color:#167647}.status-badge.danger{background:#feecef;color:#bb2d40}.status-badge.warning{background:#fff2dd;color:#a45d06}.status-badge.purple{background:#eee9ff;color:#6443c7}.status-badge.info{background:#e7f2ff;color:#1463ae}.status-badge.large{font-size:12px;padding:9px 13px}.application-correction-button{margin-top:18px}.status-timeline{margin-top:24px;border-top:1px solid var(--ma-border);padding-top:14px}.status-timeline>div{display:grid;grid-template-columns:14px 1fr;column-gap:10px;padding:10px}.status-timeline>div>span{width:10px;height:10px;border-radius:50%;background:var(--ma-blue);margin-top:4px}.status-timeline strong,.status-timeline small,.status-timeline p{grid-column:2}.status-timeline small{color:var(--ma-muted)}
/* Administrator module */
.membership-admin-page{padding-bottom:60px}.page-back-link{color:var(--ma-blue);text-decoration:none;font-weight:700;font-size:12px}.application-admin-cards{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin:18px 0}.application-admin-card{padding:18px;border:1px solid var(--ma-border);border-left:4px solid var(--ma-blue);border-radius:10px;background:#fff}.application-admin-card span{display:block;color:var(--ma-muted);font-size:12px;font-weight:700}.application-admin-card strong{font-size:27px}.application-admin-card.green{border-left-color:var(--ma-green)}.application-admin-card.purple{border-left-color:var(--ma-purple)}.application-admin-card.orange{border-left-color:var(--ma-orange)}.application-admin-card.red{border-left-color:var(--ma-red)}.application-filter-grid{display:grid!important;grid-template-columns:2fr 1fr 1fr auto auto;align-items:end;gap:10px}.modern-table-card table small,.application-admin-page table small{display:block;color:var(--ma-muted);margin-top:4px}.text-danger{color:var(--ma-red)!important}.text-warning{color:#a65b05}.application-review-grid{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:18px}.application-review-main,.application-review-sidebar{display:grid;gap:15px;align-content:start}.review-card{background:#fff;border:1px solid var(--ma-border);border-radius:11px;padding:20px}.review-card header{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--ma-border);padding-bottom:12px;margin-bottom:15px}.review-card h2{font-size:16px;margin:0}.review-card h3{font-size:14px;margin:18px 0 8px}.mapping-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.mapping-grid>div{padding:12px;background:#f7f9fc;border:1px solid #e5ebf3;border-radius:7px}.mapping-grid small{display:block;color:var(--ma-blue);font-size:10px;text-transform:uppercase;font-weight:800}.mapping-grid strong{display:block;margin-top:5px;font-size:13px}.mini-record-list{display:grid;gap:8px}.mini-record-list>div{display:flex;flex-wrap:wrap;gap:14px;padding:11px;background:#f8fafc;border-radius:7px}.mini-record-list span{display:grid}.mini-record-list small{color:var(--ma-muted)}.attachment-row{display:grid;grid-template-columns:1fr auto auto;gap:12px;padding:12px;border-bottom:1px solid var(--ma-border);text-decoration:none;color:var(--ma-dark)}.attachment-row b{color:var(--ma-blue)}.mapping-preview-table{display:grid}.mapping-preview-table>div{display:grid;grid-template-columns:1fr 1fr 1fr;border-bottom:1px solid var(--ma-border)}.mapping-preview-table span{padding:10px}.mapping-preview-table .head{background:#edf3fa;font-weight:800}.application-history>div{display:grid;grid-template-columns:14px 1fr;gap:10px;padding:10px 0}.application-history>div>span{width:10px;height:10px;background:var(--ma-blue);border-radius:50%;margin-top:5px}.application-history section{display:grid}.application-history small{color:var(--ma-muted)}.application-history p{margin:5px 0}.sticky-card{position:sticky;top:85px}.review-card form{display:grid;gap:12px}.button.full{width:100%}.button.info{background:#e8f3ff;color:#1463ae;border-color:#abd0f5}.button.warning{background:#fff4e3;color:#9c5b08;border-color:#edc98e}.button.purple{background:#eee9ff;color:#6443c7;border-color:#cabdfb}.button.success{background:#e8f8ef;color:#167647;border-color:#a9dfc1}.button.danger{background:#fff0f2;color:#b92d40;border-color:#f0aeba}.decision-actions{display:grid;gap:8px}.duplicate-card{border-color:#efb0b8;background:#fff7f8}.duplicate-card>div{padding:8px;border-top:1px solid #f5d0d5}.duplicate-card small{display:block}.conversion-card{border-top:4px solid var(--ma-blue)}.credential-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.credential-grid span{padding:10px;background:#fff;border-radius:7px}.credentials-result{padding:18px;margin-bottom:18px;border:1px solid #9ddbb9;background:#ecf9f1;border-radius:10px}.empty-state{color:var(--ma-muted);text-align:center;padding:20px}
.member-signup-zone{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;margin:16px 0 4px;color:#8aa0ba;font-size:11px}.member-signup-zone::before,.member-signup-zone::after{content:"";height:1px;background:#d8e3f1}.member-signup-button{display:flex;align-items:center;justify-content:center;min-height:44px;margin-top:10px;border:1px solid #9fc4f1;border-radius:9px;background:#f4f8ff;color:#075abf;text-decoration:none;font-weight:800}.member-eligibility-login-note{font-size:10px;line-height:1.45;text-align:center;color:#6e8197;margin:10px 12px 0}.member-eligibility-login-note strong{color:#435b78}
@media(max-width:1000px){.application-stepper{grid-template-columns:repeat(4,1fr)}.application-stepper button{border-bottom:1px solid var(--ma-border)}.application-field-grid.three{grid-template-columns:repeat(2,1fr)}.application-field-grid .span-3{grid-column:span 2}.application-admin-cards{grid-template-columns:repeat(3,1fr)}.application-review-grid{grid-template-columns:1fr}.sticky-card{position:static}.mapping-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.application-public-header{height:66px;padding:0 14px}.application-public-main{width:calc(100% - 24px);padding-top:25px}.membership-type-grid{grid-template-columns:1fr}.application-form-heading{display:grid;gap:10px}.application-stepper{display:flex;overflow-x:auto}.application-stepper button{min-width:120px}.application-step{padding:20px 15px}.application-field-grid.two,.application-field-grid.three{grid-template-columns:1fr}.application-field-grid .span-2,.application-field-grid .span-3{grid-column:auto}.repeater-row,.repeater-row.two{grid-template-columns:1fr}.application-wizard-actions{padding:13px}.application-result-card{padding:25px 16px}.application-result-card dl,.application-status-card dl{grid-template-columns:1fr}.result-actions{display:grid}.application-admin-cards{grid-template-columns:repeat(2,1fr)}.application-filter-grid{grid-template-columns:1fr!important}.mapping-grid{grid-template-columns:1fr}.mapping-preview-table>div{grid-template-columns:1fr}.mapping-preview-table .head{display:none}.mapping-preview-table span{border-bottom:1px solid #eef2f6}.credential-grid{grid-template-columns:1fr}.application-brand small{display:none}}

/* =========================================================================
   Version 0.1.48-dev — Global Membership Application Typography Standard
   Applies the accepted readable scale to public intake and Administrator review.
   ========================================================================= */
.application-public-shell {
    font-size: 16px;
    line-height: 1.55;
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
}

.application-public-shell p,
.application-public-shell li,
.application-public-shell dd,
.membership-admin-page p,
.membership-admin-page li,
.membership-admin-page td {
    line-height: 1.55;
}

.application-brand strong {
    font-size: 18px;
    line-height: 1.25;
}

.application-brand small {
    font-size: 12.5px;
    line-height: 1.3;
}

.application-link-button,
.result-actions a,
.application-correction-button {
    min-height: 44px;
    padding: 11px 18px;
    font-size: 15px;
    line-height: 1.3;
    font-weight: 700;
}

.application-eyebrow {
    font-size: 13px;
    line-height: 1.35;
    letter-spacing: .085em;
}

.application-hero h1,
.application-form-heading h1 {
    font-size: clamp(30px, 3vw, 34px);
    line-height: 1.18;
}

.application-hero p,
.application-form-heading p {
    font-size: 16px;
    line-height: 1.55;
}

.eligibility-notice {
    font-size: 16px;
    line-height: 1.55;
}

.eligibility-notice strong {
    font-size: 16px;
    line-height: 1.4;
}

.eligibility-notice p {
    font-size: 15.5px;
    line-height: 1.5;
}

.membership-type-card small {
    font-size: 13px;
    line-height: 1.35;
}

.membership-type-card h2 {
    font-size: 23px;
    line-height: 1.25;
}

.membership-type-card h3 {
    font-size: 16px;
    line-height: 1.4;
}

.membership-type-card p {
    font-size: 16px;
    line-height: 1.58;
}

.membership-type-card b {
    display: inline-flex;
    min-height: 44px;
    align-items: center;
    font-size: 16px;
    line-height: 1.3;
}

.application-process-note {
    font-size: 15.5px;
    line-height: 1.5;
}

.application-public-footer {
    font-size: 12.5px;
    line-height: 1.5;
}

.application-type-pill {
    font-size: 13px;
    line-height: 1.25;
}

.application-stepper button {
    min-height: 76px;
    font-size: 14px;
    line-height: 1.3;
}

.application-stepper button span {
    width: 29px;
    height: 29px;
    font-size: 14px;
}

.application-step h2 {
    font-size: 24px;
    line-height: 1.3;
}

.application-step h3 {
    font-size: 18px;
    line-height: 1.35;
}

.membership-application-form label,
.track-form label,
.review-card label {
    font-size: 15px;
    line-height: 1.4;
    font-weight: 700;
}

.membership-application-form input,
.membership-application-form select,
.membership-application-form textarea,
.track-form input,
.review-card input,
.review-card select,
.review-card textarea,
.modern-filter-card input,
.modern-filter-card select {
    min-height: 50px;
    font-size: 16px;
    line-height: 1.45;
}

.membership-application-form textarea,
.review-card textarea {
    min-height: 112px;
    line-height: 1.6;
}

.membership-application-form label small,
.review-card label small,
.application-check small,
.application-wizard-actions span,
.status-timeline small,
.application-history small {
    font-size: 14px;
    line-height: 1.5;
}

.application-check {
    font-size: 15.5px;
    line-height: 1.5;
}

.application-check input {
    width: 19px !important;
    min-height: 19px !important;
}

.review-summary {
    font-size: 16px;
    line-height: 1.65;
}

.review-summary strong {
    font-size: 22px;
}

.application-submit-button {
    min-height: 54px;
    font-size: 16px;
}

.application-wizard-actions button,
.track-form button {
    min-height: 46px;
    font-size: 15px;
    line-height: 1.3;
}

.application-error,
.application-returned-note,
.application-status-message,
.track-error {
    font-size: 15px;
    line-height: 1.5;
}

.application-result-card h1 {
    font-size: 31px;
    line-height: 1.2;
}

.application-result-card h2 {
    font-size: 19px;
    line-height: 1.35;
}

.application-result-card p,
.application-status-card p,
.result-warning {
    font-size: 15.5px;
}

.reference-box small,
.application-result-card dt,
.application-status-card dt {
    font-size: 12px;
    line-height: 1.35;
}

.reference-box strong {
    font-size: 24px;
}

.reference-box button,
.application-result-card dd,
.application-status-card dd {
    font-size: 15px;
}

.status-head small {
    font-size: 13px;
}

.status-head h2 {
    font-size: 23px;
    line-height: 1.3;
}

.status-badge {
    font-size: 13px;
    line-height: 1.25;
}

.status-badge.large {
    font-size: 14px;
}

.status-timeline strong,
.application-history strong {
    font-size: 15px;
}

/* Administrator application pages: use the same readable hierarchy. */
.modern-portal-shell .membership-admin-page {
    font-size: 15px;
    line-height: 1.55;
}

.modern-portal-shell .membership-admin-page .page-title-row h1 {
    font-size: 30px;
    line-height: 1.2;
}

.modern-portal-shell .membership-admin-page .page-title-row p {
    font-size: 16px;
    line-height: 1.5;
}

.modern-portal-shell .membership-admin-page .page-eyebrow,
.modern-portal-shell .membership-admin-page .page-back-link {
    font-size: 13px;
}

.modern-portal-shell .application-admin-card span {
    font-size: 14px;
}

.modern-portal-shell .application-admin-card strong {
    font-size: 29px;
}

.modern-portal-shell .membership-admin-page label,
.modern-portal-shell .membership-admin-page label > span,
.modern-portal-shell .membership-admin-page .modern-filter-card label > span {
    font-size: 14px;
    line-height: 1.4;
}

.modern-portal-shell .membership-admin-page input:not([type="checkbox"]):not([type="radio"]),
.modern-portal-shell .membership-admin-page select,
.modern-portal-shell .membership-admin-page textarea {
    font-size: 15px;
}

.modern-portal-shell .membership-admin-page button,
.modern-portal-shell .membership-admin-page .button,
.modern-portal-shell .membership-admin-page a.button {
    font-size: 14px;
    line-height: 1.3;
}

.modern-portal-shell .membership-admin-page table th {
    font-size: 13px;
    line-height: 1.35;
}

.modern-portal-shell .membership-admin-page table td {
    font-size: 14px;
    line-height: 1.5;
}

.modern-portal-shell .membership-admin-page table small,
.modern-portal-shell .application-admin-page table small {
    font-size: 12.5px;
    line-height: 1.45;
}

.review-card h2 {
    font-size: 19px;
    line-height: 1.3;
}

.review-card h3 {
    font-size: 17px;
    line-height: 1.35;
}

.mapping-grid small {
    font-size: 11.5px;
}

.mapping-grid strong {
    font-size: 14.5px;
    line-height: 1.45;
}

.mini-record-list,
.attachment-row,
.mapping-preview-table,
.application-history,
.duplicate-card,
.conversion-card,
.credentials-result,
.empty-state {
    font-size: 14px;
    line-height: 1.5;
}

/* Shared interaction and accessibility standards. */
.application-public-shell a:focus-visible,
.application-public-shell button:focus-visible,
.application-public-shell input:focus-visible,
.application-public-shell select:focus-visible,
.application-public-shell textarea:focus-visible,
.membership-admin-page a:focus-visible,
.membership-admin-page button:focus-visible,
.membership-admin-page input:focus-visible,
.membership-admin-page select:focus-visible,
.membership-admin-page textarea:focus-visible {
    outline: 3px solid rgba(8, 98, 206, .24);
    outline-offset: 2px;
}

@media (max-width: 700px) {
    .application-brand strong {
        font-size: 16px;
    }

    .application-hero h1,
    .application-form-heading h1 {
        font-size: 28px;
    }

    .application-hero p,
    .application-form-heading p,
    .membership-type-card p,
    .eligibility-notice,
    .eligibility-notice p,
    .application-process-note {
        font-size: 16px;
    }

    .application-stepper button {
        min-width: 146px;
        min-height: 72px;
        font-size: 14px;
    }

    .membership-application-form input,
    .membership-application-form select,
    .membership-application-form textarea,
    .track-form input,
    .review-card input,
    .review-card select,
    .review-card textarea {
        font-size: 16px;
    }

    .application-public-footer {
        font-size: 12px;
    }
}


/* =========================================================================
   Version 0.1.52-dev — Development-only Membership Test Data Tools
   ========================================================================= */
.development-test-tools {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 22px;
    padding: 18px 20px;
    margin-bottom: 18px;
    border: 2px dashed #e49a22;
    border-radius: 12px;
    background: #fff8e8;
    color: #5f430e;
}

.development-test-tools > div:first-child {
    display: grid;
    gap: 4px;
}

.development-test-tools strong {
    font-size: 18px;
    line-height: 1.3;
}

.development-test-tools p {
    margin: 0;
    font-size: 14px;
    line-height: 1.5;
}

.development-badge,
.test-data-review-badge,
.test-data-inline-badge {
    display: inline-flex;
    width: fit-content;
    align-items: center;
    justify-content: center;
    padding: 5px 9px;
    border-radius: 999px;
    background: #a65d00;
    color: #fff;
    font-size: 12px;
    font-weight: 800;
    line-height: 1.2;
    letter-spacing: .045em;
}

.development-test-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 9px;
}

.development-test-actions button {
    min-height: 44px;
    padding: 10px 15px;
    border: 1px solid #a65d00;
    border-radius: 8px;
    background: #a65d00;
    color: #fff;
    font: inherit;
    font-weight: 800;
    cursor: pointer;
}

.development-test-actions button.secondary {
    background: #fff;
    color: #87500b;
}

.development-test-banner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 13px 16px;
    margin-bottom: 18px;
    border: 1px solid #e2a13d;
    border-radius: 10px;
    background: #fff3d5;
    color: #70470c;
}

.development-test-banner[hidden],
.test-data-review-badge[hidden] {
    display: none !important;
}

.development-test-banner strong {
    font-size: 14px;
    letter-spacing: .035em;
}

.development-test-banner span {
    font-size: 14px;
}

.membership-application-form.has-development-test-data {
    border-color: #d89629;
    box-shadow: 0 12px 34px rgba(166, 93, 0, .12);
}

.test-data-review-badge {
    margin-bottom: 12px;
}

.page-title-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    gap: 9px;
}

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

.test-data-row {
    background: #fffaf0;
}

@media (max-width: 760px) {
    .development-test-tools,
    .development-test-banner {
        display: grid;
    }

    .development-test-actions {
        justify-content: stretch;
    }

    .development-test-actions button {
        width: 100%;
    }

    .page-title-actions {
        width: 100%;
        justify-content: stretch;
    }

    .page-title-actions .button,
    .page-title-actions form,
    .page-title-actions form button {
        width: 100%;
    }
}

/* =========================================================================
   Universal Portal Action Buttons
   QPGOE MPC Member Portal
   Customization, Hosting and Maintenance by WTECH Network Solutions FZC.
   ========================================================================= */

.membership-admin-page .universal-action-button {
    appearance: none;
    -webkit-appearance: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    min-height: 44px;
    padding: 0 18px;
    border: 1px solid transparent;
    border-radius: 8px;
    font-family: inherit;
    font-size: 14px;
    font-weight: 700;
    line-height: 1;
    text-decoration: none;
    white-space: nowrap;
    cursor: pointer;
    transition: background-color 160ms ease, border-color 160ms ease,
        box-shadow 160ms ease, transform 120ms ease, opacity 160ms ease;
}

.membership-admin-page .universal-action-button--primary {
    color: #fff;
    background: #0862ce;
    border-color: #0862ce;
    box-shadow: 0 5px 13px rgba(8, 98, 206, .20);
}

.membership-admin-page .universal-action-button--primary:hover {
    color: #fff;
    background: #0757b8;
    border-color: #0757b8;
    box-shadow: 0 7px 16px rgba(8, 98, 206, .26);
    transform: translateY(-1px);
}

.membership-admin-page .universal-action-button--primary:active {
    color: #fff;
    background: #064b9d;
    border-color: #064b9d;
    box-shadow: 0 3px 8px rgba(8, 98, 206, .20);
    transform: translateY(0);
}

.membership-admin-page .universal-action-button:focus-visible {
    outline: 3px solid rgba(8, 98, 206, .24);
    outline-offset: 3px;
}

.membership-admin-page .universal-action-button:disabled,
.membership-admin-page .universal-action-button[aria-disabled="true"] {
    color: #6f87a7;
    background: #e6eef9;
    border-color: #c3d4e9;
    box-shadow: none;
    cursor: not-allowed;
    opacity: .75;
    transform: none;
}

.membership-admin-page .universal-action-button__icon {
    width: 18px;
    height: 18px;
    flex: 0 0 18px;
}

.membership-admin-page .universal-action-button--filter {
    min-width: 132px;
}

.membership-admin-page .universal-action-button--full {
    width: 100%;
    min-width: 0;
}

@media (max-width: 760px) {
    .membership-admin-page .universal-action-button--filter {
        width: 100%;
        min-width: 0;
    }
}


/* =========================================================================
   Versioned Membership Terms and Conditions
   QPGOE MPC Member Portal
   Customization, Hosting and Maintenance by WTECH Network Solutions FZC.
   ========================================================================= */
.membership-terms-inline-link{appearance:none;border:0;background:transparent;padding:0;color:#075fc5;font:inherit;font-weight:800;text-decoration:underline;text-underline-offset:3px;cursor:pointer}.membership-terms-inline-link:hover{color:#064b9d}.terms-acceptance-check em{display:block;margin-top:5px;color:#64748b;font-size:.77rem;font-style:normal}.membership-terms-modal[hidden]{display:none!important}.membership-terms-modal{position:fixed;inset:0;z-index:1200;display:grid;place-items:center;padding:24px}.membership-terms-modal-backdrop{position:absolute;inset:0;background:rgba(15,23,42,.68);backdrop-filter:blur(3px)}.membership-terms-modal-card{position:relative;z-index:1;width:min(1100px,100%);max-height:min(88vh,900px);display:flex;flex-direction:column;background:#fff;border-radius:18px;box-shadow:0 24px 70px rgba(15,23,42,.32);overflow:hidden}.membership-terms-modal-card>header{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;padding:22px 24px;border-bottom:1px solid #dbe5f1}.membership-terms-modal-card>header h2{margin:4px 0 5px;color:#0f2747}.membership-terms-modal-card>header p{margin:0;color:#64748b}.membership-terms-modal-close{width:40px;height:40px;border:1px solid #cbd5e1;border-radius:50%;background:#fff;color:#334155;font-size:1.55rem;line-height:1;cursor:pointer}.membership-terms-modal-body{overflow:auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;padding:22px 24px;background:#f8fbff}.membership-terms-modal-body section,.membership-terms-document{padding:20px;border:1px solid #dbe5f1;border-radius:14px;background:#fff}.membership-terms-modal-body section>span,.membership-terms-document header>span{font-size:.72rem;font-weight:900;letter-spacing:.08em;color:#075fc5}.membership-terms-modal-body h3,.membership-terms-document h2{margin:5px 0 14px}.membership-terms-copy{white-space:pre-wrap;line-height:1.7;color:#334155}.membership-terms-modal-card>footer{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 24px;border-top:1px solid #dbe5f1;background:#fff}.membership-terms-modal-card>footer>a{color:#075fc5;font-weight:700}.membership-terms-modal-card>footer>div{display:flex;gap:10px}.membership-terms-modal-card>footer button{min-height:42px;padding:0 17px;border-radius:8px;border:1px solid #b8c9dd;font:inherit;font-weight:800;cursor:pointer}.membership-terms-modal-card>footer button.primary{color:#fff;background:#0862ce;border-color:#0862ce}.membership-terms-modal-card>footer button.secondary{color:#075fc5;background:#fff}.membership-terms-public-shell{min-height:100vh}.membership-terms-public-main{width:min(1280px,calc(100% - 32px));margin:0 auto;padding:34px 0}.membership-terms-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:22px}.membership-terms-heading h1{margin:5px 0}.membership-terms-heading p{margin:0;color:#64748b}.membership-terms-language-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.membership-terms-public-note{margin-top:18px;padding:14px 16px;border:1px solid #bfdbfe;border-radius:10px;background:#eff6ff;color:#174ea6}@media(max-width:800px){.membership-terms-modal{padding:12px}.membership-terms-modal-body,.membership-terms-language-grid{grid-template-columns:1fr}.membership-terms-modal-card>footer,.membership-terms-heading{align-items:stretch;flex-direction:column}.membership-terms-modal-card>footer>div{width:100%}.membership-terms-modal-card>footer button{flex:1}}@media print{.application-public-header,.application-public-footer,.membership-terms-heading .application-link-button,.membership-terms-public-note{display:none!important}.membership-terms-public-main{width:100%;padding:0}.membership-terms-language-grid{display:block}.membership-terms-document{break-inside:avoid;margin-bottom:20px;border:0;padding:0}}

.terms-snapshot-details{margin-top:16px;border-top:1px solid #dbe5f1;padding-top:14px}.terms-snapshot-details summary{cursor:pointer;color:#075fc5;font-weight:800}.terms-snapshot-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:14px}.terms-snapshot-grid section{padding:14px;border:1px solid #dbe5f1;border-radius:10px;background:#f8fbff}.terms-snapshot-grid b{display:block;margin-bottom:8px}@media(max-width:760px){.terms-snapshot-grid{grid-template-columns:1fr}}

/* =========================================================================
   Version 0.1.55.29-dev — Membership Email Verification
   ========================================================================= */
.email-verification-field {
    display: grid;
    gap: 10px;
    padding: 14px;
    border: 1px solid #cbd9ea;
    border-radius: 10px;
    background: #f8fbff;
}

.email-verification-field > label {
    display: grid;
    gap: 7px;
}

.email-verification-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
}

.email-verification-send,
.email-verification-verify,
.email-verification-change {
    min-height: 42px;
    padding: 9px 15px;
    border-radius: 8px;
    border: 1px solid #0758ca;
    background: #0758ca;
    color: #ffffff;
    font: inherit;
    font-weight: 800;
    cursor: pointer;
}

.email-verification-change {
    border-color: #9fb8d8;
    background: #ffffff;
    color: #0758ca;
}

.email-verification-send:disabled,
.email-verification-verify:disabled {
    cursor: not-allowed;
    opacity: .62;
}

.email-verification-badge {
    display: inline-flex;
    align-items: center;
    min-height: 32px;
    padding: 5px 10px;
    border-radius: 999px;
    background: #fff2f2;
    color: #b42332;
    font-size: 13px;
    font-weight: 800;
}

.email-verification-badge.verified {
    background: #e7f8ee;
    color: #12733f;
}

.email-verification-code-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 10px;
    align-items: end;
}

.email-verification-code-row[hidden] {
    display: none !important;
}

.email-verification-code-row input {
    letter-spacing: .22em;
    font-weight: 800;
}

.email-verification-message {
    margin: 0;
    color: #526982;
    font-size: 14px;
    line-height: 1.5;
}

.email-verification-message.success {
    color: #137344;
}

.email-verification-message.error {
    color: #b42332;
}

@media (max-width: 700px) {
    .email-verification-code-row {
        grid-template-columns: 1fr;
    }

    .email-verification-actions button,
    .email-verification-code-row button {
        width: 100%;
    }
}

/* =========================================================================
   Version 0.1.55.31-dev — Verified Email Step Gate and Form Alignment
   ========================================================================= */
.membership-application-form .application-field-grid.three {
    align-items: start !important;
}

.membership-application-form .application-field-grid.three > label {
    align-self: start !important;
    align-content: start !important;
    height: auto !important;
    min-height: 0 !important;
}

.membership-application-form input[name="mobile_number"] {
    display: block !important;
    width: 100% !important;
    height: 46px !important;
    min-height: 46px !important;
    max-height: 46px !important;
    margin: 0 !important;
    padding: 10px 12px !important;
    box-sizing: border-box !important;
}

.membership-application-form .email-verification-actions {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 10px !important;
    margin: 0 !important;
}

.membership-application-form .email-verification-send {
    appearance: none !important;
    -webkit-appearance: none !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: auto !important;
    min-width: 190px !important;
    height: 46px !important;
    min-height: 46px !important;
    margin: 0 !important;
    padding: 0 18px !important;
    box-sizing: border-box !important;
    border: 1px solid #0862ce !important;
    border-radius: 7px !important;
    background: #0862ce !important;
    color: #ffffff !important;
    font-family: inherit !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
    text-align: center !important;
    cursor: pointer !important;
    box-shadow: 0 4px 10px rgba(8, 98, 206, 0.18) !important;
}

.membership-application-form .email-verification-send:hover:not(:disabled) {
    background: #0757b8 !important;
    border-color: #0757b8 !important;
}

.membership-application-form .email-verification-send:focus-visible {
    outline: 3px solid rgba(8, 98, 206, 0.25) !important;
    outline-offset: 2px !important;
}

.membership-application-form .email-verification-send:disabled {
    background: #dbe7f6 !important;
    border-color: #c4d5e9 !important;
    color: #64748b !important;
    box-shadow: none !important;
    cursor: not-allowed !important;
    opacity: 1 !important;
}

.application-wizard-actions button:disabled,
.application-stepper button:disabled {
    cursor: not-allowed !important;
}

.application-wizard-actions [data-step-next]:disabled {
    border-color: #cbd5e1 !important;
    background: #eef2f7 !important;
    color: #94a3b8 !important;
    opacity: 1 !important;
    box-shadow: none !important;
}

.application-stepper button:disabled {
    opacity: .58 !important;
    background: #f8fafc !important;
}

@media (max-width: 700px) {
    .membership-application-form .email-verification-actions {
        align-items: stretch !important;
    }

    .membership-application-form .email-verification-send {
        width: 100% !important;
        min-width: 0 !important;
    }
}


/* Membership submission acknowledgment delivery — Version 0.1.55.32-dev */
.submission-delivery-status {
    margin: 16px auto 0;
    padding: 10px 13px;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.45;
}

.submission-delivery-status.success {
    background: #e6f7ee;
    color: #167647;
}

.submission-delivery-status.warning,
.submission-delivery-status.info {
    background: #fff2dd;
    color: #8b5509;
}

.submission-delivery-status.danger {
    background: #feecef;
    color: #a9293b;
}

.tracking-document-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 18px;
}

.tracking-document-actions .application-correction-button {
    margin-top: 0;
}

@media (max-width: 700px) {
    .result-actions a,
    .tracking-document-actions .application-correction-button {
        width: 100%;
        box-sizing: border-box;
    }
}

.membership-confirmation-card {
    display: grid;
    gap: 12px;
}

.membership-confirmation-card form {
    display: grid;
    gap: 8px;
    margin: 0;
}


/* =========================================================================
   Version 0.1.55.33-dev — Unified Portal Typography and Form Styling
   Applies consistently to Regular and Associate public application flows.
   ========================================================================= */
.application-public-shell,
.membership-application-form,
.membership-application-form input,
.membership-application-form select,
.membership-application-form textarea,
.membership-application-form button,
.application-stepper button,
.application-wizard-actions button {
    font-family: Roboto, "Helvetica Neue", Arial, sans-serif !important;
}
.application-public-shell {
    color: #172b4d;
    font-size: 15px;
    line-height: 1.5;
}
.membership-application-form {
    border-color: #d7e2ef;
    border-radius: 14px;
    box-shadow: 0 12px 32px rgba(15, 42, 78, .08);
}
.application-step h2 {
    color: #172b4d;
    font-size: 24px;
    font-weight: 800;
    line-height: 1.25;
}
.application-step h3 {
    color: #243b59;
    font-size: 16px;
    font-weight: 800;
}
.membership-application-form label {
    color: #243b59;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.35;
}
.membership-application-form input,
.membership-application-form select,
.membership-application-form textarea {
    border-color: #cbd8e8;
    border-radius: 8px;
    color: #172b4d;
    font-size: 15px;
    font-weight: 500;
    line-height: 1.4;
    transition: border-color .16s ease, box-shadow .16s ease;
}
.membership-application-form input:focus,
.membership-application-form select:focus,
.membership-application-form textarea:focus {
    border-color: #4f83d1;
    box-shadow: 0 0 0 3px rgba(30, 100, 205, .14);
    outline: none;
}
.application-stepper button {
    color: #5f728a;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.25;
}
.application-stepper button.active {
    color: #0758ca;
}
.application-wizard-actions button,
.email-verification-send,
.email-verification-verify,
.email-verification-change,
.application-submit-button {
    border-radius: 8px !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    letter-spacing: 0 !important;
}
.email-verification-field {
    border-color: #cbd8e8;
    border-radius: 10px;
    background: #f8fbff;
}
.submission-delivery-status.neutral {
    background: #eef2f7;
    color: #526276;
}

/* =========================================================================
   Version 0.1.55.34-dev — Full Dashboard-Aligned Public Application Design
   Shared by Regular and Associate Membership applications and their public
   choose, Terms, tracking, and success pages.
   ========================================================================= */
.application-public-shell {
    --application-blue: #0758ca;
    --application-blue-dark: #0648ad;
    --application-blue-soft: #eaf2ff;
    --application-navy: #10203d;
    --application-text: #24334d;
    --application-muted: #66758d;
    --application-line: #dfe7f2;
    --application-background: #f5f8fc;
    --application-card: #ffffff;
    --application-success: #16834f;
    --application-warning: #a45d06;
    --application-danger: #b42332;
    min-height: 100vh;
    color: var(--application-text) !important;
    background: var(--application-background) !important;
    font-family: Roboto, "Helvetica Neue", Arial, sans-serif !important;
    font-size: 14px;
    line-height: 1.5;
}

.application-public-shell *,
.application-public-shell *::before,
.application-public-shell *::after {
    box-sizing: border-box;
}

.application-public-header {
    min-height: 74px !important;
    height: 74px !important;
    padding: 0 clamp(20px, 4vw, 64px) !important;
    background: #ffffff !important;
    border-bottom: 1px solid var(--application-line) !important;
    box-shadow: 0 3px 14px rgba(29, 56, 92, .045) !important;
}

.application-brand {
    gap: 12px !important;
}

.application-brand .portal-seal,
.application-brand img {
    width: 48px !important;
    height: 48px !important;
}

.application-brand strong {
    color: #132442 !important;
    font-size: 16px !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
}

.application-brand small {
    margin-top: 2px;
    color: #697990 !important;
    font-size: 11px !important;
    font-weight: 500 !important;
    letter-spacing: .04em !important;
}

.application-link-button,
.application-correction-button,
.result-actions a {
    min-height: 44px !important;
    padding: 0 18px !important;
    gap: 8px;
    border: 1px solid #b9cbe1 !important;
    border-radius: 8px !important;
    background: #ffffff !important;
    color: var(--application-blue) !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    box-shadow: none !important;
    transition: border-color .16s ease, background-color .16s ease, box-shadow .16s ease, transform .12s ease;
}

.application-link-button:hover,
.application-correction-button:hover,
.result-actions a:hover {
    border-color: #8fb2df !important;
    background: #f8fbff !important;
    box-shadow: 0 5px 12px rgba(7, 88, 202, .10) !important;
    transform: translateY(-1px);
}

.application-link-button:focus-visible,
.application-correction-button:focus-visible,
.result-actions a:focus-visible {
    outline: 3px solid rgba(7, 88, 202, .20);
    outline-offset: 2px;
}

.application-public-main {
    width: min(1240px, calc(100% - 40px)) !important;
    padding: 32px 0 58px !important;
}

.application-form-main {
    max-width: 1240px !important;
}

.application-form-heading {
    align-items: flex-start !important;
    gap: 24px !important;
    margin-bottom: 22px !important;
}

.application-eyebrow {
    color: var(--application-blue) !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
    letter-spacing: .07em !important;
}

.application-hero h1,
.application-form-heading h1,
.application-result-card h1,
.membership-terms-heading h1 {
    margin: 4px 0 0 !important;
    color: #132a49 !important;
    font-size: 29px !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
    letter-spacing: -.015em !important;
}

.application-hero p,
.application-form-heading p,
.membership-terms-heading p {
    margin: 6px 0 0 !important;
    color: #61738b !important;
    font-size: 14px !important;
    line-height: 1.5 !important;
}

.application-type-pill {
    min-height: 30px;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    padding: 0 13px !important;
    border: 1px solid #d7e6fb;
    border-radius: 999px !important;
    background: var(--application-blue-soft) !important;
    color: var(--application-blue) !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    letter-spacing: .04em;
}

.membership-application-form,
.membership-type-card,
.application-result-card,
.track-form,
.application-status-card,
.membership-terms-document,
.membership-terms-modal-body section {
    border: 1px solid var(--application-line) !important;
    border-radius: 14px !important;
    background: var(--application-card) !important;
    box-shadow: 0 8px 24px rgba(29, 56, 92, .055) !important;
}

.membership-application-form,
.membership-application-form.has-development-test-data {
    overflow: hidden;
    border-color: var(--application-line) !important;
    box-shadow: 0 8px 24px rgba(29, 56, 92, .055) !important;
}

.application-stepper {
    display: flex !important;
    grid-template-columns: none !important;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    scrollbar-width: thin;
    border-bottom: 1px solid var(--application-line) !important;
    background: #ffffff !important;
}

.application-stepper button {
    flex: 1 0 112px;
    min-height: 72px !important;
    padding: 9px 8px !important;
    border: 0 !important;
    border-right: 1px solid var(--application-line) !important;
    border-radius: 0 !important;
    background: #ffffff !important;
    color: #687991 !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    line-height: 1.25 !important;
    transition: color .16s ease, background-color .16s ease;
}

.application-stepper button:last-child {
    border-right: 0 !important;
}

.application-stepper button:hover:not(:disabled) {
    color: var(--application-blue) !important;
    background: #f8fbff !important;
}

.application-stepper button.active {
    color: var(--application-blue) !important;
    background: var(--application-blue-soft) !important;
    box-shadow: inset 0 -3px 0 var(--application-blue);
}

.application-stepper button.completed {
    color: #315273 !important;
    background: #f8fbff !important;
}

.application-stepper button span {
    width: 27px !important;
    height: 27px !important;
    margin: 0 auto 5px !important;
    background: #e8eef6 !important;
    color: #64748b !important;
    font-size: 12px !important;
    font-weight: 800 !important;
}

.application-stepper button.active span,
.application-stepper button.completed span {
    background: var(--application-blue) !important;
    color: #ffffff !important;
}

.application-stepper button:disabled {
    background: #fafbfd !important;
    color: #9aa8ba !important;
    opacity: 1 !important;
}

.application-stepper button:disabled span {
    background: #eef2f7 !important;
    color: #9aa8ba !important;
}

.application-step {
    padding: 28px 30px 32px !important;
}

.application-step h2 {
    margin: 0 0 22px !important;
    color: #172b4d !important;
    font-size: 22px !important;
    font-weight: 800 !important;
    line-height: 1.25 !important;
    letter-spacing: -.01em;
}

.application-step h3 {
    margin: 24px 0 12px !important;
    color: #243b59 !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    line-height: 1.35 !important;
}

.application-field-grid {
    gap: 17px 16px !important;
}

.membership-application-form label,
.track-form label,
.review-card label {
    gap: 7px !important;
    color: #33435d !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    line-height: 1.35 !important;
}

.membership-application-form label > span,
.track-form label > span,
.review-card label > span {
    min-height: 18px;
}

.membership-application-form input,
.membership-application-form select,
.membership-application-form textarea,
.track-form input,
.review-card input,
.review-card select,
.review-card textarea {
    width: 100% !important;
    min-height: 46px !important;
    margin: 0 !important;
    padding: 10px 12px !important;
    border: 1px solid #cbd8e8 !important;
    border-radius: 8px !important;
    background: #ffffff !important;
    color: #172b4d !important;
    font-family: inherit !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    line-height: 1.4 !important;
    box-shadow: none !important;
    transition: border-color .16s ease, box-shadow .16s ease, background-color .16s ease;
}

.membership-application-form textarea,
.review-card textarea {
    min-height: 104px !important;
    resize: vertical;
}

.membership-application-form input::placeholder,
.membership-application-form textarea::placeholder,
.track-form input::placeholder {
    color: #8a9ab0 !important;
    opacity: 1;
}

.membership-application-form input:hover:not(:disabled):not([readonly]),
.membership-application-form select:hover:not(:disabled),
.membership-application-form textarea:hover:not(:disabled):not([readonly]),
.track-form input:hover:not(:disabled) {
    border-color: #a9bdd6 !important;
}

.membership-application-form input:focus,
.membership-application-form select:focus,
.membership-application-form textarea:focus,
.track-form input:focus {
    border-color: #4d83d2 !important;
    outline: none !important;
    box-shadow: 0 0 0 3px rgba(7, 88, 202, .13) !important;
}

.membership-application-form input[readonly],
.membership-application-form input:disabled,
.membership-application-form select:disabled,
.membership-application-form textarea:disabled {
    background: #f2f5f9 !important;
    color: #697990 !important;
    cursor: not-allowed;
}

.membership-application-form input[type="checkbox"],
.membership-application-form input[type="radio"] {
    width: 18px !important;
    height: 18px !important;
    min-height: 18px !important;
    padding: 0 !important;
    accent-color: var(--application-blue);
}

.membership-application-form input[type="file"] {
    min-height: 46px !important;
    padding: 7px 9px !important;
}

.membership-application-form input[type="file"]::file-selector-button {
    min-height: 30px;
    margin-right: 10px;
    padding: 0 12px;
    border: 1px solid #b9cbe1;
    border-radius: 6px;
    background: #f8fbff;
    color: var(--application-blue);
    font: inherit;
    font-weight: 700;
    cursor: pointer;
}

.application-check {
    grid-template-columns: 20px minmax(0, 1fr) !important;
    gap: 12px !important;
    align-items: start !important;
    margin: 12px 0 !important;
    padding: 15px 16px !important;
    border: 1px solid var(--application-line) !important;
    border-radius: 10px !important;
    background: #f8fafc !important;
}

.application-check input {
    margin: 1px 0 0 !important;
}

.application-check b {
    color: #263b59;
    font-size: 13px;
    line-height: 1.45;
}

.application-check small,
.membership-application-form label small {
    color: var(--application-muted) !important;
    font-size: 12px !important;
    font-weight: 400 !important;
    line-height: 1.45 !important;
}

.repeater-grid {
    gap: 10px !important;
}

.repeater-row {
    gap: 10px !important;
}

.eligibility-notice,
.application-status-message,
.application-error,
.application-returned-note,
.application-process-note {
    border-radius: 10px !important;
    box-shadow: none !important;
}

.eligibility-notice {
    padding: 16px 18px !important;
    border: 1px solid #bfd8f8 !important;
    border-left: 4px solid var(--application-blue) !important;
    background: #eef6ff !important;
    color: #24476d !important;
}

.eligibility-notice strong {
    color: #173a62;
    font-size: 14px !important;
    font-weight: 800 !important;
}

.eligibility-notice p {
    margin: 5px 0 0 !important;
    color: #466583 !important;
    font-size: 13px !important;
    line-height: 1.5 !important;
}

.application-error {
    padding: 15px 17px !important;
    border: 1px solid #f0b5bd !important;
    background: #fff2f4 !important;
    color: #9f2938 !important;
}

.application-returned-note,
.application-process-note {
    padding: 15px 17px !important;
    border: 1px solid #ecd29d !important;
    background: #fff8e8 !important;
    color: #6f4e10 !important;
}

.development-test-tools,
.development-test-banner {
    border-radius: 10px !important;
    box-shadow: none !important;
}

.development-test-tools {
    padding: 16px 18px !important;
    border: 1px dashed #df8b10 !important;
    background: #fff9ec !important;
}

.development-test-tools strong {
    color: #70460c !important;
    font-size: 15px !important;
    font-weight: 800 !important;
}

.development-test-tools p,
.development-test-banner span {
    color: #805716 !important;
    font-size: 13px !important;
}

.development-badge,
.test-data-review-badge,
.test-data-inline-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 24px;
    padding: 3px 10px !important;
    border-radius: 999px !important;
    background: #a96000 !important;
    color: #ffffff !important;
    font-size: 10px !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
    letter-spacing: .05em !important;
    white-space: nowrap;
}

.development-test-actions button {
    min-height: 42px !important;
    padding: 0 16px !important;
    border: 1px solid #a96000 !important;
    border-radius: 8px !important;
    background: #a96000 !important;
    color: #ffffff !important;
    font-family: inherit !important;
    font-size: 13px !important;
    font-weight: 700 !important;
}

.development-test-actions button.secondary {
    background: #ffffff !important;
    color: #8a5106 !important;
}

.email-verification-field {
    gap: 10px !important;
    padding: 14px !important;
    border: 1px solid #cddbea !important;
    border-radius: 10px !important;
    background: #f8fbff !important;
}

.email-verification-actions {
    gap: 10px !important;
}

.email-verification-send,
.email-verification-verify,
.application-submit-button,
.application-wizard-actions [data-step-next],
.track-form button,
.result-actions a:not(.secondary) {
    min-height: 44px !important;
    padding: 0 18px !important;
    border: 1px solid var(--application-blue) !important;
    border-radius: 8px !important;
    background: var(--application-blue) !important;
    color: #ffffff !important;
    font-family: inherit !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    box-shadow: 0 5px 13px rgba(7, 88, 202, .18) !important;
    cursor: pointer;
    transition: background-color .16s ease, border-color .16s ease, box-shadow .16s ease, transform .12s ease;
}

.email-verification-send:hover:not(:disabled),
.email-verification-verify:hover:not(:disabled),
.application-submit-button:hover:not(:disabled),
.application-wizard-actions [data-step-next]:hover:not(:disabled),
.track-form button:hover:not(:disabled),
.result-actions a:not(.secondary):hover {
    border-color: var(--application-blue-dark) !important;
    background: var(--application-blue-dark) !important;
    box-shadow: 0 7px 16px rgba(7, 88, 202, .22) !important;
    transform: translateY(-1px);
}

.email-verification-change,
.application-wizard-actions [data-step-previous],
.result-actions a.secondary {
    min-height: 44px !important;
    padding: 0 18px !important;
    border: 1px solid #b9cbe1 !important;
    border-radius: 8px !important;
    background: #ffffff !important;
    color: var(--application-blue) !important;
    font-family: inherit !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    box-shadow: none !important;
}

.email-verification-send:focus-visible,
.email-verification-verify:focus-visible,
.email-verification-change:focus-visible,
.application-submit-button:focus-visible,
.application-wizard-actions button:focus-visible,
.track-form button:focus-visible {
    outline: 3px solid rgba(7, 88, 202, .22) !important;
    outline-offset: 2px !important;
}

.email-verification-send:disabled,
.email-verification-verify:disabled,
.application-wizard-actions button:disabled,
.application-stepper button:disabled,
.application-submit-button:disabled {
    border-color: #cbd7e5 !important;
    background: #edf2f7 !important;
    color: #94a3b8 !important;
    box-shadow: none !important;
    cursor: not-allowed !important;
    opacity: 1 !important;
    transform: none !important;
}

.email-verification-badge {
    min-height: 30px !important;
    padding: 4px 10px !important;
    border: 1px solid #f0c4ca;
    border-radius: 999px !important;
    background: #fff1f3 !important;
    color: var(--application-danger) !important;
    font-size: 12px !important;
    font-weight: 700 !important;
}

.email-verification-badge.verified {
    border-color: #bfe2cf;
    background: #eaf8f0 !important;
    color: #166b42 !important;
}

.email-verification-message {
    color: #5d718a !important;
    font-size: 13px !important;
    line-height: 1.45 !important;
}

.email-verification-message.success {
    color: #166b42 !important;
}

.email-verification-message.error {
    color: var(--application-danger) !important;
}

.review-summary {
    padding: 22px !important;
    border: 1px solid #c5d9f3 !important;
    border-radius: 12px !important;
    background: #f2f7fe !important;
    color: #2d4b6c !important;
    line-height: 1.55 !important;
}

.review-summary-heading {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
    margin-bottom: 14px;
}

.review-summary-heading strong {
    color: #172b4d !important;
    font-size: 19px !important;
    font-weight: 800 !important;
    line-height: 1.3 !important;
}

.review-summary p {
    margin: 0 0 10px !important;
    color: #405e7e !important;
    font-size: 14px !important;
    line-height: 1.55 !important;
}

.review-summary p:last-child {
    margin-bottom: 0 !important;
}

.application-submit-button {
    width: 100% !important;
    min-height: 50px !important;
    margin-top: 20px !important;
}

.application-wizard-actions {
    min-height: 76px;
    padding: 15px 30px !important;
    border-top: 1px solid var(--application-line) !important;
    background: #ffffff !important;
}

.application-wizard-actions span {
    color: var(--application-muted) !important;
    font-size: 12px !important;
    font-weight: 500 !important;
}

.application-choice-main {
    max-width: 1040px !important;
}

.application-hero {
    margin-bottom: 24px !important;
}

.membership-type-grid {
    gap: 18px !important;
}

.membership-type-card {
    min-height: 272px !important;
    padding: 24px !important;
    gap: 16px !important;
    transition: border-color .16s ease, box-shadow .16s ease, transform .16s ease;
}

.membership-type-card:hover {
    border-color: #a9c6e9 !important;
    box-shadow: 0 12px 28px rgba(29, 56, 92, .09) !important;
    transform: translateY(-2px) !important;
}

.membership-type-card .type-icon {
    width: 48px !important;
    height: 48px !important;
    background: var(--application-blue-soft) !important;
    color: var(--application-blue) !important;
    font-size: 19px !important;
}

.membership-type-card.associate .type-icon {
    background: #eef1ff !important;
    color: #5b5fc7 !important;
}

.membership-type-card h2 {
    margin: 5px 0 2px !important;
    color: #172b4d !important;
    font-size: 20px !important;
    font-weight: 800 !important;
    line-height: 1.3 !important;
}

.membership-type-card h3,
.membership-type-card p {
    color: var(--application-muted) !important;
    font-size: 14px !important;
    line-height: 1.5 !important;
}

.application-result-main {
    max-width: 760px !important;
}

.application-result-card {
    padding: 34px !important;
}

.application-result-card h2 {
    color: var(--application-muted) !important;
    font-size: 16px !important;
    font-weight: 600 !important;
}

.reference-box {
    border: 1px solid #d5e4f6;
    background: #eef6ff !important;
}

.reference-box strong {
    color: var(--application-blue) !important;
    font-size: 22px !important;
}

.application-result-card dl div,
.application-status-card dl div {
    border: 1px solid #e5ebf3;
    background: #f8fafc !important;
}

.application-result-card dt,
.application-status-card dt {
    color: var(--application-muted) !important;
    font-size: 10px !important;
    font-weight: 700;
    letter-spacing: .04em;
}

.application-result-card dd,
.application-status-card dd {
    color: #24334d !important;
    font-size: 13px !important;
}

.result-actions {
    flex-wrap: wrap;
    gap: 10px !important;
}

.track-form,
.application-status-card {
    padding: 26px !important;
}

.track-form {
    gap: 16px !important;
}

.status-head h2 {
    color: #172b4d !important;
    font-size: 22px !important;
    font-weight: 800 !important;
}

.status-head p {
    color: var(--application-muted) !important;
}

.membership-terms-modal-card {
    border-radius: 16px !important;
    box-shadow: 0 24px 70px rgba(15, 23, 42, .28) !important;
}

.membership-terms-modal-card > header,
.membership-terms-modal-card > footer {
    border-color: var(--application-line) !important;
}

.membership-terms-modal-body {
    background: var(--application-background) !important;
}

.application-public-footer {
    padding: 20px !important;
    color: #74839a !important;
    font-size: 11px !important;
}

@media (max-width: 980px) {
    .application-field-grid.three {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .application-field-grid.three .span-2,
    .application-field-grid.three .span-3 {
        grid-column: span 2 !important;
    }

    .application-result-card dl,
    .application-status-card dl {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 760px) {
    .application-public-header {
        min-height: 68px !important;
        height: auto !important;
        padding: 10px 16px !important;
        gap: 12px;
    }

    .application-brand .portal-seal,
    .application-brand img {
        width: 42px !important;
        height: 42px !important;
    }

    .application-brand strong {
        font-size: 14px !important;
    }

    .application-brand small {
        font-size: 9px !important;
    }

    .application-link-button {
        min-height: 40px !important;
        padding: 0 12px !important;
        font-size: 12px !important;
    }

    .application-public-main {
        width: min(100% - 24px, 1240px) !important;
        padding: 24px 0 42px !important;
    }

    .application-form-heading,
    .membership-terms-heading {
        flex-direction: column;
        align-items: stretch !important;
        gap: 12px !important;
    }

    .application-hero h1,
    .application-form-heading h1,
    .application-result-card h1,
    .membership-terms-heading h1 {
        font-size: 25px !important;
    }

    .application-type-pill {
        align-self: flex-start;
    }

    .application-step {
        padding: 24px 20px 26px !important;
    }

    .application-step h2 {
        font-size: 20px !important;
    }

    .application-field-grid.two,
    .application-field-grid.three,
    .membership-type-grid,
    .membership-terms-language-grid,
    .membership-terms-modal-body {
        grid-template-columns: 1fr !important;
    }

    .application-field-grid .span-2,
    .application-field-grid .span-3,
    .application-field-grid.three .span-2,
    .application-field-grid.three .span-3 {
        grid-column: span 1 !important;
    }

    .repeater-row,
    .repeater-row.two {
        grid-template-columns: 1fr !important;
    }

    .application-wizard-actions {
        display: grid !important;
        grid-template-columns: 1fr 1fr !important;
        gap: 10px !important;
        padding: 14px 20px !important;
    }

    .application-wizard-actions span {
        grid-column: 1 / -1;
        grid-row: 1;
        text-align: center;
    }

    .application-wizard-actions button {
        width: 100% !important;
    }

    .application-result-card,
    .track-form,
    .application-status-card {
        padding: 22px 18px !important;
    }

    .application-result-card dl,
    .application-status-card dl {
        grid-template-columns: 1fr !important;
    }

    .result-actions,
    .tracking-document-actions {
        display: grid !important;
        grid-template-columns: 1fr !important;
    }

    .result-actions a,
    .tracking-document-actions a,
    .application-correction-button {
        width: 100% !important;
    }

    .review-summary-heading {
        align-items: flex-start;
        flex-direction: column;
    }
}

@media (max-width: 480px) {
    .application-public-header {
        align-items: center;
    }

    .application-brand small {
        display: none;
    }

    .application-link-button {
        max-width: 150px;
        text-align: center;
    }

    .application-public-main {
        width: min(100% - 16px, 1240px) !important;
    }

    .application-step {
        padding: 22px 16px 24px !important;
    }

    .application-wizard-actions {
        padding: 12px 16px !important;
    }
}

/* =========================================================================
   Version 0.1.55.35-dev — unified bottom-aligned public Portal footer
   Customization, Hosting and Maintenance by WTECH Network Solutions FZC.
   ========================================================================= */
.application-public-shell {
    display: flex !important;
    flex-direction: column !important;
    min-height: 100vh !important;
}

.application-public-header {
    flex: 0 0 auto !important;
}

.application-public-main {
    flex: 1 0 auto !important;
    margin: 0 auto !important;
}

/* Retain backward compatibility while all public pages use the shared partial. */
.application-public-footer {
    display: none !important;
}

/* =========================================================================
   Version 0.1.55.37-dev — full-width centered registration footer
   Customization, Hosting and Maintenance by WTECH Network Solutions FZC.
   ========================================================================= */
.application-public-shell > .public-portal-footer,
.membership-terms-public-shell > .public-portal-footer {
    position: relative !important;
    inset: auto !important;
    align-self: stretch !important;
    width: 100% !important;
    max-width: none !important;
    margin: auto 0 0 !important;
}

.application-public-shell > .public-portal-footer .platform-footer-copy,
.membership-terms-public-shell > .public-portal-footer .platform-footer-copy {
    width: 100% !important;
    justify-content: center !important;
    text-align: center !important;
}

/* VERSION 0.1.55.39-DEV MEMBERSHIP REVIEW LAYOUT START */
/*
 * Keep the Administrator Membership Application review inside the available
 * authenticated content width. Long applicant values wrap instead of making
 * the page wider, and the reviewer sidebar follows normal document flow.
 */
.membership-admin-page,
.application-review-grid,
.application-review-main,
.application-review-sidebar,
.application-review-main > *,
.application-review-sidebar > *,
.review-card,
.mapping-grid,
.mapping-grid > div,
.mapping-preview-table,
.mapping-preview-table > div,
.terms-snapshot-grid,
.terms-snapshot-grid > section {
    min-width: 0 !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}

.membership-admin-page {
    overflow-x: hidden !important;
}

.application-review-grid {
    width: 100% !important;
    grid-template-columns: minmax(0, 1fr) minmax(320px, 380px) !important;
    gap: 20px !important;
    align-items: start !important;
}

.application-review-main,
.application-review-sidebar {
    width: 100% !important;
    align-self: start !important;
}

.application-review-sidebar,
.membership-review-assignment-card,
.sticky-card {
    position: static !important;
    inset: auto !important;
    top: auto !important;
}

.mapping-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

.mapping-grid > div,
.mapping-grid strong,
.mapping-grid span,
.mapping-grid small,
.mini-record-list > div,
.mini-record-list span,
.attachment-row > *,
.mapping-preview-table span,
.application-history section,
.membership-terms-copy,
.review-card p,
.review-card label,
.review-card select,
.review-card textarea {
    min-width: 0 !important;
    max-width: 100% !important;
    overflow-wrap: anywhere !important;
    word-break: break-word !important;
}

.review-card select,
.review-card textarea,
.review-card input {
    width: 100% !important;
    box-sizing: border-box !important;
}

.attachment-row {
    grid-template-columns: minmax(0, 1fr) auto auto !important;
}

.mapping-preview-table > div {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

.membership-review-action-stack,
.decision-actions {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 10px !important;
    width: 100% !important;
}

.membership-review-full-button,
.decision-actions .portal-primary-button,
.decision-actions .portal-danger-button,
.decision-actions .modern-outline-button {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 42px !important;
    box-sizing: border-box !important;
    white-space: normal !important;
    text-align: center !important;
}

@media (max-width: 1280px) {
    .application-review-grid {
        grid-template-columns: minmax(0, 1fr) !important;
    }

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

    .application-review-sidebar > .review-card {
        align-self: start;
    }
}

@media (max-width: 900px) {
    .application-review-sidebar {
        grid-template-columns: minmax(0, 1fr);
    }

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

@media (max-width: 700px) {
    .mapping-grid,
    .mapping-preview-table > div {
        grid-template-columns: minmax(0, 1fr) !important;
    }

    .attachment-row {
        grid-template-columns: minmax(0, 1fr) !important;
    }
}
/* VERSION 0.1.55.39-DEV MEMBERSHIP REVIEW LAYOUT END */

/* VERSION 0.1.55.40-DEV SUBMISSION CONFIRMATION REDESIGN START */
/*
 * Replaces the compressed six-card sidebar grid with readable structured
 * rows. The design keeps the exact delivery data and workflow functions.
 */
.membership-confirmation-card,
.membership-review-decision-card {
    display: grid !important;
    gap: 14px !important;
}

.membership-confirmation-card > h2,
.membership-review-decision-card > h2 {
    margin: 0 !important;
}

.submission-confirmation-notice {
    display: grid;
    grid-template-columns: 32px minmax(0, 1fr);
    align-items: start;
    gap: 10px;
    margin: 0;
    padding: 13px 14px;
    border: 1px solid #bfd9fa;
    border-radius: 8px;
    background: #eef6ff;
    color: #315d92;
    box-sizing: border-box;
}

.submission-confirmation-notice p {
    margin: 0 !important;
    color: #315d92;
    font-size: 12px;
    line-height: 1.5;
}

.submission-confirmation-notice-icon,
.submission-confirmation-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    border-radius: 50%;
}

.submission-confirmation-notice-icon {
    width: 27px;
    height: 27px;
    color: #1473d5;
    background: #d9ebff;
}

.submission-confirmation-notice-icon svg,
.submission-confirmation-icon svg,
.membership-review-action-icon {
    width: 17px;
    height: 17px;
    flex: 0 0 17px;
}

.submission-confirmation-summary {
    overflow: hidden;
    border: 1px solid #d8e4f3;
    border-radius: 9px;
    background: #ffffff;
}

.submission-confirmation-row {
    display: grid;
    grid-template-columns: 32px minmax(0, 1fr) auto;
    align-items: center;
    gap: 10px;
    min-width: 0;
    min-height: 55px;
    padding: 10px 11px;
    border-bottom: 1px solid #e3eaf3;
    box-sizing: border-box;
}

.submission-confirmation-recipient-row,
.submission-confirmation-environment-row {
    grid-template-columns: 32px minmax(0, 1fr);
}

.submission-confirmation-pair {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    min-width: 0;
    border-bottom: 1px solid #e3eaf3;
}

.submission-confirmation-pair .submission-confirmation-row {
    min-height: 67px;
    border-bottom: 0;
}

.submission-confirmation-pair .submission-confirmation-row:first-child {
    border-right: 1px solid #e3eaf3;
}

.submission-confirmation-summary > .submission-confirmation-row:last-child {
    border-bottom: 0;
}

.submission-confirmation-icon {
    width: 28px;
    height: 28px;
    color: #1769d3;
    background: #e7f0ff;
}

.submission-confirmation-icon.success {
    color: #198754;
    background: #e2f5e9;
}

.submission-confirmation-icon.danger {
    color: #c73747;
    background: #fde8eb;
}

.submission-confirmation-icon.info,
.submission-confirmation-icon.environment,
.submission-confirmation-icon.last-attempt {
    color: #1769d3;
    background: #e7f0ff;
}

.submission-confirmation-icon.warning,
.submission-confirmation-icon.recipient {
    color: #d77c12;
    background: #fff1dc;
}

.submission-confirmation-icon.neutral {
    color: #64748b;
    background: #edf1f5;
}

.submission-confirmation-icon.attempts {
    color: #8055d9;
    background: #efe9ff;
}

.submission-confirmation-icon.sent-at {
    color: #1497a8;
    background: #e2f7fa;
}

.submission-confirmation-copy {
    display: grid;
    gap: 4px;
    min-width: 0;
}

.submission-confirmation-copy small {
    margin: 0 !important;
    color: #1761cc;
    font-size: 10px;
    font-weight: 800;
    line-height: 1.3;
    letter-spacing: .02em;
    text-transform: uppercase;
}

.submission-confirmation-copy strong,
.submission-confirmation-value {
    min-width: 0;
    margin: 0 !important;
    color: #172b4d;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.45;
    overflow-wrap: anywhere !important;
    word-break: break-word !important;
}

.submission-confirmation-status-row .status-badge {
    justify-self: end;
    max-width: 100%;
    white-space: normal;
    text-align: center;
}

.submission-confirmation-value {
    justify-self: end;
}

.submission-confirmation-download {
    margin-top: 0 !important;
}

.membership-review-action-stack {
    gap: 10px !important;
}

.membership-review-action-stack .portal-danger-outline-button,
.membership-review-action-stack .portal-primary-button,
.membership-review-action-stack .portal-danger-button,
.membership-review-action-stack .modern-outline-button {
    width: 100% !important;
}

.membership-review-action-icon {
    pointer-events: none;
}

@media (max-width: 1280px) {
    .submission-confirmation-pair {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 560px) {
    .submission-confirmation-pair {
        grid-template-columns: minmax(0, 1fr);
    }

    .submission-confirmation-pair .submission-confirmation-row:first-child {
        border-right: 0;
        border-bottom: 1px solid #e3eaf3;
    }

    .submission-confirmation-row {
        grid-template-columns: 32px minmax(0, 1fr);
    }

    .submission-confirmation-status-row .status-badge,
    .submission-confirmation-value {
        grid-column: 2;
        justify-self: start;
    }
}
/* VERSION 0.1.55.40-DEV SUBMISSION CONFIRMATION REDESIGN END */

/* VERSION 0.1.55.41-DEV PROTECTED CORE REVIEW DETAILS START */
.membership-review-test-badge-row {
    display: flex;
    align-items: center;
    min-width: 0;
    margin: 0;
}

.membership-review-test-badge-row .test-data-inline-badge {
    max-width: 100%;
    overflow-wrap: anywhere;
}
/* VERSION 0.1.55.41-DEV PROTECTED CORE REVIEW DETAILS END */



/* VERSION 0.1.55.48-DEV LOCKED ASSIGNMENT SUMMARY ROWS START */
/*
 * Display each locked Membership workflow assignment detail as its own
 * full-width row. This prevents reviewer names and notes from being
 * compressed into narrow multi-column cards in the review sidebar.
 */
.membership-workflow-assignment-summary {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 10px !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
}

.membership-workflow-assignment-summary > div {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}

.membership-workflow-assignment-summary strong,
.membership-workflow-assignment-summary em {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    overflow-wrap: anywhere !important;
    word-break: break-word !important;
}
/* VERSION 0.1.55.48-DEV LOCKED ASSIGNMENT SUMMARY ROWS END */

/* VERSION 0.1.55.58-DEV MEMBERSHIP APPLICATION PROGRESS START */
/*
 * Display-only workflow presentation for the existing Membership Application
 * status, history, locked Initial Reviewer, and dual Final Approver records.
 * No workflow authority, status transition, or global Portal card style is
 * changed by these page-scoped selectors.
 */
.membership-application-progress-card {
    margin: 18px 0;
    padding: 18px 20px 20px;
    overflow: hidden;
    border: 1px solid #d8e4f3;
    border-radius: 12px;
    background: #ffffff;
    box-shadow: 0 8px 22px rgba(37, 72, 116, .05);
}

.membership-progress-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 17px;
}

.membership-progress-heading h2 {
    margin: 0;
    color: #172b4d;
    font-size: 16px;
    line-height: 1.3;
}

.membership-progress-heading > span {
    color: #6b7c93;
    font-size: 12px;
    line-height: 1.4;
    text-align: right;
}

.membership-progress-track {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 0;
    min-width: 0;
}

.membership-progress-step {
    position: relative;
    display: grid;
    grid-template-rows: 42px auto;
    justify-items: center;
    min-width: 0;
    padding: 0 12px;
    color: #718096;
    text-align: center;
}

.membership-progress-step:not(:last-child)::after {
    content: "";
    position: absolute;
    z-index: 0;
    top: 19px;
    left: calc(50% + 25px);
    right: calc(-50% + 25px);
    height: 2px;
    background: #d7e0ea;
}

.membership-progress-step.is-completed:not(:last-child)::after {
    background: #40b970;
}

.membership-progress-step.is-current:not(:last-child)::after,
.membership-progress-step.is-warning:not(:last-child)::after {
    background: linear-gradient(90deg, #1d68d7 0%, #d7e0ea 72%);
}

.membership-progress-marker {
    position: relative;
    z-index: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    border: 2px solid #a9b7c8;
    border-radius: 50%;
    background: #ffffff;
    color: #4f6278;
    font-size: 14px;
    font-weight: 800;
    line-height: 1;
    box-shadow: 0 0 0 5px #ffffff;
}

.membership-progress-marker svg {
    width: 21px;
    height: 21px;
}

.membership-progress-step.is-completed .membership-progress-marker {
    border-color: #27a95e;
    background: #edfaf2;
    color: #19964f;
}

.membership-progress-step.is-current .membership-progress-marker {
    border-color: #1765d4;
    background: #1765d4;
    color: #ffffff;
}

.membership-progress-step.is-warning .membership-progress-marker {
    border-color: #db851b;
    background: #fff5e4;
    color: #b56a0d;
}

.membership-progress-step.is-danger .membership-progress-marker {
    border-color: #d84556;
    background: #fff0f2;
    color: #c53345;
}

.membership-progress-step.is-blocked .membership-progress-marker {
    border-color: #cbd4df;
    background: #f2f5f8;
    color: #8896a7;
}

.membership-progress-copy {
    display: grid;
    justify-items: center;
    align-content: start;
    gap: 4px;
    min-width: 0;
    width: 100%;
    padding-top: 7px;
}

.membership-progress-title-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 5px;
    min-width: 0;
}

.membership-progress-title-row strong {
    color: #172b4d;
    font-size: 13px;
    line-height: 1.35;
}

.membership-progress-current-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 3px 6px;
    border-radius: 999px;
    background: #1765d4;
    color: #ffffff;
    font-size: 8.5px;
    font-weight: 800;
    line-height: 1.2;
    letter-spacing: .035em;
    text-transform: uppercase;
}

.membership-progress-copy p,
.membership-progress-copy small,
.membership-progress-copy time {
    max-width: 100%;
    margin: 0;
    overflow-wrap: anywhere;
}

.membership-progress-copy p {
    color: #263c5a;
    font-size: 11.5px;
    font-weight: 700;
    line-height: 1.45;
}

.membership-progress-copy small {
    color: #1765d4;
    font-size: 10.5px;
    line-height: 1.45;
}

.membership-progress-copy time {
    color: #6b7c93;
    font-size: 10.5px;
    font-style: normal;
    line-height: 1.4;
}

.membership-workflow-status-summary {
    display: grid;
    gap: 10px;
    width: 100%;
    min-width: 0;
}

.membership-workflow-person-card,
.membership-workflow-final-card,
.membership-workflow-notes-card {
    min-width: 0;
    border: 1px solid #dce5f1;
    border-radius: 9px;
    background: #f8fafd;
    box-sizing: border-box;
}

.membership-workflow-person-card {
    display: grid;
    grid-template-columns: 38px minmax(0, 1fr);
    align-items: start;
    gap: 11px;
    padding: 13px;
}

.membership-workflow-person-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    border-radius: 50%;
    background: #e7f0ff;
    color: #1765d4;
}

.membership-workflow-person-icon svg {
    width: 19px;
    height: 19px;
}

.membership-workflow-person-card.is-completed .membership-workflow-person-icon,
.membership-workflow-final-card.is-completed .membership-workflow-person-icon {
    background: #e4f7eb;
    color: #1c9a53;
}

.membership-workflow-person-card.is-warning .membership-workflow-person-icon,
.membership-workflow-final-card.is-warning .membership-workflow-person-icon {
    background: #fff2dd;
    color: #bd700e;
}

.membership-workflow-final-card.is-danger .membership-workflow-person-icon {
    background: #fde8eb;
    color: #c73747;
}

.membership-workflow-person-copy,
.membership-workflow-final-heading > div {
    display: grid;
    gap: 4px;
    min-width: 0;
}

.membership-workflow-person-copy small,
.membership-workflow-final-heading small,
.membership-workflow-notes-card small,
.membership-final-approver-option small {
    color: #1761cc;
    font-size: 10px;
    font-weight: 800;
    line-height: 1.3;
    letter-spacing: .025em;
    text-transform: uppercase;
}

.membership-workflow-person-copy strong,
.membership-workflow-final-heading strong,
.membership-workflow-notes-card strong,
.membership-final-approver-option strong {
    min-width: 0;
    color: #172b4d;
    font-size: 13px;
    line-height: 1.4;
    overflow-wrap: anywhere;
}

.membership-workflow-person-copy time,
.membership-workflow-final-heading time,
.membership-workflow-final-heading span {
    color: #6b7c93;
    font-size: 10.5px;
    line-height: 1.4;
}

.membership-workflow-state-badge {
    display: inline-flex;
    width: fit-content;
    max-width: 100%;
    align-items: center;
    padding: 4px 7px;
    border-radius: 999px;
    background: #e8f1ff;
    color: #1761cc;
    font-size: 10px;
    font-weight: 700;
    line-height: 1.35;
    overflow-wrap: anywhere;
}

.membership-workflow-state-badge.is-completed {
    background: #e5f7ec;
    color: #17834a;
}

.membership-workflow-state-badge.is-warning {
    background: #fff0d8;
    color: #a75e08;
}

.membership-workflow-final-card {
    display: grid;
    gap: 11px;
    padding: 13px;
}

.membership-workflow-final-heading {
    display: grid;
    grid-template-columns: 38px minmax(0, 1fr);
    align-items: start;
    gap: 11px;
}

.membership-final-approver-options {
    display: grid;
    gap: 7px;
}

.membership-final-approver-option {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    min-width: 0;
    padding: 9px 10px;
    border: 1px solid #e1e8f2;
    border-radius: 7px;
    background: #ffffff;
}

.membership-final-approver-option > div {
    display: grid;
    gap: 2px;
    min-width: 0;
}

.membership-approver-option-status {
    flex: 0 0 auto;
    padding: 4px 7px;
    border-radius: 999px;
    background: #edf1f5;
    color: #64748b;
    font-size: 10px;
    font-weight: 800;
    line-height: 1.2;
}

.membership-approver-option-status.is-pending {
    background: #efe9ff;
    color: #6741c7;
}

.membership-approver-option-status.is-success {
    background: #e4f7eb;
    color: #17834a;
}

.membership-approver-option-status.is-danger {
    background: #fde8eb;
    color: #bf3042;
}

.membership-final-approval-note {
    padding: 9px 10px;
    border-radius: 7px;
    background: #eeeaff;
    color: #5e43b5;
    font-size: 10.5px;
    line-height: 1.5;
    text-align: center;
}

.membership-workflow-notes-card {
    display: grid;
    gap: 5px;
    padding: 12px 13px;
}

.membership-workflow-table-cell {
    min-width: 150px;
}

.membership-workflow-table-cell strong,
.membership-workflow-table-cell small,
.membership-workflow-table-cell em {
    display: block;
    min-width: 0;
    overflow-wrap: anywhere;
}

.membership-workflow-table-cell em {
    margin-top: 5px;
    color: #5f43bc;
    font-size: 11px;
    font-style: normal;
    font-weight: 700;
    line-height: 1.4;
}

@media (max-width: 1100px) {
    .membership-application-progress-card {
        overflow-x: auto;
    }

    .membership-progress-track {
        min-width: 820px;
    }
}

@media (max-width: 700px) {
    .membership-application-progress-card {
        padding: 16px;
        overflow: visible;
    }

    .membership-progress-heading {
        align-items: flex-start;
        flex-direction: column;
        gap: 4px;
    }

    .membership-progress-heading > span {
        text-align: left;
    }

    .membership-progress-track {
        grid-template-columns: minmax(0, 1fr);
        gap: 0;
        min-width: 0;
    }

    .membership-progress-step {
        grid-template-columns: 42px minmax(0, 1fr);
        grid-template-rows: auto;
        justify-items: stretch;
        gap: 11px;
        min-height: 92px;
        padding: 0 0 14px;
        text-align: left;
    }

    .membership-progress-step:not(:last-child)::after {
        top: 39px;
        bottom: 0;
        left: 19px;
        right: auto;
        width: 2px;
        height: auto;
    }

    .membership-progress-marker {
        grid-column: 1;
        grid-row: 1;
        box-shadow: 0 0 0 4px #ffffff;
    }

    .membership-progress-copy {
        grid-column: 2;
        grid-row: 1;
        justify-items: start;
        padding-top: 1px;
    }

    .membership-progress-title-row {
        justify-content: flex-start;
    }

    .membership-progress-copy time br {
        display: none;
    }
}
/* VERSION 0.1.55.58-DEV MEMBERSHIP APPLICATION PROGRESS END */

/* VERSION 0.1.55.62-DEV WORKFLOW DECISION RECORD FORMAT START */
/*
 * Read-only workflow records use the full decision-panel width. Initial Review
 * and Final Decision are intentionally stacked so notes, actor, date, and
 * status remain readable inside the existing right sidebar.
 */
.membership-review-decision-card .workflow-decision-records {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 14px;
    width: 100%;
    min-width: 0;
}

.membership-review-decision-card .workflow-decision-record {
    display: grid;
    gap: 13px;
    width: 100%;
    min-width: 0;
    padding: 15px 16px;
    border: 1px solid #dce5f1;
    border-left-width: 4px;
    border-radius: 10px;
    background: #f8fafd;
    box-sizing: border-box;
}

.membership-review-decision-card .workflow-decision-record--completed,
.membership-review-decision-card .workflow-decision-record--approved {
    border-left-color: #25a35a;
}

.membership-review-decision-card .workflow-decision-record--pending {
    border-left-color: #7652d8;
}

.membership-review-decision-card .workflow-decision-record--warning {
    border-left-color: #d98216;
}

.membership-review-decision-card .workflow-decision-record--rejected {
    border-left-color: #cf3f50;
}

.membership-review-decision-card .workflow-decision-record__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    width: 100%;
    min-width: 0;
    margin: 0;
    padding: 0 0 11px;
    border-bottom: 1px solid #e2e9f2;
}

.membership-review-decision-card .workflow-decision-record__header h3 {
    min-width: 0;
    margin: 0;
    color: #172b4d;
    font-size: 13px;
    line-height: 1.35;
    letter-spacing: .025em;
    text-transform: uppercase;
}

.membership-review-decision-card .workflow-decision-status-badge {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    max-width: 100%;
    padding: 5px 9px;
    border-radius: 999px;
    font-size: 10px;
    font-weight: 800;
    line-height: 1.2;
    white-space: nowrap;
}

.membership-review-decision-card .workflow-decision-status-badge.is-completed,
.membership-review-decision-card .workflow-decision-status-badge.is-approved {
    background: #e4f7eb;
    color: #17834a;
}

.membership-review-decision-card .workflow-decision-status-badge.is-pending {
    background: #efe9ff;
    color: #6741c7;
}

.membership-review-decision-card .workflow-decision-status-badge.is-warning {
    background: #fff0d8;
    color: #a75e08;
}

.membership-review-decision-card .workflow-decision-status-badge.is-rejected {
    background: #fde8eb;
    color: #bf3042;
}

.membership-review-decision-card .workflow-decision-record__body,
.membership-review-decision-card .workflow-decision-field,
.membership-review-decision-card .workflow-decision-meta,
.membership-review-decision-card .workflow-decision-meta > div,
.membership-review-decision-card .workflow-decision-assignees {
    display: grid;
    min-width: 0;
}

.membership-review-decision-card .workflow-decision-record__body {
    gap: 14px;
}

.membership-review-decision-card .workflow-decision-field {
    gap: 6px;
}

.membership-review-decision-card .workflow-decision-field small,
.membership-review-decision-card .workflow-decision-meta small {
    color: #1761cc;
    font-size: 10px;
    font-weight: 800;
    line-height: 1.35;
    letter-spacing: .025em;
    text-transform: uppercase;
}

.membership-review-decision-card .workflow-decision-field p {
    margin: 0 !important;
    color: #172b4d;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.55;
    overflow-wrap: break-word !important;
    word-break: normal !important;
    white-space: pre-wrap;
}

.membership-review-decision-card .workflow-decision-field .workflow-decision-empty-note {
    color: #6b7c93;
    font-weight: 500;
    font-style: italic;
}

.membership-review-decision-card .workflow-decision-meta {
    grid-template-columns: minmax(0, 1fr);
    gap: 10px;
    padding-top: 12px;
    border-top: 1px solid #e2e9f2;
}

.membership-review-decision-card .workflow-decision-meta > div {
    gap: 4px;
}

.membership-review-decision-card .workflow-decision-meta strong,
.membership-review-decision-card .workflow-decision-meta span,
.membership-review-decision-card .workflow-decision-meta time {
    min-width: 0;
    color: #263c5a;
    font-size: 12px;
    line-height: 1.45;
    overflow-wrap: break-word !important;
    word-break: normal !important;
}

.membership-review-decision-card .workflow-decision-meta strong {
    font-weight: 700;
}

.membership-review-decision-card .workflow-decision-assignees {
    gap: 3px;
}

@media (max-width: 700px) {
    .membership-review-decision-card .workflow-decision-record {
        padding: 14px;
    }

    .membership-review-decision-card .workflow-decision-record__header {
        align-items: flex-start;
        flex-direction: column;
        gap: 8px;
    }
}
/* VERSION 0.1.55.62-DEV WORKFLOW DECISION RECORD FORMAT END */

/* VERSION 0.1.55.63-DEV MEMBERSHIP CORE CONVERSION START */
.membership-conversion-page .membership-conversion-summary-grid,
.membership-conversion-page .membership-conversion-workspace {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
    margin-bottom: 18px;
}
.membership-conversion-page .review-card,
.membership-conversion-next-action,
.membership-conversion-completed {
    min-width: 0;
}
.membership-conversion-page .membership-conversion-claim-card form,
.membership-conversion-page .membership-core-create-card form {
    margin-top: 14px;
}
.membership-conversion-page .membership-conversion-form {
    display: grid;
    gap: 16px;
}
.membership-conversion-page .membership-conversion-form > label {
    display: grid;
    gap: 7px;
}
.membership-conversion-page .membership-conversion-form textarea {
    width: 100%;
    box-sizing: border-box;
}
.membership-conversion-next-action .workflow-decision-meta {
    margin: 14px 0;
}
@media (max-width: 1050px) {
    .membership-conversion-page .membership-conversion-summary-grid,
    .membership-conversion-page .membership-conversion-workspace {
        grid-template-columns: 1fr;
    }
}
/* VERSION 0.1.55.63-DEV MEMBERSHIP CORE CONVERSION END */

/* VERSION 0.1.55.64-DEV SHARED MEMBERSHIP CONVERSION QUEUE START */
.membership-conversion-next-action form,
.membership-conversion-page .membership-conversion-release-form,
.membership-conversion-page .membership-conversion-reassign-form {
    display: grid;
    gap: 10px;
    margin-top: 14px;
}
.membership-conversion-next-action form label,
.membership-conversion-page .membership-conversion-release-form label,
.membership-conversion-page .membership-conversion-reassign-form label {
    display: grid;
    gap: 7px;
}
.membership-conversion-next-action form textarea,
.membership-conversion-next-action form select,
.membership-conversion-page .membership-conversion-release-form textarea,
.membership-conversion-page .membership-conversion-reassign-form textarea,
.membership-conversion-page .membership-conversion-reassign-form select {
    width: 100%;
    box-sizing: border-box;
}
/* VERSION 0.1.55.64-DEV SHARED MEMBERSHIP CONVERSION QUEUE END */

/* VERSION 0.1.55.65-DEV CONVERSION UI STANDARD START */

/*
 * Retains the accepted Membership Applications filter layout while adding
 * the shared Conversion Queue selector for authorized conversion users.
 */
.application-filter-grid.application-filter-grid--conversion {
    grid-template-columns:
        2fr
        1fr
        1.25fr
        1fr
        1fr
        auto !important;
    align-items: end !important;
    gap: 10px !important;
}

.application-filter-grid.application-filter-grid--conversion > label {
    min-width: 0;
}

.application-filter-grid.application-filter-grid--conversion
.universal-action-button--filter {
    width: auto;
    min-width: 132px;
    align-self: end;
}

@media (max-width: 1100px) {
    .application-filter-grid.application-filter-grid--conversion {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }

    .application-filter-grid.application-filter-grid--conversion
    .universal-action-button--filter {
        width: 100%;
        min-width: 0;
    }
}

/* VERSION 0.1.55.65-DEV CONVERSION UI STANDARD END */

/* VERSION 0.1.55.67-DEV CORE VALIDATION START */
.membership-core-validation-card {
    margin-bottom: 18px;
}
.membership-validation-list {
    margin: 0 0 14px;
    padding-left: 20px;
    color: #744210;
    line-height: 1.55;
}
.membership-core-create-submit:disabled {
    cursor: not-allowed;
    opacity: .58;
    box-shadow: none;
}
/* VERSION 0.1.55.67-DEV CORE VALIDATION END */

/* VERSION 0.1.55.68-DEV STRUCTURED RECORD SPACING HOTFIX START */

/* Clear separation between Address and Family Member records. */
.structured-record-list {
    gap: 22px !important;
    margin-top: 18px !important;
    margin-bottom: 28px !important;
}

/* Retain the existing card style while improving internal breathing room. */
.structured-record-card {
    padding: 18px 18px 20px !important;
}

/* Separate each record heading from its fields. */
.structured-record-card__header {
    margin: 0 0 18px !important;
    padding: 0 0 12px !important;
}

/* Show "ADDRESS 1" and its description with a visible gap. */
.structured-record-card__header > div {
    display: flex !important;
    align-items: baseline !important;
    flex-wrap: wrap !important;
    column-gap: 9px !important;
    row-gap: 3px !important;
}

.structured-record-card__header span,
.structured-record-card__header strong {
    display: inline-block !important;
    margin: 0 !important;
    line-height: 1.35 !important;
}

.structured-record-card .application-field-grid {
    margin-top: 0 !important;
}

@media (max-width: 720px) {
    .structured-record-list {
        gap: 18px !important;
    }

    .structured-record-card__header > div {
        display: grid !important;
        gap: 4px !important;
    }
}

/* VERSION 0.1.55.68-DEV STRUCTURED RECORD SPACING HOTFIX END */

/* VERSION 0.1.55.68-DEV SPOUSE DEPENDENTS ALIGNMENT HOTFIX START */

/*
 * Prevent the Spouse Name input from stretching when the adjacent
 * Dependents field includes helper text.
 */
.membership-application-form
.application-field-grid.two
input[name="spouse_name"],
.membership-application-form
.application-field-grid.two
input[name="dependents_count"],
.membership-application-form
.application-field-grid.two
input[data-dependents-count] {
    height: 46px !important;
    min-height: 46px !important;
    align-self: start !important;
}

/* Keep both field containers aligned from the top. */
.membership-application-form
.application-field-grid.two
label:has(input[name="spouse_name"]),
.membership-application-form
.application-field-grid.two
label:has(input[data-dependents-count]) {
    align-content: start !important;
}

/* VERSION 0.1.55.68-DEV SPOUSE DEPENDENTS ALIGNMENT HOTFIX END */

/* VERSION 0.1.55.69-DEV CONVERTED MEMBER DISPLAY START */

.application-review-sidebar .core-member-verified-card {
    border-color: #9ed8b8;
    background: #f1fbf5;
    box-shadow: 0 10px 24px rgba(22, 118, 71, .08);
}

.application-review-sidebar .core-member-verified-heading {
    display: grid;
    grid-template-columns: 38px minmax(0, 1fr);
    gap: 12px;
    align-items: start;
}

.application-review-sidebar .core-member-verified-heading h2,
.application-review-sidebar .core-member-verified-heading p {
    margin: 0;
}

.application-review-sidebar .core-member-verified-heading p {
    margin-top: 5px;
    color: #3c6550;
    font-size: 13px;
    line-height: 1.5;
}

.application-review-sidebar .core-member-verified-icon {
    display: grid;
    width: 38px;
    height: 38px;
    place-items: center;
    border-radius: 50%;
    background: #dff4e8;
    color: #167647;
}

.application-review-sidebar .core-member-verified-icon svg {
    width: 22px;
    height: 22px;
}

.application-review-sidebar .core-member-verified-reference {
    display: grid;
    gap: 4px;
    margin-top: 14px;
    padding-top: 13px;
    border-top: 1px solid #c8e8d5;
}

.application-review-sidebar .core-member-verified-reference span {
    color: #3c6550;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.application-review-sidebar .core-member-verified-reference strong {
    color: #145c39;
    font-size: 14px;
    line-height: 1.45;
    overflow-wrap: anywhere;
}

.application-review-sidebar .membership-conversion-completed {
    border-top-color: #1b8a55;
    padding: 18px;
}

.application-review-sidebar .membership-conversion-completed-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 14px;
    padding-bottom: 13px;
    border-bottom: 1px solid #e1e9e5;
}

.application-review-sidebar .membership-conversion-completed-heading h2 {
    margin: 3px 0 0;
}

.application-review-sidebar .membership-conversion-eyebrow {
    display: block;
    color: #5b7186;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.application-review-sidebar .membership-conversion-summary {
    display: grid;
    margin: 0;
}

.application-review-sidebar .membership-conversion-summary > div {
    display: grid;
    grid-template-columns: minmax(112px, 42%) minmax(0, 1fr);
    gap: 12px;
    align-items: start;
    padding: 9px 0;
    border-bottom: 1px solid #edf1ef;
}

.application-review-sidebar .membership-conversion-summary > div:last-child {
    border-bottom: 0;
}

.application-review-sidebar .membership-conversion-summary dt,
.application-review-sidebar .membership-conversion-summary dd {
    min-width: 0;
    margin: 0;
    line-height: 1.4;
    overflow-wrap: anywhere;
}

.application-review-sidebar .membership-conversion-summary dt {
    color: #62758a;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .02em;
}

.application-review-sidebar .membership-conversion-summary dd {
    color: #172b4d;
    font-size: 13px;
    font-weight: 700;
    text-align: right;
}

.application-review-sidebar .membership-conversion-read-only-notice {
    display: grid;
    gap: 3px;
    margin-top: 14px;
    padding: 12px 13px;
    border: 1px solid #b7dfc8;
    border-radius: 8px;
    background: #eff9f3;
}

.application-review-sidebar .membership-conversion-read-only-notice strong {
    color: #16643d;
    font-size: 12px;
}

.application-review-sidebar .membership-conversion-read-only-notice span {
    color: #3f6250;
    font-size: 12px;
    line-height: 1.45;
}

@media (max-width: 420px) {
    .application-review-sidebar .membership-conversion-summary > div {
        grid-template-columns: minmax(0, 1fr);
        gap: 3px;
    }

    .application-review-sidebar .membership-conversion-summary dd {
        text-align: left;
    }
}

/* VERSION 0.1.55.69-DEV CONVERTED MEMBER DISPLAY END */

/* VERSION 0.1.55.72-DEV APPLICATION HISTORY TIMELINE START */

.membership-application-history-card {
    overflow: hidden;
}

.membership-application-history-card .membership-application-history-order {
    color: #6b7f96;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .045em;
    text-transform: uppercase;
}

.membership-application-timeline {
    display: grid;
    gap: 0;
    margin: 0;
    padding: 0;
    list-style: none;
}

.membership-application-timeline-item {
    position: relative;
    display: grid;
    grid-template-columns: 28px minmax(0, 1fr);
    gap: 12px;
    min-width: 0;
    padding: 0 0 10px;
}

.membership-application-timeline-item::before {
    content: "";
    position: absolute;
    z-index: 0;
    top: 28px;
    bottom: -2px;
    left: 13px;
    width: 2px;
    border-radius: 999px;
    background: #dbe7f5;
}

.membership-application-timeline-item:last-child::before {
    display: none;
}

.membership-application-timeline-marker {
    position: relative;
    z-index: 1;
    display: grid;
    width: 22px;
    height: 22px;
    margin: 15px 0 0 3px;
    place-items: center;
    border: 2px solid #ffffff;
    border-radius: 50%;
    background: #0862ce;
    color: #ffffff;
    box-shadow: 0 0 0 1px #a8c8ed;
}

.membership-application-timeline-marker svg {
    width: 13px;
    height: 13px;
}

.membership-application-timeline-item.is-latest .membership-application-timeline-marker {
    background: #159b5b;
    box-shadow: 0 0 0 1px #8fd2af, 0 0 0 5px #e9f7ef;
}

.membership-application-timeline-entry {
    display: grid;
    grid-template-columns: 44px minmax(0, 1fr);
    gap: 13px;
    min-width: 0;
    padding: 13px 15px;
    border: 1px solid #dce6f2;
    border-radius: 10px;
    background: #ffffff;
    box-shadow: 0 4px 12px rgba(21, 52, 91, .035);
}

.membership-application-timeline-item.is-latest .membership-application-timeline-entry {
    border-color: #b9dfc9;
    background: #fbfefc;
}

.membership-application-timeline-icon {
    display: grid;
    width: 42px;
    height: 42px;
    place-items: center;
    border: 1px solid #c8dcf4;
    border-radius: 50%;
    background: #edf5ff;
    color: #0862ce;
}

.membership-application-timeline-icon svg {
    width: 23px;
    height: 23px;
}

.membership-application-timeline-item.is-success .membership-application-timeline-icon {
    border-color: #bfe5cf;
    background: #edf9f2;
    color: #16804c;
}

.membership-application-timeline-item.is-warning .membership-application-timeline-icon {
    border-color: #f0d2b5;
    background: #fff5ec;
    color: #d36a16;
}

.membership-application-timeline-item.is-purple .membership-application-timeline-icon {
    border-color: #d8cdf6;
    background: #f4f0ff;
    color: #7452d6;
}

.membership-application-timeline-item.is-amber .membership-application-timeline-icon {
    border-color: #ecd8a9;
    background: #fff8e8;
    color: #ad740d;
}

.membership-application-timeline-item.is-danger .membership-application-timeline-icon {
    border-color: #efc2c9;
    background: #fff1f3;
    color: #c5374b;
}

.membership-application-timeline-copy {
    display: grid;
    min-width: 0;
    align-content: center;
}

.membership-application-timeline-title-row {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    min-width: 0;
}

.membership-application-timeline-title-row strong {
    min-width: 0;
    color: #172b4d;
    font-size: 14px;
    line-height: 1.4;
    overflow-wrap: anywhere;
}

.membership-application-timeline-latest {
    flex: 0 0 auto;
    padding: 3px 7px;
    border-radius: 999px;
    background: #e5f6ed;
    color: #167647;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .05em;
    line-height: 1.2;
    text-transform: uppercase;
}

.membership-application-timeline-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 5px;
    margin-top: 2px;
    color: #6a7d94;
    font-size: 12px;
    line-height: 1.45;
}

.membership-application-timeline-copy p {
    margin: 6px 0 0;
    color: #304761;
    font-size: 13px;
    line-height: 1.5;
    overflow-wrap: anywhere;
}

.membership-application-timeline-empty {
    list-style: none;
}

@media (max-width: 700px) {
    .membership-application-timeline-item {
        grid-template-columns: 25px minmax(0, 1fr);
        gap: 9px;
    }

    .membership-application-timeline-item::before {
        left: 11px;
    }

    .membership-application-timeline-marker {
        width: 20px;
        height: 20px;
        margin-left: 1px;
    }

    .membership-application-timeline-entry {
        grid-template-columns: 40px minmax(0, 1fr);
        gap: 10px;
        padding: 12px;
    }

    .membership-application-timeline-icon {
        width: 38px;
        height: 38px;
    }

    .membership-application-timeline-icon svg {
        width: 21px;
        height: 21px;
    }
}

@media (max-width: 430px) {
    .membership-application-history-card .membership-application-history-order {
        display: none;
    }

    .membership-application-timeline-entry {
        grid-template-columns: minmax(0, 1fr);
    }

    .membership-application-timeline-icon {
        width: 36px;
        height: 36px;
    }

    .membership-application-timeline-title-row {
        display: grid;
        justify-content: stretch;
        gap: 5px;
    }

    .membership-application-timeline-latest {
        justify-self: start;
    }
}

/* VERSION 0.1.55.72-DEV APPLICATION HISTORY TIMELINE END */

/* VERSION 0.1.55.73-DEV APPROVED REVIEW KPI CARD STANDARDIZATION START */

/*
 * Keep the existing review workflow and conversion markup intact while
 * aligning only the completed right-sidebar cards with the approved Portal
 * KPI language: neutral card borders, compact status pills, thin dividers,
 * and restrained success treatment without decorative rails or top bars.
 */
.application-review-sidebar .membership-review-decision-card .workflow-decision-record {
    padding: 14px 15px;
    border: 1px solid #dce5f1;
    border-left-width: 1px;
    border-radius: 10px;
    background: #ffffff;
    box-shadow: 0 4px 12px rgba(23, 43, 77, .04);
}

.application-review-sidebar .membership-review-decision-card .workflow-decision-record--completed,
.application-review-sidebar .membership-review-decision-card .workflow-decision-record--approved,
.application-review-sidebar .membership-review-decision-card .workflow-decision-record--pending,
.application-review-sidebar .membership-review-decision-card .workflow-decision-record--warning,
.application-review-sidebar .membership-review-decision-card .workflow-decision-record--rejected {
    border-color: #dce5f1;
}

.application-review-sidebar .membership-review-decision-card .workflow-decision-record__header {
    padding-bottom: 10px;
    border-bottom-color: #e5ebf3;
}

.application-review-sidebar .membership-review-decision-card .workflow-decision-record__body {
    gap: 12px;
}

.application-review-sidebar .membership-review-decision-card .workflow-decision-meta {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    padding-top: 11px;
    border-top-color: #e5ebf3;
}

.application-review-sidebar .membership-conversion-completed {
    order: 20;
    border: 1px solid #dce5f1 !important;
    border-top-width: 1px !important;
    border-radius: 11px;
    background: #ffffff;
    box-shadow: 0 8px 20px rgba(23, 43, 77, .06);
}

.application-review-sidebar .membership-conversion-completed-heading {
    margin-bottom: 12px;
    padding-bottom: 12px;
    border-bottom-color: #e5ebf3;
}

.application-review-sidebar .membership-conversion-completed-heading h2 {
    margin: 0;
}

.application-review-sidebar .membership-conversion-eyebrow {
    display: none;
}

.application-review-sidebar .membership-conversion-summary > div {
    border-bottom-color: #e9eef5;
}

.application-review-sidebar .core-member-verified-card {
    order: 21;
    border: 1px solid #a8ddbf;
    border-radius: 11px;
    background: #f3fbf6;
    box-shadow: 0 8px 20px rgba(22, 118, 71, .06);
}

.application-review-sidebar .core-member-verified-icon {
    width: 34px;
    height: 34px;
}

.application-review-sidebar .core-member-verified-icon svg {
    width: 20px;
    height: 20px;
}

@media (max-width: 420px) {
    .application-review-sidebar .membership-review-decision-card .workflow-decision-meta {
        grid-template-columns: minmax(0, 1fr);
    }
}

/* VERSION 0.1.55.73-DEV APPROVED REVIEW KPI CARD STANDARDIZATION END */



/* v0.1.55.127-dev — initial membership payment presentation */
.initial-membership-payment-notice{margin-top:14px;padding:14px 16px;border:1px solid #bdd5f5;border-left:5px solid #1769d3;border-radius:10px;background:#f4f8ff;color:#214f89}.initial-membership-payment-notice.associate{border-color:#d9c8f6;border-left-color:#7c4ac7;background:#faf7ff;color:#66409c}.initial-membership-payment-notice p{margin:5px 0}.initial-membership-payment-notice small{display:block;color:#60728b}.initial-payment-acknowledgment-panel{margin-top:14px;padding:16px;border:1px solid #edcf8e;border-radius:12px;background:#fffaf0}.initial-payment-acknowledgment-panel>header{display:flex;justify-content:space-between;gap:14px;align-items:center}.initial-payment-acknowledgment-panel header span{display:block;color:#93600e;font-size:11px;font-weight:800;text-transform:uppercase}.initial-payment-acknowledgment-panel header strong{display:block;margin-top:3px}.initial-payment-acknowledgment-panel header>b{font-size:20px;color:#075dcc}.initial-payment-breakdown{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:14px 0;border:1px solid #eddcb7;border-radius:9px;background:#fff}.initial-payment-breakdown>div{padding:11px 12px;border-left:1px solid #eee2ca}.initial-payment-breakdown>div:first-child{border-left:0}.initial-payment-breakdown span{display:block;color:#64748b;font-size:12px}.initial-payment-breakdown strong{display:block;margin-top:4px}.initial-payment-breakdown .total{background:#eff6ff;color:#075dcc}.initial-payment-confirm{margin-top:12px!important;background:#fff}.review-initial-payment{display:grid;gap:4px;margin-top:14px;padding:14px;border:1px solid #edcf8e;border-radius:10px;background:#fffaf0}.review-initial-payment span{color:#93600e;font-size:11px;font-weight:800;text-transform:uppercase}.review-initial-payment strong{font-size:22px;color:#075dcc}.review-initial-payment small{color:#64748b}@media(max-width:800px){.initial-payment-breakdown{grid-template-columns:1fr}.initial-payment-breakdown>div{border-left:0;border-top:1px solid #eee2ca}.initial-payment-breakdown>div:first-child{border-top:0}}

.result-initial-payment{margin:16px 0;padding:14px;border:1px solid #edcf8e;border-radius:10px;background:#fffaf0;text-align:left}.result-initial-payment span{display:block;color:#93600e;font-size:11px;font-weight:800;text-transform:uppercase}.result-initial-payment strong{display:block;margin-top:4px;color:#075dcc;font-size:22px}.result-initial-payment p{margin:5px 0 0;color:#60728b}

/* v0.1.55.128-dev secure membership upload states */
.secure-supporting-upload-field small{display:block;margin-top:7px;color:#52677f;line-height:1.45}.secure-upload-unavailable-notice{display:grid;gap:5px;padding:13px 15px;border:1px solid #bfdbfe;border-left:4px solid #2563eb;border-radius:9px;background:#eff6ff;color:#1e3a5f}.secure-upload-unavailable-notice strong{color:#124f9e}.secure-upload-unavailable-notice p{margin:0;line-height:1.5}.application-inline-error{margin-top:8px;padding:9px 12px;border:1px solid #fecaca;border-radius:8px;background:#fff1f2;color:#b42318;font-weight:700}

/* v0.1.55.128-dev attachment security status */
.attachment-security-status{display:inline-flex;padding:2px 7px;border-radius:999px;font-style:normal;font-size:.72rem;font-weight:800}.attachment-security-status.status-clean{background:#dcfce7;color:#167444}.attachment-security-status.status-legacy{background:#f1f5f9;color:#475569}

/* v0.1.55.128-dev electronic-signature-top-spacing-hotfix */
.membership-application-form .electronic-signature-field {
    margin-top: 18px !important;
}


/* Version 0.1.55.168-dev Revision r5 — Unified Initial Financial Requirement */
.initial-payment-breakdown{grid-template-columns:repeat(5,minmax(0,1fr))}
.initial-payment-source-badge{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:13px;padding:9px 11px;border:1px solid #bfe1ca;border-radius:9px;background:#f0fbf4;color:#23633b}
.initial-payment-source-badge span{font-size:12px;font-weight:800}
.initial-payment-source-badge small{color:#4f6f5c;font-weight:600}
.initial-payment-snapshot-notice{display:flex;align-items:flex-start;gap:10px;margin-top:11px;padding:11px 12px;border:1px solid #bfd5f4;border-radius:9px;background:#f3f8ff}
.initial-payment-snapshot-notice strong{color:#1457ad;white-space:nowrap}
.initial-payment-snapshot-notice span{color:#536a88;font-size:12px;line-height:1.45}
.initial-payment-source-unavailable{margin-top:14px;padding:15px 16px;border:1px solid #e6b65b;border-left:5px solid #d38a00;border-radius:10px;background:#fff9eb;color:#6d4700}
.initial-payment-source-unavailable p{margin:6px 0 0;line-height:1.5}
.application-submit-button:disabled{cursor:not-allowed;opacity:.58;box-shadow:none}
@media(max-width:1100px){.initial-payment-breakdown{grid-template-columns:repeat(2,minmax(0,1fr))}.initial-payment-breakdown .total{grid-column:1/-1}}
@media(max-width:800px){.initial-payment-breakdown{grid-template-columns:1fr}.initial-payment-breakdown .total{grid-column:auto}.initial-payment-source-badge,.initial-payment-snapshot-notice{display:grid}}


/* Version 0.1.55.168-dev Revision r5 — Unified financial disclosure */
.unified-financial-choice{display:grid;gap:12px}
.unified-financial-choice-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.unified-financial-choice-heading>div{display:grid;gap:3px}
.unified-financial-choice-heading>b{color:#075ecf;font-size:22px;white-space:nowrap}
.unified-financial-choice-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid #e1d3ad;border-radius:9px;overflow:hidden;background:#fff}
.unified-financial-choice-grid span{display:grid;gap:5px;padding:11px 12px;color:#5b6e87;font-size:12px;border-right:1px solid #e1d3ad}
.unified-financial-choice-grid span:last-child{border-right:0}
.unified-financial-choice-grid b{color:#18345d;font-size:13px}
.initial-membership-payment-notice.is-unavailable{border-color:#dfad4a;background:#fff8e9;color:#6d4700}
@media(max-width:800px){.unified-financial-choice-heading{display:grid}.unified-financial-choice-grid{grid-template-columns:1fr 1fr}.unified-financial-choice-grid span:nth-child(2){border-right:0}.unified-financial-choice-grid span:nth-child(-n+2){border-bottom:1px solid #e1d3ad}}
@media(max-width:520px){.unified-financial-choice-grid{grid-template-columns:1fr}.unified-financial-choice-grid span{border-right:0;border-bottom:1px solid #e1d3ad}.unified-financial-choice-grid span:last-child{border-bottom:0}}
