.acic-ca-shell,
.acic-ca-message,
.acic-ca-portal {
    box-sizing: border-box;
    width: 100%;
    max-width: 960px;
    margin: 24px auto;
    border: 1px solid #d8e1e7;
    border-radius: 12px;
    background: #fff;
    color: #202a33;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.acic-ca-portal {
    max-width: 1240px;
    overflow: hidden;
}

.acic-ca-shell {
    display: grid;
    grid-template-columns: 72px minmax(0, 1fr);
    gap: 20px;
    padding: 28px;
}

.acic-ca-shell__mark {
    display: grid;
    width: 64px;
    height: 64px;
    place-items: center;
    border-radius: 12px;
    background: #173f5f;
    color: #fff;
    font-weight: 700;
}

.acic-ca-shell__eyebrow {
    margin: 0 0 4px;
    color: #5b6773;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: .03em;
    text-transform: uppercase;
}

.acic-ca-shell h2,
.acic-ca-message h2 {
    margin: 0 0 8px;
    color: #173f5f;
}

.acic-ca-shell p,
.acic-ca-message p {
    margin: 0 0 12px;
}

.acic-ca-status {
    display: inline-flex;
    padding: 5px 9px;
    border-radius: 999px;
    background: #e7f6f1;
    color: #0c7a67;
    font-size: 13px;
    font-weight: 600;
}

.acic-ca-status--pending {
    background: #fff2cc;
    color: #805b00;
}

.acic-ca-status--muted {
    background: #eef2f4;
    color: #5b6773;
}

.acic-ca-message {
    padding: 24px;
}

.acic-ca-message--warning {
    border-left: 4px solid #b58100;
    background: #fff8e5;
}

.acic-ca-button {
    display: inline-flex;
    padding: 9px 14px;
    border-radius: 8px;
    background: #1f6fae;
    color: #fff !important;
    font-weight: 600;
    text-decoration: none !important;
}

button.acic-ca-button:disabled {
    cursor: not-allowed;
    opacity: .48;
}

.acic-ca-portal__header {
    display: grid;
    grid-template-columns: 72px minmax(0, 1fr);
    gap: 20px;
    align-items: center;
    padding: 28px;
    border-bottom: 1px solid #d8e1e7;
    background: linear-gradient(135deg, #f8fbfd, #fff);
}

.acic-ca-portal__header h2,
.acic-ca-portal__header p {
    margin: 0;
}

.acic-ca-portal__header h2 {
    color: #173f5f;
}

.acic-ca-center-switcher {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 20px;
    background: #f4f8fb;
    border-bottom: 1px solid #d8e1e7;
    font-size: 13px;
    color: #334d5e;
}

.acic-ca-center-switcher label {
    font-weight: 650;
}

.acic-ca-center-switcher select {
    max-width: 360px;
    padding: 6px 8px;
    border: 1px solid #b8c6cf;
    border-radius: 6px;
    background: #fff;
    color: #202a33;
    font: inherit;
}

.acic-ca-nav {
    display: flex;
    gap: 4px;
    overflow-x: auto;
    padding: 10px 20px;
    border-bottom: 1px solid #d8e1e7;
    background: #fff;
}

.acic-ca-nav a {
    flex: 0 0 auto;
    padding: 9px 12px;
    border-radius: 7px;
    color: #355267;
    font-size: 14px;
    font-weight: 600;
    text-decoration: none !important;
}

.acic-ca-nav a:hover,
.acic-ca-nav a:focus,
.acic-ca-nav a.is-active {
    background: #eaf3fa;
    color: #155f98;
}

.acic-ca-portal__content {
    padding: 24px;
    background: #f5f8fa;
}

.acic-ca-grid {
    display: grid;
    gap: 16px;
    margin-bottom: 16px;
}

.acic-ca-grid--metrics {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.acic-ca-grid--two {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.acic-ca-missing-sections {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 4px 16px;
    margin: 0;
    padding-left: 20px;
}

.acic-ca-metric,
.acic-ca-card {
    box-sizing: border-box;
    min-width: 0;
    border: 1px solid #dce5ea;
    border-radius: 10px;
    background: #fff;
}

.acic-ca-metric {
    padding: 18px;
}

.acic-ca-metric strong,
.acic-ca-metric span {
    display: block;
}

.acic-ca-metric strong {
    margin-bottom: 5px;
    color: #173f5f;
    font-size: 24px;
    line-height: 1.15;
}

.acic-ca-metric span {
    color: #5b6773;
    font-size: 13px;
}

.acic-ca-card {
    padding: 20px;
}

.acic-ca-card h3 {
    margin: 0 0 12px;
    color: #173f5f;
}

.acic-ca-card p {
    margin: 0 0 12px;
}

.acic-ca-card--empty {
    min-height: 220px;
    text-align: center;
}

.acic-ca-card--empty h3 {
    margin-top: 18px;
}

.acic-ca-card__heading {
    display: flex;
    gap: 16px;
    align-items: flex-start;
    justify-content: space-between;
}

.acic-ca-detail-list,
.acic-ca-summary-list {
    margin: 0;
}

.acic-ca-detail-list div,
.acic-ca-summary-list div {
    display: flex;
    gap: 16px;
    justify-content: space-between;
    padding: 9px 0;
    border-bottom: 1px solid #edf1f3;
}

.acic-ca-detail-list dt,
.acic-ca-summary-list dt {
    color: #64727d;
}

.acic-ca-detail-list dd,
.acic-ca-summary-list dd {
    margin: 0;
    font-weight: 600;
    text-align: right;
}

.acic-ca-progress {
    height: 10px;
    margin: 16px 0 10px;
    overflow: hidden;
    border-radius: 999px;
    background: #e4eaee;
}

.acic-ca-progress span {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: #17a085;
}

.acic-ca-help {
    color: #667581;
    font-size: 13px;
}

.acic-ca-positive {
    color: #0c7a67;
    font-weight: 600;
}

.acic-ca-validation-missing {
    margin: 14px 0;
    padding: 13px 15px;
    border-left: 4px solid #b58100;
    border-radius: 7px;
    background: #fff8e5;
}

.acic-ca-validation-missing ul {
    margin: 8px 0 0 20px;
}

.acic-ca-guidance-list {
    margin: 0;
    padding-left: 20px;
}

.acic-ca-guidance-list li {
    margin-bottom: 9px;
}

.acic-ca-table-wrap {
    width: 100%;
    overflow-x: auto;
}

.acic-ca-table {
    width: 100%;
    border-collapse: collapse;
    text-align: left;
}

.acic-ca-table th,
.acic-ca-table td {
    padding: 11px;
    border-bottom: 1px solid #e5ebef;
}

.acic-ca-table th {
    color: #4c5f6c;
    font-size: 13px;
}

.acic-ca-information__intro {
    display: flex;
    gap: 20px;
    align-items: flex-start;
    justify-content: space-between;
    margin-bottom: 18px;
}

.acic-ca-information__intro h3,
.acic-ca-information__intro p {
    margin: 0 0 6px;
}

.acic-ca-information-layout {
    display: grid;
    grid-template-columns: 240px minmax(0, 1fr);
    gap: 18px;
    align-items: start;
}

.acic-ca-information-sidebar {
    position: sticky;
    top: 20px;
    display: grid;
    gap: 6px;
}

.acic-ca-section-tab {
    display: block;
    width: 100%;
    padding: 12px 13px;
    border: 1px solid #d5e0e6;
    border-radius: 8px;
    background: #fff;
    color: #28485e;
    cursor: pointer;
    font: inherit;
    font-weight: 650;
    text-align: left;
    transition: background-color .15s ease, border-color .15s ease, color .15s ease;
}

.acic-ca-section-tab span,
.acic-ca-section-tab small {
    display: block;
}

.acic-ca-section-tab small {
    margin-top: 3px;
    color: #6b7c87;
    font-size: 11px;
    font-weight: 500;
}

.acic-ca-section-tab:hover,
.acic-ca-section-tab:focus-visible {
    border-color: #173f5f;
}

.acic-ca-section-tab.is-active {
    border-color: #173f5f;
    background: #173f5f;
    color: #fff;
}

.acic-ca-section-tab.is-active small {
    color: #cbdde9;
}

.acic-ca-information-panels {
    min-width: 0;
}

.acic-ca-section-panel {
    overflow: hidden;
    border: 1px solid #dce5ea;
    border-radius: 10px;
    background: #fff;
}

.acic-ca-has-js .acic-ca-section-panel:not(.is-active) {
    display: none;
}

.acic-ca-section-panel__header {
    display: flex;
    gap: 16px;
    align-items: center;
    justify-content: space-between;
    padding: 18px 20px;
    border-bottom: 1px solid #e3e9ed;
    background: #f8fbfd;
}

.acic-ca-section-panel__header h4,
.acic-ca-section-panel__header p {
    margin: 0;
}

.acic-ca-section-panel__header h4 {
    color: #173f5f;
    font-size: 21px;
}

.acic-ca-information-select,
.acic-ca-information-select-label {
    display: none;
}

.acic-ca-section {
    margin-bottom: 12px;
    overflow: hidden;
    border: 1px solid #dce5ea;
    border-radius: 10px;
    background: #fff;
}

.acic-ca-section > summary {
    display: flex;
    gap: 16px;
    align-items: center;
    justify-content: space-between;
    padding: 17px 20px;
    color: #173f5f;
    cursor: pointer;
    font-weight: 700;
    list-style-position: inside;
}

.acic-ca-section[open] > summary {
    border-bottom: 1px solid #e3e9ed;
    background: #f8fbfd;
}

.acic-ca-section__count {
    display: inline-grid;
    min-width: 25px;
    height: 25px;
    place-items: center;
    border-radius: 999px;
    background: #e8f1f7;
    font-size: 12px;
}

.acic-ca-section__body {
    padding: 0 20px;
}

.acic-ca-field {
    display: grid;
    grid-template-columns: minmax(220px, .8fr) minmax(260px, 1.2fr);
    gap: 22px;
    padding: 18px 0;
    border-bottom: 1px solid #edf1f3;
}

.acic-ca-field:last-child {
    border-bottom: 0;
}

.acic-ca-field__label label {
    display: block;
    margin-bottom: 7px;
    color: #263d4d;
    font-weight: 650;
}

.acic-ca-tag {
    display: inline-flex;
    margin: 2px 4px 2px 0;
    padding: 3px 7px;
    border-radius: 999px;
    background: #eef2f4;
    color: #53636e;
    font-size: 11px;
    font-weight: 650;
}

.acic-ca-tag--public {
    background: #e6f3fb;
    color: #145f8b;
}

.acic-ca-tag--private {
    background: #eee9f8;
    color: #59427f;
}

.acic-ca-tag--pending,
.acic-ca-tag--approval {
    background: #fff2cc;
    color: #805b00;
}

.acic-ca-tag--direct {
    background: #e7f6f1;
    color: #0c715f;
}

.acic-ca-field__control [data-acic-other-field] {
    margin-top: 8px;
}

.acic-ca-field__control input,
.acic-ca-field__control textarea {
    box-sizing: border-box;
    width: 100%;
    padding: 10px 11px;
    border: 1px solid #b8c6cf;
    border-radius: 7px;
    background: #fff;
    color: #202a33;
    font: inherit;
}

.acic-ca-field__control input:focus,
.acic-ca-field__control textarea:focus {
    border-color: #1f6fae;
    outline: 2px solid rgba(31, 111, 174, .18);
}

.acic-ca-field__control small {
    display: block;
    margin-top: 6px;
    color: #667581;
}

.acic-ca-logo-preview {
    margin-bottom: 8px;
}

.acic-ca-logo-preview img {
    display: block;
    max-width: 120px;
    max-height: 120px;
    border-radius: 8px;
    border: 1px solid #d5e0e6;
}

.acic-ca-institutional-photo-preview {
    position: relative;
    width: min(100%, 620px);
    margin-bottom: 12px;
    overflow: hidden;
    border: 1px solid var(--acic-ui-line, #d5e0e6);
    border-radius: 10px;
    background: var(--acic-ui-canvas, #f3f6f8);
    aspect-ratio: 16 / 9;
}

.acic-ca-institutional-photo-preview__remove {
    position: absolute !important;
    top: 10px;
    right: 10px;
    z-index: 2;
    width: 38px !important;
    min-width: 38px !important;
    height: 38px !important;
    padding: 0 !important;
    border: 1px solid #f2b8b8 !important;
    border-radius: 9px !important;
    background: rgba(255, 255, 255, .96) !important;
    box-shadow: 0 5px 14px rgba(105, 17, 17, .18) !important;
    color: var(--acic-ui-red, #c62828) !important;
}

.acic-ca-institutional-photo-preview__remove:hover,
.acic-ca-institutional-photo-preview__remove:focus,
.acic-ca-institutional-photo-preview__remove:active,
.acic-ca-institutional-photo-preview__remove:focus-visible {
    border-color: var(--acic-ui-red, #c62828) !important;
    background: #fff1f1 !important;
    color: var(--acic-ui-red, #c62828) !important;
}

.acic-ca-institutional-photo-preview__remove svg {
    width: 18px;
    height: 18px;
}

.acic-ca-institutional-photo-preview img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.acic-ca-field--institutional-photo input[type="file"] {
    width: 100%;
}

.acic-ca-location-picker {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.acic-ca-location-picker label,
.acic-ca-location-picker label > span {
    display: block;
}

.acic-ca-location-picker label > span {
    margin-bottom: 6px;
    color: var(--acic-ui-text, #40516a);
    font-size: 12px;
    font-weight: 700;
}

.acic-ca-location-picker select {
    width: 100%;
}

.acic-ca-readonly {
    min-height: 20px;
    padding: 10px 11px;
    border-radius: 7px;
    background: #f3f6f8;
    color: #3d4f5b;
    overflow-wrap: anywhere;
}

.acic-ca-form-actions {
    position: sticky;
    bottom: 10px;
    display: flex;
    gap: 16px;
    align-items: center;
    margin-top: 18px;
    padding: 14px;
    border: 1px solid #cbd9e1;
    border-radius: 10px;
    background: rgba(255, 255, 255, .96);
    box-shadow: 0 8px 24px rgba(26, 55, 73, .1);
}

.acic-ca-form-actions p {
    margin: 0;
    color: #52636e;
    font-size: 13px;
}

.acic-ca-form-actions .acic-ca-button:disabled {
    cursor: not-allowed;
    opacity: .48;
}

.acic-ca-inline-notice {
    margin: 12px 0;
    padding: 12px 14px;
    border-left: 4px solid #1f6fae;
    border-radius: 6px;
    background: #eaf3fa;
    letter-spacing: normal !important;
    white-space: normal;
    word-spacing: normal !important;
}

.acic-ca-inline-notice--success {
    border-left-color: #0c7a67;
    background: #e7f6f1;
}

.acic-ca-inline-notice--error {
    border-left-color: #b32d2e;
    background: #fbeaea;
}

.acic-ca-portal .acic-ca-inline-notice {
    letter-spacing: normal !important;
    white-space: normal !important;
    word-spacing: normal !important;
}

.acic-ca-inline-notice__text {
    display: inline-flex !important;
    flex-wrap: wrap;
    gap: 0 .28em !important;
    font-family: Arial, Helvetica, sans-serif !important;
    letter-spacing: normal !important;
    word-spacing: normal !important;
}

.acic-ca-inline-notice__word {
    display: inline-block !important;
    margin: 0 !important;
    padding: 0 !important;
    letter-spacing: normal !important;
}

.acic-ca-grid--spaced,
.acic-ca-card--spaced {
    margin-top: 18px;
}

.acic-ca-contact-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.acic-ca-compact-form {
    margin-top: 16px;
}

.acic-ca-form-wide {
    display: grid;
    gap: 6px;
    margin-bottom: 14px;
    color: #334d5e;
    font-size: 13px;
    font-weight: 650;
}

.acic-ca-form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px 18px;
    margin-bottom: 16px;
}

.acic-ca-compact-form > label,
.acic-ca-form-grid label {
    display: grid;
    gap: 6px;
    color: #334d5e;
    font-size: 13px;
    font-weight: 650;
}

.acic-ca-function-fieldset {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px 12px;
    min-width: 0;
    margin: 0;
    padding: 10px 12px 12px;
    border: 1px solid #d5e0e6;
    border-radius: 8px;
}

.acic-ca-function-fieldset legend {
    padding: 0 5px;
    color: #334d5e;
    font-size: 13px;
    font-weight: 650;
}

.acic-ca-function-fieldset + .acic-ca-function-fieldset,
.acic-ca-function-fieldset + .acic-ca-form-grid {
    margin-top: 14px;
}

.acic-ca-hp {
    position: absolute;
    left: -9999px;
    width: 1px;
    height: 1px;
    overflow: hidden;
    margin: 0;
}

.acic-ca-form-grid .acic-ca-checkbox,
.acic-ca-compact-form .acic-ca-checkbox {
    display: flex;
    gap: 7px;
    align-items: flex-start;
    color: #334d5e;
    cursor: pointer;
    font-size: 13px;
    font-weight: 500;
}

.acic-ca-compact-form .acic-ca-checkbox input {
    flex: 0 0 auto;
    width: 16px;
    min-height: 16px;
    margin: 2px 0 0;
    padding: 0;
}

.acic-ca-compact-form input,
.acic-ca-compact-form select,
.acic-ca-compact-form textarea {
    box-sizing: border-box;
    width: 100%;
    min-height: 42px;
    padding: 9px 10px;
    border: 1px solid #b8c6cf;
    border-radius: 7px;
    background: #fff;
    color: #202a33;
    font: inherit;
}

.acic-ca-compact-form textarea {
    min-height: 84px;
    resize: vertical;
}

.acic-ca-compact-form input:focus,
.acic-ca-compact-form select:focus,
.acic-ca-compact-form textarea:focus {
    border-color: #1f6fae;
    outline: 2px solid rgba(31, 111, 174, .18);
}

.acic-ca-textarea-field {
    display: grid;
    gap: 6px;
    margin-top: 4px;
    color: #334d5e;
    font-size: 13px;
    font-weight: 650;
}

button.acic-ca-button {
    border: 0;
    cursor: pointer;
    font: inherit;
}

.acic-ca-button--ghost {
    background: #fff;
    color: #1f6fae !important;
    border: 1px solid #1f6fae;
}

fieldset[data-acic-gated-fieldset]:disabled {
    opacity: .45;
}

.acic-ca-card--flagged {
    border: 1px solid #b58100;
    background: #fffaf0;
}

.acic-ca-card--flagged h3::after {
    content: "⚠";
    margin-left: 8px;
    color: #b58100;
}

.acic-ca-repeater {
    margin-bottom: 16px;
}

.acic-ca-repeater__label {
    display: block;
    margin-bottom: 6px;
    color: #334d5e;
    font-size: 13px;
    font-weight: 650;
}

.acic-ca-repeater__row {
    display: flex;
    gap: 8px;
    align-items: center;
    margin-bottom: 8px;
}

.acic-ca-repeater__row input {
    flex: 1 1 auto;
}

.acic-ca-repeater__row--file input[type="text"] {
    flex: 1 1 40%;
}

.acic-ca-repeater__row--file input[type="file"] {
    flex: 1 1 45%;
    min-height: auto;
    padding: 6px;
}

.acic-ca-required {
    color: #c0392b;
}

.acic-ca-radio-group {
    display: grid;
    gap: 6px;
}

.acic-ca-radio-group__label {
    color: #334d5e;
    font-size: 13px;
    font-weight: 650;
}

.acic-ca-radio-options {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 16px;
    align-items: center;
    min-height: 42px;
}

.acic-ca-radio {
    display: flex;
    gap: 6px;
    align-items: center;
    color: #334d5e;
    cursor: pointer;
    font-size: 13px;
    font-weight: 500;
}

.acic-ca-radio input {
    width: 16px;
    min-height: 16px;
    margin: 0;
}

.acic-ca-repeater__remove {
    flex: 0 0 auto;
    width: 32px;
    height: 32px;
    border: 1px solid #b8c6cf;
    border-radius: 6px;
    background: #fff;
    color: #52636e;
    cursor: pointer;
    font-size: 16px;
    line-height: 1;
}

.acic-ca-timeline {
    margin: 8px 0 0;
    padding-left: 18px;
    color: #52636e;
    font-size: 13px;
}

.acic-ca-timeline li {
    margin-bottom: 4px;
}

.acic-ca-history-filter {
    margin-bottom: 16px;
}

.acic-ca-history-filter form {
    display: flex;
    gap: 12px;
    align-items: end;
    flex-wrap: wrap;
}

.acic-ca-history-filter label {
    display: grid;
    flex: 1 1 280px;
    gap: 6px;
    color: #334d5e;
    font-size: 13px;
    font-weight: 650;
}

.acic-ca-history-filter select {
    box-sizing: border-box;
    width: 100%;
    min-height: 42px;
    padding: 9px 10px;
    border: 1px solid #b8c6cf;
    border-radius: 7px;
    background: #fff;
    color: #202a33;
    font: inherit;
}

.acic-ca-timeline {
    margin: 0;
    padding: 0;
    list-style: none;
}

.acic-ca-timeline__item {
    position: relative;
    display: grid;
    grid-template-columns: 18px minmax(0, 1fr);
    gap: 14px;
    padding-bottom: 22px;
}

.acic-ca-timeline__item:not(:last-child)::before {
    position: absolute;
    top: 16px;
    bottom: 0;
    left: 7px;
    width: 2px;
    background: #d8e5ec;
    content: "";
}

.acic-ca-timeline__marker {
    position: relative;
    z-index: 1;
    box-sizing: border-box;
    width: 16px;
    height: 16px;
    margin-top: 3px;
    border: 3px solid #d9ebf7;
    border-radius: 50%;
    background: #1f6fae;
}

.acic-ca-timeline__body {
    min-width: 0;
    padding-bottom: 18px;
    border-bottom: 1px solid #edf1f3;
}

.acic-ca-timeline__body h4,
.acic-ca-timeline__body p {
    margin: 7px 0 0;
}

.acic-ca-timeline__body h4 {
    color: #173f5f;
    font-size: 16px;
}

.acic-ca-timeline__body small,
.acic-ca-timeline__meta time {
    color: #64727d;
}

.acic-ca-timeline__meta {
    display: flex;
    gap: 8px 12px;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    font-size: 12px;
}

.acic-ca-history-category {
    display: inline-flex;
    padding: 4px 8px;
    border-radius: 999px;
    background: #eaf3fa;
    color: #155f98;
    font-weight: 700;
}

.acic-ca-history-category--contacts { background: #e9f7f2; color: #0c715f; }
.acic-ca-history-category--users { background: #f0ebfa; color: #64439a; }
.acic-ca-history-category--validation { background: #fff4d8; color: #7a5900; }
.acic-ca-history-category--documents { background: #eef2f4; color: #455b68; }
.acic-ca-history-category--reports { background: #e8f1ff; color: #235a9f; }
.acic-ca-history-category--system { background: #f4f4f4; color: #555; }

.acic-ca-pagination {
    display: flex;
    gap: 12px;
    align-items: center;
    justify-content: center;
    padding-top: 18px;
}

.acic-ca-pagination a,
.acic-ca-pagination span {
    padding: 7px 10px;
    border-radius: 6px;
}

.acic-ca-pagination a {
    background: #eaf3fa;
    color: #155f98;
    font-weight: 650;
    text-decoration: none !important;
}

.acic-ca-report-form {
    margin: 0;
}

.acic-ca-report-filters {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
}

.acic-ca-report-filters label {
    display: grid;
    gap: 6px;
    color: #334d5e;
    font-size: 13px;
    font-weight: 650;
}

.acic-ca-report-filters input,
.acic-ca-report-filters select {
    box-sizing: border-box;
    width: 100%;
    min-height: 42px;
    padding: 9px 10px;
    border: 1px solid #b8c6cf;
    border-radius: 7px;
    background: #fff;
    color: #202a33;
    font: inherit;
}

.acic-ca-report-filters select[multiple] {
    min-height: 170px;
}

.acic-ca-report-centers {
    grid-column: span 2;
}

.acic-ca-report-multiple {
    grid-column: span 1;
}

.acic-ca-report-centers small {
    color: #64727d;
    font-weight: 400;
}

.acic-ca-report-selection-actions {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

.acic-ca-report-selection-actions button {
    padding: 7px 10px;
    border: 1px solid #b8c6cf;
    border-radius: 6px;
    background: #fff;
    color: #155f98;
    cursor: pointer;
    font: inherit;
    font-size: 12px;
    font-weight: 650;
}

.acic-ca-report-sections {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    margin-top: 18px;
}

.acic-ca-report-section {
    min-width: 0;
    margin: 0;
    padding: 12px 14px 14px;
    border: 1px solid #d8e1e7;
    border-radius: 9px;
}

.acic-ca-report-section legend {
    padding: 0 6px;
    color: #173f5f;
    font-weight: 700;
}

.acic-ca-report-section > div {
    display: grid;
    gap: 8px;
}

.acic-ca-report-section label {
    display: flex;
    gap: 8px;
    align-items: flex-start;
    color: #334d5e;
    font-size: 13px;
    cursor: pointer;
}

.acic-ca-report-section input {
    flex: 0 0 auto;
    margin-top: 3px;
}

.acic-ca-report-section small {
    color: #64727d;
    font-weight: 400;
}

.acic-ca-report-submit {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    align-items: center;
    justify-content: space-between;
}

.acic-ca-report-save-template {
    display: flex;
    flex: 1 1 260px;
    flex-direction: column;
    gap: 6px;
    min-width: 220px;
}

.acic-ca-report-save-template label {
    color: var(--acic-ui-navy-2, #16324f);
    font-size: 12.5px;
    font-weight: 650;
}

.acic-ca-report-save-template__row {
    display: flex;
    gap: 8px;
}

.acic-ca-report-save-template__row input[type="text"] {
    flex: 1 1 auto;
    min-width: 0;
    padding: 9px 12px;
    border: 1px solid var(--acic-ui-line, #d7e1ea);
    border-radius: 8px;
    font: inherit;
}

.acic-ca-report-templates__list {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.acic-ca-report-templates__item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 8px 10px;
    border: 1px solid var(--acic-ui-line, #d7e1ea);
    border-radius: 8px;
}

.acic-ca-report-templates__item .acic-ca-button--ghost {
    flex: 1 1 auto;
    justify-content: flex-start;
    text-align: left;
}

.acic-ca-report-templates__item form {
    flex: 0 0 auto;
}

.acic-ca-report-submit .acic-ca-button {
    flex: 0 0 auto;
    border: 0;
    cursor: pointer;
    font: inherit;
}

.acic-ca-report-submit .acic-ca-button:disabled {
    cursor: not-allowed;
    opacity: .55;
}

.acic-ca-report-preview__scroll {
    overflow: auto;
    max-height: 560px;
    border: 1px solid #d8e1e7;
    border-radius: 8px;
}

.acic-ca-report-preview table {
    width: 100%;
    min-width: 760px;
    border-collapse: collapse;
    font-size: 13px;
}

.acic-ca-report-preview th,
.acic-ca-report-preview td {
    padding: 10px 12px;
    text-align: left;
    vertical-align: top;
    border-bottom: 1px solid #e2e9ed;
}

.acic-ca-report-preview th {
    position: sticky;
    top: 0;
    background: #173f5f;
    color: #fff;
    font-weight: 700;
}

.acic-ca-inline-form {
    margin-top: 12px;
}

.acic-ca-user-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 12px;
}

.acic-ca-status + .acic-ca-user-actions {
    margin-top: 8px;
}

.acic-ca-user-actions form {
    margin: 0;
}

.acic-ca-link-button {
    padding: 0;
    border: 0;
    background: transparent;
    color: #155f98;
    cursor: pointer;
    font: inherit;
    font-size: 13px;
    text-decoration: underline;
}

.acic-ca-link-danger {
    padding: 0;
    border: 0;
    background: transparent;
    color: #a3292b;
    cursor: pointer;
    font: inherit;
    font-size: 13px;
    text-decoration: underline;
}

/* Master list + detail-on-demand for repeater tabs (Estudios, Servicios):
   one compact row per record instead of every record's full edit form open
   at once — see renderStudyRow()/renderServiceRow() in PortalRenderer. */
.acic-ca-manager-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 16px;
}

.acic-ca-manager-tab {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 9px 14px;
    border: 1px solid #d5e0e6;
    border-radius: 999px;
    background: #fff;
    color: #28485e;
    cursor: pointer;
    font: inherit;
    font-weight: 650;
}

.acic-ca-manager-tab:hover,
.acic-ca-manager-tab:focus-visible {
    border-color: #173f5f;
}

.acic-ca-manager-tab.is-active {
    border-color: #173f5f;
    background: #173f5f;
    color: #fff;
}

.acic-ca-manager-tab__count {
    padding: 1px 7px;
    border-radius: 999px;
    background: rgba(0, 0, 0, .08);
    font-size: 11px;
}

.acic-ca-manager-tab.is-active .acic-ca-manager-tab__count {
    background: rgba(255, 255, 255, .22);
}

.acic-ca-has-js .acic-ca-manager-panel:not(.is-active) {
    display: none;
}

.acic-ca-manager-toolbar {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    align-items: end;
    margin-bottom: 16px;
    padding: 14px;
    border: 1px solid #dce5ea;
    border-radius: 10px;
    background: #f8fbfd;
}

.acic-ca-manager-search {
    box-sizing: border-box;
    flex: 1 1 220px;
    min-width: 180px;
    min-height: 40px;
    padding: 0 10px;
    border: 1px solid #b8c6cf;
    border-radius: 7px;
    background: #fff;
    font: inherit;
}

.acic-ca-manager-filter {
    display: grid;
    flex: 0 1 160px;
    gap: 4px;
    color: #334d5e;
    font-size: 12px;
    font-weight: 650;
}

.acic-ca-manager-filter select {
    box-sizing: border-box;
    min-height: 40px;
    padding: 0 8px;
    border: 1px solid #b8c6cf;
    border-radius: 7px;
    background: #fff;
    font: inherit;
}

.acic-ca-manager-add-toggle {
    margin-left: auto;
}

/* Estudios/Servicios render as a real <table> — one <tbody class="acic-ca-manager-row"> per
   record (summary <tr>, plus hidden detail/edit <tr>s), so the JS can hide/show/reorder a
   whole record as a unit while still producing valid, multi-row table markup. */
.acic-ca-manager-table thead th {
    border-bottom: 2px solid #cfe0ec;
    background: #e9f4fc;
    color: #173f5f;
    font-weight: 700;
}

.acic-ca-manager-table tbody tr:hover > td {
    background: #fafcfd;
}

.acic-ca-manager-table td {
    vertical-align: top;
}

.acic-ca-manager-table .acic-ca-tag {
    margin-top: 4px;
}

.acic-ca-manager-table__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    align-items: center;
    white-space: nowrap;
}

.acic-ca-icon-button,
.acic-ca-action-button {
    display: inline-flex;
    gap: 6px;
    align-items: center;
    padding: 7px;
    border: 1px solid #d5e0e6;
    border-radius: 7px;
    background: #fff;
    color: #28485e;
    cursor: pointer;
    font: inherit;
    font-size: 13px;
    font-weight: 600;
    line-height: 1;
}

.acic-ca-action-button {
    padding: 7px 11px;
    color: #1f6fae;
}

.acic-ca-icon-button:hover,
.acic-ca-action-button:hover {
    border-color: #173f5f;
}

.acic-ca-manager-row__detail > td,
.acic-ca-manager-row__edit > td {
    padding: 16px;
    border-top: 1px solid #e5ebef;
    background: #fafcfd;
}

.acic-ca-manager-row__edit .acic-ca-compact-form {
    margin-top: 0;
}

.acic-ca-manager-row__edit-actions {
    display: flex;
    gap: 10px;
    align-items: center;
}

.acic-ca-kebab {
    position: relative;
}

.acic-ca-kebab__toggle {
    display: grid;
    width: 34px;
    height: 34px;
    place-items: center;
    border: 1px solid #d5e0e6;
    border-radius: 7px;
    background: #fff;
    color: #495965;
    cursor: pointer;
    font-size: 16px;
    line-height: 1;
}

.acic-ca-kebab__toggle:hover {
    border-color: #173f5f;
}

.acic-ca-kebab__menu {
    position: absolute;
    top: calc(100% + 6px);
    right: 0;
    z-index: 5;
    min-width: 170px;
    padding: 8px;
    border: 1px solid #dce5ea;
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 8px 20px rgba(23, 63, 95, .14);
}

.acic-ca-kebab__menu form {
    margin: 0;
}

.acic-ca-manager-empty-filtered {
    padding: 14px;
    color: #667581;
    text-align: center;
}

.acic-ca-manager-pagination {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
    justify-content: space-between;
    margin-top: 14px;
}

.acic-ca-manager-pagination__info {
    color: #667581;
    font-size: 13px;
}

.acic-ca-manager-pagination__nav {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.acic-ca-manager-page {
    min-width: 32px;
    padding: 6px 9px;
    border: 1px solid #d5e0e6;
    border-radius: 7px;
    background: #fff;
    color: #28485e;
    cursor: pointer;
    font: inherit;
    font-size: 13px;
}

.acic-ca-manager-page.is-active {
    border-color: #173f5f;
    background: #173f5f;
    color: #fff;
}

@media (max-width: 960px) {
    .acic-ca-manager-add-toggle {
        margin-left: 0;
    }
}

@media (max-width: 960px) {
    .acic-ca-grid--metrics {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .acic-ca-information-layout {
        grid-template-columns: 1fr;
    }

    .acic-ca-information-sidebar {
        display: none;
    }

    .acic-ca-information-select-label {
        display: block;
        margin-bottom: 6px;
        color: #334d5e;
        font-weight: 650;
    }

    .acic-ca-information-select {
        display: block;
        box-sizing: border-box;
        width: 100%;
        margin-bottom: 14px;
        padding: 11px;
        border: 1px solid #b8c6cf;
        border-radius: 8px;
        background: #fff;
        color: #173f5f;
        font: inherit;
    }

    .acic-ca-contact-list {
        grid-template-columns: 1fr;
    }

    .acic-ca-report-filters,
    .acic-ca-report-sections {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 600px) {
    .acic-ca-shell,
    .acic-ca-portal__header {
        grid-template-columns: 1fr;
        padding: 20px;
    }

    .acic-ca-shell__mark {
        width: 52px;
        height: 52px;
    }

    .acic-ca-portal__content {
        padding: 15px;
    }

    .acic-ca-grid--metrics,
    .acic-ca-grid--two,
    .acic-ca-missing-sections {
        grid-template-columns: 1fr;
    }

    .acic-ca-information__intro,
    .acic-ca-form-actions {
        display: block;
    }

    .acic-ca-field {
        grid-template-columns: 1fr;
        gap: 10px;
    }

    .acic-ca-form-grid {
        grid-template-columns: 1fr;
    }

    .acic-ca-function-fieldset {
        grid-template-columns: 1fr;
    }

    .acic-ca-report-filters,
    .acic-ca-report-sections {
        grid-template-columns: 1fr;
    }

    .acic-ca-report-centers {
        grid-column: auto;
    }

    .acic-ca-report-submit {
        display: block;
    }

    .acic-ca-form-actions .acic-ca-button {
        margin-bottom: 10px;
    }
}

/* ========================================================================
   ACIC UI 2026 — visual redesign layer
   ------------------------------------------------------------------------
   This block intentionally overrides the legacy presentation without
   changing business rules, form names, endpoints or data attributes.
   ======================================================================== */

.acic-ca-portal,
.acic-ca-shell,
.acic-ca-message,
.acic-ca-directory,
.acic-ca-profile {
    --acic-ui-navy: #103b60;
    --acic-ui-navy-2: #0a2e4d;
    --acic-ui-blue: #176bd5;
    --acic-ui-blue-2: #0f5fc3;
    --acic-ui-blue-soft: #edf5ff;
    --acic-ui-cyan: #0ea5a8;
    --acic-ui-cyan-soft: #e7f8f7;
    --acic-ui-green: #13a477;
    --acic-ui-green-soft: #e8f8f1;
    --acic-ui-purple: #7557d7;
    --acic-ui-purple-soft: #f0ebff;
    --acic-ui-amber: #df9710;
    --acic-ui-amber-soft: #fff5dd;
    --acic-ui-rose: #d95484;
    --acic-ui-rose-soft: #fff0f5;
    --acic-ui-red: #d94d55;
    --acic-ui-red-soft: #fff0f1;
    --acic-ui-ink: #13283b;
    --acic-ui-text: #334b60;
    --acic-ui-muted: #6b7e90;
    --acic-ui-line: #dbe5ee;
    --acic-ui-line-strong: #c9d7e3;
    --acic-ui-canvas: #f5f8fc;
    --acic-ui-surface: #ffffff;
    --acic-ui-radius-sm: 9px;
    --acic-ui-radius: 13px;
    --acic-ui-radius-lg: 18px;
    --acic-ui-shadow-sm: 0 2px 8px rgba(19, 52, 79, .045);
    --acic-ui-shadow: 0 10px 28px rgba(24, 58, 84, .075);
    --acic-ui-shadow-lg: 0 18px 46px rgba(24, 58, 84, .11);
    color: var(--acic-ui-ink);
    font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
}

.acic-ca-portal {
    max-width: 1420px;
    margin: 28px auto;
    border: 1px solid var(--acic-ui-line);
    border-radius: var(--acic-ui-radius-lg);
    background: var(--acic-ui-surface);
    box-shadow: var(--acic-ui-shadow-lg);
    overflow: hidden;
}

.acic-ca-application,
.acic-ca-report-builder {
    max-width: 1180px;
}

.acic-ca-portal *,
.acic-ca-shell *,
.acic-ca-message * {
    box-sizing: border-box;
}

.acic-ca-portal a {
    text-underline-offset: 3px;
}

/* Header */
.acic-ca-portal__header {
    grid-template-columns: 74px minmax(0, 1fr);
    gap: 24px;
    min-height: 132px;
    padding: 28px 34px;
    border-bottom: 1px solid var(--acic-ui-line);
    background:
        radial-gradient(circle at 92% 20%, rgba(23, 107, 213, .09), transparent 28%),
        linear-gradient(135deg, #ffffff 0%, #f8fbff 58%, #f3f8ff 100%);
}

.acic-ca-shell__mark {
    width: 68px;
    height: 68px;
    border-radius: 16px;
    background: linear-gradient(145deg, #164c75, #0d3355);
    box-shadow: 0 10px 22px rgba(15, 65, 101, .20);
    font-size: 17px;
    letter-spacing: .01em;
}

.acic-ca-shell__eyebrow {
    margin-bottom: 5px !important;
    color: #557086;
    font-size: 12px;
    font-weight: 750;
    letter-spacing: .08em;
}

.acic-ca-portal__header h2 {
    margin: 0 0 3px;
    color: var(--acic-ui-navy-2);
    font-size: clamp(27px, 2.4vw, 38px);
    font-weight: 650;
    letter-spacing: -.025em;
    line-height: 1.12;
}

.acic-ca-portal__header p:not(.acic-ca-shell__eyebrow) {
    color: var(--acic-ui-text);
    font-size: 15px;
}

/* Center switcher */
.acic-ca-center-switcher {
    gap: 10px;
    min-height: 58px;
    padding: 10px 32px;
    border-bottom: 1px solid var(--acic-ui-line);
    background: #f7faff;
    color: var(--acic-ui-text);
}

.acic-ca-center-switcher label {
    color: var(--acic-ui-navy);
    font-weight: 750;
}

.acic-ca-center-switcher select {
    min-height: 38px;
    max-width: 480px;
    padding: 7px 36px 7px 12px;
    border: 1px solid var(--acic-ui-line-strong);
    border-radius: var(--acic-ui-radius-sm);
    background-color: #fff;
    color: var(--acic-ui-ink);
    box-shadow: var(--acic-ui-shadow-sm);
}

/* Portal navigation */
.acic-ca-nav {
    gap: 8px;
    padding: 10px 26px 0;
    border-bottom: 1px solid var(--acic-ui-line);
    background: #fff;
}

.acic-ca-nav a,
.acic-ca-nav__item {
    position: relative;
    display: inline-flex;
    gap: 8px;
    align-items: center;
    min-height: 52px;
    padding: 10px 12px 13px;
    border-radius: 10px 10px 0 0;
    color: #536a7e;
    font-size: 13px;
    font-weight: 650;
    transition: color .18s ease, background-color .18s ease;
}

.acic-ca-nav a:hover,
.acic-ca-nav a:focus,
.acic-ca-nav a.is-active {
    background: transparent;
    color: var(--acic-ui-blue);
}

.acic-ca-nav a::after {
    position: absolute;
    right: 10px;
    bottom: -1px;
    left: 10px;
    height: 3px;
    border-radius: 3px 3px 0 0;
    background: transparent;
    content: "";
}

.acic-ca-nav a.is-active::after {
    background: var(--acic-ui-blue);
}

.acic-ca-nav__icon {
    display: grid;
    width: 24px;
    height: 24px;
    place-items: center;
    border-radius: 8px;
    color: #6b8094;
    transition: color .18s ease, background-color .18s ease;
}

.acic-ca-nav__icon svg {
    width: 18px;
    height: 18px;
}

.acic-ca-nav a:hover .acic-ca-nav__icon,
.acic-ca-nav a.is-active .acic-ca-nav__icon {
    background: var(--acic-ui-blue-soft);
    color: var(--acic-ui-blue);
}

/* Main content */
.acic-ca-portal__content {
    padding: 30px;
    background:
        linear-gradient(180deg, rgba(245, 248, 252, .92), rgba(248, 250, 253, .98));
}

.acic-ca-information__intro {
    margin-bottom: 22px;
}

.acic-ca-information__intro h3 {
    color: var(--acic-ui-navy-2);
    font-size: clamp(24px, 2vw, 31px);
    font-weight: 650;
    letter-spacing: -.025em;
}

.acic-ca-information__intro p {
    max-width: 760px;
    color: var(--acic-ui-muted);
    font-size: 14px;
}

/* Cards */
.acic-ca-metric,
.acic-ca-card,
.acic-ca-section-panel {
    border: 1px solid var(--acic-ui-line);
    border-radius: var(--acic-ui-radius);
    background: #fff;
    box-shadow: var(--acic-ui-shadow-sm);
}

.acic-ca-card {
    padding: 22px;
}

.acic-ca-card h3 {
    color: var(--acic-ui-navy-2);
    font-size: 19px;
    font-weight: 700;
    letter-spacing: -.015em;
}

.acic-ca-card p {
    color: var(--acic-ui-text);
}

.acic-ca-card__heading {
    gap: 22px;
}

.acic-ca-grid {
    gap: 18px;
    margin-bottom: 18px;
}

/* Home metrics: colorful but restrained */
.acic-ca-portal__content--inicio .acic-ca-metric {
    position: relative;
    min-height: 118px;
    padding: 22px 20px 20px 88px;
    overflow: hidden;
}

.acic-ca-portal__content--inicio .acic-ca-metric::before {
    position: absolute;
    top: 22px;
    left: 20px;
    display: grid;
    width: 48px;
    height: 48px;
    place-items: center;
    border-radius: 14px;
    content: "";
    font-size: 22px;
    font-weight: 800;
}

.acic-ca-portal__content--inicio .acic-ca-metric:nth-child(1)::before {
    content: "✓";
    background: var(--acic-ui-green-soft);
    color: var(--acic-ui-green);
}
.acic-ca-portal__content--inicio .acic-ca-metric:nth-child(2)::before {
    content: "2";
    background: var(--acic-ui-blue-soft);
    color: var(--acic-ui-blue);
}
.acic-ca-portal__content--inicio .acic-ca-metric:nth-child(3)::before {
    content: "◆";
    background: var(--acic-ui-purple-soft);
    color: var(--acic-ui-purple);
}
.acic-ca-portal__content--inicio .acic-ca-metric:nth-child(4)::before {
    content: "●";
    background: var(--acic-ui-cyan-soft);
    color: var(--acic-ui-cyan);
}

.acic-ca-portal__content--inicio .acic-ca-metric strong {
    margin-bottom: 6px;
    font-size: clamp(24px, 2vw, 30px);
}
.acic-ca-portal__content--inicio .acic-ca-metric:nth-child(1) strong { color: #0f936b; }
.acic-ca-portal__content--inicio .acic-ca-metric:nth-child(2) strong { color: var(--acic-ui-blue); }
.acic-ca-portal__content--inicio .acic-ca-metric:nth-child(3) strong { color: #6944d4; }
.acic-ca-portal__content--inicio .acic-ca-metric:nth-child(4) strong { color: #0b999b; }

.acic-ca-portal__content--inicio .acic-ca-grid--two .acic-ca-card {
    min-height: 250px;
    padding: 26px;
}

.acic-ca-detail-list > div,
.acic-ca-summary-list > div {
    border-bottom-color: #e8eef4;
}

.acic-ca-progress {
    height: 10px;
    overflow: hidden;
    border-radius: 999px;
    background: #e7eef4;
}

.acic-ca-progress span {
    border-radius: inherit;
    background: linear-gradient(90deg, #0fa278, #20b99a);
}

.acic-ca-positive {
    color: #0b986e;
}

/* Status and tags */
.acic-ca-status,
.acic-ca-tag {
    border: 1px solid transparent;
    font-weight: 700;
}

.acic-ca-status {
    padding: 5px 10px;
    background: var(--acic-ui-green-soft);
    color: #087b5a;
}

.acic-ca-status--pending {
    background: var(--acic-ui-amber-soft);
    color: #986300;
}

.acic-ca-status--muted {
    background: #eef3f7;
    color: #607487;
}

.acic-ca-tag {
    padding: 4px 8px;
    font-size: 10.5px;
    letter-spacing: .01em;
}

.acic-ca-tag--public {
    background: #e7f4ff;
    color: #1169b5;
}

.acic-ca-tag--private {
    background: var(--acic-ui-purple-soft);
    color: #6b45b9;
}

.acic-ca-tag--pending,
.acic-ca-tag--approval {
    background: var(--acic-ui-amber-soft);
    color: #986300;
}

.acic-ca-tag--direct,
.acic-ca-tag--approved {
    background: var(--acic-ui-green-soft);
    color: #087b5a;
}

.acic-ca-tag--rejected {
    background: var(--acic-ui-red-soft);
    color: #b6353c;
}

.acic-ca-tag--merged {
    background: var(--acic-ui-cyan-soft);
    color: #0a7a7d;
}

/* Specialty proposal panel (Información → Investigación y especialidades) */
.acic-ca-specialty-proposal {
    margin-top: 14px;
    padding: 14px;
    border: 1px solid var(--acic-ui-line);
    border-radius: var(--acic-ui-radius-sm);
    background: var(--acic-ui-canvas);
}

.acic-ca-specialty-proposal__title {
    margin: 0 0 8px;
    font-size: 13px;
    font-weight: 700;
    color: var(--acic-ui-ink);
}

.acic-ca-specialty-proposal__row {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
}

.acic-ca-specialty-proposal__row input[type="text"] {
    flex: 1 1 220px;
    min-height: 40px;
}

.acic-ca-specialty-proposal__matches {
    margin-top: 10px;
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.acic-ca-specialty-proposal__match {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 6px 10px;
    border: 1px solid var(--acic-ui-line);
    border-radius: var(--acic-ui-radius-sm);
    background: var(--acic-ui-surface);
    font-size: 12.5px;
}

.acic-ca-specialty-proposal__add-button {
    margin-top: 10px;
}

.acic-ca-specialty-proposal__list {
    margin-top: 14px;
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.acic-ca-specialty-proposal__item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    flex-wrap: wrap;
    padding: 6px 10px;
    border-radius: var(--acic-ui-radius-sm);
    background: var(--acic-ui-surface);
    border: 1px solid var(--acic-ui-line);
    font-size: 12.5px;
}

.acic-ca-specialty-proposal__item-note {
    flex-basis: 100%;
    color: var(--acic-ui-muted);
    font-size: 11.5px;
}

/* Buttons */
.acic-ca-button {
    min-height: 42px;
    align-items: center;
    justify-content: center;
    padding: 9px 16px;
    border: 1px solid var(--acic-ui-blue);
    border-radius: 9px;
    background: linear-gradient(180deg, #1c73dc, #1063c9);
    box-shadow: 0 5px 12px rgba(19, 103, 207, .16);
    font-size: 13px;
    font-weight: 700;
    transition: transform .12s ease, box-shadow .12s ease, background .12s ease;
}

.acic-ca-button:hover,
.acic-ca-button:focus-visible {
    background: linear-gradient(180deg, #176bd5, #0c58b7);
    box-shadow: 0 7px 16px rgba(19, 103, 207, .22);
    transform: translateY(-1px);
}

.acic-ca-button--ghost {
    min-height: 40px;
    padding: 8px 14px;
    border: 1px solid var(--acic-ui-line-strong);
    border-radius: 9px;
    background: #fff;
    color: var(--acic-ui-navy) !important;
    box-shadow: none;
}

/* .acic-ca-button:hover/:focus-visible above sets a solid blue gradient
   background meant for the primary button; without its own state here,
   --ghost inherited that blue background while its !important navy text
   color stayed put, leaving hard-to-read dark text on blue. Keep ghost
   buttons looking like ghost buttons (light background, blue text) in
   every interactive state instead of turning solid. */
.acic-ca-button--ghost:hover,
.acic-ca-button--ghost:focus-visible,
.acic-ca-button--ghost:active {
    background: var(--acic-ui-blue-soft);
    border-color: var(--acic-ui-blue);
    color: var(--acic-ui-blue) !important;
    box-shadow: none;
    transform: none;
}

/* Inputs */
.acic-ca-field__control input,
.acic-ca-field__control textarea,
.acic-ca-compact-form input,
.acic-ca-compact-form select,
.acic-ca-compact-form textarea,
.acic-ca-report-filters input,
.acic-ca-report-filters select,
.acic-ca-manager-search,
.acic-ca-manager-filter select,
.acic-ca-information-select,
.acic-ca-form-grid input,
.acic-ca-form-grid select {
    border-color: var(--acic-ui-line-strong);
    border-radius: 9px;
    background: #fff;
    color: var(--acic-ui-ink);
    box-shadow: inset 0 1px 1px rgba(20, 50, 75, .015);
    transition: border-color .15s ease, box-shadow .15s ease;
}

.acic-ca-field__control input,
.acic-ca-compact-form input,
.acic-ca-compact-form select,
.acic-ca-report-filters input,
.acic-ca-report-filters select,
.acic-ca-manager-search,
.acic-ca-manager-filter select,
.acic-ca-form-grid input,
.acic-ca-form-grid select {
    min-height: 44px;
}

.acic-ca-field__control input:focus,
.acic-ca-field__control textarea:focus,
.acic-ca-compact-form input:focus,
.acic-ca-compact-form select:focus,
.acic-ca-compact-form textarea:focus,
.acic-ca-report-filters input:focus,
.acic-ca-report-filters select:focus,
.acic-ca-manager-search:focus,
.acic-ca-manager-filter select:focus,
.acic-ca-form-grid input:focus,
.acic-ca-form-grid select:focus {
    border-color: #6aa5e8;
    outline: none;
    box-shadow: 0 0 0 3px rgba(23, 107, 213, .10);
}

.acic-ca-readonly {
    min-height: 44px;
    padding: 11px 13px;
    border: 1px solid #edf1f5;
    border-radius: 9px;
    background: #f7f9fb;
    color: #273f53;
}

/* Information tab */
.acic-ca-information-layout {
    grid-template-columns: 270px minmax(0, 1fr);
    gap: 22px;
}

.acic-ca-information-sidebar {
    top: 24px;
    gap: 8px;
}

.acic-ca-section-tab {
    position: relative;
    min-height: 72px;
    padding: 13px 14px 13px 58px;
    border: 1px solid var(--acic-ui-line);
    border-radius: 12px;
    background: #fff;
    color: var(--acic-ui-navy);
    box-shadow: var(--acic-ui-shadow-sm);
}

.acic-ca-section-tab::before {
    position: absolute;
    top: 14px;
    left: 14px;
    display: grid;
    width: 32px;
    height: 32px;
    place-items: center;
    border-radius: 9px;
    content: "•";
    font-size: 20px;
    line-height: 1;
}

.acic-ca-information-sidebar .acic-ca-section-tab:nth-child(6n + 1)::before { background: var(--acic-ui-blue-soft); color: var(--acic-ui-blue); }
.acic-ca-information-sidebar .acic-ca-section-tab:nth-child(6n + 2)::before { background: var(--acic-ui-amber-soft); color: var(--acic-ui-amber); }
.acic-ca-information-sidebar .acic-ca-section-tab:nth-child(6n + 3)::before { background: var(--acic-ui-green-soft); color: var(--acic-ui-green); }
.acic-ca-information-sidebar .acic-ca-section-tab:nth-child(6n + 4)::before { background: var(--acic-ui-purple-soft); color: var(--acic-ui-purple); }
.acic-ca-information-sidebar .acic-ca-section-tab:nth-child(6n + 5)::before { background: #eaf5ff; color: #3b82f6; }
.acic-ca-information-sidebar .acic-ca-section-tab:nth-child(6n + 6)::before { background: var(--acic-ui-rose-soft); color: var(--acic-ui-rose); }

.acic-ca-section-tab:hover,
.acic-ca-section-tab:focus-visible {
    border-color: #9fc3e8;
    background: #fbfdff;
}

.acic-ca-section-tab.is-active {
    border-color: #9ec6ef;
    border-left: 4px solid var(--acic-ui-blue);
    background: linear-gradient(90deg, #f2f8ff, #fff 78%);
    color: var(--acic-ui-navy-2);
    box-shadow: 0 7px 18px rgba(28, 78, 115, .07);
}

.acic-ca-section-tab.is-active small {
    color: #60768a;
}

.acic-ca-section-panel {
    overflow: hidden;
}

.acic-ca-section-panel__header {
    min-height: 92px;
    padding: 20px 24px;
    border-bottom: 1px solid var(--acic-ui-line);
    background: linear-gradient(180deg, #fbfdff, #f7faff);
}

.acic-ca-section-panel__header h4 {
    color: var(--acic-ui-navy-2);
    font-size: 23px;
    letter-spacing: -.02em;
}

.acic-ca-section__count {
    min-width: 34px;
    height: 34px;
    background: var(--acic-ui-blue-soft);
    color: var(--acic-ui-blue);
    font-size: 12px;
    font-weight: 800;
}

.acic-ca-field {
    grid-template-columns: minmax(235px, .82fr) minmax(280px, 1.18fr);
    gap: 28px;
    padding: 21px 0;
    border-bottom-color: #edf2f6;
}

.acic-ca-field__label label {
    color: var(--acic-ui-navy-2);
    font-size: 14px;
    font-weight: 750;
}

.acic-ca-section__body {
    padding: 0 24px;
}

.acic-ca-form-actions {
    bottom: 14px;
    justify-content: flex-end;
    padding: 12px 14px;
    border-color: var(--acic-ui-line);
    border-radius: 12px;
    box-shadow: 0 10px 28px rgba(27, 61, 87, .13);
    backdrop-filter: blur(8px);
}

.acic-ca-form-actions p {
    margin-right: auto;
}

/* Tables */
.acic-ca-table-wrap {
    border: 1px solid var(--acic-ui-line);
    border-radius: 12px;
    background: #fff;
    box-shadow: var(--acic-ui-shadow-sm);
}

.acic-ca-table {
    border-collapse: separate;
    border-spacing: 0;
}

.acic-ca-table th,
.acic-ca-table td {
    padding: 13px 14px;
    border-bottom: 1px solid #e8eef3;
}

.acic-ca-table th {
    background: #f6f9fc;
    color: #3d566d;
    font-size: 11.5px;
    font-weight: 800;
    letter-spacing: .015em;
}

.acic-ca-table tr:last-child td {
    border-bottom: 0;
}

.acic-ca-table tbody tr:hover td {
    background: #fbfdff;
}

/* Managers: studies + services */
.acic-ca-manager-tabs {
    gap: 4px;
    margin-bottom: 0;
    padding: 0 4px;
}

.acic-ca-manager-tab {
    position: relative;
    min-height: 48px;
    padding: 10px 16px 12px;
    border: 0;
    border-radius: 10px 10px 0 0;
    background: transparent;
    color: #657a8e;
}

.acic-ca-manager-tab::after {
    position: absolute;
    right: 12px;
    bottom: 0;
    left: 12px;
    height: 3px;
    border-radius: 3px 3px 0 0;
    background: transparent;
    content: "";
}

.acic-ca-manager-tab:hover,
.acic-ca-manager-tab:focus-visible {
    border-color: transparent;
    color: var(--acic-ui-blue);
}

.acic-ca-manager-tab.is-active {
    border-color: transparent;
    background: #fff;
    color: var(--acic-ui-blue);
}

.acic-ca-manager-tab.is-active::after {
    background: var(--acic-ui-blue);
}

.acic-ca-manager-tab__count,
.acic-ca-manager-tab.is-active .acic-ca-manager-tab__count {
    min-width: 23px;
    padding: 2px 7px;
    background: #edf3f9;
    color: #5e7285;
}

.acic-ca-manager-tab.is-active .acic-ca-manager-tab__count {
    background: var(--acic-ui-blue-soft);
    color: var(--acic-ui-blue);
}

.acic-ca-manager-panel {
    padding-top: 12px;
}

.acic-ca-manager-toolbar {
    gap: 12px;
    margin-bottom: 16px;
    padding: 16px;
    border: 1px solid var(--acic-ui-line);
    border-radius: 12px;
    background: #fff;
    box-shadow: var(--acic-ui-shadow-sm);
}

.acic-ca-manager-search {
    min-height: 44px;
    padding-left: 14px;
}

.acic-ca-manager-filter {
    gap: 6px;
    color: #50677b;
    font-size: 11.5px;
    font-weight: 750;
}

.acic-ca-manager-table thead th {
    border-bottom: 1px solid var(--acic-ui-line);
    background: #f5f9fd;
    color: #37536a;
}

.acic-ca-manager-table tbody tr:first-child > td {
    padding-top: 17px;
    padding-bottom: 17px;
}

.acic-ca-manager-table tbody tr:first-child td:first-child strong {
    color: #0f5db5;
    font-size: 13px;
}

.acic-ca-manager-table tbody tr:first-child td:first-child small {
    display: inline-block;
    margin-top: 5px;
    color: #667b8e;
    line-height: 1.35;
}

.acic-ca-manager-table tbody:nth-of-type(6n + 1) tr:first-child td:first-child { box-shadow: inset 3px 0 0 #55a5f3; }
.acic-ca-manager-table tbody:nth-of-type(6n + 2) tr:first-child td:first-child { box-shadow: inset 3px 0 0 #8c6be4; }
.acic-ca-manager-table tbody:nth-of-type(6n + 3) tr:first-child td:first-child { box-shadow: inset 3px 0 0 #21b589; }
.acic-ca-manager-table tbody:nth-of-type(6n + 4) tr:first-child td:first-child { box-shadow: inset 3px 0 0 #ecb33b; }
.acic-ca-manager-table tbody:nth-of-type(6n + 5) tr:first-child td:first-child { box-shadow: inset 3px 0 0 #df6e99; }
.acic-ca-manager-table tbody:nth-of-type(6n + 6) tr:first-child td:first-child { box-shadow: inset 3px 0 0 #26aeb3; }

.acic-ca-manager-table__actions {
    gap: 7px;
}

.acic-ca-action-button,
.acic-ca-icon-button,
.acic-ca-kebab__toggle {
    min-height: 36px;
    border-color: #d1deea;
    border-radius: 8px;
    background: #fff;
    color: var(--acic-ui-blue);
}

.acic-ca-action-button:hover,
.acic-ca-icon-button:hover,
.acic-ca-kebab__toggle:hover {
    border-color: #8db9e7;
    background: #f6fbff;
}

.acic-ca-manager-row__detail > td,
.acic-ca-manager-row__edit > td {
    padding: 20px 22px;
    background: #f8fbfe;
}

.acic-ca-kebab__menu {
    z-index: 30;
    border-color: var(--acic-ui-line);
    border-radius: 10px;
    box-shadow: var(--acic-ui-shadow);
}

.acic-ca-manager-pagination {
    min-height: 54px;
    margin-top: 0;
    padding: 10px 4px 0;
}

.acic-ca-manager-page {
    min-width: 35px;
    min-height: 35px;
    padding: 6px 10px;
    border-color: var(--acic-ui-line);
    border-radius: 8px;
    color: #53697e;
}

.acic-ca-manager-page.is-active {
    border-color: var(--acic-ui-blue);
    background: var(--acic-ui-blue);
    color: #fff;
    box-shadow: 0 4px 11px rgba(23, 107, 213, .18);
}

/* Contacts */
.acic-ca-contact-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}

.acic-ca-portal__content--contactos .acic-ca-contact-list .acic-ca-card {
    position: relative;
    overflow: hidden;
}

.acic-ca-portal__content--contactos .acic-ca-contact-list .acic-ca-card::before {
    position: absolute;
    top: 0;
    left: 0;
    width: 4px;
    height: 100%;
    background: var(--acic-ui-blue);
    content: "";
}

.acic-ca-portal__content--contactos .acic-ca-contact-list .acic-ca-card:nth-child(4n + 2)::before { background: var(--acic-ui-purple); }
.acic-ca-portal__content--contactos .acic-ca-contact-list .acic-ca-card:nth-child(4n + 3)::before { background: var(--acic-ui-green); }
.acic-ca-portal__content--contactos .acic-ca-contact-list .acic-ca-card:nth-child(4n + 4)::before { background: var(--acic-ui-amber); }

/* Inline notices */
.acic-ca-inline-notice {
    padding: 13px 15px;
    border: 1px solid #cfe2f5;
    border-left: 4px solid var(--acic-ui-blue);
    border-radius: 10px;
    background: #f1f7fd;
    color: #27465f;
}

.acic-ca-inline-notice--success {
    border-color: #c9ebdc;
    border-left-color: var(--acic-ui-green);
    background: #effaf5;
}

.acic-ca-inline-notice--error {
    border-color: #f1cfd2;
    border-left-color: var(--acic-ui-red);
    background: #fff5f5;
}

.acic-ca-validation-missing {
    border: 1px solid #f0dda7;
    border-left: 4px solid var(--acic-ui-amber);
    border-radius: 10px;
    background: #fffaf0;
}

/* Validation */
.acic-ca-portal__content--validacion > .acic-ca-grid--metrics .acic-ca-metric {
    padding: 18px;
}

.acic-ca-portal__content--validacion > .acic-ca-grid--metrics .acic-ca-metric:nth-child(1) { border-top: 3px solid var(--acic-ui-blue); }
.acic-ca-portal__content--validacion > .acic-ca-grid--metrics .acic-ca-metric:nth-child(2) { border-top: 3px solid var(--acic-ui-amber); }
.acic-ca-portal__content--validacion > .acic-ca-grid--metrics .acic-ca-metric:nth-child(3) { border-top: 3px solid var(--acic-ui-green); }
.acic-ca-portal__content--validacion > .acic-ca-grid--metrics .acic-ca-metric:nth-child(4) { border-top: 3px solid var(--acic-ui-purple); }

/* History */
.acic-ca-timeline {
    margin-top: 16px;
}

.acic-ca-timeline__item {
    border-color: var(--acic-ui-line);
    border-radius: 12px;
    background: #fff;
    box-shadow: var(--acic-ui-shadow-sm);
}

.acic-ca-timeline__marker {
    border-color: #fff;
    box-shadow: 0 0 0 2px #dce7f0;
}

.acic-ca-history-category {
    border-radius: 999px;
    font-weight: 700;
}

/* Application shortcode */
.acic-ca-application .acic-ca-portal__header {
    min-height: 150px;
}

.acic-ca-application .acic-ca-portal__content {
    padding: 26px;
}

.acic-ca-application form[data-acic-application-form] {
    counter-reset: acic-application-section;
}

.acic-ca-application form[data-acic-application-form] article.acic-ca-card {
    position: relative;
    counter-increment: acic-application-section;
    margin-top: 14px;
    padding: 22px 24px 22px 76px;
    border-radius: 14px;
}

.acic-ca-application form[data-acic-application-form] article.acic-ca-card::before {
    position: absolute;
    top: 21px;
    left: 20px;
    display: grid;
    width: 38px;
    height: 38px;
    place-items: center;
    border-radius: 11px;
    background: var(--acic-ui-blue-soft);
    color: var(--acic-ui-blue);
    content: counter(acic-application-section, decimal-leading-zero);
    font-size: 12px;
    font-weight: 850;
}

.acic-ca-application form[data-acic-application-form] article.acic-ca-card:nth-of-type(6n + 2)::before { background: var(--acic-ui-purple-soft); color: var(--acic-ui-purple); }
.acic-ca-application form[data-acic-application-form] article.acic-ca-card:nth-of-type(6n + 3)::before { background: var(--acic-ui-green-soft); color: var(--acic-ui-green); }
.acic-ca-application form[data-acic-application-form] article.acic-ca-card:nth-of-type(6n + 4)::before { background: var(--acic-ui-amber-soft); color: var(--acic-ui-amber); }
.acic-ca-application form[data-acic-application-form] article.acic-ca-card:nth-of-type(6n + 5)::before { background: var(--acic-ui-cyan-soft); color: var(--acic-ui-cyan); }
.acic-ca-application form[data-acic-application-form] article.acic-ca-card:nth-of-type(6n + 6)::before { background: var(--acic-ui-rose-soft); color: var(--acic-ui-rose); }

.acic-ca-application form[data-acic-application-form] article.acic-ca-card h3 {
    margin-bottom: 8px;
    font-size: 19px;
}

.acic-ca-application .acic-ca-form-grid {
    gap: 14px 16px;
}

.acic-ca-application .acic-ca-compact-form > label,
.acic-ca-application .acic-ca-form-grid label {
    color: #3b566c;
    font-size: 12px;
    font-weight: 700;
}

.acic-ca-application .acic-ca-help {
    color: #718396;
    line-height: 1.5;
}

.acic-ca-application .acic-ca-card--flagged {
    border-color: #efbdc2;
    box-shadow: 0 0 0 3px rgba(217, 77, 85, .06);
}

/* Report shortcode */
.acic-ca-report-builder .acic-ca-portal__content {
    padding: 26px;
}

.acic-ca-workflow-steps {
    position: relative;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0;
    margin: 0 0 18px;
    padding: 0;
    list-style: none;
    border: 1px solid var(--acic-ui-line);
    border-radius: 12px;
    background: #fff;
    box-shadow: var(--acic-ui-shadow-sm);
}

.acic-ca-workflow-steps li {
    position: relative;
    display: grid;
    grid-template-columns: 36px minmax(0, 1fr);
    grid-template-rows: auto auto;
    gap: 1px 10px;
    align-items: center;
    min-height: 70px;
    padding: 13px 18px;
}

.acic-ca-workflow-steps li + li {
    border-left: 1px solid var(--acic-ui-line);
}

.acic-ca-workflow-steps li > span {
    grid-row: 1 / span 2;
    display: grid;
    width: 34px;
    height: 34px;
    place-items: center;
    border-radius: 999px;
    background: #eef3f7;
    color: #60778a;
    font-size: 12px;
    font-weight: 850;
}

.acic-ca-workflow-steps li.is-active > span {
    background: var(--acic-ui-blue);
    color: #fff;
    box-shadow: 0 5px 12px rgba(23, 107, 213, .18);
}

.acic-ca-workflow-steps strong {
    align-self: end;
    color: var(--acic-ui-navy-2);
    font-size: 13px;
}

.acic-ca-workflow-steps small {
    align-self: start;
    color: var(--acic-ui-muted);
    font-size: 11px;
}

.acic-ca-report-form > .acic-ca-card {
    margin-bottom: 16px;
}

.acic-ca-report-filters {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
}

.acic-ca-report-filters label {
    color: #476075;
    font-size: 11.5px;
    font-weight: 750;
}

.acic-ca-report-centers {
    grid-column: span 2;
}

.acic-ca-report-multiple {
    grid-column: span 1;
}

.acic-ca-report-filters select[multiple] {
    min-height: 162px;
    padding: 8px;
}

.acic-ca-report-sections {
    gap: 14px;
}

.acic-ca-report-section {
    position: relative;
    padding: 15px 16px 16px;
    border-color: var(--acic-ui-line);
    border-radius: 12px;
    background: #fff;
    overflow: hidden;
}

.acic-ca-report-section::before {
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    height: 3px;
    background: var(--acic-ui-blue);
    content: "";
}

.acic-ca-report-section:nth-child(6n + 2)::before { background: var(--acic-ui-green); }
.acic-ca-report-section:nth-child(6n + 3)::before { background: var(--acic-ui-purple); }
.acic-ca-report-section:nth-child(6n + 4)::before { background: var(--acic-ui-amber); }
.acic-ca-report-section:nth-child(6n + 5)::before { background: var(--acic-ui-cyan); }
.acic-ca-report-section:nth-child(6n + 6)::before { background: var(--acic-ui-rose); }

.acic-ca-report-section legend {
    padding: 0 7px;
    color: var(--acic-ui-navy-2);
    font-size: 13px;
}

.acic-ca-report-section label {
    color: #4d667a;
    font-size: 12px;
}

.acic-ca-report-selection-actions button {
    min-height: 34px;
    border-color: var(--acic-ui-line-strong);
    border-radius: 8px;
    color: var(--acic-ui-blue);
}

.acic-ca-report-submit {
    border-top: 3px solid var(--acic-ui-green);
}

.acic-ca-report-preview__scroll {
    border-color: var(--acic-ui-line);
    border-radius: 12px;
}

.acic-ca-report-preview th {
    background: var(--acic-ui-navy);
}

/* Pagination */
.acic-ca-pagination a,
.acic-ca-pagination span {
    border-radius: 8px;
}

.acic-ca-pagination a {
    background: var(--acic-ui-blue-soft);
    color: var(--acic-ui-blue);
}

/* Responsive redesign */
@media (max-width: 1180px) {
    .acic-ca-portal {
        margin-right: 16px;
        margin-left: 16px;
    }

    .acic-ca-nav {
        padding-right: 18px;
        padding-left: 18px;
    }

    .acic-ca-nav a,
    .acic-ca-nav__item {
        padding-right: 10px;
        padding-left: 10px;
        font-size: 12px;
    }

    .acic-ca-report-filters {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 960px) {
    .acic-ca-portal__header {
        min-height: 118px;
        padding: 24px;
    }

    .acic-ca-portal__content {
        padding: 22px;
    }

    .acic-ca-information-layout {
        grid-template-columns: 1fr;
    }

    .acic-ca-report-filters,
    .acic-ca-report-sections {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .acic-ca-report-centers {
        grid-column: span 2;
    }

    .acic-ca-application form[data-acic-application-form] article.acic-ca-card {
        padding-left: 70px;
    }
}

@media (max-width: 720px) {
    .acic-ca-portal {
        margin: 14px 10px;
        border-radius: 14px;
    }

    .acic-ca-portal__header {
        grid-template-columns: 58px minmax(0, 1fr);
        gap: 16px;
        min-height: 110px;
        padding: 20px;
    }

    .acic-ca-shell__mark {
        width: 54px;
        height: 54px;
        border-radius: 13px;
        font-size: 14px;
    }

    .acic-ca-portal__header h2 {
        font-size: 25px;
    }

    .acic-ca-center-switcher {
        align-items: stretch;
        flex-direction: column;
        padding: 12px 18px;
    }

    .acic-ca-center-switcher select {
        width: 100%;
        max-width: none;
    }

    .acic-ca-nav {
        padding: 6px 10px 0;
    }

    .acic-ca-nav a,
    .acic-ca-nav__item {
        min-height: 48px;
    }

    .acic-ca-nav__icon {
        width: 21px;
        height: 21px;
    }

    .acic-ca-portal__content {
        padding: 16px;
    }

    .acic-ca-portal__content--inicio .acic-ca-metric {
        min-height: 104px;
    }

    .acic-ca-workflow-steps {
        grid-template-columns: 1fr;
    }

    .acic-ca-workflow-steps li + li {
        border-top: 1px solid var(--acic-ui-line);
        border-left: 0;
    }

    .acic-ca-report-filters,
    .acic-ca-report-sections {
        grid-template-columns: 1fr;
    }

    .acic-ca-report-centers,
    .acic-ca-report-multiple {
        grid-column: auto;
    }

    .acic-ca-application form[data-acic-application-form] article.acic-ca-card {
        padding: 68px 18px 20px;
    }

    .acic-ca-application form[data-acic-application-form] article.acic-ca-card::before {
        top: 18px;
        left: 18px;
    }

    .acic-ca-form-actions {
        display: flex;
        flex-direction: column;
        align-items: stretch;
    }

    .acic-ca-form-actions p {
        margin-right: 0;
    }
}

@media (max-width: 520px) {
    .acic-ca-portal__header {
        grid-template-columns: 1fr;
    }

    .acic-ca-shell__eyebrow {
        font-size: 10px;
    }

    .acic-ca-information__intro {
        display: block;
    }

    .acic-ca-information__intro .acic-ca-status {
        margin-top: 8px;
    }

    .acic-ca-field {
        grid-template-columns: 1fr;
        gap: 10px;
    }

    .acic-ca-manager-toolbar {
        align-items: stretch;
        flex-direction: column;
    }

    .acic-ca-manager-search,
    .acic-ca-manager-filter,
    .acic-ca-manager-add-toggle {
        width: 100%;
        max-width: none;
        flex-basis: auto;
        margin-left: 0;
    }

    .acic-ca-contact-list,
    .acic-ca-grid--metrics,
    .acic-ca-grid--two,
    .acic-ca-form-grid {
        grid-template-columns: 1fr;
    }
}

/* Contact master/detail rows */
.acic-ca-portal__content--contactos .acic-ca-contact-list {
    grid-template-columns: 1fr;
    gap: 10px;
}

.acic-ca-contact-card {
    padding: 0;
    overflow: hidden;
}

.acic-ca-contact-card::before {
    display: none !important;
}

.acic-ca-contact-card__summary {
    display: grid;
    grid-template-columns: 44px minmax(180px, 1.35fr) minmax(150px, .9fr) auto auto;
    gap: 14px;
    align-items: center;
    min-height: 76px;
    padding: 13px 16px;
    cursor: pointer;
    list-style: none;
}

.acic-ca-contact-card__summary::-webkit-details-marker {
    display: none;
}

.acic-ca-contact-card__avatar {
    display: grid;
    width: 40px;
    height: 40px;
    place-items: center;
    border-radius: 12px;
    background: var(--acic-ui-blue-soft);
    color: var(--acic-ui-blue);
    font-size: 14px;
    font-weight: 850;
}

.acic-ca-contact-card:nth-child(4n + 2) .acic-ca-contact-card__avatar { background: var(--acic-ui-purple-soft); color: var(--acic-ui-purple); }
.acic-ca-contact-card:nth-child(4n + 3) .acic-ca-contact-card__avatar { background: var(--acic-ui-green-soft); color: var(--acic-ui-green); }
.acic-ca-contact-card:nth-child(4n + 4) .acic-ca-contact-card__avatar { background: var(--acic-ui-amber-soft); color: var(--acic-ui-amber); }

.acic-ca-contact-card__identity {
    min-width: 0;
}

.acic-ca-contact-card__identity strong,
.acic-ca-contact-card__identity small {
    display: block;
}

.acic-ca-contact-card__identity strong {
    color: #0f5db5;
    font-size: 13.5px;
}

.acic-ca-contact-card__identity small {
    margin-top: 4px;
    color: var(--acic-ui-muted);
    font-size: 11.5px;
}

.acic-ca-contact-card__meta {
    color: #526b80;
    font-size: 12.5px;
}

.acic-ca-contact-card__action {
    display: inline-flex;
    min-height: 34px;
    align-items: center;
    padding: 7px 11px;
    border: 1px solid #d0deea;
    border-radius: 8px;
    color: var(--acic-ui-blue);
    font-size: 12px;
    font-weight: 700;
}

.acic-ca-contact-card[open] .acic-ca-contact-card__summary {
    border-bottom: 1px solid var(--acic-ui-line);
    background: #fbfdff;
}

.acic-ca-contact-card__body {
    padding: 18px 18px 20px 70px;
    background: #f9fbfd;
}

.acic-ca-contact-card--readonly .acic-ca-detail-list {
    margin: 0;
    padding: 0 16px 14px 70px;
}

.acic-ca-contact-add {
    padding: 0;
    overflow: hidden;
}

.acic-ca-contact-add > summary {
    padding: 15px 18px;
    cursor: pointer;
    color: var(--acic-ui-blue);
    font-weight: 750;
    list-style: none;
}

.acic-ca-contact-add > summary::-webkit-details-marker {
    display: none;
}

.acic-ca-contact-add[open] > summary {
    border-bottom: 1px solid var(--acic-ui-line);
    background: #fbfdff;
}

.acic-ca-contact-add > form {
    padding: 4px 18px 20px;
}

@media (max-width: 760px) {
    .acic-ca-contact-card__summary {
        grid-template-columns: 42px minmax(0, 1fr) auto;
    }

    .acic-ca-contact-card__meta {
        grid-column: 2 / -1;
    }

    .acic-ca-contact-card__summary .acic-ca-status {
        grid-column: 2;
        justify-self: start;
    }

    .acic-ca-contact-card__action {
        grid-column: 3;
        grid-row: 1;
    }

    .acic-ca-contact-card__body,
    .acic-ca-contact-card--readonly .acic-ca-detail-list {
        padding-left: 18px;
    }
}

/* --------------------------------------------------------------------------
   Estudios clinicos - high-fidelity master list (UI preview v2)
   Mirrors the approved spacious mockup while keeping the existing CRUD logic.
   -------------------------------------------------------------------------- */
@media (min-width: 901px) {
    .acic-ca-portal--studies {
        position: relative;
        left: 50%;
        width: min(1240px, calc(100vw - 52px));
        max-width: none;
        transform: translateX(-50%);
    }
}

.acic-ca-portal__content--estudios {
    padding: 30px 28px 34px;
}

.acic-ca-studies-heading {
    display: flex;
    gap: 24px;
    align-items: flex-start;
    justify-content: space-between;
    margin-bottom: 28px;
}

.acic-ca-studies-heading > div {
    min-width: 0;
}

.acic-ca-studies-heading h3 {
    margin-bottom: 7px;
    font-size: clamp(27px, 2.6vw, 34px);
    font-weight: 620;
}

.acic-ca-studies-heading p {
    max-width: 820px;
    font-size: 14.5px;
    line-height: 1.55;
}

.acic-ca-studies-add {
    flex: 0 0 auto;
    min-height: 46px;
    padding: 11px 18px;
    border: 1px solid #176bd5;
    border-radius: 9px;
    background: #176bd5;
    box-shadow: 0 7px 18px rgba(23, 107, 213, .16);
    font-size: 14px;
}

.acic-ca-manager--studies .acic-ca-manager-tabs {
    width: min(520px, 100%);
    gap: 0;
    margin: 0 0 0 0;
    padding: 0;
    overflow: hidden;
    border: 1px solid var(--acic-ui-line);
    border-bottom: 0;
    border-radius: 12px 12px 0 0;
    background: #fff;
    box-shadow: var(--acic-ui-shadow-sm);
}

.acic-ca-manager--studies .acic-ca-manager-tab {
    flex: 1 1 50%;
    justify-content: center;
    min-height: 66px;
    padding: 16px 22px 18px;
    border-radius: 0;
    color: #6a7788;
    font-size: 15px;
    font-weight: 560;
}

.acic-ca-manager--studies .acic-ca-manager-tab::after {
    right: 22px;
    left: 22px;
    height: 3px;
}

.acic-ca-manager--studies .acic-ca-manager-tab.is-active {
    color: #176bd5;
    font-weight: 650;
}

.acic-ca-manager--studies .acic-ca-manager-tab__count {
    min-width: 26px;
    padding: 3px 8px;
    border-radius: 999px;
    background: #eef2f6;
    color: #66778a;
    font-size: 12px;
}

.acic-ca-manager--studies .acic-ca-manager-tab.is-active .acic-ca-manager-tab__count {
    background: #edf4ff;
    color: #176bd5;
}

.acic-ca-manager--studies .acic-ca-manager-panel {
    padding-top: 28px;
}

.acic-ca-manager--studies .acic-ca-manager-toolbar {
    display: grid;
    grid-template-columns: minmax(250px, 1.55fr) repeat(4, minmax(132px, .9fr));
    gap: 16px;
    align-items: end;
    margin-bottom: 18px;
    padding: 20px 22px;
    border: 1px solid var(--acic-ui-line);
    border-radius: 12px;
    background: #fff;
    box-shadow: var(--acic-ui-shadow-sm);
}

.acic-ca-manager--studies .acic-ca-manager-search {
    width: 100%;
    min-width: 0;
    min-height: 44px;
    margin: 0;
    padding: 0 14px 0 40px;
    border: 1px solid #d5e0eb;
    border-radius: 8px;
    background-color: #fff;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%236b7f92' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cpath d='m21 21-4.3-4.3'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: 13px center;
    font-size: 13.5px;
}

.acic-ca-manager--studies .acic-ca-manager-filter {
    min-width: 0;
    max-width: none;
    color: #344d64;
    font-size: 11.5px;
    font-weight: 760;
}

.acic-ca-manager--studies .acic-ca-manager-filter select {
    width: 100%;
    min-height: 44px;
    border: 1px solid #d5e0eb;
    border-radius: 8px;
    background-color: #fff;
    color: #32495f;
    font-size: 13px;
    font-weight: 500;
}

.acic-ca-manager--studies .acic-ca-table-wrap {
    overflow: hidden;
    border: 1px solid var(--acic-ui-line);
    border-radius: 13px;
    background: #fff;
    box-shadow: var(--acic-ui-shadow-sm);
}

.acic-ca-study-table {
    min-width: 980px;
    table-layout: fixed;
}

.acic-ca-study-table thead th {
    height: 58px;
    padding: 15px 14px;
    border-right: 0;
    border-bottom: 1px solid #e2e9f0;
    background: #f8fafc;
    color: #3d5268;
    font-size: 11.5px;
    font-weight: 780;
    text-transform: none;
}

.acic-ca-study-table thead th:nth-child(1) { width: 24%; }
.acic-ca-study-table thead th:nth-child(2) { width: 18%; }
.acic-ca-study-table thead th:nth-child(3) { width: 11%; }
.acic-ca-study-table thead th:nth-child(4) { width: 13%; }
.acic-ca-study-table thead th:nth-child(5) { width: 9%; }
.acic-ca-study-table thead th:nth-child(6) { width: 10%; }
.acic-ca-study-table thead th:nth-child(7) { width: 9%; }
.acic-ca-study-table thead th:nth-child(8) { width: 16%; }

.acic-ca-study-table tbody tr:first-child > td {
    height: 96px;
    padding: 18px 14px;
    border-right: 0 !important;
    border-bottom: 1px solid #e8eef3;
    background: #fff;
    color: #475c70;
    vertical-align: middle;
    font-size: 13px;
    line-height: 1.42;
}

.acic-ca-study-table tbody tr:first-child:hover > td {
    background: #fbfdff;
}

.acic-ca-study-table tbody tr:first-child td:first-child {
    box-shadow: none !important;
}

.acic-ca-study-table__study-inner {
    display: flex;
    gap: 14px;
    align-items: center;
}

.acic-ca-study-icon {
    display: grid;
    flex: 0 0 48px;
    width: 48px;
    height: 48px;
    place-items: center;
    border-radius: 10px;
    background: #eaf2ff;
    color: #2c70e6;
}

.acic-ca-study-icon svg {
    width: 25px;
    height: 25px;
}

.acic-ca-study-table tbody:nth-of-type(6n + 2) .acic-ca-study-icon { background: #eaf6ff; color: #287ec8; }
.acic-ca-study-table tbody:nth-of-type(6n + 3) .acic-ca-study-icon { background: #fff6dd; color: #e1a51b; }
.acic-ca-study-table tbody:nth-of-type(6n + 4) .acic-ca-study-icon { background: #f6eafd; color: #9157db; }
.acic-ca-study-table tbody:nth-of-type(6n + 5) .acic-ca-study-icon { background: #e7f8ef; color: #25a86f; }
.acic-ca-study-table tbody:nth-of-type(6n + 6) .acic-ca-study-icon { background: #e9f8f8; color: #1aa1a7; }

.acic-ca-study-table__identity {
    display: flex;
    min-width: 0;
    flex-wrap: wrap;
    gap: 7px 9px;
    align-items: center;
}

.acic-ca-study-table__identity strong {
    display: inline-block;
    max-width: 100%;
    color: #0f5fb7 !important;
    font-size: 13.5px !important;
    font-weight: 730;
    line-height: 1.25;
}

.acic-ca-study-table__identity .acic-ca-tag {
    flex: 0 0 auto;
    margin: 0 !important;
    padding: 3px 8px;
    border-radius: 999px;
    background: #e8f8f0;
    color: #138361;
    font-size: 10.5px;
    font-weight: 700;
}

.acic-ca-study-table__protocol {
    color: #5f7182;
}

.acic-ca-study-table .acic-ca-tag--public {
    margin: 0;
    padding: 5px 8px;
    border: 0;
    border-radius: 999px;
    background: #e9f4ff;
    color: #176bc4;
    font-size: 10.5px;
    font-weight: 800;
    line-height: 1.1;
}

.acic-ca-study-table .acic-ca-manager-table__actions {
    display: flex;
    gap: 8px;
    align-items: center;
    justify-content: flex-start;
    padding-right: 12px;
}

.acic-ca-study-table .acic-ca-action-button {
    min-height: 38px;
    padding: 8px 12px;
    border: 1px solid #cfdbe7;
    border-radius: 8px;
    color: #176bd5;
    background: #fff;
    font-size: 12px;
    font-weight: 650;
}

.acic-ca-study-table .acic-ca-icon-button,
.acic-ca-study-table .acic-ca-kebab__toggle {
    width: 38px;
    height: 38px;
    min-height: 38px;
    padding: 0;
    border: 1px solid #d2deea;
    border-radius: 8px;
}

.acic-ca-manager--studies .acic-ca-manager-row__detail > td,
.acic-ca-manager--studies .acic-ca-manager-row__edit > td {
    padding: 22px 24px;
    border-bottom: 1px solid #e4ebf2;
    background: #f8fbff;
}

.acic-ca-manager--studies .acic-ca-manager-pagination {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    min-height: 64px;
    gap: 18px;
    align-items: center;
    padding: 14px 0 0;
}

.acic-ca-manager--studies .acic-ca-manager-pagination__nav {
    grid-column: 2;
    justify-content: center;
}

.acic-ca-manager-pagination__meta {
    display: flex;
    gap: 18px;
    align-items: center;
}

.acic-ca-manager--studies .acic-ca-manager-pagination__meta {
    grid-column: 3;
    justify-content: flex-end;
}

.acic-ca-manager--studies .acic-ca-manager-pagination__info {
    color: #697b8e;
    font-size: 12.5px;
    white-space: nowrap;
}

.acic-ca-manager-pagination__size {
    min-height: 38px;
    padding: 7px 34px 7px 11px;
    border: 1px solid #d5e0eb;
    border-radius: 8px;
    background: #fff;
    color: #51677c;
    font: inherit;
    font-size: 12.5px;
}

.acic-ca-manager-page--arrow {
    font-size: 20px;
    line-height: 1;
}

.acic-ca-manager-page:disabled {
    cursor: default;
    opacity: .38;
}

@media (max-width: 1100px) {
    .acic-ca-manager--studies .acic-ca-manager-toolbar {
        grid-template-columns: minmax(220px, 1.5fr) repeat(2, minmax(140px, 1fr));
    }

    .acic-ca-manager--studies .acic-ca-manager-filter:nth-of-type(3),
    .acic-ca-manager--studies .acic-ca-manager-filter:nth-of-type(4) {
        grid-column: auto;
    }
}

@media (max-width: 900px) {
    .acic-ca-portal--studies {
        left: auto;
        width: 100%;
        max-width: 1240px;
        transform: none;
    }

    .acic-ca-manager--studies .acic-ca-manager-toolbar {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .acic-ca-manager--studies .acic-ca-manager-search {
        grid-column: 1 / -1;
    }

    .acic-ca-manager--studies .acic-ca-table-wrap {
        overflow-x: auto;
    }

    .acic-ca-manager--studies .acic-ca-manager-pagination {
        grid-template-columns: 1fr;
    }

    .acic-ca-manager--studies .acic-ca-manager-pagination__nav,
    .acic-ca-manager--studies .acic-ca-manager-pagination__meta {
        grid-column: 1;
        justify-content: center;
    }
}

@media (max-width: 620px) {
    .acic-ca-studies-heading {
        display: grid;
    }

    .acic-ca-studies-add {
        width: 100%;
        justify-content: center;
    }

    .acic-ca-manager--studies .acic-ca-manager-tabs {
        width: 100%;
    }

    .acic-ca-manager--studies .acic-ca-manager-tab {
        min-height: 58px;
        padding: 12px 10px 15px;
        font-size: 13px;
    }

    .acic-ca-manager--studies .acic-ca-manager-toolbar {
        grid-template-columns: 1fr;
    }

    .acic-ca-manager--studies .acic-ca-manager-search {
        grid-column: auto;
    }

    .acic-ca-manager--studies .acic-ca-manager-pagination__meta {
        flex-direction: column;
        gap: 8px;
    }
}

/* --------------------------------------------------------------------------
   UI preview v3 refinements
   - Keep the complete portal navigation visible without horizontal scrolling.
   - Remove the summary Patients column from ongoing studies; patient counts
     remain available inside the expandable detail panel.
   -------------------------------------------------------------------------- */
@media (max-width: 1180px) and (min-width: 721px) {
    .acic-ca-nav {
        display: grid;
        grid-template-columns: repeat(9, minmax(0, 1fr));
        gap: 0;
        overflow-x: visible;
        padding: 7px 8px 0;
    }

    .acic-ca-nav a,
    .acic-ca-nav__item {
        min-width: 0;
        min-height: 58px;
        gap: 3px;
        flex-direction: column;
        justify-content: center;
        padding: 6px 3px 10px;
        text-align: center;
        white-space: normal;
        font-size: 10.5px;
        line-height: 1.12;
    }

    .acic-ca-nav__icon {
        width: 20px;
        height: 20px;
    }

    .acic-ca-nav__icon svg {
        width: 16px;
        height: 16px;
    }

    .acic-ca-nav a::after {
        right: 7px;
        left: 7px;
    }
}

@media (max-width: 720px) {
    .acic-ca-nav {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 4px;
        overflow-x: visible;
        padding: 8px 10px 10px;
    }

    .acic-ca-nav a,
    .acic-ca-nav__item {
        min-width: 0;
        min-height: 48px;
        justify-content: center;
        padding: 7px 5px;
        text-align: center;
        white-space: normal;
        font-size: 11px;
    }
}

/* Ongoing studies: seven visible columns after removing Patients. */
.acic-ca-study-table--in-progress thead th:nth-child(1) { width: 24%; }
.acic-ca-study-table--in-progress thead th:nth-child(2) { width: 22%; }
.acic-ca-study-table--in-progress thead th:nth-child(3) { width: 12%; }
.acic-ca-study-table--in-progress thead th:nth-child(4) { width: 13%; }
.acic-ca-study-table--in-progress thead th:nth-child(5) { width: 9%; }
.acic-ca-study-table--in-progress thead th:nth-child(6) { width: 9%; }
.acic-ca-study-table--in-progress thead th:nth-child(7) { width: 11%; }

/* Previous studies also use seven visible columns. */
.acic-ca-study-table--previous thead th:nth-child(1) { width: 24%; }
.acic-ca-study-table--previous thead th:nth-child(2) { width: 21%; }
.acic-ca-study-table--previous thead th:nth-child(3) { width: 12%; }
.acic-ca-study-table--previous thead th:nth-child(4) { width: 13%; }
.acic-ca-study-table--previous thead th:nth-child(5) { width: 10%; }
.acic-ca-study-table--previous thead th:nth-child(6) { width: 10%; }
.acic-ca-study-table--previous thead th:nth-child(7) { width: 10%; }

/* ==========================================================================
   ACIC UI preview v4 — studies action column + readable detail panel
   ========================================================================== */

/* Give actions enough room to remain a single, calm horizontal control group. */
.acic-ca-study-table--in-progress thead th:nth-child(1) { width: 20%; }
.acic-ca-study-table--in-progress thead th:nth-child(2) { width: 20%; }
.acic-ca-study-table--in-progress thead th:nth-child(3) { width: 11%; }
.acic-ca-study-table--in-progress thead th:nth-child(4) { width: 12%; }
.acic-ca-study-table--in-progress thead th:nth-child(5) { width: 8%; }
.acic-ca-study-table--in-progress thead th:nth-child(6) { width: 10%; }
.acic-ca-study-table--in-progress thead th:nth-child(7) { width: 19%; }

.acic-ca-study-table--previous thead th:nth-child(1) { width: 20%; }
.acic-ca-study-table--previous thead th:nth-child(2) { width: 19%; }
.acic-ca-study-table--previous thead th:nth-child(3) { width: 11%; }
.acic-ca-study-table--previous thead th:nth-child(4) { width: 12%; }
.acic-ca-study-table--previous thead th:nth-child(5) { width: 10%; }
.acic-ca-study-table--previous thead th:nth-child(6) { width: 10%; }
.acic-ca-study-table--previous thead th:nth-child(7) { width: 18%; }

.acic-ca-study-table .acic-ca-manager-table__actions {
    display: grid;
    grid-template-columns: minmax(104px, 1fr) 38px 38px;
    gap: 7px;
    align-items: center;
    justify-content: stretch;
    min-width: 178px;
    padding-right: 14px;
    white-space: nowrap;
}

.acic-ca-study-table .acic-ca-action-button {
    width: 100%;
    min-width: 0;
    justify-content: center;
    gap: 6px;
    padding-inline: 10px;
    white-space: nowrap;
}

.acic-ca-study-table .acic-ca-icon-button,
.acic-ca-study-table .acic-ca-kebab,
.acic-ca-study-table .acic-ca-kebab__toggle {
    flex: 0 0 38px;
}

/* Study details are content cards, not label/value rows pushed to opposite edges. */
.acic-ca-manager--studies .acic-ca-manager-row__detail > td {
    padding: 20px 22px 24px;
    background: #f7faff;
}

.acic-ca-manager--studies .acic-ca-manager-row__detail .acic-ca-detail-list {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    margin: 0;
}

.acic-ca-manager--studies .acic-ca-manager-row__detail .acic-ca-detail-list > div {
    display: block;
    min-width: 0;
    padding: 14px 15px;
    border: 1px solid #e1eaf3;
    border-radius: 10px;
    background: #fff;
}

.acic-ca-manager--studies .acic-ca-manager-row__detail .acic-ca-detail-list > div:first-child {
    grid-column: 1 / -1;
    padding: 16px 18px;
}

.acic-ca-manager--studies .acic-ca-manager-row__detail .acic-ca-detail-list dt {
    margin: 0 0 6px;
    color: #63768a;
    font-size: 11px;
    font-weight: 750;
    letter-spacing: .02em;
    line-height: 1.25;
    text-transform: uppercase;
}

.acic-ca-manager--studies .acic-ca-manager-row__detail .acic-ca-detail-list dd {
    margin: 0;
    color: #17324b;
    font-size: 13.5px;
    font-weight: 650;
    line-height: 1.5;
    text-align: left;
    overflow-wrap: anywhere;
}

.acic-ca-manager--studies .acic-ca-manager-row__detail .acic-ca-detail-list > div:first-child dd {
    max-width: 1080px;
    font-size: 14px;
    font-weight: 600;
}

@media (max-width: 1050px) {
    .acic-ca-manager--studies .acic-ca-manager-row__detail .acic-ca-detail-list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 760px) {
    .acic-ca-manager--studies .acic-ca-manager-row__detail .acic-ca-detail-list {
        grid-template-columns: 1fr;
    }

    .acic-ca-manager--studies .acic-ca-manager-row__detail .acic-ca-detail-list > div:first-child {
        grid-column: auto;
    }
}

/* ==========================================================================
   ACIC UI preview v5 — study rows polish (protocol column + centered edit icon)
   ========================================================================== */

/* Let study rows breathe so wrapped text stays inside the row instead of spilling. */
.acic-ca-study-table tbody tr:first-child > td {
    height: auto;
    padding-top: 22px;
    padding-bottom: 22px;
    vertical-align: top;
}

/* Rebalance columns so the protocol text gets more room. */
.acic-ca-study-table--in-progress thead th:nth-child(1) { width: 18%; }
.acic-ca-study-table--in-progress thead th:nth-child(2) { width: 25%; }
.acic-ca-study-table--in-progress thead th:nth-child(3) { width: 11%; }
.acic-ca-study-table--in-progress thead th:nth-child(4) { width: 12%; }
.acic-ca-study-table--in-progress thead th:nth-child(5) { width: 8%; }
.acic-ca-study-table--in-progress thead th:nth-child(6) { width: 9%; }
.acic-ca-study-table--in-progress thead th:nth-child(7) { width: 17%; }

.acic-ca-study-table--previous thead th:nth-child(1) { width: 18%; }
.acic-ca-study-table--previous thead th:nth-child(2) { width: 24%; }
.acic-ca-study-table--previous thead th:nth-child(3) { width: 11%; }
.acic-ca-study-table--previous thead th:nth-child(4) { width: 12%; }
.acic-ca-study-table--previous thead th:nth-child(5) { width: 9%; }
.acic-ca-study-table--previous thead th:nth-child(6) { width: 9%; }
.acic-ca-study-table--previous thead th:nth-child(7) { width: 17%; }

/* Study name column should feel compact and stable. */
.acic-ca-study-table__study-inner {
    align-items: flex-start;
}

.acic-ca-study-table__identity {
    align-items: flex-start;
    align-content: flex-start;
}

/* Render protocol as a true clamped text block instead of clamping the table cell itself. */
.acic-ca-study-table__protocol {
    color: #5f7182;
}

.acic-ca-study-table__protocol-text {
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    color: #5f7182;
    line-height: 1.46;
    text-overflow: ellipsis;
}

/* Action controls: center the edit icon and kebab visually inside their buttons. */
.acic-ca-study-table .acic-ca-icon-button,
.acic-ca-study-table .acic-ca-kebab__toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.acic-ca-study-table .acic-ca-icon-button svg,
.acic-ca-study-table .acic-ca-kebab__toggle svg {
    display: block;
    margin: 0;
}

/* Small-screen fallback: allow the action group to wrap rather than crushing the protocol. */
@media (max-width: 1280px) {
    .acic-ca-study-table .acic-ca-manager-table__actions {
        grid-template-columns: minmax(96px, 1fr) 38px 38px;
        min-width: 168px;
    }
}

/* ==========================================================================
   ACIC UI preview v6 — stronger protocol column layout
   ========================================================================== */

/* Give protocol decisively more horizontal room and reduce row height again. */
.acic-ca-study-table {
    min-width: 1120px;
}

.acic-ca-study-table tbody tr:first-child > td {
    padding-top: 18px;
    padding-bottom: 18px;
}

/* In-progress studies: redistribute width in favor of Protocolo. */
.acic-ca-study-table--in-progress thead th:nth-child(1) { width: 18%; }
.acic-ca-study-table--in-progress thead th:nth-child(2) { width: 28%; }
.acic-ca-study-table--in-progress thead th:nth-child(3) { width: 10%; }
.acic-ca-study-table--in-progress thead th:nth-child(4) { width: 11%; }
.acic-ca-study-table--in-progress thead th:nth-child(5) { width: 8%; }
.acic-ca-study-table--in-progress thead th:nth-child(6) { width: 8%; }
.acic-ca-study-table--in-progress thead th:nth-child(7) { width: 17%; }

/* Previous studies: same idea, keeping Cierre available. */
.acic-ca-study-table--previous thead th:nth-child(1) { width: 18%; }
.acic-ca-study-table--previous thead th:nth-child(2) { width: 27%; }
.acic-ca-study-table--previous thead th:nth-child(3) { width: 10%; }
.acic-ca-study-table--previous thead th:nth-child(4) { width: 11%; }
.acic-ca-study-table--previous thead th:nth-child(5) { width: 8%; }
.acic-ca-study-table--previous thead th:nth-child(6) { width: 8%; }
.acic-ca-study-table--previous thead th:nth-child(7) { width: 18%; }

/* Keep protocol compact and visually stable. */
.acic-ca-study-table__protocol {
    padding-right: 18px;
}

.acic-ca-study-table__protocol-text {
    -webkit-line-clamp: 2;
    font-size: 13px;
    line-height: 1.42;
}

/* Slightly tighten action controls to free table space without crowding them. */
.acic-ca-study-table .acic-ca-manager-table__actions {
    grid-template-columns: minmax(102px, 1fr) 38px 38px;
    min-width: 170px;
}

.acic-ca-study-table .acic-ca-action-button {
    font-size: 11.5px;
    padding-inline: 9px;
}

/* ==========================================================================
   ACIC UI preview v7 — compact portal navigation + direct withdraw action
   ========================================================================== */

/* On desktop, distribute the full navigation across the available width.
   Items can shrink instead of forcing a horizontal scrollbar. */
@media (min-width: 1181px) {
    .acic-ca-nav {
        display: flex;
        gap: 0;
        justify-content: space-between;
        overflow-x: visible;
        padding: 8px 14px 0;
    }

    .acic-ca-nav a,
    .acic-ca-nav__item {
        flex: 1 1 auto;
        min-width: 0;
        min-height: 50px;
        gap: 5px;
        justify-content: center;
        padding: 8px 6px 12px;
        white-space: nowrap;
        font-size: 12px;
    }

    .acic-ca-nav__icon {
        width: 21px;
        height: 21px;
    }

    .acic-ca-nav__icon svg {
        width: 16px;
        height: 16px;
    }

    .acic-ca-nav a::after {
        right: 6px;
        left: 6px;
    }
}

/* Direct destructive study action: a clear red trash icon instead of ⋮. */
.acic-ca-study-table .acic-ca-row-danger-form {
    display: flex;
    width: 38px;
    height: 38px;
    margin: 0;
    align-items: stretch;
}

.acic-ca-study-table .acic-ca-icon-button--danger {
    display: inline-flex;
    width: 38px;
    height: 38px;
    min-height: 38px;
    padding: 0;
    align-items: center;
    justify-content: center;
    border-color: #f0c8cc;
    background: #fffafa;
    color: #d63b48;
}

.acic-ca-study-table .acic-ca-icon-button--danger:hover,
.acic-ca-study-table .acic-ca-icon-button--danger:focus {
    border-color: #e28d96;
    background: #fff0f1;
    color: #b92532;
}

.acic-ca-study-table .acic-ca-icon-button--danger svg {
    display: block;
    width: 17px;
    height: 17px;
    margin: 0;
}

/* ==========================================================================
   ACIC UI preview v8 — stable studies columns + scrollbar-free navigation
   ========================================================================== */

/* Navigation: never expose a horizontal scrollbar on the portal menu. */
.acic-ca-nav {
    display: flex !important;
    gap: 2px !important;
    justify-content: center !important;
    overflow: hidden !important;
    padding: 8px 10px 0 !important;
    scrollbar-width: none;
}

.acic-ca-nav::-webkit-scrollbar {
    display: none;
    width: 0;
    height: 0;
}

.acic-ca-nav a,
.acic-ca-nav__item {
    flex: 0 1 auto !important;
    min-width: 0 !important;
    min-height: 50px !important;
    gap: 4px !important;
    padding: 8px 7px 11px !important;
    white-space: nowrap !important;
    font-size: 11.5px !important;
}

.acic-ca-nav__icon {
    width: 19px !important;
    height: 19px !important;
}

.acic-ca-nav__icon svg {
    width: 15px !important;
    height: 15px !important;
}

@media (max-width: 1080px) and (min-width: 721px) {
    .acic-ca-nav {
        display: grid !important;
        grid-template-columns: repeat(9, minmax(0, 1fr));
        gap: 0 !important;
    }

    .acic-ca-nav a,
    .acic-ca-nav__item {
        flex-direction: column;
        justify-content: center;
        padding: 6px 2px 9px !important;
        white-space: normal !important;
        text-align: center;
        font-size: 10px !important;
        line-height: 1.08;
    }
}

@media (max-width: 720px) {
    .acic-ca-nav {
        display: grid !important;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 4px !important;
    }

    .acic-ca-nav a,
    .acic-ca-nav__item {
        justify-content: center;
        white-space: normal !important;
        text-align: center;
    }
}

/* Studies: use a real colgroup instead of stacked nth-child width overrides. */
.acic-ca-manager--studies .acic-ca-table-wrap {
    overflow: hidden;
}

.acic-ca-study-table {
    width: 100% !important;
    min-width: 0 !important;
    table-layout: fixed !important;
}

.acic-ca-study-table col.acic-ca-study-col--study { width: 18%; }
.acic-ca-study-table col.acic-ca-study-col--protocol { width: auto; }
.acic-ca-study-table col.acic-ca-study-col--specialty { width: 10.5%; }
.acic-ca-study-table col.acic-ca-study-col--sponsor { width: 11%; }
.acic-ca-study-table col.acic-ca-study-col--phase { width: 8%; }
.acic-ca-study-table col.acic-ca-study-col--start { width: 9%; }
.acic-ca-study-table col.acic-ca-study-col--end { width: 9%; }
.acic-ca-study-table col.acic-ca-study-col--actions { width: 205px; }

/* Width now comes from colgroup; neutralize all legacy nth-child declarations. */
.acic-ca-study-table thead th:nth-child(n) {
    width: auto !important;
}

.acic-ca-study-table tbody tr:first-child > td {
    height: auto;
    padding: 18px 12px;
    vertical-align: top;
}

.acic-ca-study-table__protocol {
    min-width: 0;
    padding-right: 18px !important;
}

.acic-ca-study-table__protocol-text {
    display: -webkit-box;
    max-width: 100%;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    font-size: 13px;
    line-height: 1.45;
    overflow-wrap: break-word;
}

/* Actions are contained entirely inside their fixed column. */
.acic-ca-study-table td.acic-ca-manager-table__actions {
    display: grid !important;
    grid-template-columns: minmax(96px, 1fr) 36px 36px !important;
    gap: 6px !important;
    min-width: 0 !important;
    padding-right: 10px !important;
    padding-left: 8px !important;
    align-items: start !important;
    white-space: nowrap;
}

.acic-ca-study-table .acic-ca-action-button {
    width: 100%;
    min-width: 0 !important;
    min-height: 36px;
    padding: 7px 8px !important;
    justify-content: center;
    font-size: 11.5px;
}

.acic-ca-study-table .acic-ca-icon-button,
.acic-ca-study-table .acic-ca-icon-button--danger,
.acic-ca-study-table .acic-ca-row-danger-form {
    width: 36px !important;
    min-width: 36px !important;
    max-width: 36px !important;
    height: 36px !important;
    min-height: 36px !important;
    margin: 0 !important;
}

.acic-ca-study-table .acic-ca-icon-button,
.acic-ca-study-table .acic-ca-icon-button--danger {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
}

.acic-ca-study-table .acic-ca-icon-button svg,
.acic-ca-study-table .acic-ca-icon-button--danger svg {
    display: block;
    margin: 0;
}

@media (max-width: 980px) {
    .acic-ca-manager--studies .acic-ca-table-wrap {
        overflow-x: auto;
    }

    .acic-ca-study-table {
        min-width: 980px !important;
    }
}

/* ==========================================================================
   ACIC UI preview v9 — authoritative study-cell layout + global delete action
   ========================================================================== */

/*
 * IMPORTANT: the protocol <td> must remain a real table-cell. Earlier previews
 * applied display:-webkit-box directly to the TD in order to clamp text. That
 * removes the cell from the browser's table formatting context and is what
 * caused the Protocolo column to drift out of alignment with the header and
 * neighbouring cells. Clamping belongs exclusively on the inner span.
 */
.acic-ca-study-table td.acic-ca-study-table__protocol {
    display: table-cell !important;
    overflow: visible !important;
    -webkit-box-orient: initial !important;
    -webkit-line-clamp: initial !important;
    min-width: 0 !important;
    padding-right: 18px !important;
    vertical-align: top !important;
}

.acic-ca-study-table__protocol-text {
    display: -webkit-box !important;
    width: 100%;
    max-width: 100%;
    overflow: hidden !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 2 !important;
    color: #5f7182;
    font-size: 13px;
    line-height: 1.45;
    overflow-wrap: anywhere;
    text-overflow: ellipsis;
}

/* Unified destructive action throughout the user-facing plugin. */
.acic-ca-row-danger-form {
    display: inline-flex;
    flex: 0 0 auto;
    width: 38px;
    height: 38px;
    margin: 0;
    padding: 0;
    align-items: center;
    justify-content: center;
    vertical-align: middle;
}

.acic-ca-icon-button--danger {
    display: inline-flex !important;
    width: 38px !important;
    min-width: 38px !important;
    max-width: 38px !important;
    height: 38px !important;
    min-height: 38px !important;
    padding: 0 !important;
    align-items: center !important;
    justify-content: center !important;
    border: 1px solid #f0c8cc !important;
    border-radius: 8px !important;
    background: #fffafa !important;
    color: #d63b48 !important;
    line-height: 1 !important;
}

.acic-ca-icon-button--danger:hover,
.acic-ca-icon-button--danger:focus {
    border-color: #e28d96 !important;
    background: #fff0f1 !important;
    color: #b92532 !important;
}

.acic-ca-icon-button--danger svg {
    display: block !important;
    width: 17px !important;
    height: 17px !important;
    margin: 0 !important;
}

/* Action rows in Services/Users/Documents should keep the icon inline. */
.acic-ca-user-actions,
.acic-ca-manager-table__actions {
    align-items: center;
}

.acic-ca-user-actions .acic-ca-row-danger-form,
.acic-ca-table td .acic-ca-row-danger-form {
    display: inline-flex;
}

/* ==========================================================================
   ACIC UI preview v10 — Servicios habilitados
   Stable service table using the same visual language as Estudios.
   ========================================================================== */

.acic-ca-service-table-wrap {
    overflow: hidden;
    border: 1px solid var(--acic-ui-line);
    border-radius: 13px;
    background: #fff;
    box-shadow: var(--acic-ui-shadow-sm);
}

.acic-ca-service-table {
    width: 100%;
    min-width: 980px;
    table-layout: fixed;
    margin: 0;
}

.acic-ca-service-table__col-service { width: 28%; }
.acic-ca-service-table__col-type { width: 17%; }
.acic-ca-service-table__col-phone { width: 14%; }
.acic-ca-service-table__col-contact { width: 23%; }
.acic-ca-service-table__col-actions { width: 18%; }

.acic-ca-service-table thead th {
    height: 58px;
    padding: 15px 16px;
    border-right: 0;
    border-bottom: 1px solid #e2e9f0;
    background: #f8fafc;
    color: #3d5268;
    font-size: 11.5px;
    font-weight: 780;
    text-transform: none;
}

.acic-ca-service-table tbody tr:first-child > td {
    padding: 18px 16px;
    border-right: 0 !important;
    border-bottom: 1px solid #e8eef3;
    background: #fff;
    color: #475c70;
    vertical-align: middle;
    font-size: 13px;
    line-height: 1.42;
}

.acic-ca-service-table tbody tr:first-child:hover > td {
    background: #fbfdff;
}

.acic-ca-service-table tbody tr:first-child td:first-child {
    box-shadow: none !important;
}

.acic-ca-service-table__service-inner {
    display: flex;
    gap: 14px;
    align-items: center;
    min-width: 0;
}

.acic-ca-service-icon {
    display: grid;
    flex: 0 0 48px;
    width: 48px;
    height: 48px;
    place-items: center;
    border-radius: 10px;
    background: #eaf2ff;
    color: #2c70e6;
}

.acic-ca-service-icon svg {
    width: 24px;
    height: 24px;
}

.acic-ca-service-table tbody:nth-of-type(6n + 2) .acic-ca-service-icon { background: #f3eafd; color: #8656d7; }
.acic-ca-service-table tbody:nth-of-type(6n + 3) .acic-ca-service-icon { background: #e7f8ef; color: #23a56d; }
.acic-ca-service-table tbody:nth-of-type(6n + 4) .acic-ca-service-icon { background: #fff4dc; color: #d89b15; }
.acic-ca-service-table tbody:nth-of-type(6n + 5) .acic-ca-service-icon { background: #fdeaf1; color: #d75d8c; }
.acic-ca-service-table tbody:nth-of-type(6n + 6) .acic-ca-service-icon { background: #e8f8f8; color: #169da5; }

.acic-ca-service-table__identity {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: 4px;
}

.acic-ca-service-table__identity strong {
    color: #0f5fb7 !important;
    font-size: 13.5px !important;
    font-weight: 750;
    line-height: 1.28;
}

.acic-ca-service-table__identity small {
    display: block !important;
    margin: 0 !important;
    color: #667b8e !important;
    font-size: 11.5px;
    line-height: 1.35;
}

.acic-ca-service-table__contact {
    overflow-wrap: anywhere;
}

.acic-ca-service-table__contact strong,
.acic-ca-service-table__contact small {
    display: block;
}

.acic-ca-service-table__contact strong {
    color: #314b62;
    font-weight: 650;
}

.acic-ca-service-table__contact small {
    margin-top: 4px;
    color: #6c7f90;
    font-size: 11.5px;
}

.acic-ca-service-table .acic-ca-manager-table__actions {
    display: grid;
    grid-template-columns: minmax(102px, 1fr) 38px 38px;
    gap: 7px;
    align-items: center;
    min-width: 0;
    padding-right: 14px;
    white-space: nowrap;
}

.acic-ca-service-table .acic-ca-action-button {
    width: 100%;
    min-width: 0;
    justify-content: center;
    gap: 6px;
    min-height: 38px;
    padding: 8px 9px;
    border: 1px solid #cfdbe7;
    border-radius: 8px;
    background: #fff;
    color: #176bd5;
    font-size: 11.5px;
    font-weight: 650;
    white-space: nowrap;
}

.acic-ca-service-table .acic-ca-icon-button {
    display: inline-flex;
    width: 38px;
    height: 38px;
    min-height: 38px;
    align-items: center;
    justify-content: center;
    padding: 0;
    border-radius: 8px;
}

.acic-ca-service-row__detail > td {
    padding: 20px 22px 24px !important;
    background: #f7faff !important;
}

.acic-ca-service-detail-list {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    margin: 0;
}

.acic-ca-service-detail-list > div {
    min-width: 0;
    padding: 14px 15px;
    border: 1px solid #e1eaf3;
    border-radius: 10px;
    background: #fff;
}

.acic-ca-service-detail-list dt {
    margin: 0 0 6px;
    color: #63768a;
    font-size: 11px;
    font-weight: 750;
    letter-spacing: .02em;
    line-height: 1.25;
    text-transform: uppercase;
}

.acic-ca-service-detail-list dd {
    margin: 0;
    color: #17324b;
    font-size: 13.5px;
    font-weight: 650;
    line-height: 1.45;
    text-align: left;
    overflow-wrap: anywhere;
}

@media (max-width: 1050px) {
    .acic-ca-service-detail-list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 760px) {
    .acic-ca-service-detail-list {
        grid-template-columns: 1fr;
    }
}

/* ==========================================================================
   ACIC UI preview v11 — authoritative expandable-row table geometry
   ========================================================================== */

/*
 * Expanded detail/edit rows now use exact colspans in PHP (7 for Estudios,
 * 5 for Servicios). Never use an oversized colspan such as 99: browsers may
 * create phantom table columns when the row becomes visible and collapse the
 * real header/data columns.
 */

/* Servicios: reserve the action controls as a fixed-size column, while the
 * service name takes the remaining flexible space. This prevents the red
 * destructive button from being clipped by the table wrapper. */
.acic-ca-service-table {
    width: 100% !important;
    min-width: 980px !important;
    table-layout: fixed !important;
}

.acic-ca-service-table col.acic-ca-service-table__col-service { width: auto !important; }
.acic-ca-service-table col.acic-ca-service-table__col-type { width: 150px !important; }
.acic-ca-service-table col.acic-ca-service-table__col-phone { width: 165px !important; }
.acic-ca-service-table col.acic-ca-service-table__col-contact { width: 250px !important; }
.acic-ca-service-table col.acic-ca-service-table__col-actions { width: 205px !important; }

.acic-ca-service-table td.acic-ca-manager-table__actions {
    display: grid !important;
    grid-template-columns: minmax(96px, 1fr) 36px 36px !important;
    gap: 6px !important;
    min-width: 0 !important;
    padding-left: 8px !important;
    padding-right: 10px !important;
    align-items: center !important;
    box-sizing: border-box;
    white-space: nowrap;
}

.acic-ca-service-table .acic-ca-action-button {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 36px !important;
    padding: 7px 8px !important;
    font-size: 11.5px !important;
    justify-content: center;
}

.acic-ca-service-table .acic-ca-icon-button,
.acic-ca-service-table .acic-ca-icon-button--danger,
.acic-ca-service-table .acic-ca-row-danger-form {
    width: 36px !important;
    min-width: 36px !important;
    max-width: 36px !important;
    height: 36px !important;
    min-height: 36px !important;
    margin: 0 !important;
}

.acic-ca-service-table .acic-ca-icon-button,
.acic-ca-service-table .acic-ca-icon-button--danger {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
}

.acic-ca-service-table .acic-ca-icon-button svg,
.acic-ca-service-table .acic-ca-icon-button--danger svg {
    display: block;
    margin: 0;
}

@media (max-width: 980px) {
    .acic-ca-service-table-wrap {
        overflow-x: auto;
    }
}

/* ==========================================================================
   ACIC UI preview v12 — Contactos master list
   ========================================================================== */

.acic-ca-manager--contacts .acic-ca-manager-toolbar {
    margin-bottom: 18px;
}

.acic-ca-contact-table-wrap {
    overflow: hidden;
    border: 1px solid #dbe5ee;
    border-radius: 13px;
    background: #fff;
    box-shadow: var(--acic-ui-shadow-sm);
}

.acic-ca-contact-table {
    width: 100%;
    min-width: 1060px;
    table-layout: fixed;
}

.acic-ca-contact-table col.acic-ca-contact-table__col-person { width: 220px; }
.acic-ca-contact-table col.acic-ca-contact-table__col-role { width: 150px; }
.acic-ca-contact-table col.acic-ca-contact-table__col-email { width: 230px; }
.acic-ca-contact-table col.acic-ca-contact-table__col-function { width: 175px; }
.acic-ca-contact-table col.acic-ca-contact-table__col-status { width: 120px; }
.acic-ca-contact-table col.acic-ca-contact-table__col-actions { width: 195px; }

.acic-ca-contact-table thead th {
    height: 58px;
    padding: 15px 14px;
    border-right: 0;
    border-bottom: 1px solid #e2e9f0;
    background: #f8fafc;
    color: #3d5268;
    font-size: 11.5px;
    font-weight: 780;
    text-transform: none;
}

.acic-ca-contact-table tbody tr:first-child > td {
    height: 88px;
    padding: 16px 14px;
    border-right: 0 !important;
    border-bottom: 1px solid #e8eef3;
    background: #fff;
    color: #475c70;
    vertical-align: middle;
    font-size: 12.5px;
    line-height: 1.42;
}

.acic-ca-contact-table tbody tr:first-child:hover > td {
    background: #fbfdff;
}

.acic-ca-contact-table tbody tr:first-child td:first-child {
    box-shadow: none !important;
}

.acic-ca-contact-table__person-inner {
    display: flex;
    min-width: 0;
    gap: 12px;
    align-items: center;
}

.acic-ca-contact-table__avatar {
    display: grid;
    flex: 0 0 44px;
    width: 44px;
    height: 44px;
    place-items: center;
    border-radius: 11px;
    background: #eaf2ff;
    color: #2c70e6;
}

.acic-ca-contact-table__avatar svg {
    width: 22px;
    height: 22px;
}

.acic-ca-contact-table tbody:nth-of-type(5n + 2) .acic-ca-contact-table__avatar { background: #f5eaff; color: #8952dd; }
.acic-ca-contact-table tbody:nth-of-type(5n + 3) .acic-ca-contact-table__avatar { background: #e7f8ef; color: #20a46c; }
.acic-ca-contact-table tbody:nth-of-type(5n + 4) .acic-ca-contact-table__avatar { background: #fff4df; color: #d99b16; }
.acic-ca-contact-table tbody:nth-of-type(5n + 5) .acic-ca-contact-table__avatar { background: #e8f8f8; color: #139ca4; }

.acic-ca-contact-table__identity {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: 6px;
    align-items: flex-start;
}

.acic-ca-contact-table__identity strong {
    display: block;
    max-width: 100%;
    overflow: hidden;
    color: #0f5fb7;
    font-size: 13px;
    font-weight: 760;
    line-height: 1.3;
    text-overflow: ellipsis;
}

.acic-ca-contact-table__identity .acic-ca-tag {
    margin: 0 !important;
    padding: 3px 7px;
    font-size: 9.5px;
}

.acic-ca-contact-table__email {
    overflow-wrap: anywhere;
    color: #38678d;
}

.acic-ca-contact-function-badge,
.acic-ca-contact-access {
    display: inline-flex;
    max-width: 100%;
    align-items: center;
    padding: 5px 9px;
    border-radius: 999px;
    background: #f4efff;
    color: #7750bd;
    font-size: 10.5px;
    font-weight: 720;
    line-height: 1.25;
    white-space: normal;
}

.acic-ca-contact-access {
    background: #f2f5f8;
    color: #5f7182;
}

.acic-ca-contact-access--portal {
    background: #e7f8ef;
    color: #148360;
}

.acic-ca-manager--contacts .acic-ca-manager-table__actions {
    display: grid;
    grid-template-columns: minmax(104px, 1fr) 38px 38px;
    gap: 7px;
    align-items: center;
    min-width: 0;
    padding-right: 10px;
    white-space: nowrap;
}

.acic-ca-manager--contacts .acic-ca-action-button {
    width: 100%;
    min-width: 0;
    justify-content: center;
    gap: 6px;
    padding-inline: 9px;
    font-size: 11.5px;
}

.acic-ca-manager--contacts .acic-ca-icon-button,
.acic-ca-manager--contacts .acic-ca-row-danger-form,
.acic-ca-manager--contacts .acic-ca-row-danger-form .acic-ca-icon-button {
    width: 38px;
    min-width: 38px;
    height: 38px;
    min-height: 38px;
}

.acic-ca-manager--contacts .acic-ca-icon-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.acic-ca-manager--contacts .acic-ca-manager-row__detail > td,
.acic-ca-manager--contacts .acic-ca-manager-row__edit > td {
    padding: 20px 22px;
    border-bottom: 1px solid #e4ebf2;
    background: #f7faff;
}

.acic-ca-contact-detail-list {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    margin: 0;
}

.acic-ca-contact-detail-list > div {
    display: block;
    min-width: 0;
    padding: 14px 15px;
    border: 1px solid #e1eaf3;
    border-radius: 10px;
    background: #fff;
}

.acic-ca-contact-detail-list dt {
    margin: 0 0 5px;
    color: #687b8e;
    font-size: 10.5px;
    font-weight: 760;
    letter-spacing: .02em;
    text-transform: uppercase;
}

.acic-ca-contact-detail-list dd {
    margin: 0;
    color: #17324b;
    font-size: 13px;
    font-weight: 620;
    line-height: 1.45;
    text-align: left;
    overflow-wrap: anywhere;
}

.acic-ca-contact-add-panel {
    margin-top: 18px;
}

.acic-ca-contact-add-panel__heading {
    display: flex;
    gap: 12px;
    align-items: center;
    margin-bottom: 18px;
}

.acic-ca-contact-add-panel__heading h3,
.acic-ca-contact-add-panel__heading p {
    margin: 0;
}

.acic-ca-contact-add-panel__heading p {
    margin-top: 3px;
    color: var(--acic-ui-muted);
    font-size: 12px;
}

.acic-ca-contact-add-panel__icon {
    display: grid;
    width: 40px;
    height: 40px;
    place-items: center;
    border-radius: 10px;
    background: var(--acic-ui-blue-soft);
    color: var(--acic-ui-blue);
}

.acic-ca-contact-add-panel__icon svg {
    width: 20px;
    height: 20px;
}

@media (max-width: 900px) {
    .acic-ca-contact-table-wrap {
        overflow-x: auto;
    }

    .acic-ca-contact-detail-list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 620px) {
    .acic-ca-contact-detail-list {
        grid-template-columns: 1fr;
    }
}

/* ==========================================================================
   ACIC UI preview v13 — Contactos: five-column layout, stable actions
   ========================================================================== */

/* The contact type remains available as a filter and inside Ver detalles,
   but it is intentionally removed from the master table to reduce density. */
.acic-ca-contact-table {
    width: 100%;
    min-width: 900px;
    table-layout: fixed;
}

.acic-ca-contact-table col.acic-ca-contact-table__col-person { width: 22%; }
.acic-ca-contact-table col.acic-ca-contact-table__col-role { width: 16%; }
.acic-ca-contact-table col.acic-ca-contact-table__col-email { width: 27%; }
.acic-ca-contact-table col.acic-ca-contact-table__col-status { width: 13%; }
.acic-ca-contact-table col.acic-ca-contact-table__col-actions { width: 22%; }

/* Reserve enough real width for the three action controls. */
.acic-ca-manager--contacts .acic-ca-manager-table__actions {
    display: grid;
    grid-template-columns: minmax(104px, 1fr) 38px 38px;
    gap: 7px;
    align-items: center;
    min-width: 0;
    padding-right: 14px;
    white-space: nowrap;
    overflow: visible;
}

.acic-ca-manager--contacts .acic-ca-row-danger-form {
    display: block;
    width: 38px;
    min-width: 38px;
    margin: 0;
}

.acic-ca-manager--contacts .acic-ca-row-danger-form .acic-ca-icon-button {
    display: inline-flex;
    width: 38px;
    min-width: 38px;
    height: 38px;
    min-height: 38px;
    align-items: center;
    justify-content: center;
    margin: 0;
}

/* Keep table within its card; only genuinely narrow screens may scroll. */
.acic-ca-contact-table-wrap {
    overflow: hidden;
}

@media (max-width: 980px) {
    .acic-ca-contact-table-wrap {
        overflow-x: auto;
        overflow-y: hidden;
    }
}

/* ==========================================================================
   ACIC UI preview v14 — authoritative action-button interaction states
   ========================================================================== */

/*
 * The public WordPress theme applies generic button:hover/focus/active styles
 * (white text + dark background) after the plugin CSS. These controls belong
 * to the ACIC UI and must keep their own visual state consistently in Estudios,
 * Servicios and Contactos. Use scoped, explicit states so theme rules cannot
 * flash through while clicking or focusing a control.
 */
.acic-ca-portal button.acic-ca-action-button,
.acic-ca-portal button.acic-ca-icon-button:not(.acic-ca-icon-button--danger) {
    border-color: #cfdbe7 !important;
    background: #ffffff !important;
    color: #176bd5 !important;
    box-shadow: none !important;
    text-shadow: none !important;
    -webkit-appearance: none;
    appearance: none;
}

.acic-ca-portal button.acic-ca-action-button:hover,
.acic-ca-portal button.acic-ca-action-button:focus,
.acic-ca-portal button.acic-ca-action-button:active,
.acic-ca-portal button.acic-ca-action-button:focus-visible,
.acic-ca-portal button.acic-ca-icon-button:not(.acic-ca-icon-button--danger):hover,
.acic-ca-portal button.acic-ca-icon-button:not(.acic-ca-icon-button--danger):focus,
.acic-ca-portal button.acic-ca-icon-button:not(.acic-ca-icon-button--danger):active,
.acic-ca-portal button.acic-ca-icon-button:not(.acic-ca-icon-button--danger):focus-visible {
    border-color: #8db9e7 !important;
    background: #f3f8ff !important;
    color: #0d63c7 !important;
    box-shadow: none !important;
    text-shadow: none !important;
}

.acic-ca-portal button.acic-ca-action-button:focus-visible,
.acic-ca-portal button.acic-ca-icon-button:not(.acic-ca-icon-button--danger):focus-visible {
    outline: 2px solid #8db9e7 !important;
    outline-offset: 2px !important;
}

/* Keep SVG icons tied to currentColor even when the host theme styles buttons. */
.acic-ca-portal button.acic-ca-action-button svg,
.acic-ca-portal button.acic-ca-icon-button:not(.acic-ca-icon-button--danger) svg {
    color: inherit !important;
    stroke: currentColor !important;
}

/* Destructive actions stay red in every interaction state. */
.acic-ca-portal button.acic-ca-icon-button--danger,
.acic-ca-portal button.acic-ca-icon-button--danger:hover,
.acic-ca-portal button.acic-ca-icon-button--danger:focus,
.acic-ca-portal button.acic-ca-icon-button--danger:active,
.acic-ca-portal button.acic-ca-icon-button--danger:focus-visible {
    border-color: #f0c8cc !important;
    background: #fffafa !important;
    color: #d63b48 !important;
    box-shadow: none !important;
    text-shadow: none !important;
}

.acic-ca-portal button.acic-ca-icon-button--danger:hover,
.acic-ca-portal button.acic-ca-icon-button--danger:focus,
.acic-ca-portal button.acic-ca-icon-button--danger:active,
.acic-ca-portal button.acic-ca-icon-button--danger:focus-visible {
    border-color: #e28d96 !important;
    background: #fff0f1 !important;
    color: #b92532 !important;
}

.acic-ca-portal button.acic-ca-icon-button--danger:focus-visible {
    outline: 2px solid #efb0b6 !important;
    outline-offset: 2px !important;
}

/* ==========================================================================
   ACIC UI preview v15 — Usuarios
   ========================================================================== */

.acic-ca-user-access-card {
    overflow: hidden;
}

.acic-ca-user-table-wrap {
    overflow: hidden;
    border: 1px solid var(--acic-ui-line);
    border-radius: 13px;
    background: #fff;
    box-shadow: var(--acic-ui-shadow-sm);
}

.acic-ca-user-table {
    width: 100%;
    min-width: 920px;
    table-layout: fixed;
}

.acic-ca-user-table col.acic-ca-user-table__col-user { width: 20%; }
.acic-ca-user-table col.acic-ca-user-table__col-email { width: 28%; }
.acic-ca-user-table col.acic-ca-user-table__col-role { width: 18%; }
.acic-ca-user-table col.acic-ca-user-table__col-status { width: 10%; }
.acic-ca-user-table col.acic-ca-user-table__col-actions { width: 14%; }

.acic-ca-user-table thead th {
    padding: 15px 16px;
    border-bottom: 1px solid #e2e9f0;
    background: #f8fafc;
    color: #3d5268;
    font-size: 11.5px;
    font-weight: 780;
    text-transform: none;
}

.acic-ca-user-table tbody td {
    padding: 18px 16px;
    border-bottom: 1px solid #e8eef3;
    vertical-align: middle;
    color: #475c70;
    font-size: 13px;
    line-height: 1.42;
}

.acic-ca-user-table tbody tr:last-child td {
    border-bottom: 0;
}

.acic-ca-user-table__identity {
    display: flex;
    min-width: 0;
    gap: 12px;
    align-items: center;
}

.acic-ca-user-avatar {
    display: grid;
    flex: 0 0 44px;
    width: 44px;
    height: 44px;
    place-items: center;
    border-radius: 10px;
    background: #eaf2ff;
    color: #2c70e6;
}

.acic-ca-user-table tbody tr:nth-child(2n) .acic-ca-user-avatar {
    background: #f3eaff;
    color: #8354d6;
}

.acic-ca-user-avatar svg {
    width: 22px;
    height: 22px;
}

.acic-ca-user-table__name {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: 5px;
}

.acic-ca-user-table__name strong {
    color: #0f5fb7;
    font-size: 13.5px;
    font-weight: 750;
    line-height: 1.25;
}

.acic-ca-user-primary-tag {
    width: fit-content;
    margin: 0 !important;
    padding: 3px 8px !important;
    border-radius: 999px !important;
    background: #e8f8f0 !important;
    color: #138361 !important;
    font-size: 10.5px !important;
    font-weight: 700 !important;
}

.acic-ca-user-table__email {
    display: inline-block;
    max-width: 100%;
    overflow: hidden;
    color: #176bd5;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.acic-ca-user-role-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    max-width: 100%;
    min-height: 26px;
    padding: 5px 9px;
    border-radius: 999px;
    background: #f0ebff;
    color: #7043c6;
    font-size: 10.5px;
    font-weight: 800;
    line-height: 1.2;
    text-align: center;
    white-space: normal;
}

.acic-ca-user-role-badge--viewer {
    background: #eaf4ff;
    color: #176bc4;
}

.acic-ca-user-table__actions {
    padding-right: 16px !important;
}

.acic-ca-user-table__actions .acic-ca-user-actions {
    display: grid;
    grid-template-columns: minmax(118px, 1fr) 38px;
    gap: 8px;
    align-items: center;
    min-width: 0;
}

.acic-ca-user-table__actions .acic-ca-user-actions form {
    min-width: 0;
    margin: 0;
}

.acic-ca-user-role-action {
    width: 100%;
    min-width: 0;
    min-height: 38px;
    justify-content: center;
    padding-inline: 10px !important;
    white-space: nowrap;
    font-size: 11.5px !important;
}

.acic-ca-user-table__actions .acic-ca-row-danger-form {
    width: 38px;
    min-width: 38px;
}

.acic-ca-user-table__actions .acic-ca-row-danger-form .acic-ca-icon-button {
    display: inline-flex;
    width: 38px;
    min-width: 38px;
    height: 38px;
    min-height: 38px;
    align-items: center;
    justify-content: center;
}

.acic-ca-user-table__no-action {
    color: #9aa8b5;
}

@media (max-width: 980px) {
    .acic-ca-user-table-wrap {
        overflow-x: auto;
        overflow-y: hidden;
    }
}

/* ==========================================================================
   ACIC UI preview v17 — Documentos
   ========================================================================== */

.acic-ca-documents-card__heading {
    margin-bottom: 16px;
}

.acic-ca-documents-card__heading p {
    margin: 4px 0 0;
    color: #687b8d;
    font-size: 13px;
}

.acic-ca-document-table-wrap {
    overflow-x: auto;
    border: 1px solid #dce6ef;
    border-radius: 12px;
    background: #fff;
}

.acic-ca-document-table {
    width: 100%;
    min-width: 1040px;
    table-layout: fixed;
}

.acic-ca-document-table col.acic-ca-document-table__col-type { width: 21%; }
.acic-ca-document-table col.acic-ca-document-table__col-file { width: 24%; }
.acic-ca-document-table col.acic-ca-document-table__col-version { width: 8%; }
.acic-ca-document-table col.acic-ca-document-table__col-status { width: 11%; }
.acic-ca-document-table col.acic-ca-document-table__col-uploader { width: 15%; }
.acic-ca-document-table col.acic-ca-document-table__col-date { width: 11%; }
.acic-ca-document-table col.acic-ca-document-table__col-actions { width: 10%; }

.acic-ca-document-table thead th {
    padding: 15px 14px;
    border-bottom: 1px solid #e2e9f0;
    background: #f8fafc;
    color: #3d5268;
    font-size: 11.5px;
    font-weight: 780;
    text-transform: none;
}

.acic-ca-document-table tbody td {
    padding: 16px 14px;
    border-bottom: 1px solid #e8eef3;
    vertical-align: middle;
    color: #475c70;
    font-size: 13px;
    line-height: 1.42;
}

.acic-ca-document-table tbody tr:last-child td {
    border-bottom: 0;
}

.acic-ca-document-table tbody tr:hover td {
    background: #fbfdff;
}

.acic-ca-document-type {
    display: flex;
    min-width: 0;
    gap: 11px;
    align-items: center;
}

.acic-ca-document-type strong {
    min-width: 0;
    color: #0f5fb7;
    font-size: 13px;
    font-weight: 750;
    line-height: 1.3;
}

.acic-ca-document-icon {
    display: grid;
    flex: 0 0 42px;
    width: 42px;
    height: 42px;
    place-items: center;
    border-radius: 10px;
    background: #eaf2ff;
    color: #2c70e6;
}

.acic-ca-document-table tbody tr:nth-child(2n) .acic-ca-document-icon {
    background: #f3eaff;
    color: #8354d6;
}

.acic-ca-document-table tbody tr:nth-child(3n) .acic-ca-document-icon {
    background: #e8f8f0;
    color: #1d9b6d;
}

.acic-ca-document-icon svg {
    width: 21px;
    height: 21px;
}

.acic-ca-document-file {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: 4px;
}

.acic-ca-document-file strong {
    display: block;
    overflow: hidden;
    color: #17324b;
    font-weight: 650;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.acic-ca-document-file small {
    color: #7b8b9a;
    font-size: 11px;
}

.acic-ca-document-version {
    display: inline-flex;
    min-width: 34px;
    min-height: 25px;
    align-items: center;
    justify-content: center;
    padding: 4px 8px;
    border-radius: 999px;
    background: #eef5ff;
    color: #176bc4;
    font-size: 10.5px;
    font-weight: 800;
}

.acic-ca-document-table__actions {
    padding-right: 14px !important;
}

.acic-ca-document-actions {
    display: flex;
    gap: 8px;
    align-items: center;
    justify-content: flex-start;
}

.acic-ca-document-actions .acic-ca-row-danger-form {
    margin: 0;
}

.acic-ca-document-download,
.acic-ca-document-actions .acic-ca-row-danger-form .acic-ca-icon-button {
    display: inline-flex !important;
    width: 38px !important;
    min-width: 38px !important;
    height: 38px !important;
    min-height: 38px !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
}

.acic-ca-document-download,
.acic-ca-document-download:visited,
.acic-ca-document-download:hover,
.acic-ca-document-download:focus,
.acic-ca-document-download:active {
    border-color: #cddbea !important;
    background: #fff !important;
    color: #176bd5 !important;
    text-decoration: none !important;
}

.acic-ca-document-download:hover,
.acic-ca-document-download:focus-visible {
    border-color: #91bce8 !important;
    background: #f6fbff !important;
}

.acic-ca-document-action-placeholder {
    display: inline-flex;
    width: 38px;
    height: 38px;
    align-items: center;
    justify-content: center;
    color: #a5b2bf;
}

@media (max-width: 900px) {
    .acic-ca-document-table {
        min-width: 940px;
    }
}

/* ==========================================================================
   ACIC UI preview v18 — Validation dashboard polish
   ========================================================================== */

.acic-ca-portal__content--validacion .acic-ca-information__intro {
    align-items: center;
    margin-bottom: 20px;
}

.acic-ca-portal__content--validacion .acic-ca-information__intro .acic-ca-status {
    flex: 0 0 auto;
    padding: 7px 12px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 800;
}

.acic-ca-portal__content--validacion > .acic-ca-grid--metrics {
    gap: 14px;
}

.acic-ca-portal__content--validacion > .acic-ca-grid--metrics .acic-ca-metric {
    position: relative;
    min-height: 112px;
    padding: 20px 16px 18px 68px;
    overflow: hidden;
    border-top: 0;
}

.acic-ca-portal__content--validacion > .acic-ca-grid--metrics .acic-ca-metric::before {
    position: absolute;
    top: 20px;
    left: 16px;
    display: grid;
    width: 38px;
    height: 38px;
    place-items: center;
    border-radius: 12px;
    font-size: 17px;
    font-weight: 850;
    content: "";
}

.acic-ca-portal__content--validacion > .acic-ca-grid--metrics .acic-ca-metric:nth-child(1)::before {
    content: "✓";
    background: var(--acic-ui-blue-soft);
    color: var(--acic-ui-blue);
}

.acic-ca-portal__content--validacion > .acic-ca-grid--metrics .acic-ca-metric:nth-child(2)::before {
    content: "◷";
    background: var(--acic-ui-amber-soft);
    color: var(--acic-ui-amber);
}

.acic-ca-portal__content--validacion > .acic-ca-grid--metrics .acic-ca-metric:nth-child(3)::before {
    content: "%";
    background: var(--acic-ui-green-soft);
    color: var(--acic-ui-green);
}

.acic-ca-portal__content--validacion > .acic-ca-grid--metrics .acic-ca-metric:nth-child(4)::before {
    content: "↻";
    background: var(--acic-ui-purple-soft);
    color: var(--acic-ui-purple);
}

.acic-ca-portal__content--validacion > .acic-ca-grid--metrics .acic-ca-metric strong {
    margin-bottom: 7px;
    color: var(--acic-ui-navy-2);
    font-size: clamp(20px, 1.7vw, 26px);
}

.acic-ca-portal__content--validacion > .acic-ca-grid--metrics .acic-ca-metric:nth-child(1) strong { color: var(--acic-ui-blue); }
.acic-ca-portal__content--validacion > .acic-ca-grid--metrics .acic-ca-metric:nth-child(2) strong { color: #b97806; }
.acic-ca-portal__content--validacion > .acic-ca-grid--metrics .acic-ca-metric:nth-child(3) strong { color: #0e936b; }
.acic-ca-portal__content--validacion > .acic-ca-grid--metrics .acic-ca-metric:nth-child(4) strong { color: #6d4bd0; }

.acic-ca-validation-review,
.acic-ca-validation-confirmation {
    position: relative;
    overflow: hidden;
    padding: 24px;
}

.acic-ca-validation-review::before,
.acic-ca-validation-confirmation::before {
    position: absolute;
    top: 0;
    left: 0;
    width: 4px;
    height: 100%;
    content: "";
}

.acic-ca-validation-review::before { background: var(--acic-ui-green); }
.acic-ca-validation-confirmation::before { background: var(--acic-ui-blue); }

.acic-ca-validation-review h3,
.acic-ca-validation-confirmation h3,
.acic-ca-validation-history h3 {
    margin-bottom: 14px;
    font-size: 20px;
}

.acic-ca-validation-review .acic-ca-progress {
    height: 10px;
    margin: 14px 0 12px;
    overflow: hidden;
    border-radius: 999px;
    background: #e8eef4;
}

.acic-ca-validation-review .acic-ca-progress span {
    border-radius: inherit;
    background: linear-gradient(90deg, #12a777, #28b98e);
}

.acic-ca-validation-review .acic-ca-positive {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 8px 11px;
    border-radius: 9px;
    background: var(--acic-ui-green-soft);
    color: #087b5a;
    font-weight: 750;
}

.acic-ca-validation-review .acic-ca-positive::before {
    content: "✓";
    font-weight: 900;
}

.acic-ca-validation-confirmation .acic-ca-checkbox {
    padding: 13px 14px;
    border: 1px solid #d8e4ef;
    border-radius: 10px;
    background: #f8fbff;
}

.acic-ca-validation-confirmation .acic-ca-button {
    margin-top: 4px;
}

.acic-ca-validation-history {
    padding: 24px;
}

.acic-ca-validation-history__table-wrap {
    border: 1px solid var(--acic-ui-line);
    border-radius: 12px;
    overflow-x: auto;
    background: #fff;
}

.acic-ca-validation-history__table {
    width: 100%;
    min-width: 820px;
    table-layout: fixed;
}

.acic-ca-validation-history__table col.acic-ca-validation-history__col-status { width: 14%; }
.acic-ca-validation-history__table col.acic-ca-validation-history__col-due { width: 18%; }
.acic-ca-validation-history__table col.acic-ca-validation-history__col-confirmed { width: 18%; }
.acic-ca-validation-history__table col.acic-ca-validation-history__col-reminders { width: 14%; }
.acic-ca-validation-history__table col.acic-ca-validation-history__col-missing { width: 36%; }

.acic-ca-validation-history__table th {
    padding: 14px 15px;
    background: #f8fafc;
    color: #3d5268;
    font-size: 11.5px;
    font-weight: 780;
    text-transform: none;
}

.acic-ca-validation-history__table td {
    padding: 15px;
    vertical-align: middle;
    color: #475c70;
    font-size: 12.5px;
    line-height: 1.45;
}

@media (max-width: 980px) {
    .acic-ca-portal__content--validacion > .acic-ca-grid--metrics {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 620px) {
    .acic-ca-portal__content--validacion > .acic-ca-grid--metrics {
        grid-template-columns: 1fr;
    }
}

/* ==========================================================================
   ACIC UI preview v19 — Historial
   ========================================================================== */

.acic-ca-portal__content--historial .acic-ca-information__intro {
    margin-bottom: 18px;
}

.acic-ca-portal__content--historial .acic-ca-history-filter {
    margin-bottom: 18px;
    padding: 18px 20px;
    border: 1px solid var(--acic-ui-line);
    border-radius: 14px;
    background: #fff;
    box-shadow: var(--acic-ui-shadow-sm);
}

.acic-ca-portal__content--historial .acic-ca-history-filter form {
    display: grid;
    grid-template-columns: minmax(240px, 1fr) auto;
    gap: 12px;
    align-items: end;
}

.acic-ca-portal__content--historial .acic-ca-history-filter label {
    margin: 0;
}

.acic-ca-portal__content--historial .acic-ca-history-filter select {
    min-height: 44px;
    border-color: #cedce8;
    border-radius: 9px;
}

.acic-ca-portal__content--historial .acic-ca-history-filter .acic-ca-button {
    min-height: 44px;
    padding-inline: 18px;
}

.acic-ca-history-card {
    padding: 20px 22px 22px !important;
    border-radius: 14px !important;
}

.acic-ca-portal__content--historial .acic-ca-timeline {
    display: grid;
    gap: 0;
    margin: 0;
}

.acic-ca-portal__content--historial .acic-ca-timeline__item {
    position: relative;
    display: grid;
    grid-template-columns: 54px minmax(0, 1fr);
    gap: 14px;
    padding: 0 0 16px;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.acic-ca-portal__content--historial .acic-ca-timeline__item:last-child {
    padding-bottom: 0;
}

.acic-ca-portal__content--historial .acic-ca-timeline__item:not(:last-child)::before {
    position: absolute;
    top: 46px;
    bottom: -2px;
    left: 26px;
    width: 2px;
    border-radius: 999px;
    background: #dfe8f0;
    content: "";
}

.acic-ca-timeline__rail {
    position: relative;
    z-index: 1;
    display: flex;
    justify-content: center;
}

.acic-ca-timeline__icon {
    display: grid;
    width: 46px;
    height: 46px;
    place-items: center;
    border-radius: 12px;
    background: #eaf2ff;
    color: #2b72df;
    box-shadow: 0 0 0 5px #fff;
}

.acic-ca-timeline__icon svg {
    width: 21px;
    height: 21px;
}

.acic-ca-timeline__icon--information { background: #eaf2ff; color: #2b72df; }
.acic-ca-timeline__icon--contacts { background: #e8f8f1; color: #15936c; }
.acic-ca-timeline__icon--users { background: #f2eaff; color: #7a4bd1; }
.acic-ca-timeline__icon--validation { background: #fff5dd; color: #d6940d; }
.acic-ca-timeline__icon--documents { background: #eaf7f8; color: #159aa2; }
.acic-ca-timeline__icon--reports { background: #eef3ff; color: #5a67d8; }
.acic-ca-timeline__icon--applications { background: #fff0f5; color: #cf5f87; }
.acic-ca-timeline__icon--system { background: #eef1f4; color: #667788; }

.acic-ca-portal__content--historial .acic-ca-timeline__body {
    min-width: 0;
    padding: 16px 18px 15px;
    border: 1px solid #dfe8f0;
    border-radius: 12px;
    background: #fff;
    box-shadow: var(--acic-ui-shadow-sm);
}

.acic-ca-portal__content--historial .acic-ca-timeline__meta {
    display: flex;
    gap: 10px 16px;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 8px;
}

.acic-ca-portal__content--historial .acic-ca-timeline__meta time {
    flex: 0 0 auto;
    color: #7a8c9d;
    font-size: 11.5px;
    font-weight: 650;
}

.acic-ca-portal__content--historial .acic-ca-timeline__body h4 {
    margin: 0;
    color: #123b5d;
    font-size: 15.5px;
    font-weight: 780;
    line-height: 1.3;
}

.acic-ca-portal__content--historial .acic-ca-timeline__body p {
    margin: 6px 0 0;
    color: #536b7e;
    font-size: 13px;
    line-height: 1.5;
}

.acic-ca-timeline__actor {
    display: inline-flex;
    gap: 6px;
    align-items: center;
    margin-top: 10px;
    color: #718397;
}

.acic-ca-timeline__actor > span {
    display: inline-grid;
    width: 18px;
    height: 18px;
    place-items: center;
}

.acic-ca-timeline__actor svg {
    width: 14px;
    height: 14px;
}

.acic-ca-timeline__actor small {
    color: inherit;
    font-size: 11.5px;
    font-weight: 600;
}

.acic-ca-portal__content--historial .acic-ca-history-category {
    padding: 4px 9px;
    border: 0;
    font-size: 10.5px;
    line-height: 1.2;
}

.acic-ca-history-category--applications { background: #fff0f5; color: #b94e77; }
.acic-ca-history-category--information { background: #eaf2ff; color: #1f68c6; }
.acic-ca-history-category--contacts { background: #e8f8f1; color: #137b5d; }
.acic-ca-history-category--users { background: #f2eaff; color: #6741b4; }
.acic-ca-history-category--validation { background: #fff4d8; color: #996600; }
.acic-ca-history-category--documents { background: #e8f7f8; color: #147a80; }
.acic-ca-history-category--reports { background: #eef2ff; color: #4d56b8; }
.acic-ca-history-category--system { background: #eef1f4; color: #566879; }

.acic-ca-portal__content--historial .acic-ca-pagination {
    margin-top: 20px;
    padding-top: 18px;
    border-top: 1px solid #e6edf3;
}

.acic-ca-portal__content--historial .acic-ca-pagination a,
.acic-ca-portal__content--historial .acic-ca-pagination span {
    min-height: 36px;
    padding: 8px 12px;
    border: 1px solid #d4e0ea;
    border-radius: 8px;
    background: #fff;
}

.acic-ca-portal__content--historial .acic-ca-pagination a {
    color: var(--acic-ui-blue);
    font-weight: 700;
}

.acic-ca-history-empty {
    display: flex;
    gap: 14px;
    align-items: center;
    padding: 22px;
    border: 1px dashed #cedbe6;
    border-radius: 12px;
    background: #f9fbfd;
}

.acic-ca-history-empty__icon {
    display: grid;
    flex: 0 0 44px;
    width: 44px;
    height: 44px;
    place-items: center;
    border-radius: 11px;
    background: #eaf2ff;
    color: #2b72df;
}

.acic-ca-history-empty__icon svg {
    width: 21px;
    height: 21px;
}

.acic-ca-history-empty strong {
    color: #153d5d;
    font-size: 14px;
}

.acic-ca-history-empty p {
    margin: 4px 0 0;
    color: #687c8e;
}

@media (max-width: 760px) {
    .acic-ca-portal__content--historial .acic-ca-history-filter form {
        grid-template-columns: 1fr;
    }

    .acic-ca-portal__content--historial .acic-ca-history-filter .acic-ca-button {
        width: 100%;
    }

    .acic-ca-portal__content--historial .acic-ca-timeline__item {
        grid-template-columns: 42px minmax(0, 1fr);
        gap: 10px;
    }

    .acic-ca-portal__content--historial .acic-ca-timeline__item:not(:last-child)::before {
        left: 20px;
        top: 40px;
    }

    .acic-ca-timeline__icon {
        width: 38px;
        height: 38px;
        border-radius: 10px;
    }

    .acic-ca-timeline__icon svg {
        width: 18px;
        height: 18px;
    }

    .acic-ca-portal__content--historial .acic-ca-timeline__meta {
        align-items: flex-start;
        flex-direction: column;
    }
}

/* ==========================================================================
   ACIC UI preview v20 — Historial compact pagination
   ========================================================================== */

.acic-ca-portal__content--historial .acic-ca-timeline__item {
    grid-template-columns: 48px minmax(0, 1fr);
    gap: 12px;
    padding-bottom: 12px;
}

.acic-ca-portal__content--historial .acic-ca-timeline__item:not(:last-child)::before {
    top: 41px;
    left: 23px;
}

.acic-ca-portal__content--historial .acic-ca-timeline__icon {
    width: 40px;
    height: 40px;
    border-radius: 10px;
}

.acic-ca-portal__content--historial .acic-ca-timeline__icon svg {
    width: 18px;
    height: 18px;
}

.acic-ca-portal__content--historial .acic-ca-timeline__body {
    padding: 13px 15px 12px;
}

.acic-ca-portal__content--historial .acic-ca-timeline__meta {
    margin-bottom: 5px;
}

.acic-ca-portal__content--historial .acic-ca-timeline__meta time {
    color: #687b8e;
    font-size: 12px;
    font-weight: 700;
}

.acic-ca-portal__content--historial .acic-ca-timeline__body h4 {
    font-size: 14.5px;
}

.acic-ca-portal__content--historial .acic-ca-timeline__body p {
    margin-top: 4px;
    font-size: 12.5px;
    line-height: 1.42;
}

.acic-ca-portal__content--historial .acic-ca-timeline__actor {
    margin-top: 7px;
}

.acic-ca-portal__content--historial .acic-ca-history-pagination {
    display: flex;
    gap: 7px;
    align-items: center;
    justify-content: center;
    margin-top: 18px;
    padding-top: 16px;
}

.acic-ca-portal__content--historial .acic-ca-history-pagination a,
.acic-ca-portal__content--historial .acic-ca-history-pagination span {
    display: inline-flex;
    width: 36px;
    min-width: 36px;
    height: 36px;
    min-height: 36px;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 1px solid #d4e0ea;
    border-radius: 8px;
    background: #fff;
    color: var(--acic-ui-blue);
    font-size: 12px;
    font-weight: 750;
    text-decoration: none;
}

.acic-ca-portal__content--historial .acic-ca-history-pagination .is-current {
    border-color: var(--acic-ui-blue);
    background: var(--acic-ui-blue);
    color: #fff;
    box-shadow: 0 5px 12px rgba(22, 107, 213, .16);
}

.acic-ca-portal__content--historial .acic-ca-history-pagination a:hover,
.acic-ca-portal__content--historial .acic-ca-history-pagination a:focus,
.acic-ca-portal__content--historial .acic-ca-history-pagination a:active {
    border-color: #8db9e7 !important;
    background: #f3f8ff !important;
    color: var(--acic-ui-blue) !important;
}

@media (max-width: 760px) {
    .acic-ca-portal__content--historial .acic-ca-timeline__item {
        grid-template-columns: 38px minmax(0, 1fr);
        gap: 9px;
    }

    .acic-ca-portal__content--historial .acic-ca-timeline__item:not(:last-child)::before {
        left: 18px;
        top: 36px;
    }

    .acic-ca-portal__content--historial .acic-ca-timeline__icon {
        width: 34px;
        height: 34px;
    }
}

/* ==========================================================================
   ACIC UI preview v21 — Inicio + Información final polish
   ========================================================================== */

/* Home: clearer lower-card hierarchy while preserving the established dashboard. */
.acic-ca-portal__content--inicio .acic-ca-home-card {
    min-height: 248px;
    padding: 24px 26px 22px;
}

.acic-ca-home-card__heading {
    display: flex;
    gap: 12px;
    align-items: center;
    margin-bottom: 16px;
}

.acic-ca-home-card__heading h3 {
    margin: 0;
    font-size: 20px;
}

.acic-ca-home-card__icon {
    display: grid;
    flex: 0 0 40px;
    width: 40px;
    height: 40px;
    place-items: center;
    border-radius: 11px;
    background: var(--acic-ui-blue-soft);
    color: var(--acic-ui-blue);
}

.acic-ca-home-card__icon svg {
    width: 20px;
    height: 20px;
}

.acic-ca-home-card--diagnostic .acic-ca-home-card__icon {
    background: var(--acic-ui-green-soft);
    color: var(--acic-ui-green);
}

.acic-ca-home-card__percent {
    margin-left: auto;
    color: #0e936b;
    font-size: 18px;
    font-weight: 800;
}

.acic-ca-home-detail-list > div {
    grid-template-columns: minmax(120px, .45fr) minmax(0, 1fr);
    padding: 13px 0;
}

.acic-ca-home-detail-list dt {
    color: #607286;
    font-weight: 700;
}

.acic-ca-home-detail-list dd {
    color: var(--acic-ui-navy-2);
    font-weight: 650;
    text-align: right;
    overflow-wrap: anywhere;
}

.acic-ca-home-card__footer {
    margin: 15px 0 0;
}

.acic-ca-home-public-link {
    display: inline-flex;
    gap: 7px;
    align-items: center;
    color: var(--acic-ui-blue) !important;
    font-weight: 700;
    text-decoration: none !important;
}

.acic-ca-home-public-link:hover,
.acic-ca-home-public-link:focus-visible {
    color: #0c58b7 !important;
}

.acic-ca-home-missing__title {
    margin-bottom: 4px;
}

.acic-ca-home-missing {
    margin: 0 0 10px;
    padding: 0;
    list-style: none;
    columns: 2;
    column-gap: 16px;
}

.acic-ca-home-missing li {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    break-inside: avoid;
    padding: 2px 0;
    font-size: 12px;
    color: var(--acic-ui-muted);
    line-height: 1.35;
}

.acic-ca-home-missing li::before {
    content: "";
    flex: 0 0 auto;
    width: 5px;
    height: 5px;
    margin-top: 6px;
    border-radius: 50%;
    background: var(--acic-ui-muted);
}

.acic-ca-home-positive {
    display: flex;
    gap: 8px;
    align-items: center;
    font-weight: 700;
}

.acic-ca-home-positive > span {
    display: grid;
    width: 22px;
    height: 22px;
    place-items: center;
    border-radius: 50%;
    background: var(--acic-ui-green-soft);
    color: var(--acic-ui-green);
    font-size: 12px;
}

/* Información: replace decorative bullets with real inline SVG section icons. */
.acic-ca-section-tab {
    display: grid !important;
    grid-template-columns: 38px minmax(0, 1fr);
    align-items: center !important;
    gap: 12px;
    min-height: 72px;
    padding: 12px 14px;
    text-align: left;
}

.acic-ca-section-tab::before {
    content: none !important;
    display: none !important;
}

/* !important throughout this rule: the host WordPress theme/Elementor has
   been observed elsewhere in this plugin (see AGENTS.md) to inject its own
   flex/spacing rules with enough specificity to silently win over a plain
   .acic-ca-section-tab__icon declaration — two different centering
   techniques (grid, then flex) produced the identical visible bug, which
   only makes sense if something outside this stylesheet was overriding
   both. Pin every layout-relevant property here so nothing else can. */
.acic-ca-section-tab__icon,
.acic-ca-section-panel__icon {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-shrink: 0 !important;
    width: 36px !important;
    height: 36px !important;
    padding: 0 !important;
    margin: 0 !important;
    border-radius: 10px;
    background: var(--acic-ui-blue-soft);
    color: var(--acic-ui-blue);
    line-height: 1 !important;
}

.acic-ca-section-tab__icon svg,
.acic-ca-section-panel__icon svg {
    display: block !important;
    flex-shrink: 0 !important;
    width: 19px !important;
    height: 19px !important;
    margin: 0 !important;
    padding: 0 !important;
    vertical-align: middle !important;
}

.acic-ca-information-sidebar .acic-ca-section-tab:nth-child(7n + 1) .acic-ca-section-tab__icon { background: var(--acic-ui-blue-soft); color: var(--acic-ui-blue); }
.acic-ca-information-sidebar .acic-ca-section-tab:nth-child(7n + 2) .acic-ca-section-tab__icon { background: var(--acic-ui-amber-soft); color: var(--acic-ui-amber); }
.acic-ca-information-sidebar .acic-ca-section-tab:nth-child(7n + 3) .acic-ca-section-tab__icon { background: var(--acic-ui-green-soft); color: var(--acic-ui-green); }
.acic-ca-information-sidebar .acic-ca-section-tab:nth-child(7n + 4) .acic-ca-section-tab__icon { background: var(--acic-ui-purple-soft); color: var(--acic-ui-purple); }
.acic-ca-information-sidebar .acic-ca-section-tab:nth-child(7n + 5) .acic-ca-section-tab__icon { background: #e9f8f8; color: var(--acic-ui-cyan); }
.acic-ca-information-sidebar .acic-ca-section-tab:nth-child(7n + 6) .acic-ca-section-tab__icon { background: var(--acic-ui-rose-soft); color: var(--acic-ui-rose); }
.acic-ca-information-sidebar .acic-ca-section-tab:nth-child(7n + 7) .acic-ca-section-tab__icon { background: #eef3ff; color: #536bd8; }

.acic-ca-section-tab__copy {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: 4px;
}

.acic-ca-section-tab__copy > span {
    color: var(--acic-ui-navy-2);
    font-size: 13.5px;
    font-weight: 750;
    line-height: 1.25;
}

.acic-ca-section-tab__copy small {
    color: #738496;
    font-size: 10.5px;
    line-height: 1.2;
}

.acic-ca-section-tab.is-active .acic-ca-section-tab__icon {
    box-shadow: 0 0 0 3px rgba(23, 107, 213, .07);
}

/* Information panel header: icon, status and field count form one balanced header. */
.acic-ca-section-panel__header {
    display: flex;
    gap: 18px;
    align-items: center;
    justify-content: space-between;
}

.acic-ca-section-panel__title {
    display: flex;
    min-width: 0;
    gap: 13px;
    align-items: center;
}

.acic-ca-section-panel__title h4 {
    margin: 2px 0 0;
}

.acic-ca-section-panel__meta {
    display: flex;
    flex: 0 0 auto;
    gap: 8px;
    align-items: center;
}

.acic-ca-section-panel__status {
    display: inline-flex;
    min-height: 28px;
    align-items: center;
    padding: 5px 9px;
    border-radius: 999px;
    background: var(--acic-ui-green-soft);
    color: #0c805e;
    font-size: 10.5px;
    font-weight: 750;
    white-space: nowrap;
}

/* Field rows: maintain two-column form, but reduce visual noise and improve scanability. */
.acic-ca-portal__content--informacion .acic-ca-field {
    grid-template-columns: minmax(210px, .78fr) minmax(320px, 1.22fr);
    gap: 30px;
    padding: 19px 0;
}

.acic-ca-portal__content--informacion .acic-ca-field__label {
    align-content: start;
}

.acic-ca-portal__content--informacion .acic-ca-field__label label {
    display: block;
    margin-bottom: 7px;
    line-height: 1.35;
}

.acic-ca-portal__content--informacion .acic-ca-field__control small {
    display: block;
    margin-top: 7px;
    color: #718297;
    line-height: 1.45;
}

.acic-ca-portal__content--informacion .acic-ca-readonly,
.acic-ca-portal__content--informacion .acic-ca-field__control input,
.acic-ca-portal__content--informacion .acic-ca-field__control select,
.acic-ca-portal__content--informacion .acic-ca-field__control textarea {
    width: 100%;
}

.acic-ca-portal__content--informacion .acic-ca-form-actions {
    margin-top: 18px;
}

@media (max-width: 960px) {
    .acic-ca-section-panel__header {
        align-items: flex-start;
    }

    .acic-ca-portal__content--informacion .acic-ca-field {
        grid-template-columns: minmax(190px, .7fr) minmax(280px, 1.3fr);
        gap: 22px;
    }
}

@media (max-width: 720px) {
    .acic-ca-section-panel__header {
        flex-direction: column;
    }

    .acic-ca-section-panel__meta {
        margin-left: 49px;
    }

    .acic-ca-portal__content--informacion .acic-ca-field {
        grid-template-columns: 1fr;
        gap: 10px;
    }

    .acic-ca-home-detail-list dd {
        text-align: left;
    }

    .acic-ca-home-missing {
        columns: 1;
    }
}

/* ==========================================================================
   ACIC UI preview v22 — Inicio metric typography balance
   ========================================================================== */

/* Keep the four dashboard cards balanced: numeric metrics can be prominent,
   while textual values (role/status) must not dominate or break mid-word. */
.acic-ca-portal__content--inicio .acic-ca-metric {
    min-height: 116px;
    padding: 20px 18px 18px 82px;
}

.acic-ca-portal__content--inicio .acic-ca-metric::before {
    top: 20px;
    left: 18px;
    width: 46px;
    height: 46px;
    border-radius: 13px;
}

.acic-ca-portal__content--inicio .acic-ca-metric strong {
    max-width: 100%;
    margin-bottom: 5px;
    font-size: clamp(25px, 1.9vw, 29px);
    line-height: 1.08;
    overflow-wrap: normal;
    word-break: normal;
    hyphens: none;
}

/* Role and center status are labels, not numeric KPIs: one typographic step down. */
.acic-ca-portal__content--inicio .acic-ca-metric:nth-child(3) strong,
.acic-ca-portal__content--inicio .acic-ca-metric:nth-child(4) strong {
    font-size: clamp(19px, 1.45vw, 22px);
    line-height: 1.12;
}

.acic-ca-portal__content--inicio .acic-ca-metric span {
    font-size: 12.5px;
    line-height: 1.35;
}

@media (max-width: 1180px) and (min-width: 761px) {
    .acic-ca-portal__content--inicio .acic-ca-metric {
        padding-left: 76px;
    }

    .acic-ca-portal__content--inicio .acic-ca-metric::before {
        left: 16px;
        width: 42px;
        height: 42px;
    }

    .acic-ca-portal__content--inicio .acic-ca-metric:nth-child(3) strong,
    .acic-ca-portal__content--inicio .acic-ca-metric:nth-child(4) strong {
        font-size: 18px;
    }
}

/* ==========================================================================
   ACIC UI preview v23 — Report Builder redesign
   ========================================================================== */

.acic-ca-report-builder {
    max-width: 1240px;
}

.acic-ca-report-builder .acic-ca-portal__header--reports {
    min-height: 112px;
    padding: 24px 30px;
}

.acic-ca-report-builder .acic-ca-portal__header--reports h2 {
    font-size: clamp(25px, 2vw, 32px);
}

.acic-ca-report-builder .acic-ca-portal__header--reports p:not(.acic-ca-shell__eyebrow) {
    max-width: 720px;
    font-size: 13.5px;
}

.acic-ca-report-builder .acic-ca-portal__content {
    padding: 24px;
    background: #f7faff;
}

.acic-ca-report-builder .acic-ca-workflow-steps {
    margin-bottom: 20px;
    overflow: hidden;
}

.acic-ca-report-builder .acic-ca-workflow-steps li {
    min-height: 64px;
    padding: 12px 18px;
    background: #fff;
}

.acic-ca-report-builder .acic-ca-workflow-steps li:nth-child(2) > span {
    background: var(--acic-ui-purple-soft);
    color: var(--acic-ui-purple);
}

.acic-ca-report-builder .acic-ca-workflow-steps li:nth-child(3) > span {
    background: var(--acic-ui-green-soft);
    color: var(--acic-ui-green);
}

.acic-ca-report-builder .acic-ca-report-card,
.acic-ca-report-builder .acic-ca-report-submit,
.acic-ca-report-builder .acic-ca-report-preview {
    border-color: var(--acic-ui-line);
    box-shadow: var(--acic-ui-shadow-sm);
}

.acic-ca-report-builder .acic-ca-report-card > .acic-ca-card__heading {
    padding-bottom: 16px;
    border-bottom: 1px solid #e9eff5;
}

.acic-ca-report-builder .acic-ca-report-card > .acic-ca-card__heading h3,
.acic-ca-report-builder .acic-ca-report-submit h3,
.acic-ca-report-builder .acic-ca-report-preview h3 {
    color: var(--acic-ui-navy-2);
    font-size: 19px;
    line-height: 1.25;
}

.acic-ca-report-builder .acic-ca-report-card > .acic-ca-card__heading p,
.acic-ca-report-builder .acic-ca-report-submit p,
.acic-ca-report-builder .acic-ca-report-preview p {
    color: var(--acic-ui-muted);
    font-size: 12.5px;
    line-height: 1.5;
}

.acic-ca-report-builder .acic-ca-report-card--filters {
    position: relative;
    overflow: hidden;
}

.acic-ca-report-builder .acic-ca-report-card--filters::before,
.acic-ca-report-builder .acic-ca-report-card--columns::before {
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    height: 4px;
    content: "";
}

.acic-ca-report-builder .acic-ca-report-card--filters::before {
    background: linear-gradient(90deg, var(--acic-ui-blue), var(--acic-ui-cyan));
}

.acic-ca-report-builder .acic-ca-report-card--columns::before {
    background: linear-gradient(90deg, var(--acic-ui-purple), var(--acic-ui-rose));
}

.acic-ca-report-filter-group {
    margin-top: 18px;
    padding: 18px;
    border: 1px solid #e3ebf3;
    border-radius: 12px;
    background: #fbfdff;
}

.acic-ca-report-filter-group--research {
    background: #fcfbff;
}

.acic-ca-report-filter-group__title {
    display: flex;
    gap: 11px;
    align-items: center;
    margin-bottom: 15px;
}

.acic-ca-report-filter-group__title > div {
    display: grid;
    gap: 2px;
}

.acic-ca-report-filter-group__title strong {
    color: var(--acic-ui-navy-2);
    font-size: 13.5px;
    font-weight: 800;
}

.acic-ca-report-filter-group__title small {
    color: var(--acic-ui-muted);
    font-size: 11.5px;
    line-height: 1.35;
}

.acic-ca-report-filter-group__icon {
    display: grid;
    flex: 0 0 32px;
    width: 32px;
    height: 32px;
    place-items: center;
    border-radius: 9px;
    font-size: 12px;
    font-weight: 850;
}

.acic-ca-report-filter-group__icon--blue {
    background: var(--acic-ui-blue-soft);
    color: var(--acic-ui-blue);
}

.acic-ca-report-filter-group__icon--purple {
    background: var(--acic-ui-purple-soft);
    color: var(--acic-ui-purple);
}

.acic-ca-report-builder .acic-ca-report-filters {
    gap: 12px;
}

.acic-ca-report-builder .acic-ca-report-filters--basic {
    grid-template-columns: 1.35fr repeat(4, minmax(0, 1fr));
}

.acic-ca-report-builder .acic-ca-report-filters--research {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.acic-ca-report-builder .acic-ca-report-filters--research .acic-ca-report-centers,
.acic-ca-report-builder .acic-ca-report-filters--research .acic-ca-report-multiple {
    grid-column: auto;
}

.acic-ca-report-builder .acic-ca-report-filters label {
    min-width: 0;
    color: #496278;
    font-size: 11px;
    font-weight: 800;
}

.acic-ca-report-builder .acic-ca-report-filters input,
.acic-ca-report-builder .acic-ca-report-filters select {
    min-height: 44px;
    border-color: #cbd9e5;
    border-radius: 9px;
    background: #fff;
    color: #1c3449;
    box-shadow: 0 1px 2px rgba(19, 52, 79, .025);
    font-size: 12.5px;
}

.acic-ca-report-builder .acic-ca-report-filters input::placeholder {
    color: #8a9aaa;
}

.acic-ca-report-builder .acic-ca-report-filters input:focus,
.acic-ca-report-builder .acic-ca-report-filters select:focus {
    border-color: #7bb0e6;
    box-shadow: 0 0 0 3px rgba(23, 107, 213, .08);
    outline: none;
}

.acic-ca-report-builder .acic-ca-report-filters select[multiple] {
    min-height: 148px;
    padding: 8px 10px;
    line-height: 1.5;
}

.acic-ca-report-builder .acic-ca-report-filters small {
    min-height: 28px;
    color: #7b8c9c;
    font-size: 10.5px;
    font-weight: 500;
    line-height: 1.35;
}

.acic-ca-report-builder .acic-ca-report-card--columns {
    position: relative;
    overflow: hidden;
}

.acic-ca-report-builder .acic-ca-report-selection-actions {
    align-items: center;
}

.acic-ca-report-builder .acic-ca-report-selection-actions button {
    min-height: 34px;
    padding: 7px 11px;
    border-color: #cfdae5;
    background: #fff;
    color: var(--acic-ui-blue);
    font-size: 11px;
    font-weight: 750;
}

.acic-ca-report-builder .acic-ca-report-selection-actions button:hover,
.acic-ca-report-builder .acic-ca-report-selection-actions button:focus {
    border-color: #8db9e7;
    background: #f3f8ff;
    color: #0f5fb7;
}

.acic-ca-report-builder .acic-ca-report-sections {
    gap: 16px;
    margin-top: 20px;
}

.acic-ca-report-builder .acic-ca-report-section {
    padding: 17px 17px 18px;
    border: 1px solid #e0e8f0;
    border-radius: 13px;
    background: #fff;
    box-shadow: 0 2px 7px rgba(19, 52, 79, .03);
}

.acic-ca-report-builder .acic-ca-report-section legend {
    margin-left: -3px;
    padding: 0 8px;
    background: #fff;
    color: var(--acic-ui-navy-2);
    font-size: 13px;
    font-weight: 800;
}

.acic-ca-report-builder .acic-ca-report-section > div {
    gap: 7px;
}

.acic-ca-report-builder .acic-ca-report-section label {
    min-height: 30px;
    padding: 5px 7px;
    border-radius: 7px;
    color: #4a6275;
    font-size: 11.5px;
    line-height: 1.35;
    transition: background-color .15s ease;
}

.acic-ca-report-builder .acic-ca-report-section label:hover {
    background: #f7faff;
}

.acic-ca-report-builder .acic-ca-report-section input[type="checkbox"] {
    width: 16px;
    height: 16px;
    margin-top: 0;
    accent-color: var(--acic-ui-blue);
}

.acic-ca-report-builder .acic-ca-report-section:nth-child(6n + 2) input[type="checkbox"] { accent-color: var(--acic-ui-green); }
.acic-ca-report-builder .acic-ca-report-section:nth-child(6n + 3) input[type="checkbox"] { accent-color: var(--acic-ui-purple); }
.acic-ca-report-builder .acic-ca-report-section:nth-child(6n + 4) input[type="checkbox"] { accent-color: var(--acic-ui-amber); }
.acic-ca-report-builder .acic-ca-report-section:nth-child(6n + 5) input[type="checkbox"] { accent-color: var(--acic-ui-cyan); }
.acic-ca-report-builder .acic-ca-report-section:nth-child(6n + 6) input[type="checkbox"] { accent-color: var(--acic-ui-rose); }

.acic-ca-report-builder .acic-ca-report-submit {
    position: relative;
    min-height: 108px;
    padding: 20px 22px 20px 74px;
    border-top: 0;
    overflow: hidden;
}

.acic-ca-report-builder .acic-ca-report-submit::before {
    position: absolute;
    top: 22px;
    left: 22px;
    display: grid;
    width: 38px;
    height: 38px;
    place-items: center;
    border-radius: 11px;
    background: var(--acic-ui-green-soft);
    color: var(--acic-ui-green);
    content: "3";
    font-size: 14px;
    font-weight: 850;
}

.acic-ca-report-builder .acic-ca-report-submit::after {
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    height: 4px;
    background: linear-gradient(90deg, var(--acic-ui-green), var(--acic-ui-cyan));
    content: "";
}

.acic-ca-report-builder .acic-ca-report-submit .acic-ca-button {
    min-height: 42px;
    padding-inline: 18px;
    border-radius: 9px;
    box-shadow: 0 7px 15px rgba(23, 107, 213, .15);
    white-space: nowrap;
}

.acic-ca-report-builder .acic-ca-report-preview {
    border-top: 4px solid var(--acic-ui-blue);
}

.acic-ca-report-builder .acic-ca-report-preview__scroll {
    background: #fff;
}

.acic-ca-report-builder .acic-ca-report-preview table {
    font-size: 12px;
}

.acic-ca-report-builder .acic-ca-report-preview th {
    background: #123f62;
    font-size: 11px;
    letter-spacing: .01em;
}

.acic-ca-report-builder .acic-ca-report-preview tbody tr:nth-child(even) td {
    background: #fafcff;
}

@media (max-width: 1120px) {
    .acic-ca-report-builder .acic-ca-report-filters--basic {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .acic-ca-report-builder .acic-ca-report-filters--basic label:first-child {
        grid-column: span 2;
    }
}

@media (max-width: 820px) {
    .acic-ca-report-builder .acic-ca-portal__content {
        padding: 18px;
    }

    .acic-ca-report-builder .acic-ca-report-filters--basic,
    .acic-ca-report-builder .acic-ca-report-filters--research,
    .acic-ca-report-builder .acic-ca-report-sections {
        grid-template-columns: 1fr;
    }

    .acic-ca-report-builder .acic-ca-report-filters--basic label:first-child {
        grid-column: auto;
    }

    .acic-ca-report-builder .acic-ca-report-submit {
        align-items: flex-start;
        flex-direction: column;
        padding: 68px 18px 18px;
    }

    .acic-ca-report-builder .acic-ca-report-submit::before {
        top: 18px;
        left: 18px;
    }

    .acic-ca-report-builder .acic-ca-report-submit .acic-ca-button {
        width: 100%;
    }
}

@media (max-width: 620px) {
    .acic-ca-report-builder .acic-ca-portal__header--reports {
        min-height: 0;
        padding: 20px;
    }

    .acic-ca-report-builder .acic-ca-workflow-steps {
        grid-template-columns: 1fr;
    }

    .acic-ca-report-builder .acic-ca-workflow-steps li + li {
        border-top: 1px solid var(--acic-ui-line);
        border-left: 0;
    }

    .acic-ca-report-filter-group {
        padding: 14px;
    }
}

/* ==========================================================================
   ACIC UI preview v24 — report section bulk controls + compact contacts
   ========================================================================== */

.acic-ca-report-builder .acic-ca-report-section {
    min-width: 0;
}

.acic-ca-report-builder .acic-ca-report-section__toolbar {
    display: flex;
    grid-template-columns: none;
    gap: 7px;
    align-items: center;
    justify-content: flex-end;
    margin: -2px 0 11px;
    padding-bottom: 10px;
    border-bottom: 1px solid #edf2f7;
}

.acic-ca-report-builder .acic-ca-report-section__count {
    margin-right: auto;
    color: #75879a;
    font-size: 10.5px;
    font-weight: 650;
    white-space: nowrap;
}

.acic-ca-report-builder .acic-ca-report-section__toolbar button {
    min-height: 28px;
    padding: 5px 8px;
    border: 1px solid #d4e0eb;
    border-radius: 7px;
    background: #fff;
    color: var(--acic-ui-blue);
    cursor: pointer;
    font: inherit;
    font-size: 10px;
    font-weight: 750;
    line-height: 1.1;
}

.acic-ca-report-builder .acic-ca-report-section__toolbar button:hover,
.acic-ca-report-builder .acic-ca-report-section__toolbar button:focus-visible {
    border-color: #8db9e7;
    background: #f3f8ff;
    color: #0f5fb7;
}

.acic-ca-report-builder .acic-ca-report-section__toolbar button:disabled {
    border-color: #e5ebf1;
    background: #f8fafc;
    color: #a5b1bd;
    cursor: default;
    opacity: 1;
}

.acic-ca-report-builder .acic-ca-report-section__fields {
    display: grid;
    grid-template-columns: 1fr;
    gap: 5px;
}

.acic-ca-report-builder .acic-ca-report-section--dense .acic-ca-report-section__fields {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 12px;
}

/* Contacts is the largest group: make it span the report width instead of
   leaving a tall card beside a large empty column. */
.acic-ca-report-builder .acic-ca-report-section--contacts {
    grid-column: 1 / -1;
}

.acic-ca-report-builder .acic-ca-report-contact-groups {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 11px;
}

.acic-ca-report-builder .acic-ca-report-contact-group {
    min-width: 0;
    padding: 11px 11px 9px;
    border: 1px solid #e7edf3;
    border-radius: 10px;
    background: #fbfdff;
}

.acic-ca-report-builder .acic-ca-report-contact-group h4 {
    margin: 0 0 7px;
    color: var(--acic-ui-navy-2);
    font-size: 11.5px;
    font-weight: 800;
    line-height: 1.25;
}

.acic-ca-report-builder .acic-ca-report-contact-group > div {
    display: grid;
    gap: 3px;
}

.acic-ca-report-builder .acic-ca-report-contact-group label {
    min-height: 27px;
    padding: 4px 5px;
    font-size: 11px;
}

@media (max-width: 1100px) {
    .acic-ca-report-builder .acic-ca-report-contact-groups {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 760px) {
    .acic-ca-report-builder .acic-ca-report-section--dense .acic-ca-report-section__fields,
    .acic-ca-report-builder .acic-ca-report-contact-groups {
        grid-template-columns: 1fr;
    }

    .acic-ca-report-builder .acic-ca-report-section__toolbar {
        flex-wrap: wrap;
        justify-content: flex-start;
    }

    .acic-ca-report-builder .acic-ca-report-section__count {
        width: 100%;
        margin-right: 0;
    }
}

/* ==========================================================================
   ACIC UI preview v25 — guided public affiliation application
   ========================================================================== */

.acic-ca-application {
    max-width: 1280px;
    overflow: visible;
}

.acic-ca-application .acic-ca-portal__header {
    min-height: 138px;
    border-radius: var(--acic-ui-radius-lg) var(--acic-ui-radius-lg) 0 0;
}

.acic-ca-application .acic-ca-portal__content {
    padding: 24px;
    border-radius: 0 0 var(--acic-ui-radius-lg) var(--acic-ui-radius-lg);
    background: var(--acic-ui-canvas);
}

.acic-ca-application-layout {
    display: grid;
    grid-template-columns: 238px minmax(0, 1fr);
    gap: 20px;
    align-items: start;
}

.acic-ca-application-guide {
    position: sticky;
    top: 24px;
    overflow: hidden;
    border: 1px solid var(--acic-ui-line);
    border-radius: 14px;
    background: #fff;
    box-shadow: var(--acic-ui-shadow-sm);
}

.acic-ca-application-guide__progress {
    padding: 18px;
    border-bottom: 1px solid #e7edf3;
    background: linear-gradient(145deg, #f8fbff 0%, #eef6ff 100%);
}

.acic-ca-application-guide__progress > div:first-child {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 10px;
}

.acic-ca-application-guide__eyebrow {
    margin: 0;
    color: #63768a;
    font-size: 10.5px;
    font-weight: 800;
    letter-spacing: .07em;
    text-transform: uppercase;
}

.acic-ca-application-guide__progress strong {
    color: var(--acic-ui-blue);
    font-size: 23px;
    font-weight: 800;
    line-height: 1;
}

.acic-ca-application-progress {
    overflow: hidden;
    height: 8px;
    margin: 12px 0 10px;
    border-radius: 999px;
    background: #dfe8f1;
}

.acic-ca-application-progress span {
    display: block;
    width: 0;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, var(--acic-ui-blue), var(--acic-ui-green));
    transition: width .22s ease;
}

.acic-ca-application-guide__progress > p:last-child {
    margin: 0;
    color: #667b8f;
    font-size: 11.5px;
    line-height: 1.45;
}

.acic-ca-application-guide__nav {
    display: grid;
    padding: 8px;
}

.acic-ca-application-guide__nav a {
    position: relative;
    display: grid;
    grid-template-columns: 30px minmax(0, 1fr);
    grid-template-rows: auto auto;
    gap: 1px 9px;
    align-items: center;
    padding: 11px 10px;
    border-radius: 10px;
    color: #233f58 !important;
    text-decoration: none !important;
}

.acic-ca-application-guide__nav a:hover,
.acic-ca-application-guide__nav a:focus-visible {
    background: #f2f7fd;
    color: #0f5fb7 !important;
}

.acic-ca-application-guide__nav a > span {
    grid-row: 1 / 3;
    display: grid;
    width: 28px;
    height: 28px;
    place-items: center;
    border-radius: 9px;
    background: #eaf3ff;
    color: #176bd5;
    font-size: 11px;
    font-weight: 850;
}

.acic-ca-application-guide__nav a:nth-child(2) > span { background: #f1ebff; color: #7653d7; }
.acic-ca-application-guide__nav a:nth-child(3) > span { background: #e8f8f1; color: #139b72; }
.acic-ca-application-guide__nav a:nth-child(4) > span { background: #fff4dc; color: #d58d08; }

.acic-ca-application-guide__nav b {
    font-size: 12px;
    font-weight: 760;
    line-height: 1.25;
}

.acic-ca-application-guide__nav small {
    color: #7b8b9b;
    font-size: 10px;
    line-height: 1.3;
}

.acic-ca-application-guide__note {
    display: grid;
    grid-template-columns: 20px minmax(0, 1fr);
    gap: 9px;
    margin: 6px 10px 12px;
    padding: 11px;
    border-radius: 10px;
    background: #f7fafc;
    color: #64788b;
}

.acic-ca-application-guide__note svg {
    width: 18px;
    height: 18px;
    fill: none;
    stroke: #3880c7;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.acic-ca-application-guide__note p {
    margin: 0;
    font-size: 10.5px;
    line-height: 1.45;
}

.acic-ca-application-fields {
    min-width: 0;
}

.acic-ca-application form[data-acic-application-form] article.acic-ca-card {
    scroll-margin-top: 22px;
    margin-top: 0;
    margin-bottom: 14px;
    padding: 20px 22px 20px 70px;
    border: 1px solid var(--acic-ui-line);
    border-radius: 13px;
    background: #fff;
    box-shadow: var(--acic-ui-shadow-sm);
}

.acic-ca-application form[data-acic-application-form] article.acic-ca-card::before {
    top: 18px;
    left: 18px;
    width: 34px;
    height: 34px;
    border-radius: 10px;
    font-size: 11px;
}

.acic-ca-application form[data-acic-application-form] article.acic-ca-card h3 {
    margin: 0 0 7px;
    color: #133b5d;
    font-size: 17px;
    font-weight: 760;
    line-height: 1.3;
}

.acic-ca-application .acic-ca-form-grid {
    gap: 12px 14px;
}

.acic-ca-application .acic-ca-form-grid input,
.acic-ca-application .acic-ca-form-grid select,
.acic-ca-application .acic-ca-form-grid textarea,
.acic-ca-application .acic-ca-compact-form > label input,
.acic-ca-application .acic-ca-compact-form > label select,
.acic-ca-application .acic-ca-compact-form > label textarea {
    min-height: 42px;
    border-color: #ccd9e5;
    background: #fbfcfe;
}

.acic-ca-application .acic-ca-form-grid input:focus,
.acic-ca-application .acic-ca-form-grid select:focus,
.acic-ca-application .acic-ca-form-grid textarea:focus {
    border-color: #72a9df;
    background: #fff;
    box-shadow: 0 0 0 3px rgba(23, 107, 213, .08);
    outline: none;
}

.acic-ca-application .acic-ca-help {
    margin-top: 0;
    color: #718396;
    font-size: 11.5px;
    line-height: 1.5;
}

.acic-ca-application .acic-ca-radio-group,
.acic-ca-application .acic-ca-checkbox-group {
    padding: 10px 12px;
    border: 1px solid #e2eaf1;
    border-radius: 9px;
    background: #fbfcfe;
}

.acic-ca-application .acic-ca-repeater {
    margin-top: 12px;
    padding: 14px;
    border: 1px dashed #cbd9e6;
    border-radius: 10px;
    background: #f9fbfd;
}

.acic-ca-application .acic-ca-textarea-field {
    display: block;
    margin: 0 0 14px;
    padding: 18px;
    border: 1px solid var(--acic-ui-line);
    border-radius: 13px;
    background: #fff;
    color: #3b566c;
    font-size: 12px;
    font-weight: 700;
    box-shadow: var(--acic-ui-shadow-sm);
}

.acic-ca-application .acic-ca-textarea-field textarea {
    width: 100%;
    margin-top: 7px;
}

.acic-ca-application .acic-ca-form-actions {
    display: grid;
    grid-template-columns: auto auto minmax(0, 1fr);
    gap: 10px 12px;
    align-items: center;
    margin-top: 0;
    padding: 16px 18px;
    border: 1px solid #d9e5ef;
    border-top: 3px solid var(--acic-ui-blue);
    border-radius: 13px;
    background: #fff;
    box-shadow: var(--acic-ui-shadow-sm);
}

.acic-ca-application .acic-ca-form-actions .acic-ca-help {
    margin: 0;
}

@media (max-width: 980px) {
    .acic-ca-application-layout {
        grid-template-columns: 1fr;
    }

    .acic-ca-application-guide {
        position: static;
    }

    .acic-ca-application-guide__nav {
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 4px;
    }

    .acic-ca-application-guide__nav a {
        grid-template-columns: 28px minmax(0, 1fr);
    }

    .acic-ca-application-guide__nav small {
        display: none;
    }
}

@media (max-width: 680px) {
    .acic-ca-application .acic-ca-portal__content {
        padding: 14px;
    }

    .acic-ca-application-guide__nav {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .acic-ca-application form[data-acic-application-form] article.acic-ca-card {
        padding: 58px 16px 18px;
    }

    .acic-ca-application form[data-acic-application-form] article.acic-ca-card::before {
        top: 14px;
        left: 16px;
    }

    .acic-ca-application .acic-ca-form-actions {
        grid-template-columns: 1fr;
    }

    .acic-ca-application .acic-ca-form-actions .acic-ca-button {
        width: 100%;
        justify-content: center;
    }
}

/* ==========================================================================
   ACIC UI preview v26 — public affiliation sticky guide below site header
   ========================================================================== */

/*
 * The affiliation form lives inside the public WordPress site, whose own
 * navigation becomes sticky. Keep the application guide below that external
 * header instead of letting both sticky layers overlap.
 */
.acic-ca-application {
    --acic-ca-application-sticky-offset: 154px;
}

.acic-ca-application-guide {
    top: calc(var(--acic-ca-application-sticky-offset) + 14px);
    max-height: calc(100vh - var(--acic-ca-application-sticky-offset) - 28px);
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
}

.acic-ca-application form[data-acic-application-form] article.acic-ca-card {
    scroll-margin-top: calc(var(--acic-ca-application-sticky-offset) + 24px);
}

@media (max-width: 980px) {
    .acic-ca-application {
        --acic-ca-application-sticky-offset: 0px;
    }

    .acic-ca-application-guide {
        max-height: none;
        overflow: hidden;
    }
}

/* ==========================================================================
   ACIC UI preview v27 — normalize information checkboxes and radios
   ========================================================================== */

/*
 * Information fields live inside .acic-ca-field__control, whose generic text
 * input rules intentionally use width:100% and a 44px minimum height. Native
 * checkbox/radio inputs must be explicitly excluded from that sizing model.
 * Keep these controls fixed-size so WordPress/theme form rules cannot stretch
 * individual options and misalign collection fields.
 */
.acic-ca-portal__content--informacion .acic-ca-field__control .acic-ca-radio input[type="checkbox"],
.acic-ca-portal__content--informacion .acic-ca-field__control .acic-ca-radio input[type="radio"],
.acic-ca-portal__content--informacion .acic-ca-field__control .acic-ca-checkbox input[type="checkbox"],
.acic-ca-portal__content--informacion .acic-ca-field__control .acic-ca-checkbox input[type="radio"] {
    box-sizing: border-box !important;
    flex: 0 0 18px !important;
    width: 18px !important;
    min-width: 18px !important;
    max-width: 18px !important;
    height: 18px !important;
    min-height: 18px !important;
    max-height: 18px !important;
    margin: 1px 0 0 !important;
    padding: 0 !important;
    border-radius: 3px;
    background: #fff;
    box-shadow: none !important;
    accent-color: var(--acic-ui-blue);
    vertical-align: middle;
}

.acic-ca-portal__content--informacion .acic-ca-field__control .acic-ca-radio input[type="radio"],
.acic-ca-portal__content--informacion .acic-ca-field__control .acic-ca-checkbox input[type="radio"] {
    border-radius: 50%;
}

.acic-ca-portal__content--informacion .acic-ca-field__control .acic-ca-radio {
    display: inline-flex;
    min-width: 0;
    gap: 7px;
    align-items: flex-start;
    line-height: 1.35;
}

.acic-ca-portal__content--informacion .acic-ca-field__control .acic-ca-radio-options {
    align-items: flex-start;
    gap: 11px 22px;
}

/* Collection-heavy fields (specialties, investigation types, etc.) benefit
   from a predictable grid instead of irregular wrapping. */
.acic-ca-portal__content--informacion .acic-ca-field__control .acic-ca-radio-options:has(input[type="checkbox"]) {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px 18px;
}

@media (max-width: 1100px) {
    .acic-ca-portal__content--informacion .acic-ca-field__control .acic-ca-radio-options:has(input[type="checkbox"]) {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 720px) {
    .acic-ca-portal__content--informacion .acic-ca-field__control .acic-ca-radio-options:has(input[type="checkbox"]) {
        grid-template-columns: 1fr;
    }
}

/* ==========================================================================
   ACIC UI preview v28 — full-width 4-column collection fields in Information
   ========================================================================== */

/* Long checkbox collections in Informacion (especialidades, tipos, etc.) should
   use the whole panel width: label/badges on top, options underneath. This
   removes the empty left column and keeps large catalogs readable. */
.acic-ca-portal__content--informacion .acic-ca-field:has(.acic-ca-radio-options input[type="checkbox"]) {
    grid-template-columns: 1fr;
    gap: 14px;
}

.acic-ca-portal__content--informacion .acic-ca-field:has(.acic-ca-radio-options input[type="checkbox"]) .acic-ca-field__label {
    max-width: 100%;
}

.acic-ca-portal__content--informacion .acic-ca-field:has(.acic-ca-radio-options input[type="checkbox"]) .acic-ca-field__label label {
    margin-bottom: 8px;
}

.acic-ca-portal__content--informacion .acic-ca-field:has(.acic-ca-radio-options input[type="checkbox"]) .acic-ca-field__control {
    width: 100%;
}

.acic-ca-portal__content--informacion .acic-ca-field__control .acic-ca-radio-options:has(input[type="checkbox"]) {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 13px 22px;
    align-items: start;
}

.acic-ca-portal__content--informacion .acic-ca-field__control .acic-ca-radio-options:has(input[type="checkbox"]) .acic-ca-radio {
    min-width: 0;
    width: 100%;
}

@media (max-width: 1200px) {
    .acic-ca-portal__content--informacion .acic-ca-field__control .acic-ca-radio-options:has(input[type="checkbox"]) {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 900px) {
    .acic-ca-portal__content--informacion .acic-ca-field__control .acic-ca-radio-options:has(input[type="checkbox"]) {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 620px) {
    .acic-ca-portal__content--informacion .acic-ca-field__control .acic-ca-radio-options:has(input[type="checkbox"]) {
        grid-template-columns: 1fr;
    }
}

/* ==========================================================================
   ACIC UI preview v29 — searchable multi-select for long collection fields
   ========================================================================== */

.acic-ca-portal__content--informacion .acic-ca-field:has(.acic-ca-multiselect) {
    grid-template-columns: 1fr;
    gap: 14px;
}

.acic-ca-portal__content--informacion .acic-ca-field:has(.acic-ca-multiselect) .acic-ca-field__label {
    max-width: 100%;
}

.acic-ca-multiselect {
    position: relative;
    max-width: 620px;
}

.acic-ca-multiselect__trigger {
    display: flex;
    width: 100%;
    min-height: 48px;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 11px 14px;
    border: 1px solid #cbd9e6;
    border-radius: 10px;
    background: #fff;
    color: #17324b;
    cursor: pointer;
    font: inherit;
    font-size: 14px;
    font-weight: 650;
    text-align: left;
    box-shadow: 0 8px 18px rgba(15, 63, 95, .04);
}

.acic-ca-multiselect__trigger:hover,
.acic-ca-multiselect__trigger:focus,
.acic-ca-multiselect.is-open .acic-ca-multiselect__trigger {
    border-color: var(--acic-ui-blue);
    background: #fbfdff;
    color: #17324b;
    outline: none;
    box-shadow: 0 0 0 3px rgba(23, 107, 213, .12);
}

.acic-ca-multiselect__trigger svg {
    flex: 0 0 18px;
    width: 18px;
    height: 18px;
    transition: transform .16s ease;
}

.acic-ca-multiselect.is-open .acic-ca-multiselect__trigger svg {
    transform: rotate(180deg);
}

.acic-ca-multiselect__dropdown {
    position: absolute;
    z-index: 40;
    top: calc(100% + 8px);
    left: 0;
    width: min(100%, 620px);
    max-height: 420px;
    overflow: hidden;
    border: 1px solid #cbd9e6;
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 18px 42px rgba(15, 63, 95, .18);
}

.acic-ca-multiselect__search {
    display: block;
    padding: 10px;
    border-bottom: 1px solid #e6edf4;
}

.acic-ca-multiselect__search input[type="search"] {
    width: 100%;
    min-height: 42px;
    padding: 9px 12px;
    border: 1px solid #cbd9e6;
    border-radius: 9px;
    background: #fff;
    color: #17324b;
    font-size: 13px;
}

.acic-ca-multiselect__options {
    display: grid;
    max-height: 300px;
    overflow: auto;
    padding: 8px;
    gap: 2px;
}

.acic-ca-multiselect__option {
    display: flex;
    gap: 9px;
    align-items: flex-start;
    padding: 8px 9px;
    border-radius: 8px;
    color: #17324b;
    cursor: pointer;
    font-size: 13px;
    line-height: 1.35;
}

.acic-ca-multiselect__option:hover {
    background: #f1f7ff;
}

.acic-ca-multiselect__option input[type="checkbox"] {
    box-sizing: border-box !important;
    flex: 0 0 18px !important;
    width: 18px !important;
    min-width: 18px !important;
    max-width: 18px !important;
    height: 18px !important;
    min-height: 18px !important;
    max-height: 18px !important;
    margin: 0 !important;
    padding: 0 !important;
    accent-color: var(--acic-ui-blue);
}

.acic-ca-multiselect__option--other {
    border-top: 1px solid #e6edf4;
    margin-top: 4px;
    padding-top: 10px;
}

.acic-ca-multiselect__empty {
    margin: 0;
    padding: 14px 16px 16px;
    color: #66788a;
    font-size: 13px;
}

.acic-ca-multiselect__chips {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 10px;
}

.acic-ca-multiselect__chip {
    display: inline-flex;
    min-height: 28px;
    align-items: center;
    gap: 6px;
    padding: 5px 10px;
    border: 0;
    border-radius: 999px;
    background: #eaf4ff;
    color: #176bd5;
    cursor: pointer;
    font-size: 12px;
    font-weight: 750;
    line-height: 1.2;
}

.acic-ca-multiselect__chip:hover,
.acic-ca-multiselect__chip:focus {
    background: #d9ecff;
    color: #0f5fb7;
    outline: none;
}

.acic-ca-multiselect__chip--more {
    background: #eef2f4;
    color: #45586a;
}

.acic-ca-multiselect__other-field {
    max-width: 620px;
    margin-top: 10px;
}

@media (max-width: 720px) {
    .acic-ca-multiselect {
        max-width: 100%;
    }

    .acic-ca-multiselect__dropdown {
        width: 100%;
    }
}


/* ACIC UI preview v30 — searchable multiselect filtering fix */
.acic-ca-multiselect__option[hidden],
.acic-ca-multiselect__option.is-hidden {
    display: none !important;
}


/* ==========================================================================
   ACIC UI preview v32 — public directory and profile: wide layout pass
   --------------------------------------------------------------------------
   Widens the container, restores a real 4/3/2/1 card grid, enlarges the
   hero/featured/filters/typography, and simplifies "Herramientas
   digitales" to a compact row list — all presentation-only, no markup
   change to data/filters beyond the Región/Ciudad split already shipped.
   ========================================================================== */

/*
 * Full-bleed breakout: the host page (Elementor page settings /
 * GeneratePress content width / a theme sidebar) can put this shortcode
 * inside a column far narrower than the 1360px this directory/ficha wants
 * — a max-width alone can't fix that, since max-width only ever shrinks,
 * never grows, an element past what its parent already allows.
 *
 * The breakout itself is done in portal.js (initFullBleed), not here.
 * A pure-CSS calc(-50vw + 50%) version was tried first, but it assumes
 * the parent column is horizontally centered in the viewport — on the
 * real site the parent isn't centered, so that formula shifted the whole
 * block left and clipped its right side instead of centering it. JS can
 * measure the wrapper's actual offset from the true viewport edge and
 * cancel exactly that, which works regardless of how the host page
 * positions its content column. This rule is only the (deliberately
 * inert) pre-JS state, so nothing is visibly broken for the instant
 * before that script runs.
 */
.acic-ca-full-bleed {
    width: auto;
}

.acic-ca-directory,
.acic-ca-profile {
    box-sizing: border-box;
    max-width: 1360px;
    margin: 32px auto;
    padding: 0 24px 64px;
    color: var(--acic-ui-ink);
    font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
}

.acic-ca-directory *,
.acic-ca-profile * {
    box-sizing: border-box;
}

.acic-ca-directory a {
    text-underline-offset: 3px;
}

/* ---- Directory: hero ---- */
.acic-ca-directory__hero {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(360px, 44%);
    gap: 40px;
    align-items: center;
    min-height: 400px;
    margin-bottom: 28px;
    padding: 56px 60px;
    border: 1px solid var(--acic-ui-line);
    border-radius: var(--acic-ui-radius-lg);
    background:
        radial-gradient(circle at 88% 18%, rgba(23, 107, 213, .10), transparent 32%),
        linear-gradient(135deg, #ffffff 0%, #f8fbff 60%, #f2f7ff 100%);
    box-shadow: var(--acic-ui-shadow-sm);
}

.acic-ca-directory__hero-text {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

/*
 * Real element (not a ::after) so a future real photo can be dropped in
 * — as a CSS background-image on this class, or an <img> inside it — with
 * zero layout change: same grid column, same min-height, same radius.
 * Until then it's the same decorative gradient panel as before.
 */
.acic-ca-directory__hero-media {
    display: block;
    align-self: stretch;
    min-height: 300px;
    overflow: hidden;
    border-radius: var(--acic-ui-radius);
    background:
        radial-gradient(circle at 25% 20%, rgba(255, 255, 255, .22), transparent 42%),
        radial-gradient(circle at 80% 85%, rgba(14, 165, 168, .28), transparent 48%),
        linear-gradient(150deg, var(--acic-ui-blue) 0%, var(--acic-ui-navy) 100%);
    box-shadow: var(--acic-ui-shadow);
}

.acic-ca-directory__hero-media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.acic-ca-directory__hero-text h1 {
    margin: 0 0 16px;
    color: var(--acic-ui-navy-2);
    font-size: clamp(32px, 3.2vw, 46px);
    font-weight: 700;
    letter-spacing: -.02em;
    line-height: 1.12;
}

.acic-ca-directory__hero-text > p {
    margin: 0 0 32px;
    max-width: 520px;
    color: var(--acic-ui-text);
    font-size: 16.5px;
    line-height: 1.6;
}

.acic-ca-directory__stats {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
}

.acic-ca-directory__stat {
    display: flex;
    align-items: center;
    gap: 14px;
    min-width: 180px;
    padding: 18px 22px;
    border: 1px solid var(--acic-ui-line);
    border-radius: var(--acic-ui-radius);
    background: var(--acic-ui-surface);
    box-shadow: var(--acic-ui-shadow-sm);
}

.acic-ca-directory__stat-icon {
    display: grid;
    flex: 0 0 46px;
    width: 46px;
    height: 46px;
    place-items: center;
    border-radius: 13px;
    background: var(--acic-ui-blue-soft);
    color: var(--acic-ui-blue);
}

.acic-ca-directory__stat-icon svg {
    width: 22px;
    height: 22px;
}

.acic-ca-directory__stat strong {
    display: block;
    color: var(--acic-ui-navy-2);
    font-size: 24px;
    font-weight: 750;
    line-height: 1.1;
}

.acic-ca-directory__stat small {
    color: var(--acic-ui-muted);
    font-size: 13px;
    font-weight: 600;
}

/* ---- Directory: filters ---- */
.acic-ca-directory__filters {
    margin-bottom: 24px;
    padding: 30px 32px;
    border: 1px solid var(--acic-ui-line);
    border-radius: var(--acic-ui-radius-lg);
    background: var(--acic-ui-surface);
    box-shadow: var(--acic-ui-shadow-sm);
}

.acic-ca-directory__filter-row {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    align-items: end;
}

.acic-ca-directory__filter {
    display: flex;
    flex: 1 1 170px;
    flex-direction: column;
    gap: 8px;
    min-width: 0;
}

.acic-ca-directory__filter:first-child {
    flex: 2 1 280px;
}

.acic-ca-directory__filter > span:first-child {
    color: var(--acic-ui-navy);
    font-size: 13px;
    font-weight: 700;
}

.acic-ca-directory__filter select {
    min-height: 50px;
    padding: 10px 34px 10px 14px;
    border: 1px solid var(--acic-ui-line-strong);
    border-radius: var(--acic-ui-radius-sm);
    background-color: #fff;
    color: var(--acic-ui-ink);
    font-size: 14.5px;
}

.acic-ca-directory__search {
    position: relative;
    display: flex;
    align-items: center;
}

.acic-ca-directory__search svg {
    position: absolute;
    left: 14px;
    width: 18px;
    height: 18px;
    color: var(--acic-ui-muted);
    pointer-events: none;
}

.acic-ca-directory__search input[type="search"] {
    width: 100%;
    min-height: 50px;
    padding: 10px 14px 10px 40px;
    border: 1px solid var(--acic-ui-line-strong);
    border-radius: var(--acic-ui-radius-sm);
    background: #fff;
    color: var(--acic-ui-ink);
    font-size: 14.5px;
}

.acic-ca-directory__filter-submit {
    flex: 0 0 auto;
    align-self: end;
    min-height: 50px;
    padding: 12px 22px;
    white-space: nowrap;
}

.acic-ca-directory__filter-clear {
    display: inline-flex;
    flex: 0 0 auto;
    align-self: end;
    padding-bottom: 15px;
    color: var(--acic-ui-muted);
    font-size: 13px;
    font-weight: 700;
    text-decoration: underline;
    white-space: nowrap;
}

.acic-ca-directory__filter-clear:hover,
.acic-ca-directory__filter-clear:focus-visible {
    color: var(--acic-ui-blue);
}

.acic-ca-directory__chips {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
    margin-top: 22px;
    padding-top: 22px;
    border-top: 1px solid var(--acic-ui-line);
}

.acic-ca-directory__chips-label {
    margin-right: 6px;
    color: var(--acic-ui-muted);
    font-size: 13px;
    font-weight: 700;
}

.acic-ca-directory__chip {
    display: inline-flex;
    min-height: 42px;
    align-items: center;
    padding: 9px 22px;
    border: 0;
    border-radius: 999px;
    cursor: pointer;
    font-size: 13.5px;
    font-weight: 700;
    line-height: 1.2;
    transition: transform .12s ease, box-shadow .12s ease;
}

.acic-ca-directory__chip:hover {
    transform: translateY(-1px);
    box-shadow: var(--acic-ui-shadow-sm);
}

.acic-ca-directory__chip:focus-visible {
    outline: 2px solid var(--acic-ui-blue);
    outline-offset: 2px;
}

.acic-ca-directory__chip--specialty {
    background: var(--acic-ui-blue-soft);
    color: var(--acic-ui-blue-2);
}

.acic-ca-directory__chip--research_type {
    background: var(--acic-ui-cyan-soft);
    color: #0a7a7d;
}

.acic-ca-directory__chip--phase {
    background: var(--acic-ui-purple-soft);
    color: #6b45b9;
}

/* ---- Directory: toolbar (count · sort · view toggle), inside the filters form ---- */
.acic-ca-directory__toolbar {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    align-items: center;
    justify-content: space-between;
    margin-top: 22px;
    padding-top: 22px;
    border-top: 1px solid var(--acic-ui-line);
}

.acic-ca-directory__count {
    margin: 0;
    color: var(--acic-ui-muted);
    font-size: 13.5px;
    font-weight: 600;
}

.acic-ca-directory__toolbar-controls {
    display: flex;
    flex-wrap: wrap;
    gap: 18px;
    align-items: center;
}

.acic-ca-directory__sort {
    display: flex;
    align-items: center;
    gap: 8px;
}

.acic-ca-directory__sort span {
    color: var(--acic-ui-muted);
    font-size: 12.5px;
    font-weight: 700;
    white-space: nowrap;
}

.acic-ca-directory__sort select {
    min-height: 38px;
    padding: 6px 30px 6px 12px;
    border: 1px solid var(--acic-ui-line-strong);
    border-radius: var(--acic-ui-radius-sm);
    background-color: #fff;
    color: var(--acic-ui-ink);
    font-size: 13px;
}

.acic-ca-directory__view-toggle {
    display: inline-flex;
    padding: 3px;
    border: 1px solid var(--acic-ui-line);
    border-radius: 999px;
    background: var(--acic-ui-canvas);
}

.acic-ca-directory__view-button {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-height: 36px;
    padding: 7px 16px;
    border: 0;
    border-radius: 999px;
    background: transparent;
    color: var(--acic-ui-muted);
    cursor: pointer;
    font-size: 12.5px;
    font-weight: 700;
}

.acic-ca-directory__view-button svg {
    width: 15px;
    height: 15px;
}

.acic-ca-directory__view-button.is-active {
    background: var(--acic-ui-surface);
    color: var(--acic-ui-blue);
    box-shadow: var(--acic-ui-shadow-sm);
}

/* ---- Directory: featured ---- */
.acic-ca-directory__featured {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(320px, 42%);
    margin-bottom: 32px;
    overflow: hidden;
    border: 1px solid var(--acic-ui-line);
    border-radius: var(--acic-ui-radius-lg);
    box-shadow: var(--acic-ui-shadow);
}

.acic-ca-directory__featured-content {
    padding: 44px 48px;
    border-left: 4px solid var(--acic-ui-blue);
    background: linear-gradient(120deg, #ffffff 0%, #f6faff 100%);
}

.acic-ca-directory__featured-media {
    min-height: 280px;
    background:
        radial-gradient(circle at 25% 20%, rgba(255, 255, 255, .18), transparent 42%),
        radial-gradient(circle at 80% 85%, rgba(117, 87, 215, .30), transparent 48%),
        linear-gradient(150deg, var(--acic-ui-navy) 0%, var(--acic-ui-blue-2) 100%);
}

.acic-ca-directory__featured-label {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0 0 20px;
    color: var(--acic-ui-blue-2);
    font-size: 13px;
    font-weight: 800;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.acic-ca-directory__featured-label svg {
    width: 16px;
    height: 16px;
}

.acic-ca-directory__featured-header {
    display: flex;
    gap: 20px;
    align-items: center;
    margin-bottom: 18px;
}

.acic-ca-directory__featured-logo {
    flex: 0 0 76px;
    width: 76px;
    height: 76px;
    border: 1px solid var(--acic-ui-line);
    border-radius: 16px;
    background: #fff;
    object-fit: contain;
    padding: 10px;
}

.acic-ca-directory__featured-header h3 {
    margin: 8px 0 0;
    color: var(--acic-ui-navy-2);
    font-size: 33px;
    font-weight: 780;
    letter-spacing: -.015em;
    line-height: 1.15;
}

.acic-ca-directory__featured-description {
    max-width: 560px;
    margin: 0 0 28px;
    color: var(--acic-ui-text);
    font-size: 15.5px;
    line-height: 1.65;
}

.acic-ca-directory__featured-stats {
    display: flex;
    flex-wrap: wrap;
    gap: 28px;
    margin-bottom: 30px;
    color: var(--acic-ui-navy);
    font-size: 14.5px;
    font-weight: 700;
}

.acic-ca-directory__featured-stats span {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.acic-ca-directory__featured-stats svg {
    width: 18px;
    height: 18px;
    color: var(--acic-ui-blue);
}

.acic-ca-directory__featured-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 22px;
    align-items: center;
}

.acic-ca-directory__featured-actions .acic-ca-button {
    min-height: 48px;
    padding: 12px 24px;
    font-size: 14px;
}

.acic-ca-directory__featured-link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: var(--acic-ui-blue);
    font-size: 14px;
    font-weight: 700;
}

.acic-ca-directory__featured-link svg {
    width: 15px;
    height: 15px;
}

/* ---- Directory: grid / cards ---- */
.acic-ca-directory__list-heading {
    margin-bottom: 20px;
}

.acic-ca-directory__list-heading h2 {
    margin: 0;
    color: var(--acic-ui-navy-2);
    font-size: 25px;
    font-weight: 750;
}

/*
 * auto-fit + minmax instead of a fixed column count: the browser fits as
 * many ~280px-or-wider columns as the real container width allows (4 at
 * ~1300px+, 3 around tablet-desktop, 2 on tablet, 1 on mobile) and grows
 * each card to fill the row rather than leaving it pinned to the floor
 * width — so a card is never forced narrower than ~280px just to keep a
 * fixed count. Quality of each card wins over hitting a specific number
 * of columns at every width.
 */
.acic-ca-directory__grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 28px;
    margin-bottom: 32px;
}

.acic-ca-directory__grid.is-list-view {
    grid-template-columns: 1fr !important;
}

/*
 * List view reuses the exact same card (logo band on top, name, tags,
 * description, stats, button) just one per full-width row instead of a
 * grid cell — no separate implicit-grid layout to keep in sync with
 * however many children the card template has.
 */
.acic-ca-directory__grid.is-list-view .acic-ca-directory__card {
    min-height: 0;
}

.acic-ca-directory__grid.is-list-view .acic-ca-directory__card-description {
    -webkit-line-clamp: 2;
}

.acic-ca-directory__card {
    display: flex;
    flex-direction: column;
    min-height: 356px;
    padding: 32px;
    border: 1px solid var(--acic-ui-line);
    border-radius: var(--acic-ui-radius-lg);
    background: var(--acic-ui-surface);
    box-shadow: var(--acic-ui-shadow-sm);
    transition: box-shadow .15s ease, transform .15s ease;
}

.acic-ca-directory__card:hover {
    box-shadow: var(--acic-ui-shadow);
    transform: translateY(-3px);
}

/*
 * Fixed-height band, centered — a horizontal, vertical, or square logo
 * all sit the same way (object-fit: contain preserves its own aspect
 * ratio, never stretched), so the card's structure below it never shifts
 * depending on which shape a given center uploaded.
 */
.acic-ca-directory__card-logo-band {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 72px;
    margin-bottom: 18px;
}

.acic-ca-directory__card-logo {
    max-width: 100%;
    max-height: 100%;
    width: auto;
    height: auto;
    object-fit: contain;
}

.acic-ca-directory__card-logo--placeholder {
    display: grid;
    width: 64px;
    height: 64px;
    place-items: center;
    border: 1px solid var(--acic-ui-line);
    border-radius: 13px;
    background: var(--acic-ui-canvas);
    color: var(--acic-ui-muted);
}

.acic-ca-directory__card-logo--placeholder svg {
    width: 26px;
    height: 26px;
}

.acic-ca-directory__card-name {
    margin: 0 0 12px;
    color: var(--acic-ui-navy-2);
    font-size: 17px;
    font-weight: 750;
    line-height: 1.38;
}

.acic-ca-directory__tags {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 16px;
}

.acic-ca-directory__card-description {
    display: -webkit-box;
    overflow: hidden;
    margin: 0 0 20px;
    color: var(--acic-ui-text);
    font-size: 13.5px;
    line-height: 1.6;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}

.acic-ca-directory__card-stats {
    display: flex;
    gap: 20px;
    margin-bottom: 22px;
    margin-top: auto;
    color: var(--acic-ui-navy);
    font-size: 13px;
    font-weight: 700;
}

.acic-ca-directory__card-stats span {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.acic-ca-directory__card-stats svg {
    width: 15px;
    height: 15px;
    color: var(--acic-ui-blue);
}

/* Lighter than the default gradient .acic-ca-button: flat fill, no
   shadow, so eight of these in a grid don't compete with the page's
   actual primary actions. Font size/padding untouched. */
.acic-ca-directory__card-button {
    width: 100%;
    min-height: 44px;
    background: var(--acic-ui-blue);
    box-shadow: none;
    text-align: center;
}

.acic-ca-directory__card-button:hover,
.acic-ca-directory__card-button:focus-visible {
    background: var(--acic-ui-blue-2);
    box-shadow: none;
    transform: none;
}

.acic-ca-directory__empty {
    margin-bottom: 32px;
    padding: 48px 24px;
    text-align: center;
}

/* ---- Directory: pagination ---- */
.acic-ca-directory__pagination {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: center;
    margin-bottom: 40px;
}

.acic-ca-directory__page {
    display: inline-flex;
    min-width: 42px;
    height: 42px;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--acic-ui-line);
    border-radius: 10px;
    background: #fff;
    color: var(--acic-ui-navy);
    font-size: 13.5px;
    font-weight: 700;
}

.acic-ca-directory__page.is-active {
    border-color: var(--acic-ui-blue);
    background: var(--acic-ui-blue);
    color: #fff;
}

/* ---- Directory: values + CTA ---- */
.acic-ca-directory__values {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
    margin-bottom: 32px;
    padding: 44px 36px;
    border-radius: var(--acic-ui-radius-lg);
    background: var(--acic-ui-blue-soft);
}

.acic-ca-directory__value {
    display: flex;
    gap: 16px;
    align-items: flex-start;
}

.acic-ca-directory__value-icon {
    display: grid;
    flex: 0 0 48px;
    width: 48px;
    height: 48px;
    place-items: center;
    border-radius: 13px;
    background: #fff;
    color: var(--acic-ui-blue);
    box-shadow: var(--acic-ui-shadow-sm);
}

.acic-ca-directory__value-icon svg {
    width: 23px;
    height: 23px;
}

.acic-ca-directory__value h4 {
    margin: 2px 0 6px;
    color: var(--acic-ui-navy-2);
    font-size: 16px;
    font-weight: 750;
}

.acic-ca-directory__value p {
    margin: 0;
    color: var(--acic-ui-text);
    font-size: 13.5px;
    line-height: 1.55;
}

.acic-ca-directory__cta,
.acic-ca-profile__cta {
    display: flex;
    flex-wrap: wrap;
    gap: 24px;
    align-items: center;
    justify-content: space-between;
    padding: 36px 48px;
    border-radius: var(--acic-ui-radius-lg);
    background: linear-gradient(120deg, var(--acic-ui-navy) 0%, var(--acic-ui-blue-2) 100%);
    box-shadow: var(--acic-ui-shadow);
}

.acic-ca-directory__cta h3,
.acic-ca-profile__cta h3 {
    margin: 0 0 6px;
    color: #fff;
    font-size: 21px;
    font-weight: 720;
}

.acic-ca-directory__cta p,
.acic-ca-profile__cta p {
    margin: 0;
    max-width: 500px;
    color: rgba(255, 255, 255, .82);
    font-size: 14px;
}

.acic-ca-directory__cta-button,
.acic-ca-profile__cta .acic-ca-button {
    flex: 0 0 auto;
    min-height: 46px;
    padding: 12px 28px;
    border-color: #fff;
    background: #fff;
    color: var(--acic-ui-navy) !important;
    font-size: 14px;
}

.acic-ca-directory__cta-button:hover,
.acic-ca-directory__cta-button:focus-visible,
.acic-ca-profile__cta .acic-ca-button:hover,
.acic-ca-profile__cta .acic-ca-button:focus-visible {
    background: #f2f6ff;
}

/* ==========================================================================
   Public profile [acic_ficha_centro]
   ========================================================================== */

.acic-ca-profile__back {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 20px;
    color: var(--acic-ui-muted);
    font-size: 13.5px;
    font-weight: 700;
}

.acic-ca-profile__back svg {
    width: 16px;
    height: 16px;
}

.acic-ca-profile__back:hover {
    color: var(--acic-ui-blue);
}

.acic-ca-profile__header {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 380px;
    gap: 36px;
    margin-bottom: 36px;
    padding: 56px 60px;
    border-radius: var(--acic-ui-radius-lg);
    background:
        radial-gradient(circle at 90% 15%, rgba(255, 255, 255, .10), transparent 40%),
        linear-gradient(135deg, var(--acic-ui-navy) 0%, var(--acic-ui-navy-2) 100%);
    box-shadow: var(--acic-ui-shadow);
}

/*
 * A modest white "avatar" badge for the real center logo, sitting above
 * the status badges — identifies the center without competing with the
 * name for attention (h1 stays the visual anchor of the header).
 */
.acic-ca-profile__logo-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 68px;
    max-width: 200px;
    margin-bottom: 22px;
    padding: 10px 16px;
    border-radius: var(--acic-ui-radius);
    background: #fff;
    box-shadow: var(--acic-ui-shadow-sm);
}

.acic-ca-profile__logo-badge img {
    display: block;
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}

.acic-ca-profile__badges {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-bottom: 20px;
}

.acic-ca-profile__badge {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 8px 16px;
    border: 1px solid rgba(255, 255, 255, .28);
    border-radius: 999px;
    background: rgba(255, 255, 255, .12);
    color: #eaf2ff;
    font-size: 13px;
    font-weight: 700;
}

.acic-ca-profile__badge svg {
    width: 14px;
    height: 14px;
}

.acic-ca-profile__badge--positive {
    border-color: rgba(60, 219, 165, .45);
    background: rgba(60, 219, 165, .16);
    color: #b7f5dd;
}

.acic-ca-profile__header-main h1 {
    margin: 0 0 16px;
    color: #fff;
    font-size: clamp(30px, 3vw, 42px);
    font-weight: 750;
    letter-spacing: -.02em;
    line-height: 1.12;
}

.acic-ca-profile__location {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0 0 20px;
    color: rgba(255, 255, 255, .78);
    font-size: 14.5px;
    font-weight: 600;
}

.acic-ca-profile__location svg {
    width: 16px;
    height: 16px;
}

.acic-ca-profile__description {
    max-width: 640px;
    margin: 0 0 30px;
    color: rgba(255, 255, 255, .86);
    font-size: 15.5px;
    line-height: 1.7;
}

.acic-ca-profile__header-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
}

.acic-ca-profile__header-actions .acic-ca-button,
.acic-ca-profile__header-actions .acic-ca-button--ghost {
    min-height: 48px;
    padding: 12px 22px;
    font-size: 14px;
}

.acic-ca-profile__header-actions .acic-ca-button--ghost {
    border-color: rgba(255, 255, 255, .5);
    background: transparent;
    color: #fff !important;
}

.acic-ca-profile__header-actions .acic-ca-button--ghost:hover,
.acic-ca-profile__header-actions .acic-ca-button--ghost:focus-visible {
    background: rgba(255, 255, 255, .12);
    border-color: #fff;
    color: #fff !important;
}

.acic-ca-profile__contact-card {
    align-self: start;
    padding: 34px;
    border-radius: var(--acic-ui-radius-lg);
    background: var(--acic-ui-surface);
    box-shadow: var(--acic-ui-shadow-lg);
}

.acic-ca-profile__contact-list {
    display: flex;
    flex-direction: column;
    gap: 18px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.acic-ca-profile__contact-list li {
    display: flex;
    gap: 14px;
    align-items: flex-start;
}

.acic-ca-profile__contact-list svg {
    flex: 0 0 20px;
    width: 20px;
    height: 20px;
    margin-top: 2px;
    color: var(--acic-ui-blue);
}

.acic-ca-profile__contact-list strong {
    display: block;
    color: var(--acic-ui-ink);
    font-size: 14.5px;
    font-weight: 700;
    word-break: break-word;
}

.acic-ca-profile__contact-list small {
    color: var(--acic-ui-muted);
    font-size: 12px;
}

/* ---- Profile: sections ---- */
/*
 * align-items: start (not the grid default of stretch) so a section with
 * naturally tall content — e.g. a long specialties list — never forces
 * its shorter row-mate to stretch and leave a big empty gap at the
 * bottom. Each card is only ever as tall as its own content.
 */
.acic-ca-profile__sections {
    display: grid;
    align-items: start;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 32px;
    counter-reset: acic-profile-section;
    margin-bottom: 36px;
}

.acic-ca-profile__section {
    position: relative;
    grid-column: span 2;
    padding: 34px 36px 36px;
    border: 1px solid var(--acic-ui-line);
    border-radius: var(--acic-ui-radius-lg);
    background: var(--acic-ui-surface);
    box-shadow: var(--acic-ui-shadow-sm);
}

/*
 * Sections 1–6 (Acerca…Herramientas digitales) are similar enough in
 * content density to pair two per row. "Tipos de investigación y
 * especialidades" (7) and "Servicios habilitados" (8) go full-width
 * instead of pairing with each other — a multi-column specialties
 * checklist and a compact services table are too mismatched in natural
 * height to sit side by side without one dwarfing the other, even with
 * align-items: start above. The two studies tables (9–10) were already
 * full-width, they need the horizontal room.
 */
.acic-ca-profile__sections > .acic-ca-profile__section:nth-child(-n+6) {
    grid-column: span 1;
}

.acic-ca-profile__section h3 {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 0 0 22px;
    color: var(--acic-ui-navy-2);
    font-size: 19px;
    font-weight: 750;
}

.acic-ca-profile__section h3::before {
    display: grid;
    flex: 0 0 30px;
    width: 30px;
    height: 30px;
    place-items: center;
    border-radius: 50%;
    counter-increment: acic-profile-section;
    content: counter(acic-profile-section);
    background: var(--acic-ui-blue-soft);
    color: var(--acic-ui-blue-2);
    font-size: 13.5px;
    font-weight: 800;
}

.acic-ca-profile__section--green h3::before { background: var(--acic-ui-green-soft); color: #0b8a63; }
.acic-ca-profile__section--purple h3::before { background: var(--acic-ui-purple-soft); color: #6b45b9; }
.acic-ca-profile__section--rose h3::before { background: var(--acic-ui-rose-soft); color: #b23768; }
.acic-ca-profile__section--cyan h3::before { background: var(--acic-ui-cyan-soft); color: #0a7a7d; }
.acic-ca-profile__section--amber h3::before { background: var(--acic-ui-amber-soft); color: #986300; }

.acic-ca-profile__section p {
    margin: 0 0 20px;
    color: var(--acic-ui-text);
    font-size: 15px;
    line-height: 1.7;
}

.acic-ca-profile__empty-state {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 22px 24px;
    border: 1px dashed var(--acic-ui-line-strong);
    border-radius: var(--acic-ui-radius);
    background: var(--acic-ui-canvas);
    color: var(--acic-ui-muted);
    font-size: 14px;
}

.acic-ca-profile__empty-state svg {
    flex: 0 0 20px;
    width: 20px;
    height: 20px;
}

.acic-ca-profile__stat-row,
.acic-ca-profile__people-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
    gap: 16px;
}

.acic-ca-profile__stat {
    display: flex;
    flex-direction: column;
    gap: 6px;
    padding: 16px 18px;
    border: 1px solid var(--acic-ui-line);
    border-radius: var(--acic-ui-radius);
    background: var(--acic-ui-canvas);
}

.acic-ca-profile__stat svg {
    width: 18px;
    height: 18px;
    color: var(--acic-ui-blue);
}

.acic-ca-profile__stat strong {
    color: var(--acic-ui-navy-2);
    font-size: 17.5px;
    font-weight: 750;
}

.acic-ca-profile__stat small {
    color: var(--acic-ui-muted);
    font-size: 12px;
}

.acic-ca-profile__people-tile {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 18px;
    border: 1px solid var(--acic-ui-line);
    border-radius: var(--acic-ui-radius);
    background: var(--acic-ui-canvas);
    text-align: center;
}

.acic-ca-profile__people-tile small {
    color: var(--acic-ui-muted);
    font-size: 12px;
    font-weight: 700;
}

.acic-ca-profile__people-tile strong {
    color: var(--acic-ui-navy-2);
    font-size: 28px;
    font-weight: 750;
}

.acic-ca-profile__split {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 28px;
}

/* Tipos de investigación (usually ~6 short items) doesn't need as much
   room as Especialidades (can run much longer) — asymmetric split, only
   for this section, now that it's full-width. */
.acic-ca-profile__split--research {
    grid-template-columns: minmax(200px, 1fr) minmax(0, 2fr);
    gap: 40px;
}

.acic-ca-profile__contact-block p {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0 0 11px;
    color: var(--acic-ui-text);
    font-size: 14.5px;
}

.acic-ca-profile__contact-block svg {
    flex: 0 0 16px;
    width: 16px;
    height: 16px;
    color: var(--acic-ui-blue);
}

.acic-ca-profile__contact-title {
    color: var(--acic-ui-navy) !important;
    font-weight: 750 !important;
}

.acic-ca-profile__time-list {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.acic-ca-profile__time-item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 13px 16px;
    border: 1px solid var(--acic-ui-line);
    border-radius: var(--acic-ui-radius);
    background: var(--acic-ui-canvas);
}

.acic-ca-profile__time-item svg {
    flex: 0 0 18px;
    width: 18px;
    height: 18px;
    color: var(--acic-ui-blue);
}

.acic-ca-profile__time-item strong {
    display: block;
    color: var(--acic-ui-navy-2);
    font-size: 14.5px;
}

.acic-ca-profile__time-item small {
    color: var(--acic-ui-muted);
    font-size: 11.5px;
}

.acic-ca-profile__quality-indicator {
    display: flex;
    flex-direction: column;
    gap: 8px;
    align-items: flex-start;
    padding: 18px;
    border: 1px solid var(--acic-ui-line);
    border-radius: var(--acic-ui-radius);
    background: var(--acic-ui-canvas);
}

.acic-ca-profile__quality-indicator p {
    margin: 2px 0 8px !important;
    color: var(--acic-ui-muted) !important;
    font-size: 12.5px !important;
}

.acic-ca-profile__quality-indicator strong {
    color: var(--acic-ui-navy-2);
    font-size: 24px;
    font-weight: 750;
}

.acic-ca-profile__quality-indicator small {
    color: var(--acic-ui-muted);
    font-size: 12px;
}

/*
 * "Herramientas digitales" — one compact row per tool, small icon + name
 * on the left, small state pill on the right, thin separators, white/soft
 * background. Deliberately NOT the previous big colored-circle-per-item
 * treatment.
 */
.acic-ca-profile__tool-list {
    display: flex;
    flex-direction: column;
    margin: 0;
    padding: 0;
    border: 1px solid var(--acic-ui-line);
    border-radius: var(--acic-ui-radius);
    list-style: none;
    overflow: hidden;
}

.acic-ca-profile__tool-list li {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 17px 20px;
    background: var(--acic-ui-surface);
}

.acic-ca-profile__tool-list li + li {
    border-top: 1px solid var(--acic-ui-line);
}

.acic-ca-profile__tool-list li svg {
    flex: 0 0 19px;
    width: 19px;
    height: 19px;
}

.acic-ca-profile__tool-list li.is-yes svg { color: #0b8a63; }
.acic-ca-profile__tool-list li.is-no svg { color: var(--acic-ui-muted); }

.acic-ca-profile__tool-list span {
    flex: 1 1 auto;
    color: var(--acic-ui-ink);
    font-size: 14px;
    font-weight: 600;
}

.acic-ca-profile__tool-list strong {
    flex: 0 0 auto;
    padding: 4px 12px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 750;
}

.acic-ca-profile__tool-list li.is-yes strong {
    background: var(--acic-ui-green-soft);
    color: #0b8a63;
}

.acic-ca-profile__tool-list li.is-no strong {
    background: var(--acic-ui-canvas);
    color: var(--acic-ui-muted);
}

.acic-ca-profile__checklist {
    display: flex;
    flex-direction: column;
    gap: 13px;
    margin: 0 0 4px;
    padding: 0;
    list-style: none;
}

/* Especialidades can run much longer than Tipos de investigación — two
   CSS columns keep a long list compact instead of turning the section
   into one tall single-file column (avoids the empty-space problem next
   to Servicios habilitados, now that both are full-width anyway). */
.acic-ca-profile__checklist--columns {
    columns: 2;
    column-gap: 28px;
}

.acic-ca-profile__checklist--columns li {
    break-inside: avoid;
}

.acic-ca-profile__checklist li {
    display: flex;
    align-items: center;
    gap: 10px;
    color: var(--acic-ui-text);
    font-size: 14.5px;
}

.acic-ca-profile__checklist svg {
    flex: 0 0 16px;
    width: 16px;
    height: 16px;
    color: #0b8a63;
}

.acic-ca-profile__phase-tags {
    margin-top: 18px;
}

.acic-ca-profile__note {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-top: 18px !important;
    padding-top: 18px;
    border-top: 1px solid var(--acic-ui-line);
    font-size: 14px !important;
}

.acic-ca-profile__note svg {
    width: 16px;
    height: 16px;
    color: #0b8a63;
}

/*
 * Softer than the shared .acic-ca-table default (which is tuned for the
 * private portal's dense admin lists): larger radius/shadow on the wrap,
 * a plain bottom-border header instead of a filled gray bar, and more
 * generous row padding — reads as an institutional record, not a
 * back-office spreadsheet.
 */
.acic-ca-profile__table-wrap {
    border-radius: var(--acic-ui-radius-lg);
    box-shadow: var(--acic-ui-shadow-sm);
}

.acic-ca-profile__table {
    font-size: 14.5px;
}

.acic-ca-profile__table th {
    padding: 16px 20px !important;
    background: transparent !important;
    border-bottom: 2px solid var(--acic-ui-line) !important;
    color: var(--acic-ui-navy);
    font-size: 12.5px;
    font-weight: 750;
    letter-spacing: .01em;
}

.acic-ca-profile__table td {
    padding: 18px 20px !important;
}

.acic-ca-profile__table td small {
    color: var(--acic-ui-muted);
}

/* ---- Responsive: ~1300px ---- */
@media (max-width: 1300px) {
    .acic-ca-directory__hero {
        padding: 40px 44px;
    }
}

/* ---- Responsive: ~980px ---- */
@media (max-width: 980px) {
    .acic-ca-directory__hero {
        grid-template-columns: 1fr;
        min-height: 0;
        padding: 36px 32px;
    }

    .acic-ca-directory__hero-media {
        display: none;
    }

    .acic-ca-directory__featured {
        grid-template-columns: 1fr;
    }

    .acic-ca-directory__featured-media {
        display: none;
    }

    .acic-ca-directory__featured-content {
        padding: 32px;
    }

    .acic-ca-directory__values {
        grid-template-columns: 1fr;
    }

    .acic-ca-profile__header {
        grid-template-columns: 1fr;
        padding: 36px 32px;
    }

    .acic-ca-profile__contact-card {
        order: -1;
    }

    .acic-ca-profile__sections {
        grid-template-columns: 1fr;
    }

    .acic-ca-profile__sections > .acic-ca-profile__section {
        grid-column: span 1 !important;
    }
}

/* ---- Responsive: ≤720px ---- */
@media (max-width: 720px) {
    .acic-ca-directory,
    .acic-ca-profile {
        margin: 20px auto;
        padding: 0 16px 48px;
    }

    .acic-ca-directory__hero {
        padding: 28px 22px;
    }

    .acic-ca-directory__filters {
        padding: 22px;
    }

    .acic-ca-directory__filter-row {
        flex-direction: column;
        align-items: stretch;
    }

    .acic-ca-directory__filter:first-child {
        flex-basis: auto;
    }

    .acic-ca-directory__filter-submit {
        width: 100%;
        justify-content: center;
    }

    .acic-ca-directory__toolbar {
        flex-direction: column;
        align-items: flex-start;
    }

    .acic-ca-directory__cta,
    .acic-ca-profile__cta {
        flex-direction: column;
        align-items: flex-start;
    }

    .acic-ca-directory__cta-button,
    .acic-ca-profile__cta .acic-ca-button {
        width: 100%;
        text-align: center;
    }

    .acic-ca-profile__split,
    .acic-ca-profile__split--research {
        grid-template-columns: 1fr;
    }

    .acic-ca-profile__checklist--columns {
        columns: 1;
    }

    .acic-ca-profile__header {
        padding: 28px 20px;
    }
}

/* ==========================================================================
   Public directory — high-fidelity editorial pass (v0.23.0)
   Scoped to [acic_directorio_centros]; no portal/profile components changed.
   ========================================================================== */

.acic-ca-directory {
    max-width: 1440px;
    margin-top: 0;
    padding-bottom: 72px;
}

.acic-ca-directory__hero {
    position: relative;
    grid-template-columns: minmax(0, 1.04fr) minmax(420px, .96fr);
    gap: 0;
    min-height: 470px;
    padding: 0;
    overflow: hidden;
    border: 0;
    border-radius: 0;
    background: #F7F6F6;
    box-shadow: none;
}

.acic-ca-directory__hero-text {
    position: relative;
    z-index: 2;
    padding: 62px 30px 62px 62px;
}

.acic-ca-directory__hero-text::after {
    position: absolute;
    z-index: -1;
    top: 0;
    right: -110px;
    bottom: 0;
    width: 180px;
    background: linear-gradient(90deg, #F7F6F6 0%, rgba(247, 246, 246, 0) 100%);
    content: "";
    pointer-events: none;
}

.acic-ca-directory__hero-text h1 {
    max-width: 690px;
    margin-bottom: 18px;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(42px, 4vw, 60px);
    font-weight: 700;
    letter-spacing: -.035em;
    line-height: 1.04;
}

.acic-ca-directory__hero-text > p {
    max-width: 570px;
    margin-bottom: 34px;
    font-size: 17px;
    line-height: 1.65;
}

.acic-ca-directory__hero-media {
    position: relative;
    min-height: 470px;
    border-radius: 0;
    background: #F7F6F6;
    box-shadow: none;
}

.acic-ca-directory__hero-media::after {
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(247, 246, 246, .46) 0%, rgba(247, 246, 246, 0) 32%);
    content: "";
}

.acic-ca-directory__hero-media img {
    position: absolute;
    inset: 0;
    object-position: 62% center;
}

.acic-ca-directory__stats {
    display: inline-grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0;
    overflow: hidden;
    border: 1px solid var(--acic-ui-line);
    border-radius: var(--acic-ui-radius);
    background: var(--acic-ui-surface);
    box-shadow: var(--acic-ui-shadow-sm);
}

.acic-ca-directory__stat {
    min-width: 190px;
    padding: 17px 22px;
    border: 0;
    border-radius: 0;
    box-shadow: none;
}

.acic-ca-directory__stat + .acic-ca-directory__stat {
    border-left: 1px solid var(--acic-ui-line);
}

.acic-ca-directory__stat-icon {
    flex-basis: 42px;
    width: 42px;
    height: 42px;
    border-radius: 999px;
}

.acic-ca-directory__filters {
    margin-bottom: 22px;
    padding: 28px 30px 22px;
    background: var(--acic-ui-canvas);
    box-shadow: var(--acic-ui-shadow-sm);
}

.acic-ca-directory__filter-row {
    display: grid;
    grid-template-columns: minmax(240px, 1.45fr) repeat(4, minmax(145px, 1fr)) auto;
    gap: 14px;
    align-items: end;
}

.acic-ca-directory__filter,
.acic-ca-directory__filter:first-child {
    min-width: 0;
}

.acic-ca-directory__filter select,
.acic-ca-directory__search input[type="search"] {
    min-height: 48px;
    border-color: var(--acic-ui-line);
    border-radius: 10px;
    background-color: var(--acic-ui-surface);
    box-shadow: 0 1px 2px rgba(15, 37, 66, .04);
}

.acic-ca-directory__filter select:focus,
.acic-ca-directory__search input[type="search"]:focus {
    border-color: var(--acic-ui-blue);
    outline: 3px solid rgba(23, 107, 213, .12);
}

.acic-ca-directory__filter-submit {
    min-height: 48px;
    border: 1px solid var(--acic-ui-blue);
    background: var(--acic-ui-surface);
    color: var(--acic-ui-blue) !important;
    box-shadow: none;
}

.acic-ca-directory__filter-submit:hover,
.acic-ca-directory__filter-submit:focus-visible {
    background: var(--acic-ui-blue-soft);
    color: var(--acic-ui-blue-2) !important;
    box-shadow: none;
    transform: none;
}

.acic-ca-directory__chips {
    gap: 8px;
    margin-top: 18px;
    padding-top: 18px;
}

.acic-ca-directory__chip {
    min-height: 34px;
    padding: 7px 15px;
    border: 1px solid var(--acic-ui-line);
    background: var(--acic-ui-surface);
    color: var(--acic-ui-navy);
    font-size: 12.5px;
}

.acic-ca-directory__toolbar {
    margin-top: 18px;
    padding-top: 18px;
}

.acic-ca-directory__featured {
    position: relative;
    grid-template-columns: minmax(0, 1.08fr) minmax(420px, .92fr);
    min-height: 390px;
    margin-bottom: 36px;
    background: var(--acic-ui-surface);
}

.acic-ca-directory__featured-content {
    position: relative;
    z-index: 2;
    padding: 40px 22px 40px 40px;
    border-left: 0;
    background: var(--acic-ui-surface);
}

.acic-ca-directory__featured-content::after {
    position: absolute;
    z-index: -1;
    top: 0;
    right: -120px;
    bottom: 0;
    width: 180px;
    background: linear-gradient(90deg, var(--acic-ui-surface) 0%, rgba(255, 255, 255, 0) 100%);
    content: "";
    pointer-events: none;
}

.acic-ca-directory__featured-media {
    position: relative;
    min-height: 390px;
    background: var(--acic-ui-navy);
}

.acic-ca-directory__featured-media::after {
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(255, 255, 255, .22), transparent 32%);
    content: "";
}

.acic-ca-directory__featured-media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.acic-ca-directory__featured-label {
    margin-bottom: 18px;
    color: var(--acic-ui-blue);
    font-size: 14px;
    letter-spacing: 0;
    text-transform: none;
}

.acic-ca-directory__featured-header h2 {
    margin: 8px 0 0;
    color: var(--acic-ui-navy-2);
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(30px, 3vw, 42px);
    font-weight: 700;
    letter-spacing: -.025em;
    line-height: 1.1;
}

.acic-ca-directory__featured-description {
    max-width: 620px;
    margin-bottom: 24px;
}

.acic-ca-directory__featured-stats,
.acic-ca-directory__card-stats {
    color: var(--acic-ui-navy);
}

.acic-ca-directory__featured-stats > span,
.acic-ca-directory__card-stats > span {
    display: flex;
    align-items: center;
}

.acic-ca-directory__featured-stats strong,
.acic-ca-directory__card-stats strong {
    display: block;
    color: var(--acic-ui-navy-2);
    font-size: 16px;
    line-height: 1.05;
}

.acic-ca-directory__featured-stats small,
.acic-ca-directory__card-stats small {
    display: block;
    margin-top: 3px;
    color: var(--acic-ui-muted);
    font-size: 11.5px;
    font-weight: 650;
    line-height: 1.2;
}

.acic-ca-directory__featured-actions .acic-ca-button {
    min-width: 190px;
    justify-content: center;
    white-space: nowrap;
}

.acic-ca-directory__list-heading h2 {
    font-family: Georgia, "Times New Roman", serif;
    font-size: 29px;
}

.acic-ca-directory__grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
    margin-bottom: 38px;
}

.acic-ca-directory__card {
    min-height: 438px;
    padding: 24px;
    border-radius: 13px;
    box-shadow: 0 8px 24px rgba(15, 37, 66, .07);
}

.acic-ca-directory__card-logo-band {
    height: 88px;
    margin-bottom: 18px;
}

.acic-ca-directory__card-name {
    min-height: 47px;
    margin-bottom: 11px;
    font-size: 16.5px;
    line-height: 1.4;
}

.acic-ca-directory__card .acic-ca-directory__tags {
    min-height: 30px;
    margin-bottom: 14px;
}

.acic-ca-directory__card .acic-ca-tag {
    padding: 6px 10px;
    font-size: 11.5px;
}

.acic-ca-directory .acic-ca-tag--city {
    border-color: rgba(23, 107, 213, .14);
    background: var(--acic-ui-blue-soft);
    color: var(--acic-ui-blue-2);
}

.acic-ca-directory__card .acic-ca-tag:not(.acic-ca-tag--city) {
    border-color: var(--acic-ui-line);
    background: var(--acic-ui-canvas);
    color: var(--acic-ui-text);
}

.acic-ca-directory__card-description {
    min-height: calc(1.58em * 3);
    margin-bottom: 18px;
    line-height: 1.58;
}

.acic-ca-directory__card-stats {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    width: 100%;
    margin-bottom: 20px;
}

.acic-ca-directory__card-stats > span {
    gap: 8px;
    min-width: 0;
}

.acic-ca-directory__card-stats svg {
    flex: 0 0 18px;
    width: 18px;
    height: 18px;
}

.acic-ca-directory__card-button {
    width: auto;
    min-height: 38px;
    align-self: flex-start;
    padding: 9px 16px;
    font-size: 12.5px;
}

.acic-ca-directory__card-button svg {
    width: 14px;
    height: 14px;
}

.acic-ca-directory__values {
    gap: 0;
    padding: 38px 34px;
    border: 1px solid rgba(23, 107, 213, .08);
}

.acic-ca-directory__value {
    padding: 0 30px;
}

.acic-ca-directory__value + .acic-ca-directory__value {
    border-left: 1px solid rgba(23, 107, 213, .18);
}

.acic-ca-directory__value-icon {
    background: transparent;
    box-shadow: none;
}

.acic-ca-directory__cta {
    position: relative;
    isolation: isolate;
    min-height: 180px;
    overflow: hidden;
    background:
        linear-gradient(90deg, rgba(6, 53, 101, .98) 0%, rgba(0, 92, 178, .90) 58%, rgba(0, 92, 178, .64) 100%),
        url("../images/directory-hero.webp") center 58% / cover no-repeat;
}

.acic-ca-directory__cta h3 {
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(25px, 2.4vw, 34px);
}

.acic-ca-directory__cta-button {
    min-width: 210px;
    justify-content: center;
    white-space: nowrap;
}

/* The site header is positioned over the page hero on desktop. Reserve a
   deliberate safe area so the directory heading never sits underneath the
   navigation, while keeping the compact tablet/mobile composition intact. */
@media (min-width: 981px) {
    .acic-ca-directory__hero {
        min-height: 620px;
    }

    .acic-ca-directory__hero-text {
        padding-top: 162px;
        padding-bottom: 54px;
    }

    .acic-ca-directory__hero-media {
        min-height: 620px;
    }
}

@media (max-width: 1240px) {
    .acic-ca-directory__filter-row {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .acic-ca-directory__filter:first-child {
        grid-column: span 2;
    }

    .acic-ca-directory__grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 980px) {
    .acic-ca-directory__hero {
        grid-template-columns: minmax(0, 1.08fr) minmax(300px, .92fr);
        padding: 0;
    }

    .acic-ca-directory__hero-text {
        padding: 42px 12px 42px 36px;
    }

    .acic-ca-directory__hero-media,
    .acic-ca-directory__featured-media {
        display: block;
    }

    .acic-ca-directory__featured {
        grid-template-columns: 1fr;
    }

    .acic-ca-directory__featured-content {
        padding: 34px;
    }

    .acic-ca-directory__featured-content::after {
        display: none;
    }

    .acic-ca-directory__featured-media {
        min-height: 300px;
    }

    .acic-ca-directory__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .acic-ca-directory__values {
        grid-template-columns: 1fr;
        gap: 26px;
    }

    .acic-ca-directory__value {
        padding: 0;
    }

    .acic-ca-directory__value + .acic-ca-directory__value {
        padding-top: 26px;
        border-top: 1px solid rgba(23, 107, 213, .18);
        border-left: 0;
    }
}

@media (max-width: 720px) {
    .acic-ca-directory__hero {
        grid-template-columns: 1fr;
        padding: 0;
    }

    .acic-ca-directory__hero-text {
        padding: 34px 24px;
    }

    .acic-ca-directory__hero-text::after {
        display: none;
    }

    .acic-ca-directory__hero-text h1 {
        font-size: clamp(35px, 11vw, 46px);
    }

    .acic-ca-directory__hero-media {
        display: block;
        min-height: 250px;
    }

    .acic-ca-directory__filter-row,
    .acic-ca-directory__filter:first-child {
        display: grid;
        grid-template-columns: 1fr;
        grid-column: auto;
    }

    .acic-ca-directory__filter-clear {
        padding: 0;
    }

    .acic-ca-directory__toolbar-controls {
        width: 100%;
    }

    .acic-ca-directory__featured-header {
        align-items: flex-start;
    }

    .acic-ca-directory__featured-header h2 {
        font-size: 29px;
    }

    .acic-ca-directory__values,
    .acic-ca-directory__cta {
        padding: 30px 24px;
    }
}

@media (max-width: 620px) {
    .acic-ca-directory__stats {
        width: 100%;
    }

    .acic-ca-directory__stat {
        min-width: 0;
        padding: 14px;
    }

    .acic-ca-directory__stat-icon {
        display: none;
    }

    .acic-ca-directory__grid {
        grid-template-columns: 1fr;
    }

    .acic-ca-directory__card {
        min-height: 0;
    }

    .acic-ca-directory__featured-header {
        flex-direction: column;
    }

    .acic-ca-directory__featured-stats {
        gap: 18px;
    }
}

/* ==========================================================================
   Public directory — full-width photographic hero + floating filters (v4)
   ========================================================================== */

.acic-ca-full-bleed {
    overflow-x: clip;
}

.acic-ca-directory {
    --acic-directory-gutter: 24px;
    width: 100%;
    max-width: none;
    margin-top: 0;
    padding-right: var(--acic-directory-gutter);
    padding-left: var(--acic-directory-gutter);
}

.acic-ca-directory__filters,
.acic-ca-directory__featured,
.acic-ca-directory__list-heading,
.acic-ca-directory__grid,
.acic-ca-directory__empty,
.acic-ca-directory__pagination,
.acic-ca-directory__values,
.acic-ca-directory__cta {
    width: 100%;
    max-width: 1392px;
    margin-right: auto;
    margin-left: auto;
}

.acic-ca-directory__hero {
    position: relative;
    display: block;
    width: calc(100% + var(--acic-directory-gutter) + var(--acic-directory-gutter));
    max-width: none;
    min-height: 520px;
    margin-right: calc(-1 * var(--acic-directory-gutter));
    margin-bottom: 0;
    margin-left: calc(-1 * var(--acic-directory-gutter));
    overflow: hidden;
    border: 0;
    border-radius: 0;
    background: var(--acic-ui-navy);
}

.acic-ca-directory__hero-inner {
    position: relative;
    z-index: 2;
    display: flex;
    width: 100%;
    max-width: 1392px;
    min-height: 520px;
    align-items: center;
    margin: 0 auto;
    padding: 166px 24px 100px;
}

.acic-ca-directory__hero-text {
    width: min(690px, 58%);
    padding: 0;
    color: #fff;
}

.acic-ca-directory__hero-text::after {
    display: none;
}

.acic-ca-directory__hero-text h1 {
    max-width: 680px;
    margin: 0;
    color: #fff;
    font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
    font-size: clamp(43px, 4.25vw, 64px);
    font-weight: 800;
    letter-spacing: -.035em;
    line-height: 1.08;
}

.acic-ca-directory__hero-text h1::after {
    display: block;
    width: 54px;
    height: 4px;
    margin-top: 24px;
    border-radius: 999px;
    background: #f5c400;
    content: "";
}

.acic-ca-directory__hero-text > p {
    max-width: 630px;
    margin: 18px 0 0;
    color: rgba(255, 255, 255, .92);
    font-size: 16.5px;
    line-height: 1.65;
}

.acic-ca-directory__stats {
    display: none;
}

.acic-ca-directory__hero-media {
    position: absolute;
    z-index: 0;
    inset: 0;
    display: block;
    min-height: 0;
    background: var(--acic-ui-navy);
}

.acic-ca-directory__hero-media::after {
    position: absolute;
    inset: 0;
    background:
        linear-gradient(90deg, rgba(3, 39, 81, .98) 0%, rgba(0, 72, 151, .94) 48%, rgba(0, 67, 145, .66) 100%),
        linear-gradient(180deg, rgba(4, 42, 83, .18), rgba(4, 42, 83, .32));
    content: "";
}

.acic-ca-directory__hero-media img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 68% center;
}

.acic-ca-directory__filters {
    position: relative;
    z-index: 3;
    margin: -56px auto 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

/* The theme navigation floats over the first section on desktop. Keep the
   directory heading inside a predictable safe area below that navigation. */
@media (min-width: 981px) {
    .acic-ca-directory .acic-ca-directory__hero,
    .acic-ca-directory .acic-ca-directory__hero-inner {
        min-height: 650px;
    }

    .acic-ca-directory .acic-ca-directory__hero-inner {
        align-items: flex-start;
        padding-top: 230px !important;
        padding-bottom: 110px;
    }
}

.acic-ca-directory__filter-panel {
    padding: 22px 24px 18px;
    border: 1px solid rgba(7, 56, 104, .10);
    border-radius: 14px;
    background: var(--acic-ui-surface);
    box-shadow: 0 14px 36px rgba(15, 37, 66, .15);
}

.acic-ca-directory__filter-row {
    display: grid;
    grid-template-columns: minmax(250px, 1.55fr) repeat(4, minmax(140px, .9fr)) auto;
    gap: 14px;
    align-items: end;
}

.acic-ca-directory__filter > span:first-child {
    color: var(--acic-ui-muted);
    font-size: 12px;
    font-weight: 700;
}

.acic-ca-directory__filter select,
.acic-ca-directory__search input[type="search"] {
    min-height: 44px;
    border-color: var(--acic-ui-line);
    border-radius: 8px;
    background: #fff;
    font-size: 13px;
}

.acic-ca-directory__filter-submit {
    min-height: 44px;
    padding: 10px 18px;
    border: 1px solid var(--acic-ui-blue);
    border-radius: 8px;
    background: #fff;
    color: var(--acic-ui-blue) !important;
    box-shadow: none;
}

.acic-ca-directory__filter-clear {
    align-self: center;
    padding: 0;
}

.acic-ca-directory__chips {
    gap: 8px;
    margin-top: 16px;
    padding-top: 14px;
}

.acic-ca-directory__chip {
    min-height: 32px;
    padding: 6px 14px;
    border-color: var(--acic-ui-line);
    background: #fff;
    color: var(--acic-ui-navy);
    font-size: 12px;
}

.acic-ca-directory__toolbar {
    margin: 0;
    padding: 26px 8px 14px;
    border: 0;
}

.acic-ca-directory__count {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: var(--acic-ui-muted);
    font-size: 13px;
}

.acic-ca-directory__count::before {
    display: inline-block;
    width: 18px;
    height: 18px;
    border: 2px solid var(--acic-ui-blue);
    border-radius: 4px;
    box-shadow: inset 0 0 0 3px var(--acic-ui-surface);
    background: var(--acic-ui-blue-soft);
    content: "";
}

@media (max-width: 1240px) {
    .acic-ca-directory__filter-row {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .acic-ca-directory__filter:first-child {
        grid-column: span 2;
    }
}

@media (max-width: 980px) {
    .acic-ca-directory__hero {
        display: block;
        min-height: 500px;
        padding: 0;
    }

    .acic-ca-directory__hero-inner {
        min-height: 500px;
        padding: 144px 32px 94px;
    }

    .acic-ca-directory__hero-text {
        width: min(660px, 76%);
    }

    .acic-ca-directory__hero-media {
        position: absolute;
        min-height: 0;
    }

    .acic-ca-directory__filters {
        margin-top: -46px;
    }

    .acic-ca-directory__filter-row {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .acic-ca-directory__filter:first-child {
        grid-column: span 2;
    }
}

@media (max-width: 720px) {
    .acic-ca-directory {
        --acic-directory-gutter: 16px;
    }

    .acic-ca-directory__hero {
        min-height: 510px;
    }

    .acic-ca-directory__hero-inner {
        min-height: 510px;
        align-items: flex-start;
        padding: 136px 20px 88px;
    }

    .acic-ca-directory__hero-text {
        width: 100%;
    }

    .acic-ca-directory__hero-text h1 {
        font-size: clamp(35px, 10.5vw, 48px);
    }

    .acic-ca-directory__hero-text > p {
        font-size: 15px;
    }

    .acic-ca-directory__hero-media {
        display: block;
        min-height: 0;
    }

    .acic-ca-directory__hero-media::after {
        background: linear-gradient(90deg, rgba(3, 39, 81, .98), rgba(0, 72, 151, .86));
    }

    .acic-ca-directory__hero-media img {
        object-position: 72% center;
    }

    .acic-ca-directory__filters {
        margin-top: -40px;
    }

    .acic-ca-directory__filter-panel {
        padding: 18px;
    }

    .acic-ca-directory__filter-row,
    .acic-ca-directory__filter:first-child {
        grid-template-columns: 1fr;
        grid-column: auto;
    }

    .acic-ca-directory__toolbar {
        padding-right: 0;
        padding-left: 0;
    }
}

/* ==========================================================================
   Public center profile — reference-led institutional layout (v5)
   Scoped to [acic_ficha_centro]; data, routing and application logic unchanged.
   ========================================================================== */

.acic-ca-profile {
    --acic-profile-gutter: 24px;
    width: 100%;
    max-width: none;
    margin: 18px auto 0;
    padding: 0 var(--acic-profile-gutter) 64px;
}

.acic-ca-profile__back {
    margin: 0 0 16px;
    color: #53657c;
    font-size: 13px;
    font-weight: 600;
    text-decoration: none;
}

.acic-ca-profile__back,
.acic-ca-profile__sections,
.acic-ca-profile__cta {
    width: 100%;
    max-width: 1392px;
    margin-right: auto;
    margin-left: auto;
}

.acic-ca-profile__header {
    position: relative;
    display: block;
    width: calc(100% + var(--acic-profile-gutter) + var(--acic-profile-gutter));
    max-width: none;
    min-height: 520px;
    margin-right: calc(-1 * var(--acic-profile-gutter));
    margin-bottom: 26px;
    margin-left: calc(-1 * var(--acic-profile-gutter));
    padding: 0;
    overflow: hidden;
    border: 0;
    border-radius: 0;
    background:
        linear-gradient(90deg, rgba(4, 48, 102, .99) 0%, rgba(0, 70, 151, .94) 54%, rgba(0, 70, 151, .72) 100%),
        url("../images/directory-hero.webp") 67% center / cover no-repeat;
    box-shadow: 0 14px 36px rgba(15, 37, 66, .15);
}

.acic-ca-profile__header-inner {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 360px;
    gap: 32px;
    width: 100%;
    max-width: 1392px;
    min-height: 520px;
    align-items: center;
    margin: 0 auto;
    padding: 40px 24px;
}

.acic-ca-profile__header::after {
    position: absolute;
    inset: 0;
    background: radial-gradient(circle at 52% 45%, rgba(39, 138, 235, .16), transparent 42%);
    content: "";
    pointer-events: none;
}

.acic-ca-profile__header-inner,
.acic-ca-profile__header-main,
.acic-ca-profile__contact-card {
    position: relative;
    z-index: 1;
}

.acic-ca-profile__header-main {
    align-self: center;
    padding-right: 0;
}

.acic-ca-profile__logo-badge {
    position: absolute;
    top: 0;
    right: 0;
    width: 126px;
    height: 64px;
    margin: 0;
    padding: 9px 12px;
    border: 1px solid rgba(255, 255, 255, .22);
    border-radius: 12px;
    box-shadow: 0 8px 24px rgba(1, 31, 68, .18);
}

.acic-ca-profile__badges {
    gap: 9px;
    margin-bottom: 0;
}

.acic-ca-profile__badges--types {
    margin-bottom: 18px;
}

.acic-ca-profile__badges--status {
    margin: 18px 0 20px;
}

.acic-ca-profile__badge {
    min-height: 32px;
    padding: 6px 13px;
    border-color: rgba(255, 255, 255, .18);
    background: rgba(20, 116, 223, .72);
    color: #fff;
    font-size: 12px;
}

.acic-ca-profile__badge--positive {
    border-color: rgba(217, 244, 232, .9);
    background: #eefbf5;
    color: #087852;
}

.acic-ca-profile__badge--classification {
    border-color: rgba(116, 177, 243, .48);
    background: rgba(21, 111, 215, .76);
    color: #fff;
}

.acic-ca-profile__header-main h1 {
    max-width: 680px;
    margin: 0 0 14px;
    color: #fff;
    font-size: clamp(38px, 4vw, 56px);
    font-weight: 800;
    letter-spacing: -.035em;
    line-height: 1.08;
}

.acic-ca-profile__location {
    margin-bottom: 0;
    color: rgba(255, 255, 255, .94);
    font-size: 14px;
}

.acic-ca-profile__description {
    max-width: 650px;
    margin-bottom: 22px;
    color: rgba(255, 255, 255, .92);
    font-size: 15px;
    line-height: 1.65;
}

.acic-ca-profile__header-actions {
    gap: 14px;
}

.acic-ca-profile__header-actions .acic-ca-button,
.acic-ca-profile__header-actions .acic-ca-button--ghost {
    min-width: 190px;
    min-height: 48px;
    justify-content: center;
    padding: 12px 22px;
    border-radius: 8px;
    white-space: nowrap;
}

.acic-ca-profile__header-actions .acic-ca-button:not(.acic-ca-button--ghost) {
    border-color: #fff;
    background: #fff;
    color: #074a99 !important;
}

.acic-ca-profile__header-actions svg {
    flex: 0 0 18px;
    width: 18px !important;
    height: 18px !important;
}

.acic-ca-profile__contact-card {
    align-self: stretch;
    padding: 0 32px 34px;
    border: 1px solid rgba(7, 56, 104, .10);
    border-radius: 18px;
    background: rgba(255, 255, 255, .98);
    box-shadow: 0 12px 30px rgba(1, 31, 68, .20);
}

.acic-ca-profile__contact-logo {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 132px;
    margin: 0 -32px 8px;
    padding: 22px 32px;
    border-bottom: 1px solid #e1e7ef;
}

.acic-ca-profile__contact-logo img {
    display: block;
    width: auto;
    max-width: min(230px, 100%);
    height: auto;
    max-height: 96px;
    object-fit: contain;
}

.acic-ca-profile__contact-list {
    gap: 0;
}

.acic-ca-profile__contact-list li {
    gap: 16px;
    padding: 19px 0;
}

.acic-ca-profile__contact-list li + li {
    border-top: 1px solid #e4eaf2;
}

.acic-ca-profile__contact-list svg {
    width: 23px;
    height: 23px;
    color: #075bb5;
}

.acic-ca-profile__contact-list strong {
    color: #26364c;
    font-size: 14px;
    line-height: 1.4;
}

.acic-ca-profile__contact-list small {
    display: block;
    margin-top: 3px;
    font-size: 11.5px;
}

.acic-ca-profile__sections {
    gap: 20px;
    margin-bottom: 26px;
}

.acic-ca-profile__section,
.acic-ca-profile__sections > .acic-ca-profile__section:nth-child(-n+8) {
    grid-column: span 1;
}

.acic-ca-profile__sections > .acic-ca-profile__section:nth-child(n+9) {
    grid-column: span 2;
}

.acic-ca-profile__services-stack {
    display: flex;
    min-width: 0;
    height: 100%;
    flex-direction: column;
    gap: 14px;
}

.acic-ca-profile__services-stack > .acic-ca-profile__section {
    width: 100%;
}

.acic-ca-profile__institutional-photo {
    position: relative;
    width: 100%;
    min-height: 300px;
    flex: 1 1 300px;
    margin: 0;
    overflow: hidden;
    border: 1px solid #dce4ee;
    border-radius: 14px;
    background: var(--acic-ui-surface);
    box-shadow: 0 4px 14px rgba(15, 37, 66, .045);
}

.acic-ca-profile__institutional-photo img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.acic-ca-profile__section {
    padding: 22px 24px 24px;
    border-color: #dce4ee;
    border-radius: 14px;
    box-shadow: 0 4px 14px rgba(15, 37, 66, .045);
}

.acic-ca-profile__section h3 {
    gap: 10px;
    margin-bottom: 18px;
    color: #075bb5;
    font-size: 18px;
}

.acic-ca-profile__section h3::before {
    flex-basis: 26px;
    width: 26px;
    height: 26px;
    background: #075bb5;
    color: #fff;
    font-size: 12px;
}

.acic-ca-profile__section--green h3 { color: #078756; }
.acic-ca-profile__section--green h3::before { background: #109760; color: #fff; }
.acic-ca-profile__section--purple h3 { color: #075bb5; }
.acic-ca-profile__section--purple h3::before { background: #176bd5; color: #fff; }
.acic-ca-profile__section--rose h3 { color: #a31286; }
.acic-ca-profile__section--rose h3::before { background: #b11a96; color: #fff; }
.acic-ca-profile__section--cyan h3 { color: #087ca5; }
.acic-ca-profile__section--cyan h3::before { background: #087ca5; color: #fff; }
.acic-ca-profile__section--amber h3 { color: #d45716; }
.acic-ca-profile__section--amber h3::before { background: #d85c1d; color: #fff; }

.acic-ca-profile__section p {
    margin-bottom: 16px;
    font-size: 13.5px;
    line-height: 1.65;
}

.acic-ca-profile__split {
    gap: 16px;
}

.acic-ca-profile__research-stack {
    display: grid;
    gap: 16px;
}

.acic-ca-profile__contact-block,
.acic-ca-profile__quality-indicator,
.acic-ca-profile__research-stack > div {
    padding: 16px;
    border: 1px solid #e1e7ef;
    border-radius: 10px;
    background: #fff;
}

.acic-ca-profile__contact-block p {
    font-size: 12.75px;
}

.acic-ca-profile__time-item {
    min-height: 70px;
    padding: 13px 15px;
    border: 0;
    border-radius: 10px;
    background: linear-gradient(135deg, #f7faff, #edf4ff);
}

.acic-ca-profile__section--rose .acic-ca-profile__time-item {
    background: linear-gradient(135deg, #fff9fe, #f7edf8);
}

.acic-ca-profile__stat-row,
.acic-ca-profile__people-grid {
    gap: 10px;
}

.acic-ca-profile__stat {
    min-height: 92px;
    padding: 14px;
    border: 0;
    background: linear-gradient(135deg, #f9fbff, #eef5ff);
}

.acic-ca-profile__people-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.acic-ca-profile__people-tile {
    min-height: 132px;
    justify-content: space-between;
    padding: 18px 12px;
    border: 0;
    background: linear-gradient(180deg, #f7faff, #eaf3ff);
}

.acic-ca-profile__people-tile small {
    color: #26364c;
    line-height: 1.35;
}

.acic-ca-profile__people-tile strong {
    display: grid;
    width: 38px;
    height: 38px;
    place-items: center;
    align-self: center;
    border-radius: 50%;
    background: #176bd5;
    color: #fff;
    font-size: 18px;
}

.acic-ca-profile__quality-indicator {
    align-items: center;
    justify-content: center;
    text-align: center;
    background: linear-gradient(135deg, #f8fcfa, #eaf7f1);
}

.acic-ca-profile__tool-list {
    border-radius: 10px;
}

.acic-ca-profile__tool-list li {
    min-height: 68px;
    padding: 14px 16px;
}

.acic-ca-profile__tool-list strong {
    padding: 3px 9px;
}

.acic-ca-profile__checklist {
    gap: 10px;
}

.acic-ca-profile__checklist li {
    font-size: 12.75px;
}

.acic-ca-profile__checklist--columns {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px 22px;
    columns: auto;
}

.acic-ca-profile__phase-tags,
.acic-ca-profile__note {
    margin-top: 14px;
}

.acic-ca-profile__table-wrap {
    border: 1px solid #e0e6ef;
    border-radius: 10px;
    box-shadow: none;
}

.acic-ca-profile__table {
    font-size: 12px;
}

.acic-ca-profile__table th {
    padding: 12px 14px !important;
    border-bottom: 1px solid #dce4ee !important;
    background: #f3f6ff !important;
    color: #075bb5;
    font-size: 11px;
}

.acic-ca-profile__section--green .acic-ca-profile__table th {
    background: #0b925a !important;
    color: #fff;
}

.acic-ca-profile__section--rose .acic-ca-profile__table th {
    background: #f6ecfb !important;
    color: #821a94;
}

.acic-ca-profile__table td {
    padding: 13px 14px !important;
    vertical-align: middle;
}

.acic-ca-profile__studies [hidden] {
    display: none !important;
}

.acic-ca-profile__study-filters {
    display: grid;
    grid-template-columns: minmax(240px, 1.35fr) repeat(3, minmax(150px, 1fr)) auto;
    gap: 12px;
    align-items: end;
    margin-bottom: 18px;
    padding: 16px;
    border: 1px solid #dce4ee;
    border-radius: 10px;
    background: #f8faff;
}

.acic-ca-profile__study-filter {
    display: grid;
    gap: 6px;
    margin: 0;
}

.acic-ca-profile__study-filter > span {
    color: #52657d;
    font-size: 11px;
    font-weight: 700;
}

.acic-ca-profile__study-filter input,
.acic-ca-profile__study-filter select {
    width: 100%;
    min-height: 42px;
    margin: 0;
    padding: 9px 12px;
    border: 1px solid #ccd7e5;
    border-radius: 8px;
    background: #fff;
    color: #26364c;
    font: inherit;
    font-size: 12.5px;
}

.acic-ca-profile__study-clear {
    min-height: 42px;
    padding: 9px 16px;
    border: 1px solid #176bd5;
    border-radius: 8px;
    background: #fff;
    color: #075bb5;
    font-size: 12px;
    font-weight: 700;
    cursor: pointer;
}

.acic-ca-profile__study-empty {
    display: flex;
    align-items: center;
    gap: 10px;
    min-height: 82px;
    padding: 20px;
    border: 1px dashed #c8d3e0;
    border-radius: 10px;
    background: #f8faff;
    color: #6c7b90;
    font-size: 13px;
}

.acic-ca-profile__study-empty svg {
    width: 19px;
    height: 19px;
}

.acic-ca-profile__study-footer {
    display: flex;
    gap: 18px;
    align-items: center;
    justify-content: space-between;
    margin-top: 16px;
    color: #6c7b90;
    font-size: 12px;
}

.acic-ca-profile__study-pagination,
.acic-ca-profile__study-pagination > span {
    display: inline-flex;
    gap: 6px;
    align-items: center;
}

.acic-ca-profile__study-pagination button {
    display: inline-grid;
    width: 34px;
    height: 34px;
    place-items: center;
    padding: 0;
    border: 1px solid #d4deeb;
    border-radius: 8px;
    background: #fff;
    color: #075bb5;
    font-size: 12px;
    font-weight: 750;
    cursor: pointer;
}

.acic-ca-profile__study-pagination button.is-active {
    border-color: #075bb5;
    background: #075bb5;
    color: #fff;
}

.acic-ca-profile__study-pagination button:disabled {
    cursor: default;
    opacity: .42;
}

.acic-ca-profile__study-pagination svg {
    width: 14px;
    height: 14px;
}

.acic-ca-profile__cta {
    padding: 24px 34px;
    border: 0;
    border-radius: 14px;
    background: linear-gradient(90deg, #f3f7ff, #eef4ff);
    box-shadow: none;
}

.acic-ca-profile__cta h3 {
    color: #074a99;
    font-size: 19px;
}

.acic-ca-profile__cta p {
    max-width: 680px;
    color: #6c7b90;
    font-size: 13px;
}

.acic-ca-profile__cta .acic-ca-button {
    min-width: 200px;
    border-color: #176bd5;
    background: transparent;
    color: #075bb5 !important;
    white-space: nowrap;
}

.acic-ca-profile__header + .acic-ca-profile__back {
    margin-top: 16px;
    margin-bottom: 20px;
}

/* The ACIC theme navigation floats over the profile hero on desktop.
   Reserve a shared safe area for both columns so the title, logo and
   contact card always begin below the menu. */
@media (min-width: 981px) {
    .acic-ca-profile__header,
    .acic-ca-profile__header-inner {
        min-height: 700px;
    }

    .acic-ca-profile__header {
        margin-bottom: 0;
    }

    .acic-ca-profile__header-inner {
        align-items: start;
        padding-top: 155px !important;
        padding-bottom: 55px;
    }

    .acic-ca-profile__header-main {
        align-self: start;
    }
}

@media (max-width: 1120px) {
    .acic-ca-profile__header-inner {
        grid-template-columns: minmax(0, 1fr) 320px;
        padding-left: 32px;
        padding-right: 32px;
    }

    .acic-ca-profile__header-main {
        padding-right: 0;
    }

    .acic-ca-profile__logo-badge {
        display: none;
    }

    .acic-ca-profile__people-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .acic-ca-profile__checklist--columns {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .acic-ca-profile__study-filters {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 980px) {
    .acic-ca-profile__header {
        min-height: 0;
    }

    .acic-ca-profile__header-inner {
        grid-template-columns: 1fr;
        min-height: 0;
        padding: 34px 32px;
    }

    .acic-ca-profile__contact-card {
        order: initial;
    }

    .acic-ca-profile__sections {
        grid-template-columns: minmax(0, 1fr);
    }

    .acic-ca-profile__sections > .acic-ca-profile__section {
        min-width: 0;
        grid-column: span 1 !important;
    }

    .acic-ca-profile__services-stack {
        width: 100%;
        max-width: 100%;
    }
}

@media (max-width: 720px) {
    .acic-ca-profile {
        --acic-profile-gutter: 16px;
        margin-top: 16px;
        padding: 0 var(--acic-profile-gutter) 48px;
    }

    .acic-ca-profile__header {
        border-radius: 0;
    }

    .acic-ca-profile__header-inner {
        gap: 24px;
        padding: 28px 20px;
    }

    .acic-ca-profile__header-main h1 {
        font-size: clamp(34px, 10vw, 44px);
    }

    .acic-ca-profile__header-actions,
    .acic-ca-profile__header-actions .acic-ca-button,
    .acic-ca-profile__header-actions .acic-ca-button--ghost {
        width: 100%;
    }

    .acic-ca-profile__contact-card {
        padding: 0 22px 22px;
    }

    .acic-ca-profile__contact-logo {
        min-height: 112px;
        margin-right: -22px;
        margin-left: -22px;
        padding: 18px 22px;
    }

    .acic-ca-profile__contact-logo img {
        max-width: min(210px, 82%);
        max-height: 82px;
    }

    .acic-ca-profile__institutional-photo {
        min-height: 230px;
        flex-basis: 230px;
    }

    .acic-ca-location-picker {
        grid-template-columns: 1fr;
    }

    .acic-ca-profile__section {
        padding: 20px 18px;
    }

    .acic-ca-profile__split,
    .acic-ca-profile__people-grid {
        grid-template-columns: 1fr;
    }

    .acic-ca-profile__checklist--columns {
        grid-template-columns: 1fr;
        columns: 1;
    }

    .acic-ca-profile__study-filters {
        grid-template-columns: 1fr;
        padding: 14px;
    }

    .acic-ca-profile__study-footer {
        flex-direction: column;
        align-items: flex-start;
    }

    .acic-ca-profile__cta {
        padding: 24px 20px;
    }
}

/* ==========================================================================
   Completion dashboard + public-directory/profile refinements
   ========================================================================== */

.acic-ca-home-module-progress {
    display: grid;
    gap: 8px;
    margin-top: 18px;
}

.acic-ca-home-module-progress__item {
    display: flex;
    gap: 16px;
    align-items: center;
    justify-content: space-between;
    padding: 11px 13px;
    border: 1px solid var(--acic-ui-line);
    border-radius: 10px;
    background: var(--acic-ui-canvas);
}

.acic-ca-home-module-progress__item div,
.acic-ca-home-module-progress__item span {
    display: block;
    min-width: 0;
}

.acic-ca-home-module-progress__item strong {
    color: var(--acic-ui-navy-2);
    font-size: 13px;
}

.acic-ca-home-module-progress__item span {
    margin-top: 2px;
    color: var(--acic-ui-muted);
    font-size: 11.5px;
}

.acic-ca-home-module-progress__item b {
    flex: 0 0 auto;
    color: var(--acic-ui-green);
    font-size: 14px;
}

.acic-ca-information__summary {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
    justify-content: flex-end;
}

.acic-ca-directory__featured-logo-stage {
    display: flex;
    align-items: center;
    justify-content: center;
    width: min(100%, 420px);
    min-height: 116px;
    margin: 0 0 20px;
    padding: 14px 24px;
    border: 1px solid var(--acic-ui-line);
    border-radius: 12px;
    background: var(--acic-ui-surface);
}

.acic-ca-directory__featured-logo-stage .acic-ca-directory__featured-logo {
    display: block;
    flex: 0 1 auto;
    width: auto;
    max-width: min(260px, 100%);
    height: auto;
    max-height: 92px;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    object-fit: contain;
}

.acic-ca-directory__featured-actions .acic-ca-button {
    width: min(100%, 360px);
}

.acic-ca-profile__header-actions .acic-ca-button,
.acic-ca-profile__header-actions .acic-ca-button--ghost {
    gap: 11px;
}

.acic-ca-profile__phase-tag {
    border-width: 1px;
    border-style: solid;
    font-weight: 750;
}

.acic-ca-profile__phase-tag--fase-i,
.acic-ca-profile__phase-tag--fase-uno {
    border-color: var(--acic-ui-blue);
    background: var(--acic-ui-blue-soft);
    color: var(--acic-ui-blue);
}

.acic-ca-profile__phase-tag--fase-ii,
.acic-ca-profile__phase-tag--fase-dos {
    border-color: var(--acic-ui-cyan);
    background: var(--acic-ui-cyan-soft);
    color: var(--acic-ui-cyan);
}

.acic-ca-profile__phase-tag--fase-iii,
.acic-ca-profile__phase-tag--fase-tres {
    border-color: var(--acic-ui-purple);
    background: var(--acic-ui-purple-soft);
    color: var(--acic-ui-purple);
}

.acic-ca-profile__phase-tag--fase-iv,
.acic-ca-profile__phase-tag--fase-cuatro {
    border-color: var(--acic-ui-rose);
    background: var(--acic-ui-rose-soft);
    color: var(--acic-ui-rose);
}

.acic-ca-profile__investigator-confirmation {
    display: inline-flex;
    gap: 11px;
    align-items: center;
    margin-top: 16px;
    padding: 11px 15px;
    border: 1px solid var(--acic-ui-green);
    border-radius: 11px;
    background: var(--acic-ui-green-soft);
    color: var(--acic-ui-green);
}

.acic-ca-profile__investigator-confirmation > svg {
    flex: 0 0 22px;
    width: 22px;
    height: 22px;
}

.acic-ca-profile__investigator-confirmation span,
.acic-ca-profile__investigator-confirmation small,
.acic-ca-profile__investigator-confirmation strong {
    display: block;
}

.acic-ca-profile__investigator-confirmation small {
    color: var(--acic-ui-navy);
    font-size: 12px;
    font-weight: 700;
}

.acic-ca-profile__investigator-confirmation strong {
    margin-top: 2px;
    font-size: 14px;
}

@media (max-width: 720px) {
    .acic-ca-information__summary {
        width: 100%;
        justify-content: flex-start;
    }

    .acic-ca-directory__featured-logo-stage {
        width: 100%;
        min-height: 102px;
    }

    .acic-ca-home-module-progress__item {
        align-items: flex-start;
    }
}

/* Public directory/profile micro-refinements — v13 follow-up */
.acic-ca-directory__featured {
    min-height: 320px;
}

.acic-ca-directory__featured-content {
    padding: 28px 22px 28px 36px;
}

.acic-ca-directory__featured-media {
    min-height: 320px;
}

.acic-ca-directory__featured-logo-stage {
    justify-content: flex-start;
    width: auto;
    min-height: 0;
    margin: 0 0 10px;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
}

.acic-ca-directory__featured-logo-stage .acic-ca-directory__featured-logo {
    max-width: min(230px, 100%);
    max-height: 68px;
}

.acic-ca-directory__featured-label {
    margin-bottom: 10px;
}

.acic-ca-directory__featured-header h2 {
    margin-top: 6px;
}

.acic-ca-directory__featured-description {
    margin-bottom: 18px;
}

.acic-ca-directory__featured-actions .acic-ca-button {
    width: auto;
    min-width: 164px;
    min-height: 38px;
    padding: 8px 14px;
}

.acic-ca-profile__investigator-confirmation {
    max-width: 100%;
    white-space: nowrap;
}

.acic-ca-profile__investigator-confirmation strong {
    margin: 0;
    color: var(--acic-ui-navy);
    font-size: 13px;
    line-height: 1.25;
}

@media (max-width: 720px) {
    .acic-ca-directory__featured {
        min-height: 0;
    }

    .acic-ca-directory__featured-content {
        padding: 24px;
    }

    .acic-ca-directory__featured-media {
        min-height: 220px;
    }

    .acic-ca-directory__featured-logo-stage {
        width: auto;
        min-height: 0;
    }

    .acic-ca-profile__investigator-confirmation {
        white-space: normal;
    }
}

/* Public directory — featured center fidelity pass v14.1 */
.acic-ca-directory__featured {
    grid-template-columns: minmax(0, 54%) minmax(0, 46%);
    min-height: 348px;
    margin-bottom: 32px;
    border: 1px solid #d9e4f2;
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 8px 28px rgba(13, 58, 108, .07);
}

.acic-ca-directory__featured-content {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    min-width: 0;
    padding: 30px 38px 30px 48px;
    background: #fff;
}

.acic-ca-directory__featured-content::after {
    display: none;
}

.acic-ca-directory__featured-logo-stage {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    width: min(210px, 45%);
    height: 72px;
    min-height: 72px;
    margin: 0 0 10px;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.acic-ca-directory__featured-logo-stage .acic-ca-directory__featured-logo {
    display: block;
    width: auto;
    max-width: 100%;
    height: auto;
    max-height: 66px;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    object-fit: contain;
    object-position: left center;
}

.acic-ca-directory__featured-label {
    position: absolute;
    top: 28px;
    right: 38px;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    margin: 0;
    color: var(--acic-ui-blue);
    font-size: 13.5px;
    font-weight: 800;
    letter-spacing: 0;
    text-transform: none;
    white-space: nowrap;
}

.acic-ca-directory__featured-label svg {
    width: 15px;
    height: 15px;
}

.acic-ca-directory__featured-header {
    margin: 0 0 10px;
}

.acic-ca-directory__featured-header .acic-ca-directory__tags {
    margin-bottom: 8px;
}

.acic-ca-directory__featured-header h2 {
    max-width: 650px;
    margin: 0;
    font-size: clamp(30px, 2.65vw, 42px);
    line-height: 1.08;
}

.acic-ca-directory__featured-description {
    display: -webkit-box;
    max-width: 650px;
    margin: 0 0 22px;
    overflow: hidden;
    color: var(--acic-ui-text);
    font-size: 15px;
    line-height: 1.6;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}

.acic-ca-directory__featured-footer {
    display: flex;
    align-items: center;
    gap: clamp(28px, 4vw, 58px);
    margin-top: auto;
}

.acic-ca-directory__featured-actions {
    flex: 0 0 auto;
    margin: 0;
}

.acic-ca-directory__featured-actions .acic-ca-button {
    width: auto;
    min-width: 0;
    min-height: 42px;
    padding: 9px 16px;
    gap: 9px;
    border-radius: 8px;
    font-size: 14px;
    line-height: 1;
}

.acic-ca-directory__featured-actions .acic-ca-button svg {
    width: 19px;
    height: 19px;
}

.acic-ca-directory__featured-stats {
    display: flex;
    flex: 1 1 auto;
    flex-wrap: nowrap;
    align-items: center;
    gap: clamp(24px, 3vw, 44px);
    min-width: 0;
    margin: 0;
}

.acic-ca-directory__featured-stats > span {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-width: 0;
    white-space: nowrap;
}

.acic-ca-directory__featured-stats > span > span {
    display: flex;
    align-items: baseline;
    gap: 6px;
}

.acic-ca-directory__featured-stats strong {
    display: inline;
    font-size: 18px;
    line-height: 1;
}

.acic-ca-directory__featured-stats small {
    display: inline;
    margin: 0;
    color: var(--acic-ui-muted);
    font-size: 12px;
    font-weight: 700;
    line-height: 1.2;
}

.acic-ca-directory__featured-stats svg {
    flex: 0 0 auto;
    width: 19px;
    height: 19px;
}

.acic-ca-directory__featured-media {
    min-height: 348px;
    overflow: hidden;
    background: var(--acic-ui-navy);
}

.acic-ca-directory__featured-media::after {
    background: linear-gradient(90deg, rgba(255,255,255,.18) 0%, rgba(255,255,255,0) 15%);
}

.acic-ca-directory__featured-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

@media (max-width: 980px) {
    .acic-ca-directory__featured {
        grid-template-columns: 1fr;
        min-height: 0;
    }

    .acic-ca-directory__featured-content {
        padding: 30px 32px;
    }

    .acic-ca-directory__featured-media {
        min-height: 300px;
    }

    .acic-ca-directory__featured-footer {
        flex-wrap: wrap;
        gap: 20px 28px;
    }
}

@media (max-width: 620px) {
    .acic-ca-directory__featured-content {
        padding: 24px;
    }

    .acic-ca-directory__featured-logo-stage {
        width: 150px;
        height: 60px;
        min-height: 60px;
        margin-bottom: 14px;
    }

    .acic-ca-directory__featured-logo-stage .acic-ca-directory__featured-logo {
        max-height: 56px;
    }

    .acic-ca-directory__featured-label {
        position: static;
        margin: 0 0 12px;
    }

    .acic-ca-directory__featured-header h2 {
        font-size: clamp(27px, 8vw, 34px);
    }

    .acic-ca-directory__featured-footer,
    .acic-ca-directory__featured-stats {
        align-items: flex-start;
    }

    .acic-ca-directory__featured-footer {
        flex-direction: column;
    }

    .acic-ca-directory__featured-stats {
        flex-wrap: wrap;
        gap: 16px 24px;
    }

    .acic-ca-directory__featured-media {
        min-height: 230px;
    }
}

/* ACIC 0.24.7 — correos adicionales de contactos */
.acic-ca-additional-emails { display: grid; gap: 8px; }
.acic-ca-additional-emails .acic-ca-field-label { font-weight: 600; }
.acic-ca-additional-email-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px; align-items: center; margin-bottom: 8px; }
.acic-ca-additional-emails small { display: block; opacity: .75; }
@media (max-width: 640px) { .acic-ca-additional-email-row { grid-template-columns: 1fr; } }


/* 0.24.8 — ACIC administrative center management context */
.acic-ca-admin-center-manager__form {
    display: grid;
    grid-template-columns: minmax(180px, 1fr) minmax(280px, 2fr) auto;
    gap: 12px;
    align-items: end;
}
.acic-ca-admin-center-manager__form label {
    grid-column: 1 / -1;
    font-weight: 700;
}
.acic-ca-admin-center-manager__form select,
.acic-ca-center-switcher--admin select {
    min-height: 42px;
}
.acic-ca-admin-context {
    display: flex;
    gap: 8px 14px;
    align-items: center;
    flex-wrap: wrap;
    padding: 12px 18px;
    border-bottom: 1px solid rgba(19, 75, 113, .12);
    background: rgba(232, 244, 252, .78);
    font-size: 13px;
}
.acic-ca-admin-context strong {
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: .06em;
}
.acic-ca-center-switcher--admin {
    gap: 10px;
}
.acic-ca-admin-center-back {
    margin-left: auto;
    white-space: nowrap;
}
@media (max-width: 760px) {
    .acic-ca-admin-center-manager__form {
        grid-template-columns: 1fr;
    }
    .acic-ca-admin-center-manager__form label {
        grid-column: auto;
    }
    .acic-ca-admin-center-back {
        margin-left: 0;
        width: 100%;
        text-align: center;
    }
}


/* 0.24.17 — directorio móvil + barra flotante del portal */
.acic-ca-directory__filter-submit {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 48px;
    padding: 10px 18px;
    border-color: #0f4b80;
    background: linear-gradient(180deg, #0f4b80, #0b3c66);
    color: #fff !important;
    box-shadow: 0 8px 18px rgba(11, 60, 102, .18);
    white-space: nowrap;
}

.acic-ca-directory__filter-submit:hover,
.acic-ca-directory__filter-submit:focus-visible {
    background: linear-gradient(180deg, #0d446f, #083455);
    color: #fff !important;
    box-shadow: 0 10px 20px rgba(11, 60, 102, .22);
    transform: none;
}

.acic-ca-directory__filter-submit-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: none;
}

.acic-ca-directory__filter-submit svg {
    width: 18px;
    height: 18px;
    display: block;
    flex: none;
}

.acic-ca-directory__filter-submit-label {
    line-height: 1;
}

.acic-ca-information-form {
    padding-bottom: 132px;
}

.acic-ca-form-actions--floating {
    position: fixed;
    left: 50%;
    bottom: max(16px, env(safe-area-inset-bottom));
    z-index: 90;
    width: min(calc(100vw - 32px), 1040px);
    margin: 0;
    padding: 14px 18px;
    border: 1px solid rgba(12, 70, 116, .18);
    border-top: 3px solid var(--acic-ui-blue);
    border-radius: 14px;
    background: rgba(255, 255, 255, .98);
    box-shadow: 0 16px 36px rgba(18, 47, 77, .18);
    backdrop-filter: blur(10px);
    transform: translateX(-50%);
}

.acic-ca-form-actions--floating p {
    margin: 0;
    color: #4a6172;
    line-height: 1.45;
}

@media (max-width: 980px) {
    .acic-ca-directory__filter-submit {
        width: 100%;
    }

    .acic-ca-form-actions--floating {
        width: min(calc(100vw - 24px), 860px);
    }
}

@media (max-width: 720px) {
    .acic-ca-directory__filter-row {
        gap: 12px;
    }

    .acic-ca-directory__filter-submit {
        min-height: 52px;
        justify-content: center;
    }

    .acic-ca-information-form {
        padding-bottom: 176px;
    }

    .acic-ca-form-actions--floating {
        display: grid;
        grid-template-columns: 1fr;
        gap: 10px;
        left: 12px;
        right: 12px;
        bottom: max(12px, env(safe-area-inset-bottom));
        width: auto;
        transform: none;
        padding: 14px;
    }

    .acic-ca-form-actions--floating .acic-ca-button {
        width: 100%;
    }
}


/* 0.24.19 — cierre de sesión visible en la cabecera del portal */
.acic-ca-portal__header {
    position: relative;
}

.acic-ca-portal__header-copy {
    min-width: 0;
    padding-right: 150px;
}

.acic-ca-logout {
    position: absolute;
    top: 24px;
    right: 28px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    min-height: 38px;
    padding: 8px 12px;
    border: 1px solid rgba(15, 75, 128, .2);
    border-radius: 9px;
    background: rgba(255, 255, 255, .88);
    color: #0f4b80 !important;
    font-size: 12.5px;
    font-weight: 700;
    line-height: 1;
    text-decoration: none !important;
    box-shadow: 0 4px 12px rgba(15, 54, 87, .08);
    transition: background .15s ease, border-color .15s ease, box-shadow .15s ease;
}

.acic-ca-logout svg {
    width: 16px;
    height: 16px;
    flex: none;
}

.acic-ca-logout:hover,
.acic-ca-logout:focus-visible {
    border-color: rgba(15, 75, 128, .38);
    background: #fff;
    color: #0b3c66 !important;
    box-shadow: 0 6px 16px rgba(15, 54, 87, .13);
}

@media (max-width: 720px) {
    .acic-ca-portal__header-copy {
        padding-right: 0;
    }

    .acic-ca-logout {
        position: static;
        grid-column: 1 / -1;
        justify-self: start;
        margin-top: 4px;
    }
}


/* 0.24.21 — alta de centros desde Área privada ACIC */
.acic-ca-admin-center-create__form {
    display: grid;
    grid-template-columns: minmax(240px, 1.5fr) minmax(180px, .8fr) auto;
    gap: 12px;
    align-items: end;
}
.acic-ca-admin-center-create__form label {
    display: grid;
    gap: 6px;
    color: #334d5e;
    font-size: 13px;
    font-weight: 700;
}
.acic-ca-admin-center-create__form input {
    width: 100%;
    min-height: 44px;
    padding: 9px 11px;
    border: 1px solid var(--acic-ui-line-strong);
    border-radius: 9px;
    background: #fff;
    color: var(--acic-ui-ink);
    font: inherit;
}
@media (max-width: 760px) {
    .acic-ca-admin-center-create__form {
        grid-template-columns: 1fr;
    }
    .acic-ca-admin-center-create__form .acic-ca-button {
        width: 100%;
    }
}

/* 0.24.32 — Validaciones y comunicaciones en Área privada ACIC */
.acic-ca-admin-nav{display:flex;gap:8px;padding:14px clamp(18px,4vw,42px);background:#fff;border-bottom:1px solid #e4e7eb;overflow:auto}.acic-ca-admin-nav__item{display:inline-flex;align-items:center;white-space:nowrap;padding:9px 14px;border-radius:999px;text-decoration:none!important;color:#384556;font-size:14px;font-weight:700}.acic-ca-admin-nav__item:hover,.acic-ca-admin-nav__item.is-active{background:#eef3f8;color:#142c47}.acic-ca-admin-nav__item.is-active{box-shadow:inset 0 0 0 1px #cfd9e4}
.acic-ca-admin-validation-hero{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:26px 28px;margin-bottom:22px;border:1px solid #dce4ec;border-radius:16px;background:linear-gradient(135deg,#f8fafc,#fff);box-shadow:0 8px 24px rgba(35,51,68,.06)}.acic-ca-admin-validation-hero h3{margin:3px 0 7px;font-size:22px;color:#172b42}.acic-ca-admin-validation-hero p{margin:0;max-width:760px;color:#526273}.acic-ca-validation-metrics{margin-bottom:18px}
.acic-ca-communications-summary{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0;margin-bottom:18px;padding:0;overflow:hidden}.acic-ca-communications-summary>div{padding:18px 16px;border-right:1px solid #e6e9ed}.acic-ca-communications-summary>div:last-child{border-right:0}.acic-ca-communications-summary strong{display:block;font-size:23px;color:#172b42}.acic-ca-communications-summary span{display:block;margin-top:3px;font-size:12px;color:#687687}
.acic-ca-filter-chips{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 20px}.acic-ca-filter-chip{display:inline-flex;gap:8px;align-items:center;padding:8px 12px;border:1px solid #dce2e8;border-radius:999px;background:#fff;color:#415164;text-decoration:none!important;font-weight:700;font-size:13px}.acic-ca-filter-chip b{display:inline-grid;place-items:center;min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:#eef2f5;font-size:11px}.acic-ca-filter-chip.is-active{background:#172f4d;color:#fff;border-color:#172f4d}.acic-ca-filter-chip.is-active b{background:rgba(255,255,255,.18)}
.acic-ca-validation-cards{display:grid;gap:16px}.acic-ca-validation-center-card{padding:0;overflow:hidden}.acic-ca-validation-center-card__header{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:20px 22px;border-bottom:1px solid #e8ebef}.acic-ca-validation-center-card__header h3{margin:6px 0 2px;font-size:19px;color:#172b42}.acic-ca-validation-center-card__header p{margin:0;color:#6a7684;font-size:13px}.acic-ca-status--overdue,.acic-ca-status--due{background:#fff1f0!important;color:#9c2f2a!important}.acic-ca-status--pending,.acic-ca-status--never{background:#fff7df!important;color:#7b5b00!important}.acic-ca-status--current{background:#eaf7ef!important;color:#22663b!important}
.acic-ca-validation-center-card__facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:#e7ebef;border-bottom:1px solid #e7ebef}.acic-ca-validation-center-card__facts>div{padding:14px 18px;background:#fbfcfd}.acic-ca-validation-center-card__facts span{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:#788594}.acic-ca-validation-center-card__facts strong{display:block;margin-top:4px;color:#26394e;font-size:13px}.acic-ca-validation-center-card .acic-ca-validation-missing{margin:16px 20px}.acic-ca-validation-complete{margin:16px 20px}.acic-ca-validation-center-card__actions{padding:0 20px 18px}.acic-ca-validation-send-form{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap}.acic-ca-validation-send-form details{flex:1;min-width:260px;border:1px solid #dde3e8;border-radius:10px;background:#fff}.acic-ca-validation-send-form summary{cursor:pointer;padding:10px 12px;font-weight:700;color:#405064}.acic-ca-recipient-list{padding:0 12px 10px;max-height:210px;overflow:auto}.acic-ca-recipient-list label{display:flex;gap:8px;align-items:flex-start;padding:7px 0;border-top:1px solid #edf0f2}.acic-ca-recipient-list label span{display:flex;flex-direction:column}.acic-ca-recipient-list small{color:#718091}.acic-ca-communication-history{border-top:1px solid #e8ebef;padding:13px 20px 18px}.acic-ca-communication-history>summary{cursor:pointer;font-weight:700;color:#43556a}.acic-ca-communication-timeline{display:grid;gap:8px;margin-top:12px}.acic-ca-communication-row{display:flex;justify-content:space-between;gap:18px;padding:10px 12px;border-radius:10px;background:#f7f9fb}.acic-ca-communication-row>div:first-child{display:flex;flex-direction:column}.acic-ca-communication-row>div:first-child span{font-size:12px;color:#6d7a89}.acic-ca-communication-row__events{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end;font-size:11px}.acic-ca-communication-row__events b{padding:4px 8px;border-radius:999px;background:#e9eef3;color:#36495e}
.acic-ca-center-validation-banner{display:flex;align-items:center;gap:16px;margin:0 0 20px;padding:18px 20px}.acic-ca-center-validation-banner.needs-attention{border-left:4px solid #d6a900}.acic-ca-center-validation-banner__icon{width:42px;height:42px;display:grid;place-items:center;border-radius:12px;background:#edf3f8;color:#193a5d;flex:0 0 auto}.acic-ca-center-validation-banner__icon svg{width:22px;height:22px}.acic-ca-center-validation-banner__copy{flex:1}.acic-ca-center-validation-banner__copy>span{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:#748292;font-weight:700}.acic-ca-center-validation-banner__copy h3{margin:2px 0 3px;font-size:18px}.acic-ca-center-validation-banner__copy p{margin:0;color:#687687;font-size:13px}
@media(max-width:900px){.acic-ca-communications-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.acic-ca-communications-summary>div{border-bottom:1px solid #e6e9ed}.acic-ca-validation-center-card__facts{grid-template-columns:1fr}.acic-ca-admin-validation-hero,.acic-ca-validation-center-card__header,.acic-ca-center-validation-banner{align-items:flex-start;flex-direction:column}.acic-ca-validation-center-card__header .acic-ca-button,.acic-ca-center-validation-banner .acic-ca-button{width:100%;text-align:center}.acic-ca-communication-row{flex-direction:column}.acic-ca-communication-row__events{justify-content:flex-start}}
.acic-ca-validation-send-form--primary{margin-top:10px;padding-top:10px;border-top:1px dashed #dfe4e9}.acic-ca-button--warning{background:#6f5500!important;border-color:#6f5500!important;color:#fff!important}


/* 0.24.33 — Ajustes de ancho y visualización del historial en Validaciones */
.acic-ca-admin-validations{position:relative;z-index:1;width:min(1440px,calc(100vw - 32px));max-width:none;margin:72px auto 32px;overflow:visible}
.acic-ca-admin-validations .acic-ca-portal__header{padding:30px 36px 28px}
.acic-ca-admin-validations .acic-ca-portal__content{padding:clamp(24px,2.2vw,36px)}
.acic-ca-admin-validations .acic-ca-validation-cards{gap:20px}
.acic-ca-admin-validations .acic-ca-validation-center-card{border-radius:16px}
.acic-ca-admin-validations .acic-ca-communication-history{margin-top:6px;padding:18px 20px 22px;background:linear-gradient(180deg,#fcfdff 0%,#f7fafc 100%)}
.acic-ca-admin-validations .acic-ca-communication-history>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;list-style:none}
.acic-ca-admin-validations .acic-ca-communication-history>summary::-webkit-details-marker{display:none}
.acic-ca-admin-validations .acic-ca-communication-history[open]>summary{margin-bottom:14px}
.acic-ca-admin-validations .acic-ca-communication-timeline{display:grid;gap:10px;max-height:540px;overflow:auto;padding-right:4px}
.acic-ca-admin-validations .acic-ca-communication-row{align-items:flex-start;border:1px solid #e5ebf1;background:#fff;padding:14px 16px}
.acic-ca-admin-validations .acic-ca-communication-row__primary{display:flex;flex:1 1 320px;min-width:0;flex-direction:column;gap:4px}
.acic-ca-admin-validations .acic-ca-communication-row__primary strong{font-size:15px;line-height:1.35;color:#172b42}
.acic-ca-admin-validations .acic-ca-communication-row__primary span{font-size:13px;color:#4e6276;word-break:break-word}
.acic-ca-admin-validations .acic-ca-communication-row__primary small{font-size:12px;color:#6d7a89;word-break:break-word}
.acic-ca-admin-validations .acic-ca-communication-row__primary code{font-size:11px;padding:2px 6px;border-radius:999px;background:#f1f5f9;color:#314355}
.acic-ca-admin-validations .acic-ca-communication-row__events{display:flex;flex:0 1 420px;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.acic-ca-admin-validations .acic-ca-communication-row__events b,.acic-ca-admin-validations .acic-ca-communication-row__events span{white-space:nowrap}
.acic-ca-admin-validations .acic-ca-communication-row__events span{padding:4px 8px;border-radius:999px;background:#f3f6f8;color:#405265;font-size:11px}
@media (max-width:1200px){.acic-ca-admin-validations{width:calc(100vw - 24px);margin-top:56px}}
@media (max-width:900px){.acic-ca-admin-validations{width:calc(100vw - 16px);margin-top:22px}.acic-ca-admin-validations .acic-ca-communication-timeline{max-height:none}.acic-ca-admin-validations .acic-ca-communication-row__events{justify-content:flex-start;flex-basis:100%}}


/* 0.24.34 — Validaciones master/detail: listado + ficha seleccionada */
.acic-ca-admin-validations{
    width:min(1180px,calc(100% - 32px));
    max-width:1180px;
    margin:120px auto 36px;
    overflow:hidden;
}
.acic-ca-admin-validations .acic-ca-portal__header{padding:26px 30px;min-height:118px}
.acic-ca-admin-validations .acic-ca-portal__content{padding:26px}
.acic-ca-admin-validation-hero{padding:22px 24px;margin-bottom:18px}
.acic-ca-admin-validation-hero h3{font-size:20px}
.acic-ca-validation-overview{display:grid;gap:14px;margin-bottom:16px}
.acic-ca-admin-validations .acic-ca-validation-metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0}
.acic-ca-admin-validations .acic-ca-validation-metrics .acic-ca-metric{min-height:88px;padding:16px 18px}
.acic-ca-admin-validations .acic-ca-communications-summary{margin:0;border-radius:13px}
.acic-ca-filter-chips{margin-bottom:16px}

.acic-ca-validation-workspace{
    display:grid;
    grid-template-columns:310px minmax(0,1fr);
    gap:18px;
    align-items:start;
}
.acic-ca-center-browser{
    padding:0;
    overflow:hidden;
    position:sticky;
    top:155px;
}
.acic-ca-center-browser__header{
    padding:16px;
    border-bottom:1px solid #e3e9ef;
    background:#fff;
}
.acic-ca-center-browser__header>div{
    display:flex;
    align-items:center;
    justify-content:space-between;
    margin-bottom:11px;
    color:#17314d;
    font-weight:750;
}
.acic-ca-center-browser__header>div span{font-size:14px}
.acic-ca-center-browser__header>div strong{
    display:grid;
    place-items:center;
    min-width:28px;
    height:28px;
    padding:0 8px;
    border-radius:999px;
    background:#edf3f8;
    font-size:12px;
}
.acic-ca-center-browser__search{display:block}
.acic-ca-center-browser__search input{
    width:100%;
    height:40px;
    padding:8px 12px;
    border:1px solid #cfd9e3;
    border-radius:10px;
    background:#f9fbfd;
    color:#1d334a;
    font:inherit;
    font-size:13px;
    box-shadow:none;
}
.acic-ca-center-browser__search input:focus{
    border-color:#6fa8e8;
    outline:3px solid rgba(23,107,213,.11);
}
.acic-ca-center-browser__list{
    max-height:610px;
    overflow:auto;
    background:#fbfcfe;
}
.acic-ca-center-browser__item{
    display:block;
    padding:13px 15px;
    border-bottom:1px solid #e7edf2;
    background:#fff;
    color:#26394e!important;
    text-decoration:none!important;
    transition:background .16s ease,border-color .16s ease,box-shadow .16s ease;
}
.acic-ca-center-browser__item:hover{background:#f5f9fd}
.acic-ca-center-browser__item.is-active{
    position:relative;
    background:#edf5ff;
    box-shadow:inset 4px 0 0 #176bd5;
}
.acic-ca-center-browser__name{
    display:block;
    color:#17314d;
    font-size:13px;
    font-weight:750;
    line-height:1.35;
}
.acic-ca-center-browser__meta{
    display:flex;
    gap:6px;
    flex-wrap:wrap;
    align-items:center;
    margin-top:7px;
    font-size:11px;
    color:#68798a;
}
.acic-ca-center-browser__meta>span{
    padding:3px 7px;
    border-radius:999px;
    background:#eef2f6;
    font-weight:700;
}
.acic-ca-center-browser__meta em{
    padding:3px 7px;
    border-radius:999px;
    background:#fff3d6;
    color:#765600;
    font-style:normal;
    font-weight:700;
}
.acic-ca-center-browser__empty{
    padding:20px 16px;
    color:#6c7a89;
    font-size:13px;
    text-align:center;
}
.acic-ca-center-detail{min-width:0}
.acic-ca-center-detail__empty{
    min-height:330px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    padding:42px;
    text-align:center;
    border-style:dashed;
    background:linear-gradient(180deg,#fff,#f9fbfd);
}
.acic-ca-center-detail__empty-icon{
    display:grid;
    place-items:center;
    width:48px;
    height:48px;
    margin-bottom:14px;
    border-radius:14px;
    background:#edf5ff;
    color:#176bd5;
    font-size:24px;
}
.acic-ca-center-detail__empty h3{margin:0 0 7px;color:#17314d;font-size:20px}
.acic-ca-center-detail__empty p{max-width:520px;margin:0;color:#68798a;font-size:14px}
.acic-ca-center-detail .acic-ca-validation-center-card{margin:0}
.acic-ca-center-detail .acic-ca-validation-center-card__header{padding:18px 20px}
.acic-ca-center-detail .acic-ca-validation-center-card__header h3{font-size:20px}
.acic-ca-center-detail .acic-ca-validation-center-card__facts>div{padding:13px 16px}
.acic-ca-center-detail .acic-ca-validation-center-card__actions{padding:0 18px 16px}

.acic-ca-admin-validations .acic-ca-communication-history{
    margin-top:8px;
    padding:16px 18px 18px;
    border-top:1px solid #e5ebf0;
    background:#fafcfe;
}
.acic-ca-admin-validations .acic-ca-communication-history--empty strong{display:block;color:#405469;font-size:14px}
.acic-ca-admin-validations .acic-ca-communication-history--empty p{margin:5px 0 0;color:#748292;font-size:12px}
.acic-ca-admin-validations .acic-ca-communication-timeline{
    max-height:430px;
    overflow:auto;
    padding-right:4px;
}
.acic-ca-admin-validations .acic-ca-communication-row{
    display:grid;
    grid-template-columns:minmax(0,1.2fr) minmax(230px,.8fr);
    gap:14px;
    align-items:start;
}
.acic-ca-admin-validations .acic-ca-communication-row__events{justify-content:flex-start;align-content:flex-start}

@media(max-width:1050px){
    .acic-ca-admin-validations{width:calc(100% - 24px);margin-top:90px}
    .acic-ca-validation-workspace{grid-template-columns:270px minmax(0,1fr)}
    .acic-ca-admin-validations .acic-ca-validation-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:820px){
    .acic-ca-admin-validations{width:calc(100% - 16px);margin-top:24px}
    .acic-ca-admin-validations .acic-ca-portal__content{padding:18px}
    .acic-ca-validation-workspace{grid-template-columns:1fr}
    .acic-ca-center-browser{position:static}
    .acic-ca-center-browser__list{max-height:330px}
    .acic-ca-admin-validations .acic-ca-communications-summary{grid-template-columns:repeat(2,minmax(0,1fr))}
    .acic-ca-admin-validations .acic-ca-communication-row{grid-template-columns:1fr}
}
@media(max-width:560px){
    .acic-ca-admin-validations .acic-ca-validation-metrics{grid-template-columns:1fr 1fr}
    .acic-ca-admin-validation-hero{align-items:stretch}
    .acic-ca-admin-validation-hero form,.acic-ca-admin-validation-hero .acic-ca-button{width:100%}
}


/* 0.24.36 — Indicadores visuales más claros para historial de comunicaciones */
.acic-ca-admin-validations .acic-ca-communication-row__events{
    display:flex;
    flex-wrap:wrap;
    align-items:flex-start;
    gap:10px;
}
.acic-ca-admin-validations .acic-ca-comm-status{
    display:inline-flex;
    align-items:center;
    min-height:36px;
    padding:8px 12px;
    border-radius:12px;
    border:1px solid transparent;
    font-size:12px;
    font-weight:800;
    letter-spacing:.01em;
    box-shadow:0 1px 2px rgba(15,23,42,.04);
}
.acic-ca-admin-validations .acic-ca-comm-status--sent{background:#eef2f7;color:#475569;border-color:#d8e0ea}
.acic-ca-admin-validations .acic-ca-comm-status--delivered{background:#e8f6ef;color:#166534;border-color:#b9e4c8}
.acic-ca-admin-validations .acic-ca-comm-status--opened{background:#eef4ff;color:#1d4ed8;border-color:#c7d7fe}
.acic-ca-admin-validations .acic-ca-comm-status--clicked{background:#ede9fe;color:#6d28d9;border-color:#d7c9fb}
.acic-ca-admin-validations .acic-ca-comm-status--bounce,.acic-ca-admin-validations .acic-ca-comm-status--bounce-soft{background:#fff4e5;color:#b45309;border-color:#f8d6a6}
.acic-ca-admin-validations .acic-ca-comm-status--blocked,.acic-ca-admin-validations .acic-ca-comm-status--error{background:#fff1f2;color:#be123c;border-color:#fecdd3}

.acic-ca-admin-validations .acic-ca-comm-event{
    display:inline-flex;
    align-items:center;
    gap:10px;
    min-height:44px;
    padding:8px 12px 8px 10px;
    border-radius:14px;
    background:#f8fafc;
    border:1px solid #e2e8f0;
    box-shadow:0 1px 2px rgba(15,23,42,.03);
}
.acic-ca-admin-validations .acic-ca-comm-event > i{
    display:grid;
    place-items:center;
    width:28px;
    height:28px;
    border-radius:999px;
    font-style:normal;
    font-size:15px;
    font-weight:700;
    flex:0 0 28px;
}
.acic-ca-admin-validations .acic-ca-comm-event__content{
    display:flex;
    flex-direction:column;
    gap:1px;
    min-width:0;
}
.acic-ca-admin-validations .acic-ca-comm-event__content strong{
    font-size:12px;
    line-height:1.2;
    color:#1f2937;
}
.acic-ca-admin-validations .acic-ca-comm-event__content small{
    font-size:11px;
    line-height:1.25;
    color:#64748b;
    white-space:nowrap;
}
.acic-ca-admin-validations .acic-ca-comm-event--delivered{background:#f2fbf6;border-color:#d5f1df}
.acic-ca-admin-validations .acic-ca-comm-event--delivered>i{background:#dcfce7;color:#15803d}
.acic-ca-admin-validations .acic-ca-comm-event--opened{background:#f4f8ff;border-color:#d8e6ff}
.acic-ca-admin-validations .acic-ca-comm-event--opened>i{background:#dbeafe;color:#1d4ed8}
.acic-ca-admin-validations .acic-ca-comm-event--clicked{background:#f6f1ff;border-color:#e4d8ff}
.acic-ca-admin-validations .acic-ca-comm-event--clicked>i{background:#ede9fe;color:#7c3aed}
.acic-ca-admin-validations .acic-ca-comm-event--bounced{background:#fff8ef;border-color:#fde3bf}
.acic-ca-admin-validations .acic-ca-comm-event--bounced>i{background:#ffedd5;color:#c2410c}

@media(max-width:820px){
    .acic-ca-admin-validations .acic-ca-comm-status,
    .acic-ca-admin-validations .acic-ca-comm-event{width:100%}
    .acic-ca-admin-validations .acic-ca-comm-event__content small{white-space:normal}
}


/* 0.24.37 — Buscador robusto de centros (funciona también sin JavaScript) */
.acic-ca-center-browser__search{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;margin-top:10px}
.acic-ca-center-browser__search label{min-width:0}
.acic-ca-center-browser__search input[type=search]{width:100%;min-height:38px;padding:8px 10px;border:1px solid #dbe3ea;border-radius:9px;background:#fff;color:#24384d}
.acic-ca-center-browser__search-button{min-height:38px;padding:8px 12px;border:1px solid #176bd5;border-radius:9px;background:#176bd5;color:#fff;font-size:12px;font-weight:700;cursor:pointer}
.acic-ca-center-browser__search-clear{grid-column:1/-1;justify-self:start;font-size:12px;font-weight:700;color:#526b83;text-decoration:none}
@media(max-width:820px){.acic-ca-center-browser__search{grid-template-columns:1fr}.acic-ca-center-browser__search-button{width:100%}}

/* 0.24.38 — Flujo profesional de revisión y confirmación de vigencia */
.acic-ca-validation-review-links {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    margin-top: 16px;
}
.acic-ca-validation-review-links a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    min-height: 42px;
    padding: 9px 12px;
    border: 1px solid var(--acic-ui-line);
    border-radius: var(--acic-ui-radius-sm);
    background: var(--acic-ui-surface);
    color: var(--acic-ui-navy);
    font-size: 13px;
    font-weight: 700;
    text-decoration: none;
}
.acic-ca-validation-review-links a:hover,
.acic-ca-validation-review-links a:focus {
    border-color: var(--acic-ui-blue);
    background: var(--acic-ui-blue-soft);
    color: var(--acic-ui-blue);
}
.acic-ca-validation-review-links a span {
    color: var(--acic-ui-blue);
    font-size: 16px;
}
.acic-ca-validation-primary-summary {
    margin: 16px 0 18px;
    padding: 15px 16px;
    border: 1px solid var(--acic-ui-line);
    border-left: 4px solid var(--acic-ui-blue);
    border-radius: var(--acic-ui-radius-sm);
    background: #f8fbff;
}
.acic-ca-validation-primary-summary > span {
    display: block;
    margin-bottom: 4px;
    color: var(--acic-ui-muted);
    font-size: 11px;
    font-weight: 750;
    letter-spacing: .05em;
    text-transform: uppercase;
}
.acic-ca-validation-primary-summary > strong {
    display: block;
    color: var(--acic-ui-navy-2);
    font-size: 15px;
}
.acic-ca-validation-primary-summary > small {
    display: block;
    margin-top: 3px;
    color: var(--acic-ui-text);
    font-size: 12px;
    line-height: 1.45;
}
.acic-ca-validation-primary-summary > p {
    margin: 10px 0 0;
    padding-top: 10px;
    border-top: 1px solid var(--acic-ui-line);
    color: var(--acic-ui-muted);
    font-size: 12px;
    line-height: 1.5;
}
.acic-ca-validation-confirmed-by {
    display: block;
    margin-top: 3px;
    color: var(--acic-ui-muted);
    font-size: 11px;
    line-height: 1.35;
}
@media (max-width: 620px) {
    .acic-ca-validation-review-links { grid-template-columns: 1fr; }
}
