﻿.cej-auth-2026 {
    --cej-red: #BE1717;
    --cej-blue: #097ba8;
    --cej-sky: #3985a4;
    --cej-orange: #f39323;
    --cej-teal: #32beb1;
    --cej-purple: #8c1cb8;
    --cej-green: #15990e;
    --cej-ink: #243746;
    --cej-muted: #6e7882;
    --cej-border: #cdd5dc;
    --cej-soft: #eef0f2;
    --cej-action: #dbf5ff;
    color: var(--cej-ink);
    font-family: "Swiss-Light", Arial, sans-serif;
}

    .cej-auth-2026 * {
        box-sizing: border-box;
    }

.cej-auth-header {
    align-items: start;
    display: grid;
    gap: 18px 24px;
    grid-template-columns: minmax(0, 1fr) minmax(360px, 520px);
    margin-bottom: 18px;
}

.cej-auth-title-block {
    min-width: 0;
}

.cej-auth-title {
    margin: 0;
    color: #202020;
    font: 32px "Arial-Extra-Bold", Arial, sans-serif;
    line-height: 1.1;
}

.cej-auth-subtitle {
    align-self: center;
    margin: 0;
    color: #202020;
    font-size: 17px;
    font-weight: 700;
}

.cej-auth-date {
    align-items: center;
    align-self: flex-end;
    background: var(--cej-red);
    border-radius: 8px;
    color: #fff;
    display: flex;
    gap: 8px;
    justify-self: end;
    min-height: 44px;
    min-width: 0;
    padding: 7px 12px;
    width: 230px;
}

    .cej-auth-date i {
        color: #fff;
        font-size: 24px;
        padding: 0;
    }

    .cej-auth-date span {
        color: #fff !important;
        display: block;
        font: 14px "Swiss-Light", Arial, sans-serif;
        line-height: 1.1;
    }

    .cej-auth-date strong {
        color: #fff;
        display: block;
        font: 14px "Arial-Extra-Bold", Arial, sans-serif;
        line-height: 1.1;
    }

.cej-auth-period {
    align-items: center;
    display: flex;
    gap: 12px;
    justify-content: flex-end;
    margin: 0;
    width: 100%;
}

    .cej-auth-period .cej-auth-select {
        flex: 1;
        width: auto;
    }

    .cej-auth-period label,
    .cej-auth-field label {
        color: #444b52;
        display: block;
        font: 16px "Arial-Extra-Bold", Arial, sans-serif;
        margin-bottom: 8px;
    }

    .cej-auth-period label {
        margin-bottom: 0;
    }

.cej-auth-field label span {
    color: var(--cej-red);
}

.cej-auth-select,
.cej-auth-search input {
    background: #fff;
    border: 1px solid var(--cej-border);
    border-radius: 8px;
    color: #38444d;
    font: 16px "Swiss-Light", Arial, sans-serif;
    height: 38px;
    min-width: 0;
    outline: none;
    padding: 0 12px;
    transition: border-color .2s ease, box-shadow .2s ease;
    width: 100%;
}

    .cej-auth-select:focus,
    .cej-auth-search input:focus {
        border-color: var(--cej-blue);
        box-shadow: 0 0 0 3px rgba(8, 121, 184, .14);
    }

.cej-auth-types {
    display: grid;
    gap: 16px;
    grid-template-columns: repeat(7, minmax(120px, 1fr));
    margin-bottom: 28px;
}

.cej-auth-type {
    align-items: center;
    background: #fff;
    border: 2px solid currentColor;
    border-radius: 8px;
    color: var(--cej-blue);
    cursor: pointer;
    display: flex;
    flex-direction: column;
    gap: 8px;
    justify-content: center;
    min-height: 114px;
    padding: 14px 10px;
    text-align: center;
    transition: background .2s ease, color .2s ease, transform .2s ease, box-shadow .2s ease;
}

    .cej-auth-type:hover {
        box-shadow: 0 8px 18px rgba(36, 55, 70, .13);
        transform: translateY(-1px);
    }

    .cej-auth-type.is-selected {
        background: var(--cej-type-color, currentColor);
    }

.cej-auth-type__icon {
    align-items: center;
    background: var(--cej-type-soft, rgba(9, 123, 168, .12));
    border-radius: 8px;
    display: flex;
    height: 48px;
    justify-content: center;
    width: 48px;
}

    .cej-auth-type__icon img {
        max-height: 32px;
        max-width: 32px;
    }

.cej-auth-type.is-selected .cej-auth-type__icon {
    background: transparent;
}

    .cej-auth-type.is-selected .cej-auth-type__icon img {
        filter: brightness(0) invert(1);
    }

.cej-auth-type__text {
    color: currentColor;
    display: block;
    font: 18px "Arial-Extra-Bold", Arial, sans-serif;
    line-height: 1.15;
}

.cej-auth-type.is-selected .cej-auth-type__text {
    color: #fff;
}

.cej-auth-type--presidencial {
    color: var(--cej-red);
    --cej-type-color: var(--cej-red);
    --cej-type-soft: rgba(190, 25, 25, .12);
}

.cej-auth-type--congresal,
.cej-auth-type--senadores {
    color: var(--cej-sky);
    --cej-type-color: var(--cej-sky);
    --cej-type-soft: rgba(57, 133, 164, .12);
}

.cej-auth-type--diputados {
    color: var(--cej-orange);
    --cej-type-color: var(--cej-orange);
    --cej-type-soft: rgba(243, 147, 35, .12);
}

.cej-auth-type--parlamento {
    color: var(--cej-teal);
    --cej-type-color: var(--cej-teal);
    --cej-type-soft: rgba(50, 190, 177, .12);
}

.cej-auth-type--regional {
    color: var(--cej-blue);
    --cej-type-color: var(--cej-blue);
    --cej-type-soft: rgba(9, 123, 168, .12);
}

.cej-auth-type--provincial {
    color: var(--cej-purple);
    --cej-type-color: var(--cej-purple);
    --cej-type-soft: rgba(140, 28, 184, .12);
}

.cej-auth-type--distrital {
    color: var(--cej-green);
    --cej-type-color: var(--cej-green);
    --cej-type-soft: rgba(21, 153, 14, .12);
}

.cej-auth-filters {
    align-items: end;
    display: grid;
    gap: 18px;
    grid-template-columns: minmax(300px, 520px) repeat(3, minmax(170px, 260px)) 1fr max-content;
    margin-bottom: 24px;
}

.cej-auth-search {
    display: flex;
}

    .cej-auth-search input {
        border-radius: 8px 0 0 8px;
    }

    .cej-auth-search button,
    .cej-auth-primary {
        align-items: center;
        border: 0;
        cursor: pointer;
        display: inline-flex;
        justify-content: center;
    }

    .cej-auth-search button {
        background: var(--cej-red);
        border-radius: 0 8px 8px 0;
        color: #fff;
        flex: 0 0 42px;
        height: 38px;
    }

.cej-auth-clear-search {
    background: transparent;
    border: 0;
    color: var(--cej-red);
    cursor: pointer;
    display: inline-block;
    font: 13px "Arial-Extra-Bold", Arial, sans-serif;
    margin-top: 6px;
    padding: 0;
    text-decoration: underline;
}

.cej-auth-actions {
    align-items: center;
    display: flex;
    gap: 16px;
    justify-content: space-between;
    margin: 0 0 22px;
}

.cej-auth-senator-districts {
    align-items: center;
    align-self: end;
    display: flex;
    gap: 26px;
    min-height: 38px;
    white-space: nowrap;
}

    .cej-auth-senator-districts label {
        align-items: center;
        color: #444;
        cursor: pointer;
        display: inline-flex;
        font: 14px Arial, sans-serif;
        gap: 8px;
        margin: 0;
    }

    .cej-auth-senator-districts input {
        height: 1px;
        opacity: 0;
        pointer-events: none;
        position: absolute;
        width: 1px;
    }

    .cej-auth-senator-districts .cej-auth-radio-mark {
        background: #fff;
        border: 1px solid #7f8c97;
        border-radius: 50%;
        box-sizing: border-box;
        display: inline-flex;
        flex: 0 0 14px;
        height: 14px;
        position: relative;
        width: 14px;
    }

    .cej-auth-senator-districts input:checked + .cej-auth-radio-mark {
        border-color: var(--cej-blue);
    }

        .cej-auth-senator-districts input:checked + .cej-auth-radio-mark:after {
            background: var(--cej-blue);
            border-radius: 50%;
            content: "";
            height: 8px;
            left: 2px;
            position: absolute;
            top: 2px;
            width: 8px;
        }

.cej-auth-primary {
    background: var(--cej-red);
    border-radius: 8px;
    color: #fff;
    font: 16px "Arial-Extra-Bold", Arial, sans-serif;
    gap: 8px;
    min-height: 44px;
    padding: 0 18px;
}

.cej-auth-history-link {
    align-items: center;
    background: #fff6f6;
    border: 2px solid var(--cej-red);
    border-radius: 8px;
    color: var(--cej-red);
    display: inline-flex;
    grid-column: -2 / -1;
    gap: 10px;
    justify-self: end;
    min-height: 48px;
    padding: 7px 14px;
    text-decoration: none;
}

    .cej-auth-history-link img {
        height: 24px;
        width: 24px;
    }

    .cej-auth-history-link span,
    .cej-auth-history-link strong {
        display: block;
        font-size: 14px;
        line-height: 1.1;
    }

    .cej-auth-history-link strong {
        font-family: "Arial-Extra-Bold", Arial, sans-serif;
    }

.cej-auth-summary {
    align-items: center;
    display: flex;
    gap: 8px;
    margin-bottom: 16px;
}

    .cej-auth-summary strong {
        color: var(--cej-ink);
        font: 17px "Arial-Extra-Bold", Arial, sans-serif;
    }

    .cej-auth-summary button {
        background: transparent;
        border: 0;
        color: var(--cej-red);
        cursor: pointer;
        padding: 0;
    }

.cej-auth-related {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 0 0 16px;
}

    .cej-auth-related span {
        color: var(--cej-muted);
        font-weight: 700;
        margin-right: 4px;
    }

    .cej-auth-related button {
        background: #fff;
        border: 1px solid var(--cej-border);
        border-radius: 16px;
        color: var(--cej-ink);
        cursor: pointer;
        padding: 6px 12px;
    }

.cej-auth-results {
    display: grid;
    gap: 16px;
    grid-template-columns: repeat(3, minmax(320px, 1fr));
    margin-bottom: 28px;
}

.cej-auth-result {
    align-items: center;
    background: #fff;
    border: 1px solid var(--cej-border);
    border-radius: 12px;
    display: grid;
    gap: 14px;
    grid-template-columns: 80px minmax(0, 1fr) 170px;
    min-height: 110px;
    padding: 12px;
    position: relative;
}

    .cej-auth-result.has-position {
        grid-template-columns: 28px 74px minmax(0, 1fr) 170px;
    }

.cej-auth-position {
    align-self: center;
    color: var(--cej-red);
    display: block;
    font: 34px "Arial-Extra-Bold", Arial, sans-serif;
    line-height: 1;
    text-align: center;
}

.cej-auth-role-presidente-icon {
    display: block;
    left: -3px;
    object-fit: contain;
    position: absolute;
    top: -3px;
    width: 55px;
}

.cej-auth-role-alcalde-icon {
    display: block;
    left: 10px;
    object-fit: contain;
    position: absolute;
    top: -3px;
    height: 24px;
    width: 24px;
}

.cej-auth-photo {
    align-items: center;
    background: #d9d9d9;
    border-radius: 50%;
    display: flex;
    height: 74px;
    justify-content: center;
    overflow: hidden;
    width: 74px;
}

    .cej-auth-photo img {
        height: 100%;
        object-fit: cover;
        width: 100%;
    }

.cej-auth-person h2 {
    color: var(--cej-red);
    font: 17px "Arial-Extra-Bold", Arial, sans-serif;
    line-height: 1.1;
    margin: 0 0 8px;
}

.cej-auth-person p,
.cej-auth-person strong {
    color: var(--cej-ink);
    display: block;
    font-size: 14px;
    line-height: 1.2;
    margin: 0 0 6px;
}

    .cej-auth-person p img {
        height: 18px;
        margin-right: 5px;
        vertical-align: -3px;
        width: 18px;
    }

.cej-auth-person strong {
    font-style: italic;
}

.cej-auth-replace {
    background: transparent;
    border: 0;
    color: var(--cej-red);
    cursor: pointer;
    display: block;
    font-size: 13px;
    padding: 0;
    text-align: left;
}

.cej-auth-result-actions {
    display: flex;
    flex-direction: column;
    gap: 8px;
    min-width: 0;
    width: 170px;
}

    .cej-auth-result-actions button {
        align-items: center;
        background: var(--cej-action);
        border: 0;
        border-radius: 8px;
        color: var(--cej-blue);
        cursor: pointer;
        display: flex;
        font: 14px "Arial-Extra-Bold", Arial, sans-serif;
        gap: 8px;
        justify-content: center;
        min-height: 34px;
        padding: 7px 8px;
    }

    .cej-auth-result-actions img {
        height: 21px;
        width: 21px;
    }

.cej-auth-history h2 {
    color: var(--cej-red);
    font: 18px "Arial-Extra-Bold", Arial, sans-serif;
    margin: 0 0 16px;
}

.cej-auth-history-grid {
    display: grid;
    gap: 16px;
    grid-template-columns: repeat(5, minmax(210px, 1fr));
}

.cej-auth-resolution {
    background: #fff;
    border: 1px solid var(--cej-border);
    border-radius: 8px;
    min-height: 138px;
    padding: 16px 12px 12px;
    position: relative;
}

    .cej-auth-resolution.is-current {
        background: var(--cej-red);
        color: #fff;
    }

.cej-auth-current {
    display: block;
    font: 15px "Arial-Extra-Bold", Arial, sans-serif;
    margin-bottom: 10px;
    color: #fff;
}

.cej-auth-resolution.is-current:after {
    background: url("/Content/images/autoridades-2026/ico_bookmark.svg") center / contain no-repeat;
    content: "";
    height: 20px;
    position: absolute;
    right: 16px;
    top: -1px;
    width: 32px;
}

.cej-auth-resolution h3 {
    color: var(--cej-red);
    font: 15px "Arial-Extra-Bold", Arial, sans-serif;
    line-height: 1.15;
    margin: 0 0 12px;
}

.cej-auth-resolution.is-current h3,
.cej-auth-resolution.is-current p {
    color: #fff;
}

.cej-auth-resolution p {
    color: var(--cej-ink);
    font-size: 13px;
    line-height: 1.2;
    margin: 0 0 8px;
}

.cej-auth-resolution div {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    margin-top: 14px;
    width: 100%;
}

.cej-auth-resolution button {
    align-items: center;
    background: #fff;
    border: 2px solid var(--cej-blue);
    border-radius: 8px;
    color: var(--cej-blue);
    cursor: pointer;
    display: inline-flex;
    font: 15px "Arial-Extra-Bold", Arial, sans-serif;
    gap: 6px;
    min-height: 36px;
    width: 100%;
    min-width: 0;
    justify-content: center;
    padding: 0 8px;
    white-space: nowrap;
}


    .cej-auth-resolution button:last-child {
        border-color: var(--cej-red);
        color: var(--cej-red);
    }

.cej-auth-resolution.is-current button {
    background: var(--cej-red);
    border-color: #fff;
    color: #fff;
}

.cej-auth-empty {
    margin-top: 18px;
}

@media (max-width: 1400px) {
    .cej-auth-types {
        grid-template-columns: repeat(4, minmax(160px, 1fr));
    }

    .cej-auth-results {
        grid-template-columns: repeat(2, minmax(280px, 1fr));
    }

    .cej-auth-history-grid {
        grid-template-columns: repeat(3, minmax(220px, 1fr));
    }
}

@media (max-width: 980px) {
    .cej-auth-header,
    .cej-auth-actions {
        align-items: stretch;
        grid-template-columns: 1fr;
    }

    .cej-auth-date,
    .cej-auth-history-link {
        align-self: flex-start;
    }

    .cej-auth-period {
        justify-content: flex-start;
    }

    .cej-auth-filters {
        grid-template-columns: 1fr 1fr;
    }

    .cej-auth-history-link {
        grid-column: auto;
        justify-self: start;
    }

    .cej-auth-result {
        grid-template-columns: 82px minmax(0, 1fr);
    }

        .cej-auth-result.has-position {
            grid-template-columns: 28px 74px minmax(0, 1fr);
        }

    .cej-auth-result-actions {
        grid-column: 1 / -1;
        min-width: 0;
    }
}

@media (max-width: 720px) {
    .cej-auth-title {
        font-size: 28px;
    }

    .cej-auth-types {
        display: flex;
        gap: 12px;
        overflow-x: auto;
        padding-bottom: 8px;
    }

    .cej-auth-type {
        flex: 0 0 190px;
        min-height: 118px;
    }

    .cej-auth-filters,
    .cej-auth-results,
    .cej-auth-history-grid {
        grid-template-columns: 1fr;
    }

    .cej-auth-period {
        align-items: stretch;
        flex-direction: column;
    }

    .cej-auth-date {
        justify-self: end;
        width: 230px;
    }

    .cej-auth-senator-districts {
        flex-wrap: wrap;
        gap: 12px 20px;
        white-space: normal;
    }
}

@media (max-width: 360px) {
    .cej-auth-date {
        width: 100%;
    }
}

@media (max-width: 520px) {
    .cej-auth-result {
        grid-template-columns: 1fr;
        text-align: center;
    }

        .cej-auth-result.has-position {
            grid-template-columns: 1fr;
        }

    .cej-auth-position {
        margin: 0 auto -4px;
    }

    .cej-auth-photo {
        margin: 0 auto;
    }

    .cej-auth-replace {
        text-align: center;
    }

    .cej-auth-resolution div {
        flex-direction: column;
    }
}
