/*
 * TriNexus Solucoes Avancadas em TI
 * GLPI - Paginas anonimas
 * Visual V2
 */

/* =========================================================
   BASE / BACKGROUND
   ========================================================= */

html,
body.welcome-anonymous {
    min-height: 100%;
}

body.welcome-anonymous {
    min-height: 100vh;

    color: #eef2ff;

    background:
        radial-gradient(
            circle at 12% 15%,
            rgba(39, 92, 255, 0.25),
            transparent 28%
        ),
        radial-gradient(
            circle at 85% 72%,
            rgba(118, 43, 226, 0.26),
            transparent 30%
        ),
        radial-gradient(
            circle at 55% 45%,
            rgba(83, 20, 135, 0.24),
            transparent 42%
        ),
        linear-gradient(
            135deg,
            #090d1d 0%,
            #170a2c 35%,
            #290440 68%,
            #0a1532 100%
        );

    background-attachment: fixed;
}


/* =========================================================
   ELEMENTOS DECORATIVOS
   ========================================================= */

.welcome-anonymous .page-anonymous {
    position: relative;

    min-height: 100vh;

    overflow: hidden;
}

.welcome-anonymous .page-anonymous::before {
    content: "";

    position: fixed;

    width: 430px;
    height: 430px;

    left: -180px;
    top: 15%;

    border-radius: 50%;

    background:
        radial-gradient(
            circle,
            rgba(42, 91, 221, 0.28),
            rgba(42, 91, 221, 0.03) 60%,
            transparent 72%
        );

    filter: blur(6px);

    pointer-events: none;
}

.welcome-anonymous .page-anonymous::after {
    content: "";

    position: fixed;

    width: 520px;
    height: 520px;

    right: -220px;
    bottom: -140px;

    border-radius: 50%;

    background:
        radial-gradient(
            circle,
            rgba(127, 42, 221, 0.23),
            rgba(127, 42, 221, 0.03) 62%,
            transparent 72%
        );

    pointer-events: none;
}

.welcome-anonymous .page-anonymous > .flex-fill {
    position: relative;
    z-index: 2;

    margin-top: 0 !important;

    padding-top: 2rem !important;
    padding-bottom: 1.5rem !important;
}

.welcome-anonymous .container-tight {
    padding-top: 1rem !important;
    padding-bottom: 1rem !important;
}


/* =========================================================
   BRAND
   ========================================================= */

.welcome-anonymous .trinexus-brand {
    margin-bottom: 1.25rem;
}

.welcome-anonymous .trinexus-brand-logo {
    display: block;

    width: 112px;
    height: 112px;

    object-fit: contain;

    margin: 0 auto 0.7rem auto;

    border-radius: 18px;

    filter:
        drop-shadow(0 12px 30px rgba(0, 0, 0, 0.45));
}

.welcome-anonymous .trinexus-brand-title {
    color: #ffffff;

    font-size: 1.55rem;
    font-weight: 700;

    letter-spacing: -0.015em;

    text-shadow:
        0 3px 18px rgba(0, 0, 0, 0.35);
}

.welcome-anonymous .trinexus-brand-subtitle {
    margin-top: 0.2rem;

    color: rgba(220, 226, 255, 0.70);

    font-size: 0.85rem;
}


/* =========================================================
   CARD DARK GLASS
   ========================================================= */

.welcome-anonymous .main-content-card {
    position: relative;

    overflow: hidden;

    border:
        1px solid rgba(144, 158, 255, 0.20);

    border-radius: 20px;

    color: #eef2ff;

    background:
        linear-gradient(
            145deg,
            rgba(17, 23, 46, 0.96),
            rgba(21, 18, 46, 0.94)
        );

    box-shadow:
        0 30px 80px rgba(0, 0, 0, 0.38),
        0 0 0 1px rgba(255, 255, 255, 0.025) inset;

    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
}

.welcome-anonymous .main-content-card::before {
    content: "";

    position: absolute;

    left: 0;
    right: 0;
    top: 0;

    height: 2px;

    background:
        linear-gradient(
            90deg,
            transparent,
            #2a5bdd,
            #8b4cff,
            transparent
        );

    opacity: 0.9;
}

.welcome-anonymous .main-content-card .card-header {
    color: #f5f7ff;

    border-color:
        rgba(255, 255, 255, 0.075);

    background: transparent;
}

.welcome-anonymous .main-content-card .card-body {
    background: transparent;
}

.welcome-anonymous .main-content-card h2,
.welcome-anonymous .main-content-card .card-title {
    color: #ffffff;
}

.welcome-anonymous .main-content-card h2 {
    font-size: 1.28rem;
    font-weight: 700;
}

.welcome-anonymous .trinexus-login-subtitle {
    margin-top: -0.45rem;
    margin-bottom: 0;

    color: #929bb9;

    font-size: 0.84rem;
}


/* =========================================================
   LABELS / TEXTO
   ========================================================= */

.welcome-anonymous .form-label,
.welcome-anonymous .form-check-label {
    color: #cbd3ec;
}

.welcome-anonymous .text-muted {
    color: #8993b2 !important;
}


/* =========================================================
   CAMPOS
   ========================================================= */

.welcome-anonymous .form-control,
.welcome-anonymous .form-select,
.welcome-anonymous select {
    color: #f4f6ff !important;

    border:
        1px solid rgba(140, 153, 190, 0.20);

    border-radius: 10px;

    background-color: rgba(6, 11, 29, 0.72) !important;

    box-shadow:
        inset 0 1px 2px rgba(0, 0, 0, 0.22);

    transition:
        border-color 160ms ease,
        box-shadow 160ms ease,
        background-color 160ms ease;
}

.welcome-anonymous .form-control:hover,
.welcome-anonymous .form-select:hover {
    border-color:
        rgba(112, 126, 255, 0.42);
}

.welcome-anonymous .form-control:focus,
.welcome-anonymous .form-select:focus {
    color: #ffffff !important;

    border-color: #6b65ff;

    background-color:
        rgba(9, 14, 34, 0.94) !important;

    box-shadow:
        0 0 0 0.2rem rgba(91, 87, 255, 0.16),
        0 0 20px rgba(64, 79, 255, 0.10);
}

.welcome-anonymous select option {
    color: #ffffff;

    background: #11172d;
}


/* =========================================================
   ESCONDER ORIGEM DE LOGIN
   ========================================================= */

.welcome-anonymous .trinexus-login-source {
    display: none !important;
}


/* =========================================================
   CHECKBOX
   ========================================================= */

.welcome-anonymous .form-check-input {
    border-color: rgba(150, 160, 200, 0.35);

    background-color: rgba(8, 14, 32, 0.8);
}

.welcome-anonymous .form-check-input:checked {
    border-color: #4b69ff;

    background-color: #4b69ff;
}


/* =========================================================
   BOTOES
   ========================================================= */

.welcome-anonymous .btn-primary {
    color: #ffffff !important;

    border: 0;

    border-radius: 10px;

    background:
        linear-gradient(
            100deg,
            #2a5bdd 0%,
            #5945ef 52%,
            #7d35ec 100%
        );

    font-weight: 600;

    box-shadow:
        0 9px 26px rgba(68, 70, 238, 0.25);

    transition:
        transform 160ms ease,
        box-shadow 160ms ease,
        filter 160ms ease;
}

.welcome-anonymous .btn-primary:hover {
    color: #ffffff !important;

    transform: translateY(-1px);

    filter: brightness(1.08);

    box-shadow:
        0 12px 32px rgba(68, 70, 238, 0.38);
}

.welcome-anonymous .btn-outline-secondary {
    color: #cbd3ec;

    border-color:
        rgba(150, 160, 200, 0.36);

    background:
        rgba(255, 255, 255, 0.025);
}

.welcome-anonymous .btn-outline-secondary:hover {
    color: #ffffff;

    border-color:
        rgba(165, 175, 255, 0.55);

    background:
        rgba(96, 101, 210, 0.12);
}

.welcome-anonymous .btn-link {
    color: #8da2ff;
}

.welcome-anonymous .btn-link:hover {
    color: #b7c2ff;
}


/* =========================================================
   PAINEL MEU IP
   ========================================================= */

.welcome-anonymous .trinexus-ip-panel {
    position: relative;

    display: flex;

    align-items: center;
    justify-content: space-between;

    gap: 1rem;

    margin-top: 1rem;

    padding: 0.9rem 1rem;

    overflow: hidden;

    border:
        1px solid rgba(76, 114, 255, 0.30);

    border-radius: 14px;

    background:
        linear-gradient(
            115deg,
            rgba(29, 51, 115, 0.46),
            rgba(42, 24, 80, 0.52)
        );

    box-shadow:
        0 12px 35px rgba(0, 0, 0, 0.20),
        inset 0 1px 0 rgba(255, 255, 255, 0.04);

    backdrop-filter: blur(10px);
}

.welcome-anonymous .trinexus-ip-panel::before {
    content: "";

    position: absolute;

    width: 130px;
    height: 130px;

    right: -45px;
    top: -65px;

    border-radius: 50%;

    background:
        rgba(70, 95, 255, 0.12);

    pointer-events: none;
}

.welcome-anonymous .trinexus-ip-info {
    position: relative;
    z-index: 1;

    display: flex;
    align-items: center;

    gap: 0.75rem;
}

.welcome-anonymous .trinexus-ip-icon {
    display: flex;

    width: 42px;
    height: 42px;

    flex: 0 0 42px;

    align-items: center;
    justify-content: center;

    border-radius: 11px;

    color: #aab9ff;

    background:
        linear-gradient(
            145deg,
            rgba(62, 91, 240, 0.22),
            rgba(126, 66, 233, 0.18)
        );

    font-size: 1.25rem;
}

.welcome-anonymous .trinexus-ip-label {
    color: #98a4c5;

    font-size: 0.76rem;

    line-height: 1.1;
}

.welcome-anonymous .trinexus-ip-value {
    display: block;

    margin-top: 0.18rem;

    color: #ffffff;

    font-family:
        ui-monospace,
        SFMono-Regular,
        Menlo,
        Monaco,
        Consolas,
        monospace;

    font-size: 0.98rem;
    font-weight: 700;

    letter-spacing: 0.015em;
}

.welcome-anonymous .trinexus-copy-ip {
    position: relative;
    z-index: 1;

    display: flex;

    align-items: center;
    justify-content: center;

    gap: 0.4rem;

    min-width: 100px;

    color: #dfe5ff;

    border:
        1px solid rgba(149, 164, 255, 0.26);

    border-radius: 9px;

    padding: 0.48rem 0.8rem;

    background:
        rgba(255, 255, 255, 0.055);

    font-size: 0.78rem;

    cursor: pointer;

    transition:
        background 150ms ease,
        border-color 150ms ease,
        transform 150ms ease;
}

.welcome-anonymous .trinexus-copy-ip:hover {
    color: #ffffff;

    border-color:
        rgba(164, 179, 255, 0.52);

    background:
        rgba(99, 110, 242, 0.15);

    transform: translateY(-1px);
}

.welcome-anonymous .trinexus-copy-ip:disabled {
    cursor: default;

    opacity: 0.5;

    transform: none;
}


/* =========================================================
   CONTATO
   ========================================================= */

.welcome-anonymous .trinexus-contact {
    margin-top: 1rem;

    color: rgba(206, 213, 240, 0.62);

    font-size: 0.74rem;
    line-height: 1.65;
}

.welcome-anonymous .trinexus-contact-main {
    display: flex;
    flex-wrap: wrap;

    align-items: center;
    justify-content: center;

    gap: 0.25rem 1.15rem;
}

.welcome-anonymous .trinexus-contact a {
    color: rgba(220, 226, 255, 0.75);

    text-decoration: none;
}

.welcome-anonymous .trinexus-contact a:hover {
    color: #ffffff;

    text-decoration: none;
}

.welcome-anonymous .trinexus-contact-address {
    margin-top: 0.3rem;

    color: rgba(183, 191, 220, 0.48);
}


/* =========================================================
   GLPI COPYRIGHT
   ========================================================= */

.welcome-anonymous .container-tight > .text-center.text-muted {
    color: rgba(187, 195, 224, 0.36) !important;

    font-size: 0.69rem;
}

.welcome-anonymous .container-tight > .text-center.text-muted a {
    color: rgba(199, 207, 235, 0.48);
}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 576px) {

    .welcome-anonymous .page-anonymous > .flex-fill {
        padding-top: 1.2rem !important;
    }

    .welcome-anonymous .trinexus-brand-logo {
        width: 88px;
        height: 88px;
    }

    .welcome-anonymous .trinexus-brand-title {
        font-size: 1.3rem;
    }

    .welcome-anonymous .trinexus-ip-panel {
        align-items: stretch;
        flex-direction: column;
    }

    .welcome-anonymous .trinexus-copy-ip {
        width: 100%;
    }

    .welcome-anonymous .trinexus-contact {
        padding-left: 0.7rem;
        padding-right: 0.7rem;
    }

}
