﻿
/* SIGCP — F1-I5-S8-015B.1
   Login panorámico institucional */

html,
body {
    min-height: 100%;
}

/* SIGCP — Fondo panorámico institucional */

.sigcp-login-page {
    min-height: 100vh;
    min-height: 100dvh;
    margin: 0;
    display: flex;
    flex-direction: column;
    font-family: "Segoe UI", Arial, sans-serif;
    background-image: linear-gradient( 90deg, rgba(12, 39, 68, 0.40) 0%, rgba(12, 39, 68, 0.23) 50%, rgba(12, 39, 68, 0.10) 100% ), url("Images/sigcp-login-valle.jpg");
    background-position: center center;
    background-size: cover;
    background-repeat: no-repeat;
    background-attachment: fixed;
}

.sigcp-access-shell {
    flex: 1;
    width: min(1200px, 94%);
    margin: auto;
    display: grid;
    grid-template-columns: 1fr 420px;
    align-items: center;
    gap: 70px;
    padding: 45px 0;
}

/* Identidad institucional */

.sigcp-access-brand-content {
    display: flex;
    align-items: center;
    gap: 20px;
    color: #fff;
    text-shadow: 0 2px 12px rgba(0,0,0,.35);
}

.sigcp-access-logo {
    width: 72px;
    height: 72px;
    flex-shrink: 0;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 5px;
    transform: rotate(-18deg);
}

.sigcp-access-logo-piece {
    background: #fff;
    border-radius: 4px;
}

    .sigcp-access-logo-piece:nth-child(2) {
        opacity: .80;
    }

    .sigcp-access-logo-piece:nth-child(3) {
        opacity: .65;
    }

.sigcp-access-brand-text h1 {
    color: #fff;
    font-size: 52px;
    font-weight: 800;
    letter-spacing: 1px;
    margin: 0;
}

.sigcp-access-brand-text p {
    max-width: 330px;
    font-size: 19px;
    line-height: 1.35;
    margin: 4px 0 0;
}

/* Tarjeta */

.sigcp-login-card {
    width: 100%;
    background: #fff;
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 16px 45px rgba(0, 0, 0, .20);
}

.sigcp-login-header {
    padding: 26px 28px 12px;
}

    .sigcp-login-header h2 {
        margin: 0 0 6px;
        font-size: 25px;
        font-weight: 750;
        color: #17324f;
    }

    .sigcp-login-header p {
        margin: 0;
        color: #61768a;
        font-size: 13px;
    }

.sigcp-login-body {
    padding: 12px 28px 28px;
}

    .sigcp-login-body .form-group {
        margin-bottom: 17px;
    }

        .sigcp-login-body .form-group > label {
            display: block;
            margin-bottom: 6px;
            font-weight: 600;
            font-size: 13px;
            color: #17324f;
        }

    .sigcp-login-body .form-control {
        width: 100%;
        height: 42px;
        border: 1px solid #d6e0e9;
        border-radius: 5px;
        padding: 9px 12px;
        font-size: 14px;
        box-sizing: border-box;
    }

        .sigcp-login-body .form-control:focus {
            border-color: #1672d4;
            box-shadow: 0 0 0 3px rgba(22,114,212,.13);
            outline: none;
        }

/* Contraseña */

.sigcp-password-field {
    position: relative;
}

    .sigcp-password-field .form-control {
        padding-right: 48px;
    }

.sigcp-password-toggle {
    position: absolute;
    right: 6px;
    top: 4px;
    width: 35px;
    height: 34px;
    background: transparent;
    border: 0;
    cursor: pointer;
    color: #61768a;
}

    .sigcp-password-toggle:focus-visible {
        outline: 2px solid #1672d4;
        border-radius: 4px;
    }

/* Opciones */

.sigcp-remember {
    margin: 12px 0 16px;
    color: #17324f;
    font-size: 13px;
}

    .sigcp-remember label {
        cursor: pointer;
        font-weight: 400;
    }

    .sigcp-remember input {
        vertical-align: middle;
        margin-right: 5px;
    }

.sigcp-login-button {
    display: block;
    width: 100%;
    min-height: 43px;
    border: none;
    border-radius: 5px;
    background: linear-gradient(90deg, #075fbc, #0879e9);
    color: #fff;
    font-weight: 700;
    cursor: pointer;
}

    .sigcp-login-button:hover {
        background: linear-gradient(90deg, #064f9e, #0869c8);
    }

.sigcp-login-footer {
    text-align: center;
    margin-top: 16px;
    font-size: 13px;
}

    .sigcp-login-footer a {
        color: #075fbc;
    }

.sigcp-login-body .text-danger,
.sigcp-login-body .field-validation-error {
    display: block;
    margin-top: 5px;
    font-size: 12px;
    color: #c62828;
}

.sigcp-login-body .validation-summary-errors {
    margin-bottom: 16px;
}

/* Pie de página */

.sigcp-access-footer {
    padding: 15px;
    text-align: center;
    color: #fff;
    font-size: 12px;
    text-shadow: 0 1px 6px rgba(0,0,0,.6);
}

    .sigcp-access-footer span {
        margin: 0 8px;
    }

/* Responsive */

@media (max-width: 850px) {
    .sigcp-access-shell {
        grid-template-columns: 1fr;
        max-width: 460px;
        gap: 28px;
        padding: 35px 0;
    }

    .sigcp-access-brand-content {
        justify-content: center;
    }

    .sigcp-access-brand-text h1 {
        font-size: 38px;
    }

    .sigcp-access-brand-text p {
        font-size: 14px;
    }

    .sigcp-access-logo {
        width: 50px;
        height: 50px;
    }
}

@media (max-width: 480px) {
    .sigcp-login-header {
        padding: 22px 20px 10px;
    }

    .sigcp-login-body {
        padding: 12px 20px 24px;
    }

    .sigcp-access-brand-text h1 {
        font-size: 31px;
    }
}

/* SIGCP - Login: reutilización de tarjeta corporativa existente. */
.sigcp-login-page .sigcp-card.sigcp-login-card {
    width: 100%;
    margin: 0;
    border: 1px solid var(--sigcp-card-border, #e3eaf2);
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 16px 45px rgba(0,0,0,.20);
}

.sigcp-login-page .sigcp-login-card .sigcp-card-header {
    padding: 20px 24px;
    background: #fff;
}

.sigcp-login-page .sigcp-login-card .sigcp-card-body {
    padding: 24px;
}

.sigcp-login-page .sigcp-login-card .sigcp-card-footer {
    justify-content: center;
    padding: 15px 24px;
}

.sigcp-login-page .sigcp-login-card .sigcp-card-title {
    font-size: 1.25rem;
}

.sigcp-login-page .sigcp-login-card .sigcp-card-subtitle {
    font-size: .8rem;
}

.sigcp-login-page .sigcp-login-card .form-group {
    margin-bottom: 17px;
}

.sigcp-login-page .sigcp-login-card .form-label {
    display: block;
    margin-bottom: 7px;
}

.sigcp-login-page .sigcp-login-card .form-control {
    width: 100%;
    max-width: none;
    height: 42px;
}

.sigcp-login-page .sigcp-login-card .sigcp-login-button.sigcp-btn-primary {
    width: 100%;
    min-height: 43px;
    border-radius: 7px;
    background: var(--sigcp-primary, #142e4c);
    border: 1px solid var(--sigcp-primary, #142e4c);
    color: #fff;
    font-weight: 700;
}

    .sigcp-login-page .sigcp-login-card .sigcp-login-button.sigcp-btn-primary:hover {
        background: var(--sigcp-primary-hover, #20466c);
    }

.sigcp-login-page .sigcp-login-card .sigcp-login-footer {
    margin: 0;
}

    .sigcp-login-page .sigcp-login-card .sigcp-login-footer a {
        color: var(--sigcp-card-accent, #173b61);
    }

.sigcp-login-page .sigcp-login-card .validation-summary-errors {
    margin-bottom: 16px;
}

.sigcp-login-page .sigcp-login-card .field-validation-error {
    display: block;
    margin-top: 5px;
}

@media(max-width:480px) {
    .sigcp-login-page .sigcp-login-card .sigcp-card-header,
    .sigcp-login-page .sigcp-login-card .sigcp-card-body,
    .sigcp-login-page .sigcp-login-card .sigcp-card-footer {
        padding: 18px;
    }
}
