/* AxarCloud corporate branding for GLPI 11 — compact dark glass login. */

:root {
    --glpi-logo-dark-login: url("../images/logo-axarcloud.png");
    --glpi-logo-light-login: url("../images/logo-axarcloud.png");
    --axarcloud-navy: #0b1f33;
    --axarcloud-panel: rgba(8, 30, 48, 0.88);
    --axarcloud-cyan: #16a6c9;
    --axarcloud-sky: #39b5f6;
    color-scheme: light dark;
}

.page-anonymous {
    color-scheme: dark !important;
}

html:has(body.axarcloud-login) {
    min-height: 100%;
    background: var(--axarcloud-navy) !important;
    color-scheme: dark !important;
}

body.axarcloud-login {
    min-height: 100vh;
    color: #e9f5fa;
    background: transparent !important;
    isolation: isolate;
    color-scheme: dark !important;
}

body.axarcloud-login::before {
    position: fixed;
    z-index: -2;
    inset: 0;
    content: "";
    background: var(--axarcloud-navy) url("../images/helpdesk-background-dark.png") center / cover no-repeat;
}

body.axarcloud-login::after {
    position: fixed;
    z-index: -1;
    inset: 0;
    content: "";
    background:
        radial-gradient(circle at 50% 42%, rgba(31, 103, 137, 0.22), rgba(7, 24, 39, 0.06) 42%, rgba(5, 20, 34, 0.28) 100%);
    pointer-events: none;
}

body.axarcloud-login .page,
body.axarcloud-login .page-wrapper,
body.axarcloud-login .page-center,
body.axarcloud-login main,
body.axarcloud-login footer {
    border: 0 !important;
    background: transparent !important;
}

body.axarcloud-login .page,
body.axarcloud-login .page-wrapper {
    min-height: 100vh !important;
}

body.axarcloud-login .page-center {
    padding-block: 1rem !important;
}

body.axarcloud-login .container-tight {
    width: min(620px, calc(100vw - 32px)) !important;
    max-width: 620px !important;
}

body.axarcloud-login .glpi-logo,
.page-anonymous .glpi-logo {
    width: min(370px, 76vw) !important;
    height: 78px !important;
    max-width: 100% !important;
    margin-inline: auto !important;
    display: flex !important;
    align-items: center;
    justify-content: center;
    position: relative;
    background-color: transparent !important;
    background-image: url("../images/logo-axarcloud-white.png?v=1.1.7") !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
    background-size: contain !important;
    filter: drop-shadow(0 5px 16px rgba(0, 0, 0, 0.32));
    forced-color-adjust: none;
    color-scheme: dark !important;
}

body.axarcloud-login .glpi-logo::before,
.page-anonymous .glpi-logo::before {
    display: none !important;
    content: none !important;
}

body.axarcloud-login .glpi-logo::after {
    display: none;
    content: "AxarCloud";
    color: #ffffff;
    font-size: 2.4rem;
    font-weight: 700;
    letter-spacing: -0.04em;
}

body.axarcloud-login .glpi-logo.axarcloud-logo-error::after {
    display: block;
}

body.axarcloud-login .glpi-logo.axarcloud-logo-error {
    background-image: none !important;
}

body.axarcloud-login .card {
    width: 100% !important;
    max-width: 620px !important;
    margin-inline: auto !important;
    overflow: hidden;
    color: #e9f5fa !important;
    border: 1px solid rgba(57, 181, 246, 0.28) !important;
    border-radius: 20px !important;
    background:
        linear-gradient(145deg, rgba(8, 30, 48, 0.92), rgba(15, 58, 80, 0.82)) !important;
    box-shadow: 0 24px 70px rgba(1, 12, 22, 0.42) !important;
    backdrop-filter: blur(18px) saturate(125%);
    -webkit-backdrop-filter: blur(18px) saturate(125%);
    color-scheme: dark !important;
}

body.axarcloud-login .card-body {
    padding: 1.7rem 2.35rem 1.8rem !important;
}

.axarcloud-login-heading-row {
    display: block !important;
    width: 100% !important;
}

.axarcloud-login-content-column {
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 100% !important;
}

.axarcloud-native-login-heading {
    display: none !important;
}

.axarcloud-helpdesk-intro {
    display: block !important;
    width: 100% !important;
    max-width: 520px;
    margin: 0 auto 1.05rem !important;
    flex: 0 0 100% !important;
    text-align: center;
}

.axarcloud-helpdesk-label {
    display: inline-flex;
    align-items: center;
    min-height: 29px;
    margin-bottom: 0.55rem;
    padding: 0.3rem 0.82rem;
    color: #91e7fa;
    border: 1px solid rgba(57, 181, 246, 0.38);
    border-radius: 999px;
    background: rgba(22, 166, 201, 0.13);
    font-size: 0.76rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.axarcloud-helpdesk-intro strong {
    display: block;
    color: #ffffff;
    font-size: clamp(1.3rem, 2.2vw, 1.55rem);
    font-weight: 700;
    line-height: 1.25;
}

.axarcloud-helpdesk-intro p {
    max-width: 500px;
    margin: 0.4rem auto 0;
    color: #b8d0db;
    font-size: 0.92rem;
    line-height: 1.45;
}

body.axarcloud-login .card hr {
    margin-block: 0.95rem !important;
    border-color: rgba(145, 231, 250, 0.16) !important;
    opacity: 1 !important;
}

body.axarcloud-login .card label,
body.axarcloud-login .card .form-label,
body.axarcloud-login .card .form-check-label {
    color: #dcecf3 !important;
}

body.axarcloud-login .card .form-control,
body.axarcloud-login .card .form-select {
    min-height: 43px;
    color: #173047 !important;
    border: 1px solid rgba(163, 214, 232, 0.58) !important;
    border-radius: 9px !important;
    background: rgba(250, 253, 255, 0.96) !important;
    box-shadow: inset 0 1px 1px rgba(11, 31, 51, 0.04) !important;
    color-scheme: light !important;
    -webkit-text-fill-color: #173047 !important;
    -webkit-appearance: none;
    appearance: none;
    background-image: linear-gradient(#fafdff, #fafdff) !important;
    box-shadow:
        inset 0 0 0 1000px #fafdff,
        inset 0 1px 1px rgba(11, 31, 51, 0.04) !important;
}

body.axarcloud-login .card .mb-3 {
    margin-bottom: 0.8rem !important;
}

body.axarcloud-login .card .form-control:focus,
body.axarcloud-login .card .form-select:focus {
    border-color: var(--axarcloud-sky) !important;
    box-shadow: 0 0 0 3px rgba(57, 181, 246, 0.2) !important;
}

body.axarcloud-login .card .form-check-input {
    border-color: rgba(184, 208, 219, 0.7) !important;
    background-color: rgba(250, 253, 255, 0.96) !important;
    color-scheme: light !important;
}

@media (prefers-color-scheme: dark) {
    html:has(body.axarcloud-login),
    body.axarcloud-login,
    body.axarcloud-login .card {
        color-scheme: dark !important;
    }

    body.axarcloud-login .glpi-logo,
    .page-anonymous .glpi-logo {
        background-image: url("../images/logo-axarcloud-white.png?v=1.1.7") !important;
        filter: drop-shadow(0 5px 16px rgba(0, 0, 0, 0.32)) !important;
    }

    body.axarcloud-login .glpi-logo.axarcloud-logo-error {
        background-image: none !important;
    }

    .axarcloud-helpdesk-label {
        color: #a9efff !important;
        border-color: rgba(91, 210, 239, 0.5) !important;
    }

    .axarcloud-helpdesk-intro strong,
    body.axarcloud-login .card label,
    body.axarcloud-login .card .form-label,
    body.axarcloud-login .card .form-check-label {
        color: #ffffff !important;
        -webkit-text-fill-color: #ffffff !important;
    }

    .axarcloud-helpdesk-intro p {
        color: #e1f0f5 !important;
        -webkit-text-fill-color: #e1f0f5 !important;
    }

    body.axarcloud-login .card .form-control,
    body.axarcloud-login .card .form-select {
        color: #173047 !important;
        background-color: #fafdff !important;
        background-image: linear-gradient(#fafdff, #fafdff) !important;
        -webkit-text-fill-color: #173047 !important;
    }

    body.axarcloud-login .card .btn-primary {
        color: #ffffff !important;
        border-color: #35c6e5 !important;
        background-color: #099fc8 !important;
        background-image: linear-gradient(135deg, #20b6d7, #078eb7) !important;
        -webkit-text-fill-color: #ffffff !important;
    }

    body.axarcloud-login a,
    body.axarcloud-login footer,
    body.axarcloud-login footer a {
        color: #8ce5f7 !important;
        -webkit-text-fill-color: #8ce5f7 !important;
    }
}

body.axarcloud-login .card .form-check-input:checked {
    border-color: var(--axarcloud-cyan) !important;
    background-color: var(--axarcloud-cyan) !important;
}

body.axarcloud-login .card .btn-primary {
    min-height: 44px;
    border-color: #1aa9cc !important;
    border-radius: 9px !important;
    background: linear-gradient(135deg, #18a9cc, #078bb4) !important;
    box-shadow: 0 8px 22px rgba(0, 139, 180, 0.25) !important;
    font-weight: 650;
}

body.axarcloud-login .card .btn-primary:hover,
body.axarcloud-login .card .btn-primary:focus {
    border-color: #36c1df !important;
    background: linear-gradient(135deg, #26b8da, #0799c3) !important;
}

body.axarcloud-login a,
body.axarcloud-login footer,
body.axarcloud-login footer a {
    color: #70d7ee !important;
}

body.axarcloud-login footer {
    padding-top: 0.55rem !important;
    text-shadow: 0 2px 8px rgba(0, 0, 0, 0.35);
}

@media (max-width: 576px) {
    body.axarcloud-login .container-tight {
        width: min(100% - 20px, 620px) !important;
    }

    body.axarcloud-login .glpi-logo,
    .page-anonymous .glpi-logo {
        width: min(300px, 80vw) !important;
        height: 64px !important;
    }

    body.axarcloud-login .card {
        border-radius: 16px !important;
    }

    body.axarcloud-login .card-body {
        padding: 1.45rem 1.25rem 1.55rem !important;
    }

    .axarcloud-helpdesk-intro {
        margin-bottom: 0.9rem !important;
    }

    .axarcloud-helpdesk-intro strong {
        font-size: 1.3rem;
    }

    .axarcloud-helpdesk-intro p {
        font-size: 0.9rem;
    }
}

@media (max-height: 760px) and (min-width: 577px) {
    body.axarcloud-login .page-center {
        padding-block: 0.55rem !important;
    }

    body.axarcloud-login .glpi-logo,
    .page-anonymous .glpi-logo {
        width: min(330px, 72vw) !important;
        height: 62px !important;
    }

    body.axarcloud-login .card-body {
        padding: 1.25rem 2.2rem 1.35rem !important;
    }

    .axarcloud-helpdesk-intro {
        margin-bottom: 0.7rem !important;
    }

    .axarcloud-helpdesk-label {
        margin-bottom: 0.4rem;
    }

    .axarcloud-helpdesk-intro strong {
        font-size: 1.28rem;
    }

    .axarcloud-helpdesk-intro p {
        margin-top: 0.25rem;
        font-size: 0.86rem;
    }

    body.axarcloud-login .card hr {
        margin-block: 0.7rem !important;
    }

    body.axarcloud-login .card .mb-3 {
        margin-bottom: 0.65rem !important;
    }
}
