        :root {
            --dd-vinho: #8B1A3C;
            --dd-vinho-dk: #6b1230;
            --dd-vinho-lt: #f9eef2;
            --dd-laranja: #E07B1A;
            --dd-dourado: #F0A030;
            --dd-creme: #fdf8f2;
            --dd-texto: #1c1410;
            --dd-sub: #6b6056;
        }

        /* Nevasca: azul-acinzentado escuro (#313644, menu do site) + terracota (#9E3B1B) + dourado (#F2A024) */
        :root[data-brand="nevasca"] {
            --dd-vinho: #9E3B1B;
            --dd-vinho-dk: #313644;
            --dd-vinho-lt: #f3eeea;
            --dd-laranja: #F2A024;
            --dd-dourado: #f5b54a;
        }

        /* ---- reset GLPI's centered single-card layout for a full-bleed split screen ---- */
        body.welcome-anonymous {
            background: var(--dd-creme);
            margin: 0;
        }

        body.welcome-anonymous .glpi-logo { display: none; }

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

        body.welcome-anonymous .page-anonymous .flex-fill {
            padding: 0 !important;
            margin: 0 !important;
            min-height: 100vh;
            justify-content: center;
        }

        body.welcome-anonymous .container-tight {
            max-width: 100% !important;
            width: 100%;
            padding: 0 !important;
            margin: 0 !important;
        }

        body.welcome-anonymous .container-tight > .text-center:first-child {
            display: none;
        }

        body.welcome-anonymous .main-content-card {
            border: none;
            border-radius: 0;
            box-shadow: none;
            background: transparent;
            margin: 0 auto;
            max-width: 26rem;
            padding: 3rem 1.5rem;
        }

        @media (min-width: 992px) {
            body.welcome-anonymous .main-content-card {
                margin-left: calc(44vw + 4vw);
                margin-right: 6vw;
            }
        }

        body.welcome-anonymous .card-body,
        body.welcome-anonymous .card-header:not(.dd-panel) {
            padding: 0;
            background: transparent;
            border: none;
        }

        body.welcome-anonymous .text-center.text-muted.mt-3 {
            font-size: .72rem;
            opacity: .55;
            padding: 0 1rem 1rem;
            margin: 1.5rem 0 0 !important;
        }

        @media (min-width: 992px) {
            body.welcome-anonymous .text-center.text-muted.mt-3 {
                position: fixed;
                right: 1.25rem;
                bottom: .85rem;
                max-width: 22rem;
                text-align: right !important;
                padding: 0;
                margin: 0 !important;
                z-index: 2;
            }
        }

        .dd-login-source { display: none; }

        /* ---- left brand panel (fixed, escapes the card layout entirely) ---- */
        .dd-panel {
            display: none;
        }

        @media (min-width: 992px) {
            .dd-panel {
                display: flex;
                flex-direction: column;
                justify-content: space-between;
                position: fixed;
                inset: 0 auto 0 0;
                width: 44vw;
                min-height: 100vh;
                padding: 3.5rem 3rem;
                overflow: hidden;
                background: linear-gradient(155deg, var(--dd-vinho-dk) 0%, var(--dd-vinho) 65%, #4a0d20 100%);
                color: #fff;
                box-sizing: border-box;
                transition: background .45s ease;
            }
        }

        :root[data-brand="nevasca"] .dd-panel {
            background: linear-gradient(155deg, var(--dd-vinho-dk) 0%, var(--dd-vinho) 70%, #23262f 100%);
        }

        .dd-panel::before,
        .dd-panel::after {
            content: "";
            position: absolute;
            border-radius: 50%;
            filter: blur(2px);
        }

        .dd-panel::before {
            width: 480px;
            height: 480px;
            right: -180px;
            top: -160px;
            background: radial-gradient(circle, rgba(240, 160, 48, .28), transparent 70%);
            animation: dd-float-a 14s ease-in-out infinite;
        }

        .dd-panel::after {
            width: 360px;
            height: 360px;
            left: -140px;
            bottom: -120px;
            background: radial-gradient(circle, rgba(224, 123, 26, .22), transparent 70%);
            animation: dd-float-b 18s ease-in-out infinite;
        }

        @keyframes dd-float-a {
            0%, 100% { transform: translate(0, 0); }
            50% { transform: translate(-30px, 25px); }
        }

        @keyframes dd-float-b {
            0%, 100% { transform: translate(0, 0); }
            50% { transform: translate(25px, -20px); }
        }

        .dd-panel-top,
        .dd-panel-mid,
        .dd-panel-bottom {
            position: relative;
            z-index: 1;
        }

        .dd-panel-top img {
            height: 42px;
            width: auto;
            filter: brightness(0) invert(1);
            opacity: .96;
        }

        .dd-eyebrow {
            display: inline-block;
            font-size: .72rem;
            font-weight: 700;
            letter-spacing: .14em;
            text-transform: uppercase;
            color: var(--dd-dourado);
            margin-bottom: 1rem;
        }

        .dd-headline {
            font-family: 'Inter', sans-serif;
            font-size: clamp(2rem, 3.6vw, 2.9rem);
            font-weight: 800;
            line-height: 1.12;
            letter-spacing: -.02em;
            margin-bottom: 1.1rem;
        }

        .dd-headline .dourado { color: var(--dd-dourado); }

        .dd-panel-mid p {
            font-size: .95rem;
            line-height: 1.7;
            color: rgba(255, 255, 255, .72);
            max-width: 26rem;
        }

        .dd-brands-label {
            font-size: .7rem;
            font-weight: 700;
            letter-spacing: .12em;
            text-transform: uppercase;
            color: rgba(255, 255, 255, .55);
            margin-bottom: .85rem;
        }

        .dd-brands {
            display: flex;
            flex-wrap: wrap;
            gap: .55rem;
        }

        .dd-brand-chip {
            font: inherit;
            font-size: .82rem;
            font-weight: 600;
            padding: .45rem 1rem;
            border-radius: 999px;
            background: rgba(255, 255, 255, .08);
            border: 1px solid rgba(255, 255, 255, .18);
            backdrop-filter: blur(6px);
            color: #fff;
            cursor: pointer;
            transition: background .2s, border-color .2s, transform .15s;
        }

        .dd-brand-chip:hover {
            background: rgba(255, 255, 255, .16);
            transform: translateY(-1px);
        }

        .dd-brand-chip:focus-visible {
            outline: 2px solid var(--dd-dourado);
            outline-offset: 2px;
        }

        .dd-brand-chip[aria-pressed="true"] {
            background: rgba(255, 255, 255, .22);
            border-color: var(--dd-dourado);
            box-shadow: 0 0 0 1px var(--dd-dourado) inset;
        }

        .dd-brands-hint {
            font-size: .68rem;
            color: rgba(255, 255, 255, .45);
            margin-top: .65rem;
        }

        /* ---- right side form ---- */
        .dd-form-head {
            margin-bottom: 2.25rem;
        }

        .dd-form-eyebrow {
            display: inline-flex;
            align-items: center;
            gap: .4rem;
            font-size: .72rem;
            font-weight: 700;
            letter-spacing: .1em;
            text-transform: uppercase;
            color: var(--dd-vinho);
            margin-bottom: .75rem;
        }

        .dd-form-eyebrow::before {
            content: "";
            width: 18px;
            height: 2px;
            background: var(--dd-laranja);
            display: inline-block;
        }

        body.welcome-anonymous .card-header.mb-4 { display: none; }

        .dd-form-title {
            font-size: 1.7rem;
            font-weight: 800;
            color: var(--dd-texto);
            letter-spacing: -.02em;
            margin-bottom: .35rem;
        }

        .dd-form-sub {
            font-size: .88rem;
            color: var(--dd-sub);
        }

        body.welcome-anonymous .form-label {
            font-weight: 600;
            font-size: .8rem;
            color: var(--dd-texto);
        }

        body.welcome-anonymous .input-icon-addon { color: var(--dd-vinho); }

        body.welcome-anonymous .form-control,
        body.welcome-anonymous .form-select {
            border: none;
            border-bottom: 2px solid #e8dfd6;
            border-radius: 0;
            background: transparent;
            padding-left: 2.1rem;
            transition: border-color .2s;
        }

        body.welcome-anonymous .form-control:focus,
        body.welcome-anonymous .form-select:focus {
            border-color: var(--dd-vinho);
            box-shadow: none;
        }

        body.welcome-anonymous .forgot_password a { color: var(--dd-vinho); font-weight: 600; }
        body.welcome-anonymous .forgot_password a:hover { color: var(--dd-laranja); }

        body.welcome-anonymous .form-check-input:checked {
            background-color: var(--dd-vinho);
            border-color: var(--dd-vinho);
        }

        body.welcome-anonymous .btn-primary {
            background: linear-gradient(135deg, var(--dd-laranja), var(--dd-dourado));
            border: none;
            border-radius: 999px;
            font-weight: 700;
            letter-spacing: .02em;
            padding: .75rem 1rem;
            box-shadow: 0 12px 26px -10px rgba(224, 123, 26, .55);
            transition: transform .18s, box-shadow .18s, background .3s;
        }

        body.welcome-anonymous .btn-primary:hover,
        body.welcome-anonymous .btn-primary:focus {
            transform: translateY(-2px);
            box-shadow: 0 16px 30px -10px rgba(224, 123, 26, .65);
        }

        body.welcome-anonymous .btn-outline-secondary {
            border-radius: 999px;
            border-color: #e8dfd6;
            color: var(--dd-sub);
        }

        body.welcome-anonymous .btn-outline-secondary:hover {
            background: var(--dd-vinho-lt);
            border-color: var(--dd-vinho);
            color: var(--dd-vinho);
        }
