/* Portada editorial exclusiva de Convocatorias IEC */
@media (min-width: 901px) {
    body {
        background-color: #151619;
        background-image:
            linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px),
            linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px),
            radial-gradient(circle at 78% 18%, rgba(75,15,111,.36), transparent 31%),
            linear-gradient(145deg, #111216 0%, #24262b 56%, #17181c 100%);
        background-size: 42px 42px, 42px 42px, auto, auto;
    }

    .portal-shell {
        padding: 24px 28px;
    }

    .portal-card {
        max-width: 1180px;
        height: min(850px, calc(100vh - 48px));
        max-height: calc(100vh - 48px);
        margin-top: 0;
        border: 1px solid rgba(255,255,255,.18);
        border-radius: 6px;
        box-shadow: 0 34px 90px rgba(0,0,0,.44);
        display: flex;
        flex-direction: column;
        position: relative;
    }

    .portal-brandbar {
        min-height: 48px;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 20px;
        padding: 0 24px;
        background: #181a1d;
        color: #fff;
        border-bottom: 3px solid #4b0f6f;
        flex-shrink: 0;
    }

    .portal-brandbar-name,
    .portal-brandbar-status {
        display: inline-flex;
        align-items: center;
        gap: 9px;
    }

    .portal-brandbar-name {
        font-size: .73rem;
        font-weight: 800;
        letter-spacing: .09em;
        text-transform: uppercase;
    }

    .portal-brandbar-name i { color: #a977c1; }

    .portal-brandbar-status {
        font-size: .67rem;
        color: rgba(255,255,255,.72);
        font-weight: 600;
    }

    .portal-brandbar-status::before {
        content: '';
        width: 7px;
        height: 7px;
        border-radius: 50%;
        background: #a977c1;
        box-shadow: 0 0 0 4px rgba(169,119,193,.13);
    }

    .portal-grid {
        grid-template-columns: minmax(350px,.76fr) minmax(0,1.24fr);
        flex: 1;
        min-height: 0;
    }

    .access-panel {
        order: 1;
        padding: 28px 38px 24px;
        justify-content: center;
        align-items: stretch;
        background: #f7f7f8;
        border-left: 0;
        border-right: 1px solid #d9dadd;
        position: relative;
    }

    .access-panel::before {
        content: 'ACCESO A PLATAFORMA';
        margin-bottom: 16px;
        color: #4b0f6f;
        font-size: .65rem;
        font-weight: 800;
        letter-spacing: .15em;
    }

    .access-logo {
        max-width: 126px;
        margin: 0 0 18px;
    }

    .access-title,
    .access-copy {
        text-align: left;
    }

    .access-title {
        font-size: 1.55rem;
        line-height: 1.15;
        margin-bottom: 7px;
        color: #181a1d;
    }

    .access-copy {
        margin-bottom: 22px;
        color: #686c72;
    }

    .access-panel .input-group-text,
    .access-panel .form-control {
        min-height: 47px;
        border-radius: 0;
        border-color: #c8cace;
    }

    .access-panel .input-group-text {
        width: 48px;
        justify-content: center;
        background: #e8e8eb;
        color: #4b0f6f;
    }

    .primary-action,
    .feature-action,
    .utility-action {
        border-radius: 2px;
    }

    .primary-action {
        min-height: 47px;
        background: #181a1d;
        border-left: 4px solid #71308f;
        box-shadow: 0 10px 20px rgba(24,26,29,.18);
    }

    .primary-action:hover {
        background: #4b0f6f;
        box-shadow: 0 12px 26px rgba(75,15,111,.24);
    }

    .action-stack {
        gap: 7px;
        margin-top: 14px;
    }

    .feature-action {
        min-height: 58px;
        background: #4b0f6f;
        box-shadow: none;
    }

    .feature-action:hover {
        background: #350a4f;
        box-shadow: 0 10px 22px rgba(75,15,111,.2);
    }

    .utility-action {
        min-height: 52px;
        background: transparent;
        border-color: #cfd1d4;
        box-shadow: none;
    }

    .utility-action:hover {
        background: #fff;
        border-color: #71308f;
        box-shadow: 0 8px 18px rgba(24,26,29,.08);
    }

    .action-icon,
    .utility-action .action-icon {
        border-radius: 2px;
    }

    .support-block {
        margin-top: 14px;
        padding-top: 12px;
    }

    .portal-intro {
        order: 2;
        padding: 30px 36px 24px;
        justify-content: center;
        gap: 14px;
        overflow: hidden;
        background:
            linear-gradient(118deg, rgba(20,21,24,.97), rgba(31,26,35,.95) 48%, rgba(75,15,111,.91)),
            #181a1d;
    }

    .portal-intro::before {
        content: 'IEC';
        position: absolute;
        right: -18px;
        bottom: -58px;
        color: rgba(255,255,255,.035);
        font-size: 13rem;
        font-weight: 900;
        line-height: 1;
        letter-spacing: -.08em;
        pointer-events: none;
    }

    .portal-intro::after {
        background:
            linear-gradient(90deg, transparent 49.7%, rgba(255,255,255,.045) 50%, transparent 50.3%),
            linear-gradient(0deg, transparent 49.7%, rgba(255,255,255,.035) 50%, transparent 50.3%);
        background-size: 88px 88px;
        opacity: .55;
    }

    .portal-system-description {
        max-width: 680px;
        padding: 0 0 15px 18px;
        border: 0;
        border-left: 3px solid #8d50aa;
        border-radius: 0;
        background: transparent;
        backdrop-filter: none;
    }

    .portal-description-label {
        color: #caa9d8;
        letter-spacing: .13em;
        margin-bottom: 10px;
    }

    .portal-description-title {
        max-width: 570px;
        font-size: clamp(1.7rem,2.45vw,2.35rem);
        font-weight: 750;
        line-height: 1.08;
        margin-bottom: 12px;
    }

    .portal-subtitle {
        max-width: 590px;
        color: rgba(255,255,255,.76);
        font-size: .88rem;
        line-height: 1.6;
    }

    .portal-feature-list {
        justify-content: start;
        grid-template-columns: repeat(3, auto);
        gap: 8px;
        margin-top: 15px;
    }

    .portal-feature-pill {
        border-radius: 2px;
        justify-content: flex-start;
        padding: 7px 10px;
        background: rgba(255,255,255,.065);
        border-color: rgba(255,255,255,.14);
    }

    .portal-hero-card {
        width: min(100%, 640px);
        border: 0;
        border-radius: 2px;
        box-shadow: 0 18px 42px rgba(0,0,0,.3);
    }

    .portal-hero-strip {
        min-height: 38px;
        padding: 8px 14px;
        border-left: 4px solid #8d50aa;
        background: #202226;
        font-size: .67rem;
        letter-spacing: .04em;
    }

    .portal-hero-image {
        height: clamp(215px,30vh,285px);
        background: #f1f1f2;
        padding: 12px;
    }

    .portal-meta {
        width: min(100%, 640px);
        grid-template-columns: 1.65fr .55fr;
        gap: 1px;
        background: rgba(255,255,255,.16);
    }

    .meta-item {
        min-height: 51px;
        padding: 9px 12px;
        border: 0;
        border-radius: 0;
        background: rgba(20,21,24,.72);
    }

    .meta-label {
        text-transform: uppercase;
        letter-spacing: .08em;
    }

    .portal-footer-inline { text-align: left; }
}

@media (min-width: 901px) and (max-height: 760px) {
    .portal-card { height: calc(100vh - 24px); max-height: calc(100vh - 24px); }
    .portal-shell { padding-top: 12px; padding-bottom: 12px; }
    .portal-brandbar { min-height: 42px; }
    .access-panel { padding: 18px 30px 16px; }
    .access-panel::before { margin-bottom: 8px; }
    .access-logo { max-width: 104px; margin-bottom: 8px; }
    .access-copy { margin-bottom: 10px; }
    .portal-intro { padding: 18px 28px 16px; gap: 9px; }
    .portal-system-description { padding-bottom: 9px; }
    .portal-description-title { font-size: 1.55rem; margin-bottom: 7px; }
    .portal-feature-list { margin-top: 8px; }
    .portal-hero-image { height: clamp(165px,26vh,210px); }
    .support-block { margin-top: 8px; padding-top: 7px; }
}

/* Normalización frente a reglas históricas de style.css */
@media (min-width: 901px) {
    .portal-card { padding: 0; }
    .portal-grid { height: auto; min-height: 0; overflow: hidden; }
    .access-panel,
    .portal-intro { min-height: 0; height: auto; }
    .access-panel { overflow-y: auto; }
}

@media (min-width: 901px) and (max-height: 820px) {
    .access-panel {
        justify-content: flex-start;
        padding: 14px 26px 12px;
    }
    .access-panel::before { margin-bottom: 5px; }
    .access-logo { max-width: 94px; margin-bottom: 5px; }
    .access-title { font-size: 1.28rem; margin-bottom: 3px; }
    .access-copy { font-size: .76rem; margin-bottom: 9px; }
    .access-panel .form-group { margin-bottom: .55rem; }
    .access-panel .input-group-text,
    .access-panel .form-control,
    .primary-action { min-height: 40px; }
    .action-stack { margin-top: 8px; gap: 5px; }
    .feature-action { min-height: 48px; padding-top: 7px; padding-bottom: 7px; }
    .utility-action { min-height: 43px; padding-top: 6px; padding-bottom: 6px; }
    .action-icon { width: 31px; height: 31px; min-width: 31px; }
    .support-block { margin-top: 7px; padding-top: 6px; font-size: .64rem; line-height: 1.22; }
    .process-email-notice { margin: 5px 0; padding: 5px 7px; line-height: 1.22; }
    .portal-footer-inline { margin-top: 3px; font-size: .61rem; }
}
