/* Developer portal administration */
.developer-admin .panel-heading {
    border-bottom: 1px solid #e4e8ec;
    padding: 16px 20px;
}

.developer-admin .panel-heading h3 {
    margin: 0;
}

.developer-admin .tabs-area {
    padding: 0;
}

.developer-admin .nav-tabs.nav-tabs-v3 {
    display: flex;
    overflow-x: auto;
    overflow-y: hidden;
    padding-top: 8px;
    white-space: nowrap;
}

.developer-admin .nav-tabs.nav-tabs-v3 > li {
    flex: 0 0 auto;
    width: auto;
}

.developer-admin .nav-tabs.nav-tabs-v3 > li > a {
    align-items: center;
    display: flex;
    gap: 7px;
    padding: 12px 14px;
}

.developer-admin .nav-tabs .badge {
    background: #e8edf2;
    color: #52606d;
    font-weight: 600;
}

.developer-admin .nav-tabs .active .badge {
    background: #4285f4;
    color: #fff;
}

.developer-admin .tab-content-v3 {
    padding-top: 16px;
}

.developer-approval-context {
    align-items: baseline;
    background: #f7f9fb;
    border: 1px solid #dde4eb;
    border-left: 4px solid #4b77a8;
    border-radius: 4px;
    color: #334e68;
    display: flex;
    flex-wrap: wrap;
    gap: 5px 10px;
    margin: 0 0 14px;
    padding: 10px 12px;
}

.developer-approval-context-step {
    color: #52606d;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.developer-approval-context > span:last-child {
    color: #6b7785;
    flex-basis: 100%;
    font-size: 12px;
}

.developer-admin .responsive-table {
    overflow-x: auto;
}

.developer-admin table {
    max-width: none;
    width: 100% !important;
}

.developer-admin table > tbody > tr > td {
    vertical-align: middle;
}

.developer-admin table > thead > tr > th {
    background: #f7f9fb;
    color: #52606d;
    font-size: 12px;
    font-weight: 600;
    padding: 11px 8px;
    white-space: nowrap;
}

.developer-admin table.dataTable thead .sorting,
.developer-admin table.dataTable thead .sorting_asc,
.developer-admin table.dataTable thead .sorting_desc {
    background-image: none !important;
    padding-right: 22px;
    position: relative;
}

.developer-admin table.dataTable thead .sorting::after,
.developer-admin table.dataTable thead .sorting_asc::after,
.developer-admin table.dataTable thead .sorting_desc::after {
    color: #8a97a4;
    font-family: "Font Awesome 5 Free";
    font-size: 10px;
    font-weight: 900;
    position: absolute;
    right: 7px;
    top: 50%;
    transform: translateY(-50%);
}

.developer-admin table.dataTable thead .sorting::after {
    content: "\f0dc";
}

.developer-admin table.dataTable thead .sorting_asc::after {
    content: "\f0de";
}

.developer-admin table.dataTable thead .sorting_desc::after {
    content: "\f0dd";
}

.developer-action-group {
    align-items: center;
    display: inline-flex;
    gap: 5px;
    justify-content: center;
    white-space: nowrap;
}

.developer-action-group-wrap {
    flex-wrap: wrap;
    white-space: normal;
}

.developer-action-group .btn {
    align-items: center;
    display: inline-flex;
    gap: 5px;
    justify-content: center;
    min-height: 30px;
}

.developer-approval-action {
    align-items: flex-start;
    display: flex;
    flex-direction: column;
    gap: 7px;
    min-width: 210px;
}

.developer-approval-action-summary {
    border-left: 3px solid #4b77a8;
    line-height: 1.35;
    padding-left: 8px;
    text-align: left;
}

.developer-approval-action-summary strong {
    color: #334e68;
}

.developer-approval-action .developer-action-group {
    justify-content: flex-start;
}

.developer-policy-source,
.developer-scope-badge {
    border: 1px solid #cad4df;
    border-radius: 4px;
    display: inline-block;
    font-size: 11px;
    font-weight: 600;
    line-height: 1.4;
    padding: 3px 7px;
}

.developer-policy-source-account {
    background: #e9f7ef;
    border-color: #9ad7ad;
    color: #24723d;
}

.developer-policy-source-company {
    background: #eaf3ff;
    border-color: #9fc4ef;
    color: #245f9e;
}

.developer-policy-source-global_default,
.developer-scope-badge {
    background: #f5f7f9;
    color: #52606d;
}

.developer-policy-counts {
    color: #697786;
    display: block;
    font-size: 11px;
    margin-top: 5px;
    white-space: nowrap;
}

.developer-data-table .dataTables_filter input {
    margin-left: 8px;
    max-width: 100%;
    width: 240px;
}

.developer-data-table .developer-table-toolbar {
    align-items: center;
    display: flex;
}

.developer-data-table .developer-table-toolbar > div:first-child {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.developer-data-table .developer-queue-view {
    display: inline-flex;
    margin-bottom: 10px;
}

.developer-data-table .developer-queue-view .btn {
    align-items: center;
    display: inline-flex;
    gap: 5px;
    min-height: 30px;
}

.developer-data-table .dataTables_length,
.developer-data-table .dataTables_filter {
    margin-bottom: 10px;
}

.developer-action-center-filters {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin: 0 0 12px;
}

.developer-action-center-filters .btn {
    border-radius: 4px;
    font-size: 12px;
    min-height: 32px;
}

.developer-action-center-batch {
    align-items: center;
    background: #eef6ff;
    border: 1px solid #b8d5f2;
    border-left: 4px solid #2f78b7;
    border-radius: 4px;
    display: flex;
    gap: 16px;
    justify-content: space-between;
    margin: 0 0 12px;
    padding: 10px 12px;
}

.developer-action-center-batch-copy {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.developer-action-center-batch-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    justify-content: flex-end;
}

.developer-action-center-select {
    width: 42px;
}

#action-center-data {
    min-width: 1180px;
}

.developer-action-center-group {
    background: #f5f7f9;
    border: 1px solid #cad4df;
    border-radius: 12px;
    color: #425466;
    display: inline-block;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.025em;
    line-height: 1.35;
    max-width: 150px;
    padding: 4px 8px;
    text-transform: uppercase;
    white-space: normal;
}

.developer-action-center-group-onboarding_company {
    background: #eef6ff;
    border-color: #b8d5f2;
    color: #245f9e;
}

.developer-action-center-group-access_merchants {
    background: #edf8f1;
    border-color: #a8d9b8;
    color: #24723d;
}

.developer-action-center-group-launch_production {
    background: #fff6e5;
    border-color: #efd19a;
    color: #8a5b00;
}

.developer-action-center-group-risk_exceptions {
    background: #fff0f0;
    border-color: #e8b0b0;
    color: #9b2c2c;
}

.developer-action-center-subject,
.developer-action-center-initiator,
.developer-action-center-recommendation,
.developer-action-center-time {
    display: flex;
    flex-direction: column;
    gap: 3px;
    min-width: 150px;
}

.developer-action-center-subject > span:not(.developer-action-center-group),
.developer-action-center-initiator span,
.developer-action-center-recommendation span,
.developer-action-center-recommendation small,
.developer-action-center-time span {
    color: #6b7785;
    font-size: 11px;
    line-height: 1.35;
}

.developer-action-center-recommendation small {
    color: #8a5b00;
    font-weight: 600;
    text-transform: uppercase;
}

.developer-action-center-required {
    color: #334e68;
    display: block;
    min-width: 140px;
}

.developer-action-center-effect {
    display: flex;
    flex-direction: column;
    gap: 8px;
    min-width: 180px;
}

.developer-action-center-review-details {
    min-width: 150px;
}

.developer-action-center-review-details > summary {
    align-items: center;
    color: #245f9e;
    cursor: pointer;
    display: inline-flex;
    font-size: 11px;
    font-weight: 700;
    gap: 6px;
    list-style: none;
    min-height: 30px;
    padding: 5px 0;
}

.developer-action-center-review-details > summary::-webkit-details-marker {
    display: none;
}

.developer-action-center-review-details > summary::after {
    content: "\f107";
    font-family: FontAwesome;
    font-weight: normal;
}

.developer-action-center-review-details[open] > summary::after {
    content: "\f106";
}

.developer-action-center-review-details-body {
    background: #fff;
    border: 1px solid #d8e1e8;
    border-radius: 4px;
    display: grid;
    gap: 8px;
    margin-top: 5px;
    max-height: 320px;
    min-width: 280px;
    overflow: auto;
    padding: 9px;
}

.developer-action-center-review-details-body > div:not(.developer-action-center-effect) {
    color: #52606d;
    font-size: 11px;
}

.developer-action-center-request-meta {
    align-items: flex-start;
    color: #60798a;
    display: flex;
    font-size: 11px;
    gap: 12px;
    justify-content: space-between;
    margin-bottom: 9px;
}

.developer-action-center-evidence,
.developer-action-center-requirements {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
}

.developer-action-center-evidence .btn {
    align-items: center;
    display: inline-flex;
    gap: 5px;
    white-space: normal;
}

.developer-action-center-details {
    background: #f7f9fb;
    border-left: 3px solid #cad4df;
    display: flex;
    flex-direction: column;
    font-size: 11px;
    gap: 4px;
    padding: 7px 8px;
}

.developer-action-center-details strong {
    color: #425466;
}

.developer-action-center-preview-required {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 3px;
}

.developer-action-center-decision-control {
    align-items: flex-start;
    display: flex;
    flex-direction: column;
    gap: 5px;
    min-width: 210px;
}

.developer-action-center-decision-options {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
}

.developer-action-center-decision-button {
    min-height: 30px;
    white-space: normal;
}

.developer-action-center-decision-button:not(.is-selected) {
    opacity: .82;
}

.developer-action-center-decision-button.is-selected {
    box-shadow: 0 0 0 2px #fff, 0 0 0 4px #2b6cb0;
    opacity: 1;
}

.developer-action-center-ready {
    color: #2f855a;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .02em;
    text-transform: uppercase;
}

.developer-action-center-row-ready > td:last-child {
    background: #f1faf5;
}

.developer-governance-tabs {
    background: #eef4f7;
    border: 1px solid #d6e0e6;
    border-radius: 6px;
    display: flex;
    gap: 4px;
    margin: 0;
    overflow-x: auto;
    overflow-y: hidden;
    padding: 4px;
    white-space: nowrap;
}

.developer-governance-tabs > li {
    flex: 0 0 auto;
    width: auto;
}

.developer-governance-tabs:not(.cp-connected-tabs-bar) > li > a {
    align-items: center;
    border: 0 !important;
    border-radius: 4px;
    color: #526b7a;
    display: flex;
    font-size: 11px;
    font-weight: 700;
    gap: 7px;
    margin: 0 !important;
    min-height: 34px;
    padding: 7px 12px;
}

.developer-governance-tabs > li.active > a,
.developer-governance-tabs > li.active > a:hover,
.developer-governance-tabs > li.active > a:focus {
    background: #fff;
    box-shadow: 0 1px 5px rgba(18, 54, 77, .12);
    color: #1674b8;
}

.developer-governance-tabs > li > a:focus-visible {
    outline: 2px solid #1674b8;
    outline-offset: 1px;
}

.developer-governance-tabs .badge {
    background: #e8edf2;
    color: #52606d;
    font-weight: 600;
}

.developer-governance-tabs .active .badge {
    background: #4285f4;
    color: #fff;
}

.developer-governance-content {
    padding-top: 0;
}

.developer-governance-content .developer-configuration-section {
    margin-bottom: 0;
}

.developer-governance-view-switch {
    flex: 0 0 auto;
}

.developer-governance-view-switch .btn {
    align-items: center;
    display: inline-flex;
    gap: 6px;
    min-height: 32px;
}

.developer-governance-view-switch .btn-primary .badge {
    background: #fff;
    color: #337ab7;
}

.developer-governance-view-summary {
    border-left: 3px solid #b8d5f2;
    margin-top: 7px !important;
    padding-left: 8px;
}

.developer-progress-context {
    align-items: center;
    background: #f5f9fd;
    border-left: 3px solid #2f80c9;
    color: #52606d;
    display: flex;
    gap: 10px;
    margin-bottom: 12px;
    padding: 9px 11px;
}

.developer-progress-context strong {
    color: #244968;
    white-space: nowrap;
}

.developer-progress-filters {
    align-items: flex-end;
    background: #fff;
    border: 1px solid #dce4eb;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 12px;
    padding: 9px;
}

.developer-progress-filters label {
    margin: 0;
    min-width: 145px;
}

.developer-progress-filters label > span {
    color: #52606d;
    display: block;
    font-size: 10px;
    font-weight: 700;
    margin-bottom: 3px;
    text-transform: uppercase;
}

.developer-progress-person,
.developer-progress-stage,
.developer-progress-next {
    display: flex;
    flex-direction: column;
    gap: 3px;
    min-width: 0;
}

.developer-progress-person span,
.developer-progress-stage span,
.developer-progress-next span,
.developer-progress-next small {
    color: #6c7a89;
    font-size: 11px;
    line-height: 1.35;
}

.developer-progress-next time {
    color: #52606d;
    font-size: 10px;
}

.developer-progress-priority {
    align-self: flex-start;
    border: 1px solid #8795a4;
    border-radius: 10px;
    color: #52606d;
    font-size: 9px;
    font-style: normal;
    font-weight: 700;
    letter-spacing: .04em;
    line-height: 1;
    padding: 3px 6px;
    text-transform: uppercase;
}

.developer-progress-priority-critical {
    background: #fff0f0;
    border-color: #d9534f;
    color: #a72c28;
}

.developer-progress-priority-high {
    background: #fff7e8;
    border-color: #d99618;
    color: #8a5b0a;
}

.developer-progress-priority-medium {
    background: #eef7ff;
    border-color: #4d91cf;
    color: #245f9e;
}

.developer-progress-meter {
    min-width: 90px;
}

.developer-progress-meter > span {
    background: #dfe7ef;
    border-radius: 8px;
    display: block;
    height: 6px;
    margin-top: 5px;
    overflow: hidden;
}

.developer-progress-meter > span > i {
    background: #2f80c9;
    display: block;
    height: 100%;
}

.developer-progress-evidence-summary,
.developer-progress-actions {
    align-items: flex-start;
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.developer-progress-evidence-summary > span {
    color: #52606d;
    font-size: 11px;
}

.developer-progress-detail {
    text-align: left;
}

.developer-progress-detail h4 {
    border-bottom: 1px solid #dce4eb;
    font-size: 13px;
    margin: 14px 0 7px;
    padding-bottom: 5px;
}

.developer-progress-detail ul {
    display: grid;
    gap: 6px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    list-style: none;
    margin: 0;
    padding: 0;
}

.developer-progress-detail li {
    align-items: center;
    display: grid;
    gap: 7px;
    grid-template-columns: 15px minmax(0, 1fr) auto;
}

.developer-progress-detail li small {
    color: #8a5b0a;
    font-size: 9px;
    text-transform: uppercase;
}

.developer-progress-detail .developer-progress-issues {
    display: flex;
    flex-direction: column;
}

.developer-progress-detail .developer-progress-issue {
    align-items: flex-start;
    border-bottom: 1px solid #edf1f4;
    grid-template-columns: auto minmax(0, 1fr);
    padding: 6px 0;
}

.developer-progress-issue > span,
.developer-progress-issue > span > small {
    display: block;
}

.developer-progress-issue > span > small {
    color: #6c7a89;
    font-size: 10px;
    margin-top: 2px;
    text-transform: none;
}

.developer-progress-continuity {
    background: #eef7ff;
    border-left: 3px solid #2f80c9;
    margin-top: 14px;
    padding: 9px;
}

.developer-progress-recovery {
    background: #eef7ff;
    border-left: 3px solid #2f80c9;
    display: flex;
    flex-direction: column;
    gap: 3px;
    margin: 10px 0;
    padding: 9px;
}

.developer-progress-recovery span,
.developer-progress-recovery small {
    color: #52606d;
}

.developer-progress-decision-list {
    display: grid;
    gap: 8px;
    text-align: left;
}

.developer-progress-decision-list .btn {
    align-items: flex-start;
    display: flex;
    flex-direction: column;
    padding: 10px;
    text-align: left;
    white-space: normal;
}

.developer-progress-decision-list .btn span,
.developer-progress-decision-list .btn small {
    color: #52606d;
}

.developer-progress-upload {
    text-align: left;
}

.developer-progress-upload-field {
    border: 1px solid #dce4eb;
    display: block;
    margin: 7px 0;
    padding: 9px;
}

.developer-progress-upload-field > span {
    display: block;
    font-size: 12px;
    margin-bottom: 6px;
}

.developer-progress-upload-field input[type="file"] {
    font-size: 12px;
    max-width: 100%;
}

.developer-configuration-section {
    background: #fff;
    border: 1px solid #dfe5eb;
    border-radius: 5px;
    margin: 0 0 18px;
    padding: 14px;
}

.developer-configuration-heading {
    align-items: flex-start;
    display: flex;
    gap: 16px;
    justify-content: space-between;
    margin-bottom: 12px;
}

.developer-configuration-heading h4 {
    color: #263b4d;
    font-size: 17px;
    margin: 3px 0 4px;
}

.developer-configuration-heading p {
    color: #6b7785;
    font-size: 12px;
    margin: 0;
}

.developer-action-center-review-list {
    border: 1px solid #dfe5eb;
    border-radius: 4px;
    max-height: 360px;
    overflow-y: auto;
    text-align: left;
}

.developer-action-center-review-item {
    border-bottom: 1px solid #e8edf2;
    padding: 10px 12px;
}

.developer-action-center-review-item:last-child {
    border-bottom: 0;
}

.developer-action-center-review-item > div {
    display: flex;
    flex-direction: column;
    gap: 3px;
}

.developer-action-center-review-item span {
    color: #6b7785;
    font-size: 12px;
}

.developer-action-center-review-item .swal2-textarea {
    box-sizing: border-box;
    font-size: 13px;
    height: 64px;
    margin: 8px 0 0;
    width: 100%;
}

.developer-action-center-confirmation-summary {
    display: grid !important;
    gap: 8px !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-bottom: 10px;
}

.developer-action-center-confirmation-summary > div {
    background: #f7f9fb;
    border: 1px solid #dfe5eb;
    border-radius: 4px;
    padding: 8px 9px;
}

.swal2-popup.readiness-policy-modal {
    border-radius: 6px;
    max-width: calc(100% - 24px);
    padding: 20px;
}

.readiness-policy-modal .swal2-title {
    font-size: 22px;
    letter-spacing: 0;
}

.readiness-policy-editor {
    color: #263442;
    text-align: left;
}

.readiness-policy-account {
    align-items: center;
    background: #f7f9fb;
    border: 1px solid #dce3ea;
    display: flex;
    justify-content: space-between;
    margin-bottom: 12px;
    padding: 10px 12px;
}

.readiness-policy-account > span {
    min-width: 0;
}

.readiness-policy-account strong,
.readiness-policy-account small {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.readiness-policy-account small {
    color: #697786;
    margin-top: 2px;
}

.readiness-policy-toolbar {
    align-items: center;
    display: flex;
    justify-content: space-between;
    margin-bottom: 12px;
}

.readiness-policy-targets .btn {
    align-items: center;
    display: inline-flex;
    gap: 6px;
}

.readiness-policy-state {
    color: #697786;
    font-size: 12px;
}

.readiness-policy-board {
    display: grid;
    gap: 10px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.readiness-policy-lane {
    border: 1px solid #d7dfe7;
    min-width: 0;
}

.readiness-policy-lane > header {
    align-items: center;
    background: #f3f6f8;
    border-bottom: 1px solid #d7dfe7;
    display: flex;
    font-size: 13px;
    font-weight: 600;
    justify-content: space-between;
    padding: 9px 10px;
}

.readiness-policy-lane-required > header {
    border-top: 3px solid #d97706;
}

.readiness-policy-lane-optional > header {
    border-top: 3px solid #2f80c9;
}

.readiness-policy-lane-inactive > header {
    border-top: 3px solid #8996a3;
}

.readiness-policy-list {
    list-style: none;
    margin: 0;
    min-height: 250px;
    overflow-y: auto;
    padding: 8px;
}

.readiness-check-tile {
    align-items: center;
    background: #fff;
    border: 1px solid #dce3ea;
    border-left: 3px solid #8996a3;
    border-radius: 4px;
    display: grid;
    gap: 8px;
    grid-template-columns: 18px minmax(0, 1fr) auto;
    margin-bottom: 7px;
    min-height: 58px;
    padding: 8px;
}

.readiness-policy-lane-required .readiness-check-tile {
    border-left-color: #d97706;
}

.readiness-policy-lane-optional .readiness-check-tile {
    border-left-color: #2f80c9;
}

.readiness-check-tile:focus {
    border-color: #4285f4;
    box-shadow: 0 0 0 2px rgba(66, 133, 244, .18);
    outline: none;
}

.readiness-tile-handle {
    color: #7c8996;
    cursor: move;
    text-align: center;
}

.readiness-tile-copy {
    min-width: 0;
}

.readiness-tile-copy strong,
.readiness-tile-copy small {
    display: block;
}

.readiness-tile-copy strong {
    font-size: 12px;
    line-height: 1.35;
}

.readiness-tile-copy small {
    color: #74818e;
    font-size: 10px;
    line-height: 1.35;
    margin-top: 2px;
}

.readiness-check-scope {
    color: #8a5b0a;
    display: inline-block;
    font-size: 9px;
    font-weight: 600;
    margin-top: 4px;
    text-transform: uppercase;
}

.readiness-tile-actions {
    display: flex;
    flex-direction: column;
    gap: 3px;
}

.readiness-tile-move {
    background: #fff;
    border: 1px solid #ccd5de;
    border-radius: 3px;
    color: #52606d;
    height: 24px;
    padding: 0;
    width: 24px;
}

.readiness-tile-move:hover,
.readiness-tile-move:focus {
    background: #eaf3ff;
    border-color: #4285f4;
    color: #245f9e;
    outline: none;
}

.readiness-policy-lane-required .readiness-move-required,
.readiness-policy-lane-optional .readiness-move-optional,
.readiness-policy-lane-inactive .readiness-move-inactive {
    display: none;
}

.readiness-check-placeholder {
    background: #eef5fc;
    border: 1px dashed #4285f4;
    height: 58px;
    margin-bottom: 7px;
}

.readiness-policy-fields {
    display: grid;
    gap: 10px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-top: 12px;
}

.readiness-policy-evidence-targets {
    border: 1px solid #d7dfe7;
    margin: 12px 0 0;
    padding: 8px 10px 10px;
}

.readiness-policy-evidence-targets legend {
    border: 0;
    color: #52606d;
    font-size: 11px;
    font-weight: 600;
    margin: 0;
    padding: 0 5px;
    width: auto;
}

.readiness-policy-target-grid {
    display: grid;
    gap: 10px;
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.readiness-policy-field label {
    color: #52606d;
    display: block;
    font-size: 11px;
    font-weight: 600;
    margin-bottom: 5px;
}

.readiness-policy-field .form-control {
    border-radius: 0;
    font-size: 13px;
    width: 100%;
}

@media only screen and (max-width: 900px) {
    .readiness-policy-board,
    .readiness-policy-fields,
    .readiness-policy-target-grid {
        grid-template-columns: 1fr;
    }

    .readiness-policy-list {
        min-height: 90px;
    }

    .readiness-policy-account,
    .readiness-policy-toolbar {
        align-items: stretch;
        flex-direction: column;
        gap: 8px;
    }

    .developer-data-table .developer-table-toolbar {
        align-items: stretch;
        display: block;
    }

    .developer-data-table .developer-table-toolbar > div:first-child {
        align-items: flex-start;
        flex-direction: column;
    }

    .developer-data-table .dataTables_filter {
        text-align: left;
    }

    .developer-action-group {
        flex-wrap: wrap;
        justify-content: flex-start;
        white-space: normal;
    }

    .developer-action-center-batch,
    .developer-configuration-heading {
        align-items: stretch;
        flex-direction: column;
    }

    .developer-action-center-batch .btn {
        align-self: flex-start;
    }

    .developer-governance-view-switch {
        align-self: flex-start;
    }

    .developer-progress-context {
        align-items: flex-start;
        flex-direction: column;
    }

    .developer-progress-filters {
        align-items: stretch;
        flex-direction: column;
    }

    .developer-progress-filters label {
        width: 100%;
    }

    .developer-progress-detail ul {
        grid-template-columns: 1fr;
    }
}

@media only screen and (max-width: 800px) {
    .developer-admin .responsive-table td {
        padding-left: 42% !important;
    }
}

/* Provider reconciliation workspace */
.provider-recon-page {
    --cp-recon-ink: #253f50;
    --cp-recon-muted: #5e7481;
    --cp-recon-line: #dfe7ec;
    --cp-recon-soft: #f5f8fa;
    --cp-recon-blue: #1687c2;
    --cp-recon-blue-dark: #0d6597;
    --cp-recon-green: #23845f;
    --cp-recon-amber: #a86410;
    box-sizing: border-box;
    padding: 16px 12px 28px;
    color: var(--cp-recon-ink);
}

.provider-recon-page *,
.provider-recon-page *::before,
.provider-recon-page *::after {
    box-sizing: border-box;
}

.cp-recon-workspace {
    margin-bottom: 28px;
}

.cp-recon-hero {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 24px;
    padding: 23px 26px;
    border: 1px solid var(--cp-recon-line);
    border-top: 4px solid var(--cp-recon-blue);
    border-radius: 9px;
    background: linear-gradient(118deg, #ffffff 0%, #f3f9fc 100%);
    box-shadow: 0 5px 18px rgba(24, 67, 91, .07);
}

.cp-recon-hero-copy {
    max-width: 760px;
}

.cp-recon-eyebrow {
    display: block;
    margin-bottom: 5px;
    color: var(--cp-recon-blue-dark);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .11em;
    line-height: 1.2;
    text-transform: uppercase;
}

.cp-recon-hero h2,
.cp-recon-card h3,
.cp-recon-legacy h2 {
    color: var(--cp-recon-ink);
    font-weight: 600;
}

.cp-recon-hero h2 {
    margin: 0 0 7px;
    font-size: 24px;
    line-height: 1.25;
}

.cp-recon-hero p,
.cp-recon-card-heading p,
.cp-recon-section-heading p,
.cp-recon-legacy-heading p {
    margin: 0;
    color: var(--cp-recon-muted);
    font-size: 13px;
    line-height: 1.55;
}

.cp-recon-assurance {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 8px;
    padding-top: 3px;
}

.cp-recon-assurance span,
.cp-recon-direction {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    min-height: 31px;
    padding: 6px 11px;
    border: 1px solid #cfe3ee;
    border-radius: 999px;
    background: #fff;
    color: #426070;
    font-size: 11px;
    font-weight: 600;
    white-space: nowrap;
}

.cp-recon-assurance i,
.cp-recon-direction i {
    color: var(--cp-recon-blue);
}

.cp-recon-primary-grid {
    display: grid;
    grid-template-columns: minmax(0, 2fr) minmax(280px, .85fr);
    gap: 16px;
    margin-top: 16px;
}

.cp-recon-card {
    margin: 0;
    overflow: hidden;
    border: 1px solid var(--cp-recon-line);
    border-radius: 9px;
    background: #fff;
    box-shadow: 0 4px 14px rgba(24, 67, 91, .055);
}

.cp-recon-card-heading {
    display: flex;
    align-items: flex-start;
    gap: 13px;
    padding: 18px 20px 14px;
    border-bottom: 1px solid #e9eef1;
}

.cp-recon-card-heading h3,
.cp-recon-guide h3,
.cp-recon-section-heading h3 {
    margin: 0 0 4px;
    font-size: 17px;
    line-height: 1.3;
}

.cp-recon-step {
    display: inline-flex;
    flex: 0 0 34px;
    align-items: center;
    justify-content: center;
    height: 34px;
    border-radius: 8px;
    background: #e8f4fa;
    color: var(--cp-recon-blue-dark);
    font-size: 11px;
    font-weight: 700;
}

.cp-recon-import-card form {
    padding: 17px 20px 18px;
}

.cp-recon-tabs {
    margin-bottom: 14px;
    border-bottom-color: #cbd9e1;
}

.cp-recon-tabs > li > a {
    margin-right: 5px;
    border-radius: 7px 7px 0 0;
    color: #4d6878;
    font-size: 12px;
    font-weight: 600;
}

.cp-recon-tabs > li.active > a,
.cp-recon-tabs > li.active > a:hover,
.cp-recon-tabs > li.active > a:focus {
    border-color: #cbd9e1 #cbd9e1 transparent;
    color: var(--cp-recon-blue-dark);
}

.cp-recon-tabs i {
    margin-right: 5px;
}

.cp-recon-tab-content > .tab-pane > :last-child {
    margin-bottom: 0;
}

.cp-recon-form-grid {
    display: grid;
    grid-template-columns: minmax(260px, 1fr);
    gap: 13px;
}

.cp-recon-field label {
    display: block;
    margin: 0 0 2px;
    color: #334f60;
    font-size: 12px;
    font-weight: 600;
}

.cp-recon-field > span {
    display: block;
    min-height: 17px;
    margin-bottom: 6px;
    color: #5e7481;
    font-size: 10px;
}

.cp-recon-field .form-control {
    height: 39px;
    border-color: #ccd8df;
    border-radius: 5px;
    box-shadow: none;
    color: #334f60;
    font-size: 12px;
}

.cp-recon-field input[type="file"] {
    height: 39px;
    padding: 6px 8px;
    background: #fbfcfd;
}

.cp-recon-field .form-control:focus {
    border-color: var(--cp-recon-blue) !important;
    box-shadow: 0 0 0 3px rgba(22, 135, 194, .12) !important;
}

.cp-recon-submit-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    margin-top: 16px;
    padding-top: 14px;
    border-top: 1px solid #edf1f3;
}

.cp-recon-submit-row p {
    max-width: 620px;
    margin: 0;
    color: var(--cp-recon-muted);
    font-size: 11px;
    line-height: 1.45;
}

.cp-recon-primary-action {
    min-width: 170px;
    min-height: 38px;
    border-color: var(--cp-recon-blue);
    border-radius: 5px;
    background: var(--cp-recon-blue);
    font-size: 12px;
    font-weight: 600;
}

.cp-recon-primary-action:hover,
.cp-recon-primary-action:focus {
    border-color: var(--cp-recon-blue-dark);
    background: var(--cp-recon-blue-dark);
}

.cp-recon-form-result {
    margin: 14px 0 0;
}

.cp-recon-guide {
    padding: 19px 20px;
}

.cp-recon-guide-list {
    margin: 17px 0 15px;
    padding: 0;
    list-style: none;
}

.cp-recon-guide-list li {
    display: flex;
    align-items: flex-start;
    gap: 11px;
    padding: 10px 0;
    border-bottom: 1px solid #edf1f3;
}

.cp-recon-guide-list li:first-child {
    padding-top: 0;
}

.cp-recon-guide-list li:last-child {
    border-bottom: 0;
}

.cp-recon-guide-list li > span {
    display: inline-flex;
    flex: 0 0 25px;
    align-items: center;
    justify-content: center;
    height: 25px;
    border-radius: 50%;
    background: #edf6fa;
    color: var(--cp-recon-blue-dark);
    font-size: 10px;
    font-weight: 700;
}

.cp-recon-guide-list strong,
.cp-recon-guide-list small {
    display: block;
}

.cp-recon-guide-list strong {
    margin-bottom: 2px;
    color: #314d5e;
    font-size: 12px;
}

.cp-recon-guide-list small {
    color: var(--cp-recon-muted);
    font-size: 10px;
    line-height: 1.45;
}

.cp-recon-safety-note,
.cp-recon-footnote,
.cp-recon-notice {
    display: flex;
    align-items: flex-start;
    gap: 9px;
    border-radius: 6px;
    font-size: 11px;
    line-height: 1.5;
}

.cp-recon-safety-note {
    padding: 11px 12px;
    background: #f2f7fa;
    color: #536c7a;
}

.cp-recon-safety-note i,
.cp-recon-footnote i {
    margin-top: 2px;
    color: var(--cp-recon-blue);
}

.cp-recon-method-note {
    margin-top: 10px;
    border-top: 1px solid #e4ebef;
    color: #536c7a;
    font-size: 11px;
    line-height: 1.5;
}

.cp-recon-method-note summary {
    padding: 10px 2px 4px;
    color: #334f60;
    cursor: pointer;
    font-weight: 600;
}

.cp-recon-method-note summary:focus {
    outline: 2px solid rgba(22, 135, 194, .28);
    outline-offset: 2px;
}

.cp-recon-method-note p {
    margin: 4px 2px 0;
}

.cp-recon-notice {
    margin-top: 16px;
    padding: 15px 17px;
    border: 1px solid #ecd8b7;
    background: #fffaf1;
    color: #765220;
}

.cp-recon-notice > i {
    margin-top: 2px;
    color: var(--cp-recon-amber);
}

.cp-recon-notice strong,
.cp-recon-notice span {
    display: block;
}

.cp-recon-notice strong {
    margin-bottom: 2px;
}

.cp-recon-metrics {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    margin: 14px 0;
}

.cp-recon-metric {
    display: grid;
    grid-template-columns: 38px 1fr auto;
    align-items: center;
    gap: 11px;
    min-height: 72px;
    padding: 12px 15px;
    border: 1px solid var(--cp-recon-line);
    border-radius: 8px;
    background: #fff;
}

.cp-recon-metric-icon,
.cp-recon-disclosure-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    background: #eff5f8;
    color: #56707f;
}

.cp-recon-metric-icon {
    width: 38px;
    height: 38px;
    font-size: 15px;
}

.cp-recon-metric div strong,
.cp-recon-metric div span,
.cp-recon-metric-copy strong,
.cp-recon-metric-copy > span,
.cp-recon-metric small {
    display: block;
}

.cp-recon-metric div strong,
.cp-recon-metric-copy strong {
    color: var(--cp-recon-ink);
    font-size: 20px;
    line-height: 1.05;
}

.cp-recon-metric div span,
.cp-recon-metric-copy > span {
    margin-top: 3px;
    color: #5e7481;
    font-size: 11px;
    font-weight: 600;
}

.cp-recon-metric small {
    color: #5e7481;
    font-size: 10px;
    text-align: right;
    text-transform: uppercase;
}

.cp-recon-metric.is-clear .cp-recon-metric-icon,
.cp-recon-disclosure-icon.is-verified {
    background: #e9f6f0;
    color: var(--cp-recon-green);
}

.cp-recon-metric.is-warning .cp-recon-metric-icon {
    background: #fff2df;
    color: var(--cp-recon-amber);
}

.cp-recon-metric.is-verified .cp-recon-metric-icon {
    background: #e9f6f0;
    color: var(--cp-recon-green);
}

.cp-recon-metric.is-history .cp-recon-metric-icon,
.cp-recon-disclosure-icon.is-history {
    background: #ebf3fa;
    color: var(--cp-recon-blue-dark);
}

button.cp-recon-metric {
    width: 100%;
    text-align: left;
    font: inherit;
    cursor: pointer;
}

button.cp-recon-metric:hover,
button.cp-recon-metric[aria-pressed="true"] {
    border-color: #75a8c5;
    background: #f5fafd;
    box-shadow: inset 0 -2px #2185bc;
}

button.cp-recon-metric:focus-visible,
.cp-recon-jobs-toolbar .btn:focus-visible {
    outline: 2px solid #2185bc;
    outline-offset: 2px;
}

.cp-recon-jobs-scope {
    margin: -4px 0 14px;
    color: #5e7481;
    font-size: 11px;
    line-height: 1.5;
}

.cp-recon-jobs-toolbar {
    display: flex;
    align-items: flex-end;
    flex-wrap: wrap;
    gap: 12px;
    padding: 16px 18px 12px;
}

.cp-recon-jobs-toolbar .cp-recon-field {
    flex: 0 1 160px;
    min-width: 135px;
}

.cp-recon-jobs-toolbar .cp-recon-field:nth-child(2) {
    flex-basis: 210px;
}

.cp-recon-jobs-toolbar .cp-recon-field label {
    margin-bottom: 5px;
    font-size: 11px;
}

.cp-recon-jobs-toolbar .form-control {
    height: 32px;
    padding: 5px 8px;
    font-size: 11px;
}

.cp-recon-jobs-toolbar-actions,
.cp-recon-job-actions {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 5px;
}

.cp-recon-jobs-toolbar-actions {
    flex: 1 1 auto;
    padding-bottom: 1px;
}

.cp-recon-jobs-toolbar-actions .btn,
.cp-recon-job-actions .btn {
    margin: 0;
}

.cp-recon-jobs-body > .cp-recon-jobs-scope,
.cp-recon-jobs-body > .alert {
    margin: 0 18px 12px;
}

.cp-recon-jobs-table-controls,
.cp-recon-jobs-table-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 10px;
    padding: 10px 18px;
}

.cp-recon-jobs-table-controls .dataTables_length,
.cp-recon-jobs-table-controls .dataTables_filter,
.cp-recon-jobs-table-footer .dataTables_info,
.cp-recon-jobs-table-footer .dataTables_paginate {
    float: none;
    padding-top: 0;
    margin: 0;
    color: #526b7a;
    font-size: 11px;
}

.cp-recon-jobs-table-controls select,
.cp-recon-jobs-table-controls input {
    height: 32px;
    border: 1px solid #ccd8df;
    border-radius: 4px;
    padding: 5px 8px;
    background: #fff;
}

.cp-recon-jobs-table-controls input {
    min-width: 220px;
    margin-left: 6px;
}

.cp-recon-job-actions {
    justify-content: flex-end;
    min-width: 180px;
    max-width: 280px;
    margin-left: auto;
}

.cp-recon-job-file {
    max-width: 290px;
    overflow-wrap: anywhere;
}

.cp-recon-job-stage {
    display: block;
    max-width: 270px;
    margin-top: 4px;
    color: #526b7a;
    line-height: 1.5;
}

.cp-recon-job-result-current {
    display: block;
    margin-bottom: 4px;
}

.cp-recon-job-details-grid {
    display: grid;
    grid-template-columns: minmax(100px, 1fr) minmax(0, 2fr);
    gap: 8px 16px;
    margin: 20px 0 0;
    font-size: 12px;
}

.cp-recon-job-details-grid dd {
    margin: 0;
    overflow-wrap: anywhere;
}

.cp-recon-job-detail-results {
    margin-top: 18px;
    padding: 12px;
    background: #f4f8fa;
    border-radius: 5px;
}

.cp-recon-job-detail-results small {
    display: block;
    margin-top: 4px;
}

.cp-recon-job-detail-results p {
    margin: 10px 0 0;
    color: #5e7481;
    font-size: 11px;
}

.cp-recon-section-heading,
.cp-recon-legacy-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
    padding: 17px 20px;
    border-bottom: 1px solid #e7edf0;
    background: #fbfcfd;
}

.cp-recon-count,
.cp-recon-summary-count,
.cp-recon-status {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    font-size: 9px;
    font-weight: 700;
    letter-spacing: .04em;
    line-height: 1;
    text-transform: uppercase;
    white-space: nowrap;
}

.cp-recon-count {
    min-width: 62px;
    padding: 7px 10px;
}

.cp-recon-count.is-clear {
    background: #e8f5ef;
    color: #1d7252;
}

.cp-recon-count.is-warning {
    background: #fff0db;
    color: #8d550e;
}

.cp-recon-pagination {
    padding: 10px 18px 0;
}

.cp-recon-pagination .pager {
    margin: 0;
}

.provider-recon-page .cp-recon-table-wrap {
    margin: 0;
    border: 0;
}

.provider-recon-page .cp-recon-table {
    width: 100%;
    max-width: none;
    margin: 0;
    border: 0;
    table-layout: auto;
}

.provider-recon-page .cp-recon-table > thead > tr > th {
    padding: 10px 12px;
    border: 0;
    border-bottom: 1px solid #dfe7ec !important;
    background: #f6f9fa;
    color: #5c707c;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .025em;
    text-transform: uppercase;
    vertical-align: middle;
    white-space: nowrap;
}

.provider-recon-page .cp-recon-table > tbody > tr > td {
    padding: 11px 12px !important;
    border: 0 !important;
    border-bottom: 1px solid #edf1f3 !important;
    color: #455e6c;
    font-size: 11px;
    line-height: 1.45;
    vertical-align: middle;
}

.provider-recon-page .cp-recon-table > tbody > tr:last-child > td {
    border-bottom: 0 !important;
}

.provider-recon-page .cp-recon-table td > strong,
.provider-recon-page .cp-recon-table td > small,
.cp-recon-amount-pair {
    display: block;
}

.provider-recon-page .cp-recon-table td > small,
.cp-recon-amount-pair small {
    margin-top: 2px;
    color: #5e7481;
    font-size: 10px;
}

.cp-recon-amount-pair {
    margin-top: 2px;
    white-space: nowrap;
}

.cp-recon-amount-pair small {
    display: inline;
}

.cp-recon-reference {
    display: inline-block;
    max-width: 280px;
    overflow-wrap: anywhere;
    padding: 3px 6px;
    border: 1px solid #e0e8ed;
    border-radius: 4px;
    background: #f7f9fa;
    color: #3e5b6b;
    font-size: 10px;
    vertical-align: middle;
    white-space: normal;
    word-break: break-word;
}

.cp-recon-muted {
    color: #5e7481;
}

.cp-recon-status {
    margin: 1px 3px 1px 0;
    padding: 5px 7px;
}

.cp-recon-status.is-review {
    background: #fff0dc;
    color: #89520d;
}

.cp-recon-status.is-neutral {
    background: #edf2f5;
    color: #596e7a;
}

.cp-recon-status.is-paid {
    background: #e8f1fa;
    color: #1b6693;
}

.cp-recon-status.is-verified {
    background: #e7f5ee;
    color: #1f7454;
}

.cp-recon-empty {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    min-height: 88px;
    padding: 18px;
    color: #71838d;
    text-align: left;
}

.cp-recon-empty > span {
    display: inline-flex;
    flex: 0 0 38px;
    align-items: center;
    justify-content: center;
    height: 38px;
    border-radius: 50%;
    background: #eef3f5;
    color: #718590;
}

.cp-recon-empty.is-clear > span {
    background: #e8f6ef;
    color: var(--cp-recon-green);
}

.cp-recon-empty strong,
.cp-recon-empty p {
    display: block;
    margin: 0;
}

.cp-recon-empty strong {
    color: #3e5968;
    font-size: 12px;
}

.cp-recon-empty p {
    margin-top: 2px;
    color: #5e7481;
    font-size: 11px;
}

.provider-recon-page .cp-recon-table.is-empty > thead {
    display: none;
}

.provider-recon-page .cp-recon-table.is-empty > tbody > .cp-recon-empty-row > td {
    padding: 0 !important;
}

.cp-recon-secondary {
    display: grid;
    gap: 10px;
    margin-top: 12px;
}

.cp-recon-disclosure > summary {
    display: grid;
    grid-template-columns: 36px 1fr auto 16px;
    align-items: center;
    gap: 12px;
    min-height: 62px;
    padding: 11px 16px;
    cursor: pointer;
    list-style: none;
}

.cp-recon-disclosure > summary::-webkit-details-marker {
    display: none;
}

.cp-recon-disclosure > summary::after {
    content: "\25BE";
    margin-left: 4px;
    color: #7d909b;
    font-size: 13px;
}

.cp-recon-disclosure[open] > summary::after {
    content: "\25B4";
}

.cp-recon-disclosure > summary:focus {
    outline: 2px solid rgba(22, 135, 194, .28);
    outline-offset: -2px;
}

.cp-recon-disclosure-icon {
    width: 36px;
    height: 36px;
}

.cp-recon-disclosure summary strong,
.cp-recon-disclosure summary small {
    display: block;
}

.cp-recon-disclosure summary strong {
    color: #334f60;
    font-size: 12px;
}

.cp-recon-disclosure summary small {
    margin-top: 2px;
    color: #5e7481;
    font-size: 11px;
}

.cp-recon-summary-count {
    min-width: 28px;
    padding: 6px 8px;
    background: #edf2f5;
    color: #566d79;
}

.cp-recon-disclosure-body {
    border-top: 1px solid #e8eef1;
}

.cp-recon-footnote {
    margin-top: 12px;
    padding: 11px 14px;
    border: 1px dashed #cedce4;
    background: #f9fbfc;
    color: #667b87;
}

.cp-recon-legacy {
    margin-top: 28px;
}

.cp-recon-legacy-heading {
    padding: 18px 20px;
}

.cp-recon-legacy-heading h2 {
    margin: 0 0 4px;
    font-size: 18px;
}

.cp-recon-direction {
    background: #eef5f9;
}

.cp-recon-legacy-body {
    padding: 14px 18px 18px;
}

.provider-recon-page #log-data {
    width: 100% !important;
    max-width: none;
}

.provider-recon-page #log-data_wrapper .row {
    margin-right: 0;
    margin-left: 0;
}

.provider-recon-page #log-data_wrapper .dataTables_length,
.provider-recon-page #log-data_wrapper .dataTables_filter {
    margin-bottom: 9px;
}

.provider-recon-page #log-data_wrapper .dataTables_filter {
    text-align: right;
}

.provider-recon-page #log-data_wrapper .dataTables_filter input,
.provider-recon-page #log-data_wrapper .dataTables_length select {
    height: 32px;
    border: 1px solid #ccd8df;
    border-radius: 4px;
    box-shadow: none;
}

.cp-recon-modal .modal-header {
    padding: 17px 20px;
    background: #f8fafb;
}

.cp-recon-modal .modal-title {
    color: var(--cp-recon-ink);
    font-weight: 600;
}

.cp-recon-report-modal .modal-dialog {
    width: calc(100% - 40px);
    max-width: 1480px;
}

.cp-recon-modal-context {
    margin: 5px 32px 0 0;
    color: var(--cp-recon-muted);
    overflow-wrap: anywhere;
}

/* Payment confirmation: one clear outcome and one useful next action. */
.cp-confirm-modal .modal-dialog { width: calc(100% - 24px); max-width: 580px; }
.cp-confirm-modal .modal-content { border: 0; border-radius: 12px; overflow: hidden; }
.cp-confirm-modal .modal-header { padding: 22px 24px 18px; background: #fff; border-bottom: 1px solid #edf1f4; }
.cp-confirm-modal .modal-title { font-size: 19px; line-height: 1.4; margin-right: 24px; }
.cp-confirm-modal .modal-header .close { position: static; border: 0; padding: 4px; margin: -5px -4px 0 0; font-size: 25px; }
.cp-confirm-modal .modal-body { padding: 22px 24px; color: #314c5d; font-size: 14px; line-height: 1.6; max-height: calc(100vh - 200px); overflow-y: auto; }
.cp-confirm-modal .modal-footer { padding: 16px 24px; border-top: 1px solid #edf1f4; background: #f9fbfc; display: flex; justify-content: flex-end; gap: 8px; flex-wrap: wrap; }
.cp-confirm-modal .modal-footer .btn { margin: 0; min-height: 38px; padding: 8px 16px; border-radius: 6px !important; font-size: 13px; font-weight: 600; box-shadow: none; }
.cp-confirm-modal .btn-success { background-color: #187e59 !important; }
.cp-confirm-modal .btn-primary { background-color: #176f9f !important; }
.cp-confirm-modal .btn-default { color: #425d6d; border: 1px solid #d6e1e8; }
.cp-confirm-modal .btn:focus-visible, .cp-confirm-support summary:focus-visible { outline: 2px solid #176f9f; outline-offset: 3px; }
.cp-confirm-modal [hidden] { display: none !important; }
.cp-confirm-note { display: flex; gap: 9px; padding: 12px 14px; margin-top: 16px; background: #f1f6f9; border-radius: 7px; color: #496475; font-size: 12px; }
.cp-confirm-note > i { margin-top: 4px; color: #257bb1; }
.cp-confirm-outcome { display: flex; align-items: flex-start; gap: 14px; }
.cp-confirm-outcome > i { display: flex; align-items: center; justify-content: center; flex: 0 0 38px; height: 38px; border-radius: 50%; background: #edf4fa; color: #287aa8; font-size: 18px; }
.cp-confirm-outcome.is-success > i { background: #e7f5ed; color: #18845d; }
.cp-confirm-outcome.is-warning > i { background: #fff3df; color: #96620f; }
.cp-confirm-outcome h5 { margin: 0 0 6px; font-size: 17px; line-height: 1.5; font-weight: 600; color: #233f51; }
.cp-confirm-outcome p { margin: 0; color: #526875; font-size: 13px; }
.cp-confirm-progress-heading { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 5px; font-size: 13px; }
.cp-confirm-progress-heading span { color: #657985; }
.cp-confirm-modal .progress { height: 7px; margin: 12px 0 10px; background: #e9f0f4; box-shadow: none; border-radius: 8px; }
.cp-confirm-modal .progress-bar { background: #2182b8; box-shadow: none; }
.cp-confirm-modal #provider-statement-confirm-progress-current { color: #647986; font-size: 12px; }
.cp-confirm-items { list-style: none; padding: 0; margin: 18px 0 0; max-height: 160px; overflow-y: auto; font-size: 12px; }
.cp-confirm-items li { padding: 9px 0; border-top: 1px solid #edf1f4; overflow-wrap: anywhere; }
.cp-confirm-items li > i { margin-right: 8px; color: #168461; }
.cp-confirm-items li.is-warning > i { color: #96620f; }
.cp-confirm-support { margin-top: 18px; font-size: 12px; color: #657986; }
.cp-confirm-support summary { cursor: pointer; padding: 5px 0; }
.cp-confirm-support pre { margin: 7px 0 0; padding: 10px; background: #f5f8fa; border: 1px solid #e3eaf0; color: #526875; white-space: pre-wrap; overflow-wrap: anywhere; font-size: 11px; }
@media (max-width: 480px) {
    .cp-confirm-modal .modal-header, .cp-confirm-modal .modal-body { padding: 18px; }
    .cp-confirm-modal .modal-footer { padding: 14px 18px; }
    .cp-confirm-modal .modal-title { font-size: 17px; }
}

.cp-recon-report-toolbar {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 14px;
}

.cp-recon-category-filter {
    flex: 0 1 340px;
    min-width: 240px;
    max-width: 100%;
}

.cp-recon-category-filter > label {
    display: block;
    margin: 0 0 6px;
    color: var(--cp-recon-muted);
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .04em;
}

.cp-recon-category-filter > small {
    display: block;
    margin-top: 5px;
    color: var(--cp-recon-muted);
    font-size: 11px;
}

.cp-recon-category-control {
    position: relative;
}

.cp-recon-category-control select {
    width: 100%;
    min-height: 38px;
}

.cp-recon-category-control .select2-container {
    max-width: 100%;
    font-size: 13px !important;
}

/* Select2 4.0.1-rc.1 does not subtract dropdownParent offsets. Anchor only
   this floating dropdown, not the selection container or other page selects. */
.cp-recon-category-control > .select2-container--open:not(.select2) {
    position: absolute;
    top: 100% !important;
    left: 0 !important;
    width: 100%;
    z-index: 1060;
}

.cp-recon-category-control .select2-selection--multiple {
    min-height: 38px;
    border: 1px solid #ccd8df;
    border-radius: 5px;
}

.cp-recon-category-control .select2-selection__rendered {
    padding: 3px 8px;
    vertical-align: middle;
}

.cp-recon-category-control .select2-search--inline:only-child {
    width: 100%;
}

.cp-recon-category-control .select2-search--inline:only-child .select2-search__field {
    width: 100% !important;
}

.cp-recon-category-control input.select2-search__field,
.cp-recon-category-control input.select2-search__field:focus {
    min-height: 24px;
    max-width: 100%;
    padding: 0;
    margin: 3px 0 0;
    border: 0 !important;
    box-shadow: none !important;
    color: var(--cp-recon-ink);
    font: inherit;
}

.cp-recon-category-control .select2-selection__choice {
    max-width: 100%;
    white-space: normal;
    overflow-wrap: anywhere;
}

.cp-recon-category-control .select2-dropdown {
    border: 1px solid #ccd8df;
    border-radius: 5px;
    box-shadow: 0 6px 16px rgba(30, 60, 80, .14);
}

.cp-recon-category-control .select2-results__option {
    padding: 8px 10px;
}

.cp-recon-category-control .select2-container--focus .select2-selection,
.cp-recon-category-control .select2-container--open .select2-selection {
    border-color: #2185bc;
    outline: 2px solid #c8e5f5;
    outline-offset: 1px;
}

.cp-recon-report-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 8px;
    padding-bottom: 20px;
}

.cp-recon-report-actions .btn {
    margin: 0;
}

.cp-recon-report-modal .dataTables_filter,
.cp-recon-report-modal .dataTables_length {
    margin-bottom: 10px;
}

.cp-recon-report-modal .dataTables_filter {
    text-align: right;
}

.cp-recon-report-modal .dataTables_filter input,
.cp-recon-report-modal .dataTables_length select {
    height: 32px;
    border: 1px solid #ccd8df;
    border-radius: 4px;
    box-shadow: none;
}

.cp-recon-report-modal .cp-recon-table-wrap {
    max-height: calc(100vh - 300px);
    overflow: auto;
}

@media (max-width: 1100px) {
    .cp-recon-primary-grid {
        grid-template-columns: 1fr;
    }

    .cp-recon-guide-list {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 14px;
    }

    .cp-recon-guide-list li {
        border-right: 1px solid #edf1f3;
        border-bottom: 0;
        padding: 0 12px 0 0;
    }

    .cp-recon-guide-list li:last-child {
        border-right: 0;
    }
}

@media (max-width: 767px) {
    .provider-recon-page {
        padding: 8px 0 20px;
    }

    .cp-recon-report-modal .modal-dialog {
        width: auto;
        margin: 10px;
    }

    .cp-recon-report-toolbar {
        align-items: stretch;
        flex-direction: column;
    }

    .cp-recon-category-filter {
        flex-basis: auto;
        min-width: 0;
    }

    .cp-recon-report-actions {
        justify-content: flex-start;
        padding-bottom: 0;
    }

    .cp-recon-hero,
    .cp-recon-section-heading,
    .cp-recon-legacy-heading,
    .cp-recon-submit-row {
        flex-direction: column;
    }

    .cp-recon-hero,
    .cp-recon-card-heading,
    .cp-recon-guide,
    .cp-recon-section-heading,
    .cp-recon-legacy-heading {
        padding-right: 15px;
        padding-left: 15px;
    }

    .cp-recon-assurance {
        justify-content: flex-start;
    }

    .cp-recon-form-grid,
    .cp-recon-metrics,
    .cp-recon-guide-list {
        grid-template-columns: 1fr;
    }

    .cp-recon-import-card form,
    .cp-recon-legacy-body {
        padding-right: 14px;
        padding-left: 14px;
    }

    .cp-recon-guide-list li {
        border-right: 0;
        border-bottom: 1px solid #edf1f3;
        padding: 9px 0;
    }

    .cp-recon-primary-action {
        width: 100%;
    }

    .cp-recon-metric {
        grid-template-columns: 38px 1fr auto;
    }

    .cp-recon-disclosure > summary {
        grid-template-columns: 34px 1fr auto 14px;
        padding-right: 12px;
        padding-left: 12px;
    }

    .cp-recon-direction {
        align-self: flex-start;
    }

    .provider-recon-page #log-data_wrapper .dataTables_filter {
        text-align: left;
    }
}

.provider-recon-page .cp-recon-risk {
    margin: 12px 0;
    padding: 12px 16px;
    border: 1px solid #b17819;
    border-left-width: 4px;
    border-radius: 4px;
    background: #fff9ed;
    color: #654208;
    scroll-margin-top: 80px;
}
.provider-recon-page .cp-recon-risk[data-level="critical"] {
    border-color: #b42332;
    background: #fff3f3;
    color: #871b26;
}
.provider-recon-page .cp-recon-risk[data-level="clear"] {
    border-color: #cbd5e1;
    background: #f8fafc;
    color: #475569;
}
.provider-recon-page .cp-recon-risk h3 { margin: 0 0 6px; font-size: 16px; }
.provider-recon-page .cp-recon-risk p { margin: 0 0 6px; }
.provider-recon-page .cp-recon-risk-help { font-size: 12px; }
.provider-recon-page .cp-recon-risk summary { cursor: pointer; font-weight: 600; }
.provider-recon-page .cp-recon-risk table { min-width: 620px; color: inherit; margin-top: 10px; }
.provider-recon-page .cp-recon-risk-pages { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.provider-recon-page .cp-recon-status.is-critical { background: #fff3f3; color: #871b26; border-color: #b42332; }
html[data-cp-theme="dark"] .provider-recon-page .cp-recon-risk { background: #30281c; color: #f8d697; }
html[data-cp-theme="dark"] .provider-recon-page .cp-recon-risk[data-level="clear"] { border-color: #475569; background: #1e293b; color: #cbd5e1; }
html[data-cp-theme="dark"] .provider-recon-page .cp-recon-risk[data-level="critical"],
html[data-cp-theme="dark"] .provider-recon-page .cp-recon-status.is-critical { background: #361f24; color: #ffb8bf; }
html[data-cp-theme="dark"] .provider-recon-page .cp-recon-risk .table-striped > tbody > tr:nth-of-type(odd) { background: rgba(255,255,255,.04); }

/* Provider statement views inherit UAT's shared dark palette, including modal headers. */
html[data-cp-theme="dark"] .contipay-admin .provider-recon-page {
    --cp-recon-ink: var(--cp-text);
    --cp-recon-muted: var(--cp-text-muted);
    --cp-recon-line: var(--cp-border);
    --cp-recon-blue-dark: var(--cp-blue);
}
html[data-cp-theme="dark"] .provider-recon-page .cp-recon-guide-list strong,
html[data-cp-theme="dark"] .provider-recon-page .cp-recon-disclosure summary strong,
html[data-cp-theme="dark"] .provider-recon-page .cp-recon-method-note summary { color: var(--cp-text); }
html[data-cp-theme="dark"] .provider-recon-page .cp-recon-jobs-scope,
html[data-cp-theme="dark"] .provider-recon-page .cp-recon-disclosure summary small,
html[data-cp-theme="dark"] .provider-recon-page .cp-recon-job-stage,
html[data-cp-theme="dark"] .provider-recon-page .cp-recon-metric-copy > span,
html[data-cp-theme="dark"] .provider-recon-page .cp-recon-metric small { color: var(--cp-text-muted); }
html[data-cp-theme="dark"] .provider-recon-page .cp-recon-modal .modal-header {
    background: var(--cp-surface);
    color: var(--cp-text);
}
html[data-cp-theme="dark"] .provider-recon-page .cp-recon-modal .modal-header a { color: var(--cp-blue); }
