.transaction-visual {
    position: absolute;
    inset: 0;
    z-index: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.brand-overlay {
    position: absolute;
    inset: 0;
    z-index: 1;
    background:
        linear-gradient(180deg, rgba(5, 30, 27, .62) 0%, rgba(5, 30, 27, .25) 42%, rgba(5, 30, 27, .84) 100%),
        linear-gradient(90deg, rgba(5, 30, 27, .42), transparent 78%);
}

.brand-panel::before { z-index: 1; }

/* Palette officielle Invesco — bleu #193989 extrait du logo. */
:root {
    --forest: #193989;
    --deep: #0f2460;
    --gold: #79a7e3;
    --ink: #14234a;
    --muted: #65708a;
    --line: #dce3f0;
}

.brand-panel {
    background: linear-gradient(145deg, #294d9e, var(--deep) 80%);
}

.brand-overlay {
    background:
        linear-gradient(180deg, rgba(15, 36, 96, .68) 0%, rgba(15, 36, 96, .28) 42%, rgba(15, 36, 96, .88) 100%),
        linear-gradient(90deg, rgba(15, 36, 96, .48), transparent 78%);
}

.brand-panel:after { border-color: rgba(121, 167, 227, .28); }
.glow-one { background: rgba(65, 116, 211, .25); }
.glow-two { border-color: rgba(121, 167, 227, .28); }
.auth-logo { width: 58px; height: 58px; object-fit: contain; border-radius: 6px; background: #fff; }
.brand-copy h1 em, .overline { color: #a9c8f5; }
.brand-copy p { color: #c3d2eb; }
.trust-icon { background: rgba(121, 167, 227, .18); color: #b9d4fa; }
.trust-card div span, .brand-panel footer { color: #afc3e2; }
.trust-status { color: #b9d4fa !important; border-color: rgba(185, 212, 250, .38); }
.welcome-icon { background: #e9effb; color: var(--forest); }
.overline.dark { color: #315cb0; }
.input-wrap:focus-within { border-color: #6688cf; box-shadow: 0 0 0 3px rgba(25, 57, 137, .10); }
.input-icon { color: #5577b8; }
.submit-btn:hover { background: #294d9e; box-shadow: 0 8px 20px rgba(25, 57, 137, .22); }
.create-link:hover { border-color: var(--forest); background: #f3f6fd; }
.shield { background: #e9effb; color: #315cb0; }

@media (max-width: 900px) {
    .mobile-brand > img { width: 34px; height: 34px; object-fit: contain; border-radius: 4px; }
}
