:root {
    --dpe-green-dark: #004b2b;
    --dpe-green: #007a3d;
    --dpe-green-light: #00a651;
    --dpe-gold: #e8c75a;
}

body.page-anonymous,
body.dpe-login-page {
    background:
        radial-gradient(circle at 20% 15%, rgba(232, 199, 90, .12), transparent 30%),
        linear-gradient(135deg, #003820 0%, var(--dpe-green-dark) 55%, #006536 100%) !important;
}

body.page-anonymous .card,
body.page-anonymous .login-card,
body.dpe-login-page .card,
body.dpe-login-page .login-card {
    width: calc(100% - 2rem) !important;
    max-width: 760px !important;
    margin: .75rem auto !important;
    border: 0;
    border-radius: 18px;
    box-shadow: 0 24px 60px rgba(0, 0, 0, .28);
    overflow: hidden;
}

.dpe-branding-login {
    padding: .65rem 1.25rem .55rem;
    margin: -1rem -1rem 1.35rem;
    text-align: center;
    background: linear-gradient(135deg, #003820, #006536);
    border-bottom: 3px solid var(--dpe-gold);
}

.dpe-branding-login img {
    display: block;
    width: min(100%, 330px);
    max-height: 100px;
    object-fit: contain;
    margin: 0 auto .25rem;
}

.dpe-branding-login strong {
    color: #fff;
    font-size: 1.05rem;
    letter-spacing: .02em;
}

.dpe-branding-login span {
    display: block;
    margin-top: .2rem;
    color: #f4e7aa;
    font-size: .82rem;
}

body.page-anonymous .container,
body.page-anonymous .container-tight,
body.dpe-login-page .container,
body.dpe-login-page .container-tight {
    width: 100% !important;
    max-width: 800px !important;
}

body.page-anonymous .card-body,
body.dpe-login-page .card-body {
    padding: 1rem 2rem 1.25rem !important;
}

body.page-anonymous form,
body.dpe-login-page form {
    width: 100%;
    max-width: 480px;
    margin-right: auto;
    margin-left: auto;
}

body.dpe-login-page .dpe-login-source-hidden {
    display: none !important;
}

body.page-anonymous form > .row > [class*="col-"],
body.dpe-login-page form > .row > [class*="col-"],
body.dpe-login-page .dpe-login-form-column {
    flex: 0 0 100% !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-right: auto !important;
    margin-left: auto !important;
}

body.page-anonymous form > .row > [class*="col-"] h2,
body.dpe-login-page form > .row > [class*="col-"] h2,
body.dpe-login-page .dpe-login-form-column h2 {
    white-space: nowrap;
}

body.page-anonymous .glpi-logo,
body.dpe-login-page .glpi-logo,
body.dpe-login-error-page [class*="glpi-logo"],
body.dpe-login-error-page .page-anonymous-logo {
    display: none !important;
}

body.dpe-login-error-page .container-tight {
    max-width: 680px !important;
}

body.dpe-login-error-page .card,
body.dpe-login-error-page .login-card {
    max-width: 640px !important;
}

body.dpe-login-error-page .card-body {
    padding: 1rem 2rem 1.5rem !important;
}

body.dpe-login-error-page .alert {
    margin: 0 auto !important;
    border-color: rgba(232, 199, 90, .65) !important;
    background: #fffaf0 !important;
}

body.dpe-login-error-page .alert .btn,
body.dpe-login-error-page a.btn {
    color: #fff !important;
    background: var(--dpe-green) !important;
    border-color: var(--dpe-green) !important;
}

body.page-anonymous .btn-primary,
body.dpe-login-page .btn-primary {
    color: #fff !important;
    background: var(--dpe-green) !important;
    border-color: var(--dpe-green) !important;
}

body.page-anonymous .btn-primary:hover,
body.dpe-login-page .btn-primary:hover {
    background: #006735 !important;
    border-color: #006735 !important;
}

body.page-anonymous input:focus,
body.page-anonymous select:focus,
body.dpe-login-page input:focus,
body.dpe-login-page select:focus {
    border-color: var(--dpe-gold) !important;
    box-shadow: 0 0 0 .25rem rgba(232, 199, 90, .25) !important;
}

.dpe-branding-mark {
    display: inline-flex;
    align-items: center;
    gap: .55rem;
    color: #fff;
    text-decoration: none;
    white-space: nowrap;
}

.dpe-branding-mark img {
    width: 36px;
    height: 36px;
    object-fit: contain;
}

.dpe-branding-mark span {
    font-size: .86rem;
    font-weight: 700;
    line-height: 1.05;
}

.navbar,
.navbar-vertical,
header.navbar,
.navbar.navbar-expand-md,
#navbar-menu {
    --tblr-navbar-bg: var(--dpe-green-dark);
    background-color: var(--dpe-green-dark) !important;
}

.navbar .nav-link,
.navbar .navbar-brand,
.navbar .text-secondary,
.navbar .text-muted {
    color: rgba(255, 255, 255, .86) !important;
}

.navbar .nav-link:hover,
.navbar .nav-link.active {
    color: #fff !important;
    background-color: rgba(255, 255, 255, .08) !important;
}

.bg-blue-lt,
.bg-primary-lt,
.helpdesk-homepage .hero,
.helpdesk-homepage [class*="hero"] {
    color: #173a29 !important;
    background-color: #dfeee5 !important;
}

.text-blue,
.text-primary,
.link-primary {
    color: var(--dpe-green) !important;
}

.card:hover {
    border-color: rgba(0, 122, 61, .35);
}

body.dpe-selfservice-simplified .page-body {
    background: transparent !important;
}

body.dpe-selfservice-simplified,
body.dpe-selfservice-simplified #page,
body.dpe-selfservice-simplified .page,
body.dpe-selfservice-simplified .page-wrapper,
body.dpe-selfservice-simplified main {
    background:
        radial-gradient(circle at 12% 8%, rgba(232, 199, 90, .14), transparent 24rem),
        linear-gradient(145deg, #edf6f0 0%, #f7faf8 48%, #eef5f1 100%) !important;
}

body.dpe-selfservice-simplified .dpe-postonly-actions .card,
body.dpe-selfservice-simplified .dpe-postonly-action > a {
    background: rgba(255, 255, 255, .94) !important;
    border-color: rgba(0, 75, 43, .20) !important;
}

body.dpe-selfservice-simplified .dpe-postonly-actions .card:hover,
body.dpe-selfservice-simplified .dpe-postonly-action > a:hover {
    background: #fff !important;
    border-color: var(--dpe-green) !important;
}

body.dpe-selfservice-simplified h1,
body.dpe-selfservice-simplified h2 {
    color: #173a29 !important;
}

body.dpe-selfservice-simplified .card {
    border: 1px solid rgba(0, 75, 43, .15);
    box-shadow: 0 4px 14px rgba(0, 75, 43, .06);
}

body.dpe-selfservice-simplified .card:hover {
    border-color: var(--dpe-green);
    box-shadow: 0 8px 22px rgba(0, 75, 43, .12);
}

body.dpe-selfservice-simplified .dpe-postonly-hidden {
    display: none !important;
}

body.dpe-selfservice-simplified .dpe-postonly-actions {
    justify-content: center !important;
    max-width: 1080px;
    margin-right: auto !important;
    margin-left: auto !important;
}

body.dpe-selfservice-simplified .dpe-postonly-action {
    display: block !important;
    flex: 0 0 50% !important;
    width: 50% !important;
    max-width: 540px !important;
}

body.dpe-selfservice-simplified .page-body {
    padding-top: 3rem;
}

.btn-primary {
    --tblr-btn-bg: var(--dpe-green);
    --tblr-btn-border-color: var(--dpe-green);
    --tblr-btn-hover-bg: #006735;
    --tblr-btn-hover-border-color: #006735;
}

a {
    --tblr-link-color-rgb: 0, 122, 61;
}

@media (max-width: 575.98px) {
    .dpe-branding-login img {
        max-height: 92px;
    }

    body.page-anonymous .card-body,
    body.dpe-login-page .card-body {
        padding: 1.15rem 1.25rem !important;
    }

    .dpe-branding-mark span {
        display: none;
    }

    body.dpe-selfservice-simplified .dpe-postonly-action {
        flex-basis: 100% !important;
        width: 100% !important;
    }
}
