:root {
    color-scheme: light;
    --font-main: "Porsche Next", "Eurostile", "Orbitron", "Montserrat", sans-serif;
    --bg: #f4f6f8;
    --panel: #ffffff;
    --ink: #23272f;
    --muted: #66717f;
    --line: #e8edf2;
    --side: #4d525a;
    --side-dark: #444951;
    --red: #f31f28;
    --accent: #108596;
    --accent-strong: #ec1c24;
    --danger: #c83a3a;
    --shadow: 0 8px 24px rgba(29, 39, 50, .06);
}

body,
button,
input,
select,
textarea,
a,
h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: var(--font-main);
}

/* Configurateur: selection vehicule façon cockpit DarkLab. */
.configurator-layout .vehicle-type-tabs {
    align-items: stretch;
    background: transparent;
    border: 0;
    display: grid;
    gap: 18px;
    grid-template-columns: repeat(7, minmax(145px, 1fr));
    margin: 22px auto 34px;
    max-width: 1720px;
    overflow: visible;
    padding: 0;
}

.configurator-layout .vehicle-type-tabs button {
    align-items: center;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, .055), rgba(255, 255, 255, .015)),
        radial-gradient(circle at 50% 42%, rgba(94, 142, 190, .16), transparent 38%),
        linear-gradient(145deg, rgba(6, 11, 18, .86), rgba(4, 6, 11, .72));
    border: 1px solid rgba(180, 194, 214, .22);
    border-radius: 0;
    box-shadow:
        inset 0 0 0 1px rgba(255, 255, 255, .035),
        inset 0 -42px 70px rgba(0, 0, 0, .2),
        0 18px 42px rgba(0, 0, 0, .28);
    clip-path: polygon(10px 0, calc(100% - 10px) 0, 100% 10px, 100% calc(100% - 18px), calc(100% - 18px) 100%, 18px 100%, 0 calc(100% - 10px), 0 10px);
    color: rgba(232, 238, 248, .82);
    display: flex;
    flex-direction: column;
    gap: 9px;
    justify-content: flex-end;
    min-height: 214px;
    padding: 24px 14px 25px;
    position: relative;
    text-align: center;
    text-transform: none;
    transition: border-color .22s ease, box-shadow .22s ease, color .22s ease, transform .22s ease, background .22s ease;
}

.configurator-layout .vehicle-type-tabs button::before {
    background:
        linear-gradient(135deg, rgba(255, 255, 255, .1), transparent 28%),
        radial-gradient(circle at 50% 45%, rgba(170, 205, 255, .14), transparent 34%);
    border: 1px solid rgba(207, 220, 238, .18);
    border-radius: 0;
    box-shadow: inset 0 0 42px rgba(255, 255, 255, .035);
    clip-path: polygon(10px 0, calc(100% - 10px) 0, 100% 10px, 100% calc(100% - 18px), calc(100% - 18px) 100%, 18px 100%, 0 calc(100% - 10px), 0 10px);
    content: "";
    inset: 0;
    opacity: .85;
    position: absolute;
    transform: none;
    transition: opacity .22s ease, border-color .22s ease, box-shadow .22s ease;
    z-index: -1;
}

.configurator-layout .vehicle-type-tabs button::after {
    background: linear-gradient(90deg, transparent, rgba(203, 219, 239, .52), transparent);
    bottom: 17px;
    content: "";
    height: 3px;
    left: 36%;
    opacity: .55;
    position: absolute;
    transform: none;
    transition: background .22s ease, box-shadow .22s ease, opacity .22s ease, left .22s ease, width .22s ease;
    width: 28%;
}

.configurator-layout .vehicle-type-tabs button.active,
.configurator-layout .vehicle-type-tabs button:hover {
    background:
        radial-gradient(circle at 50% 38%, rgba(236, 28, 36, .18), transparent 36%),
        linear-gradient(180deg, rgba(255, 255, 255, .07), rgba(236, 28, 36, .05)),
        linear-gradient(145deg, rgba(9, 13, 20, .92), rgba(4, 6, 11, .78));
    border-color: rgba(255, 44, 58, .82);
    box-shadow:
        0 0 0 1px rgba(255, 44, 58, .28),
        0 0 40px rgba(236, 28, 36, .24),
        0 22px 56px rgba(0, 0, 0, .36),
        inset 0 0 54px rgba(236, 28, 36, .08);
    color: #fff;
    transform: translateY(-4px);
}

.configurator-layout .vehicle-type-tabs button.active::before,
.configurator-layout .vehicle-type-tabs button:hover::before {
    border-color: rgba(255, 54, 68, .56);
    box-shadow:
        inset 0 0 52px rgba(236, 28, 36, .09),
        0 0 34px rgba(236, 28, 36, .2);
    opacity: 1;
}

.configurator-layout .vehicle-type-tabs button.active::after,
.configurator-layout .vehicle-type-tabs button:hover::after {
    background: linear-gradient(90deg, transparent, #ff2633, #fff, #ff2633, transparent);
    box-shadow: 0 0 18px rgba(236, 28, 36, .75);
    left: 28%;
    opacity: 1;
    width: 44%;
}

.configurator-layout .vehicle-type-tabs button > span {
    background: rgba(238, 244, 255, .88) !important;
    border: 1px solid rgba(230, 239, 255, .34);
    box-shadow:
        0 0 0 1px rgba(255, 255, 255, .06),
        0 0 28px rgba(132, 169, 220, .12);
    height: 46px;
    margin-bottom: auto;
    mask-position: center;
    mask-repeat: no-repeat;
    mask-size: 30px auto;
    -webkit-mask-position: center;
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-size: 30px auto;
    width: 54px;
}

.configurator-layout .vehicle-type-tabs button.active > span,
.configurator-layout .vehicle-type-tabs button:hover > span {
    background: #fff !important;
    filter:
        drop-shadow(0 0 4px rgba(255, 54, 68, .84))
        drop-shadow(0 0 18px rgba(236, 28, 36, .55)) !important;
    transform: translateY(-2px) scale(1.06);
}

.configurator-layout .vehicle-type-tabs button strong {
    color: currentColor;
    display: block;
    font-size: clamp(16px, 1.15vw, 24px);
    font-weight: 900;
    letter-spacing: .1em;
    line-height: 1;
    text-transform: uppercase;
}

.configurator-layout .vehicle-type-tabs button small {
    color: rgba(232, 238, 248, .64);
    display: block;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .06em;
    line-height: 1.2;
    min-height: 26px;
    text-transform: uppercase;
}

.configurator-layout .vehicle-type-tabs button.active small,
.configurator-layout .vehicle-type-tabs button:hover small {
    color: rgba(255, 255, 255, .82);
}

@media (max-width: 1320px) {
    .configurator-layout .vehicle-type-tabs {
        grid-template-columns: repeat(7, minmax(160px, 1fr));
        overflow-x: auto;
        padding-bottom: 10px;
    }
}

@media (max-width: 760px) {
    .configurator-layout .vehicle-type-tabs {
        grid-template-columns: repeat(7, minmax(132px, 1fr));
        gap: 12px;
    }

    .configurator-layout .vehicle-type-tabs button {
        min-height: 172px;
        padding: 18px 10px 21px;
    }

    .configurator-layout .vehicle-type-tabs button strong {
        font-size: 15px;
    }
}

* {
    box-sizing: border-box;
}

body {
    margin: 0;
    background: var(--bg);
    color: var(--ink);
    font-family: var(--font-main);
}

button,
input,
textarea {
    font: inherit;
}

button {
    border: 0;
    border-radius: 6px;
    background: var(--accent);
    color: #fff;
    cursor: pointer;
    font-weight: 700;
    padding: 12px 18px;
}

.button-link {
    border-radius: 6px;
    background: linear-gradient(135deg, #ec1c24, #940a12);
    color: #fff;
    display: inline-flex;
    font-weight: 800;
    justify-content: center;
    padding: 12px 18px;
    text-decoration: none;
    box-shadow: 0 0 24px rgba(236, 28, 36, .28);
}

.button-link:hover {
    background: linear-gradient(135deg, #ff3340, #b30f18);
}

.secondary-link {
    background: rgba(255, 255, 255, .08);
    border: 1px solid rgba(255, 255, 255, .14);
    color: #fff;
}

.secondary-link:hover {
    background: rgba(236, 28, 36, .18);
}

button:hover {
    background: var(--accent-strong);
}

.secondary {
    background: rgba(255, 255, 255, .08);
    border: 1px solid rgba(255, 255, 255, .14);
    color: #fff;
}

.secondary:hover {
    background: rgba(236, 28, 36, .18);
}

.auth-page {
    align-items: center;
    background:
        radial-gradient(circle at 50% 35%, rgba(236, 28, 36, .18), transparent 34%),
        linear-gradient(180deg, rgba(0, 0, 0, .45), rgba(0, 0, 0, .12) 42%, rgba(0, 0, 0, .7)),
        url("/static/images/darklab-hero-v2.png");
    background-color: #020204;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
    display: flex;
    flex-direction: column;
    gap: 18px;
    min-height: 100vh;
    justify-content: flex-start;
    overflow: hidden;
    padding: 34px 28px 20px;
    position: relative;
}

.auth-page::before {
    background:
        linear-gradient(90deg, rgba(236, 28, 36, .08) 1px, transparent 1px),
        linear-gradient(rgba(236, 28, 36, .05) 1px, transparent 1px);
    background-size: 72px 72px;
    content: "";
    inset: 0;
    opacity: .45;
    pointer-events: none;
    position: absolute;
}

.auth-page::after {
    background: linear-gradient(180deg, #020204 0%, transparent 18%, transparent 82%, #020204 100%);
    content: "";
    inset: 0;
    pointer-events: none;
    position: absolute;
}

.darklab-brand {
    display: flex;
    justify-content: center;
    position: relative;
    mix-blend-mode: screen;
    width: min(820px, 86vw);
    z-index: 1;
}

.logo-frame {
    background:
        linear-gradient(145deg, rgba(255, 255, 255, .08), rgba(255, 255, 255, .02)),
        rgba(0, 0, 0, .34);
    border: 1px solid rgba(255, 255, 255, .20);
    border-radius: 8px;
    box-shadow:
        0 0 0 1px rgba(236, 28, 36, .13),
        0 0 34px rgba(236, 28, 36, .16),
        0 20px 70px rgba(0, 0, 0, .38);
    padding: 10px 34px 8px;
}

.logo-frame::before {
    background: linear-gradient(90deg, transparent, rgba(236, 28, 36, .78), transparent);
    content: "";
    height: 1px;
    left: 12%;
    position: absolute;
    top: 0;
    width: 76%;
}

.darklab-brand img {
    display: block;
    filter:
        drop-shadow(0 0 22px rgba(236, 28, 36, .3))
        drop-shadow(0 0 30px rgba(0, 92, 255, .2));
    height: auto;
    max-height: 160px;
    object-fit: contain;
    width: 100%;
}

.auth-panel {
    background:
        linear-gradient(145deg, rgba(255, 255, 255, .14), rgba(255, 255, 255, .06)),
        rgba(10, 12, 16, .62);
    backdrop-filter: blur(18px);
    border: 1px solid rgba(255, 255, 255, .22);
    border-radius: 8px;
    box-shadow:
        0 0 0 1px rgba(236, 28, 36, .18),
        0 0 48px rgba(236, 28, 36, .18),
        0 22px 80px rgba(0, 0, 0, .55);
    max-width: 460px;
    padding: 24px 34px 28px;
    position: relative;
    width: 100%;
    z-index: 2;
}

.register-panel {
    max-width: 720px;
}

.register-panel-compact {
    max-width: 470px;
    text-align: center;
}

.register-panel-compact .auth-logo {
    margin-inline: auto;
}

.register-panel-compact .quick-login label {
    text-align: center;
}

.register-panel-compact .register-separator,
.register-panel-compact .account-start {
    margin-inline: auto;
    max-width: 280px;
    width: 100%;
}

.register-panel-compact .auth-panel p,
.register-panel-compact p {
    text-align: center;
}

.register-panel-compact .quick-login input {
    text-align: center;
}

.auth-panel::before {
    background: linear-gradient(90deg, transparent, rgba(236, 28, 36, .95), transparent);
    content: "";
    height: 2px;
    left: 12%;
    position: absolute;
    top: 0;
    width: 76%;
}

.auth-logo {
    display: block;
    filter:
        drop-shadow(0 0 14px rgba(236, 28, 36, .24))
        drop-shadow(0 0 12px rgba(0, 92, 255, .14));
    height: auto;
    margin: 0 auto 20px;
    max-width: 250px;
    mix-blend-mode: screen;
    width: 250px;
}

.auth-panel p {
    color: rgba(255, 255, 255, .72);
    font-family: "Michroma", "Inter", sans-serif;
    font-size: 12.5px;
    letter-spacing: .015em;
    line-height: 1.65;
    margin-left: auto;
    margin-right: auto;
    max-width: 390px;
    text-align: center;
}

h1,
h2,
p {
    margin-top: 0;
}

p,
small {
    color: var(--muted);
}

.stack {
    display: grid;
    gap: 16px;
}

label {
    color: var(--muted);
    display: grid;
    gap: 7px;
    font-size: 14px;
}

.auth-panel label {
    color: rgba(255, 255, 255, .72);
    font-family: "Michroma", "Inter", sans-serif;
    font-size: 12px;
    font-weight: 400;
    letter-spacing: .02em;
}

input[type="email"],
input[type="password"],
input[type="text"],
input[type="file"],
textarea {
    border: 1px solid var(--line);
    border-radius: 6px;
    background: #fff;
    color: var(--ink);
    padding: 12px;
    width: 100%;
}

.auth-panel input[type="email"],
.auth-panel input[type="password"],
.auth-panel > .stack input[type="text"],
.auth-panel .form-grid input[type="text"],
.auth-panel .password-field input[type="text"] {
    background: rgba(4, 8, 14, .72);
    border: 1px solid rgba(255, 255, 255, .22);
    box-shadow: inset 0 0 18px rgba(0, 0, 0, .34);
    color: #fff;
    min-height: 44px;
    transition: border-color .18s ease, box-shadow .18s ease, background .18s ease;
}

.password-field {
    display: grid;
    position: relative;
}

.password-field input[type="password"],
.password-field input[type="text"] {
    padding-right: 52px;
}

.password-toggle {
    align-items: center;
    background: transparent;
    border: 1px solid rgba(255, 255, 255, .20);
    border-radius: 6px;
    box-shadow: none;
    display: flex;
    height: 34px;
    justify-content: center;
    min-width: 0;
    padding: 0;
    position: absolute;
    right: 7px;
    top: 50%;
    transform: translateY(-50%);
    width: 34px;
}

.password-toggle::before {
    background: currentColor;
    color: rgba(255, 255, 255, .68);
    content: "";
    height: 18px;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 12s3-7 10-7 10 7 10 7-3 7-10 7-10-7-10-7Z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/svg%3E") center / contain no-repeat;
    width: 18px;
}

.password-toggle.is-visible::after {
    background: rgba(236, 28, 36, .9);
    content: "";
    height: 2px;
    position: absolute;
    transform: rotate(-42deg);
    width: 20px;
}

.password-toggle:hover {
    background: rgba(236, 28, 36, .12);
    border-color: rgba(236, 28, 36, .5);
}

.captcha-row {
    align-items: center;
    display: grid;
    gap: 10px;
    grid-template-columns: auto auto minmax(92px, 1fr);
}

.captcha-row strong {
    background: rgba(4, 8, 14, .72);
    border: 1px solid rgba(255, 255, 255, .18);
    border-radius: 6px;
    color: #fff;
    min-width: 76px;
    padding: 10px 12px;
    text-align: center;
}

.captcha-row span {
    color: rgba(255, 255, 255, .65);
    font-weight: 900;
}

.captcha-row input[type="text"] {
    background: rgba(4, 8, 14, .72);
    border: 1px solid rgba(255, 255, 255, .22);
    box-shadow: inset 0 0 18px rgba(0, 0, 0, .34);
    color: #fff;
    text-align: center;
}

.auth-panel input[type="email"]:focus,
.auth-panel input[type="password"]:focus,
.auth-panel > .stack input[type="text"]:focus,
.auth-panel .form-grid input[type="text"]:focus,
.auth-panel .password-field input[type="text"]:focus {
    background: rgba(8, 12, 18, .92);
    border-color: rgba(236, 28, 36, .82);
    box-shadow:
        0 0 0 3px rgba(236, 28, 36, .14),
        0 0 28px rgba(236, 28, 36, .18),
        inset 0 0 18px rgba(0, 0, 0, .32);
    outline: none;
}

.auth-panel .registration-return,
.auth-panel button[type="submit"] {
    background:
        linear-gradient(180deg, rgba(255, 255, 255, .08), transparent 52%),
        linear-gradient(135deg, rgba(14, 16, 22, .94), rgba(38, 10, 15, .9));
    border: 1px solid rgba(255, 42, 56, .82);
    border-radius: 4px;
    box-shadow:
        0 0 0 1px rgba(236, 28, 36, .14),
        0 0 22px rgba(236, 28, 36, .3),
        inset 0 0 18px rgba(236, 28, 36, .12),
        inset 0 1px 0 rgba(255, 255, 255, .18);
    clip-path: polygon(13px 0, calc(100% - 7px) 0, 100% 7px, 100% calc(100% - 13px), calc(100% - 13px) 100%, 7px 100%, 0 calc(100% - 7px), 0 13px);
    color: #fff;
    font-family: "Michroma", "Inter", sans-serif;
    font-size: 13px;
    font-weight: 400;
    letter-spacing: .035em;
    justify-self: center;
    min-width: 156px;
    overflow: hidden;
    padding: 9px 22px;
    position: relative;
    text-transform: uppercase;
    transition: transform .18s ease, box-shadow .18s ease, filter .18s ease;
}

.auth-panel .registration-return::before,
.auth-panel button[type="submit"]::before,
.account-start::before {
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .34), rgba(236, 28, 36, .24), transparent);
    content: "";
    height: 100%;
    left: -70%;
    position: absolute;
    top: 0;
    transform: skewX(-18deg);
    transition: left .36s ease;
    width: 48%;
}

.auth-panel .registration-return:hover,
.auth-panel button[type="submit"]:hover {
    box-shadow:
        0 0 0 1px rgba(255, 255, 255, .16),
        0 0 34px rgba(236, 28, 36, .58),
        inset 0 0 26px rgba(236, 28, 36, .18),
        inset 0 1px 0 rgba(255, 255, 255, .2);
    filter: saturate(1.08);
    transform: translateY(-1px);
}

.auth-panel .registration-return:hover::before,
.auth-panel button[type="submit"]:hover::before,
.account-start:hover::before {
    left: 120%;
}

.auth-panel .registration-return:active,
.auth-panel button[type="submit"]:active,
.account-start:active,
.account-start.button-press {
    background:
        linear-gradient(180deg, rgba(255, 255, 255, .08), transparent 52%),
        linear-gradient(135deg, rgba(14, 16, 22, .94), rgba(38, 10, 15, .9));
    box-shadow:
        0 0 0 1px rgba(236, 28, 36, .14),
        0 0 22px rgba(236, 28, 36, .3),
        inset 0 0 18px rgba(236, 28, 36, .12),
        inset 0 1px 0 rgba(255, 255, 255, .18);
    filter: saturate(1.02);
    transform: translateY(1px);
}

textarea {
    resize: vertical;
}

.link {
    color: var(--accent);
    display: inline-block;
    font-weight: 700;
    margin-top: 18px;
    text-decoration: none;
}

.auth-panel .link {
    color: rgba(255, 255, 255, .86);
    display: block;
    font-family: "Michroma", "Inter", sans-serif;
    font-size: 13px;
    font-weight: 400;
    letter-spacing: .02em;
    text-align: center;
    text-transform: uppercase;
}

.auth-panel .link:hover {
    color: #fff;
    text-shadow: 0 0 18px rgba(236, 28, 36, .55);
}

.account-switch {
    background: rgba(5, 8, 14, .58);
    border: 1px solid rgba(255, 255, 255, .16);
    border-radius: 8px;
    display: grid;
    gap: 6px;
    grid-template-columns: 1fr 1fr;
    padding: 6px;
}

.account-switch label {
    display: block;
}

.account-switch input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.account-switch span {
    align-items: center;
    border: 1px solid transparent;
    border-radius: 6px;
    color: rgba(255, 255, 255, .7);
    display: flex;
    font-weight: 900;
    justify-content: center;
    min-height: 36px;
    text-transform: uppercase;
    transition: background .18s ease, border-color .18s ease, box-shadow .18s ease, color .18s ease;
}

.account-switch input:checked + span {
    background: linear-gradient(135deg, rgba(236, 28, 36, .95), rgba(130, 8, 15, .9));
    border-color: rgba(255, 255, 255, .24);
    box-shadow: 0 0 28px rgba(236, 28, 36, .28);
    color: #fff;
}

.account-start {
    background:
        linear-gradient(180deg, rgba(255, 255, 255, .08), transparent 52%),
        linear-gradient(135deg, rgba(14, 16, 22, .94), rgba(38, 10, 15, .9));
    border: 1px solid rgba(255, 42, 56, .82);
    border-radius: 4px;
    box-shadow:
        0 0 0 1px rgba(236, 28, 36, .14),
        0 0 24px rgba(236, 28, 36, .32),
        inset 0 0 20px rgba(236, 28, 36, .13),
        inset 0 1px 0 rgba(255, 255, 255, .18);
    clip-path: polygon(13px 0, calc(100% - 7px) 0, 100% 7px, 100% calc(100% - 13px), calc(100% - 13px) 100%, 7px 100%, 0 calc(100% - 7px), 0 13px);
    color: #fff;
    font-family: "Michroma", "Inter", sans-serif;
    font-size: 13px;
    font-weight: 400;
    justify-self: center;
    letter-spacing: .035em;
    min-width: 290px;
    overflow: hidden;
    padding: 10px 24px;
    position: relative;
    text-transform: uppercase;
    transition: transform .18s ease, box-shadow .18s ease, filter .18s ease;
}

.login-panel .account-start {
    font-size: 11px;
    letter-spacing: .012em;
    margin-top: 0;
    max-width: 390px;
    min-height: 56px;
    min-width: 0;
    white-space: nowrap;
    width: 100%;
}

.account-start:hover {
    background:
        linear-gradient(180deg, rgba(255, 255, 255, .08), transparent 52%),
        linear-gradient(135deg, rgba(14, 16, 22, .94), rgba(38, 10, 15, .9));
    box-shadow:
        0 0 0 1px rgba(255, 255, 255, .16),
        0 0 36px rgba(236, 28, 36, .6),
        inset 0 0 28px rgba(236, 28, 36, .2),
        inset 0 1px 0 rgba(255, 255, 255, .2);
    filter: saturate(1.08);
    transform: translateY(-1px);
}

.quick-login {
    margin-top: 4px;
    margin-inline: auto;
    max-width: 390px;
    width: 100%;
}

.register-separator {
    align-items: center;
    color: rgba(255, 255, 255, .55);
    display: flex;
    font-size: 13px;
    font-weight: 900;
    gap: 12px;
    justify-content: center;
    text-transform: uppercase;
    margin: 0 auto -2px;
    max-width: 390px;
}

.register-separator::before,
.register-separator::after {
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .24), transparent);
    content: "";
    flex: 1;
    height: 1px;
}

.form-grid {
    display: grid;
    gap: 14px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.account-fields.is-hidden {
    display: none;
}

.register-form.is-hidden,
.account-start.is-hidden {
    display: none;
}

.alert {
    background: #ffe9e9;
    border: 1px solid #ffc7c7;
    border-radius: 6px;
    color: #8d2020;
    margin: 16px 0;
    padding: 12px;
}

.success-box {
    background: #e8f7ef;
    border: 1px solid #bfe8ce;
    border-radius: 6px;
    color: #176b39;
    margin: 16px 0;
    padding: 12px;
}

.idea-panel {
    max-width: 560px;
}

.detect-page {
    background:
        linear-gradient(180deg, #050608 0, #11141b 132px, #fff 132px, #fff 100%);
    color: #242a33;
    font-family: "Inter", "Lato", Arial, sans-serif;
    min-height: 100vh;
    padding: 24px 7.5vw 58px;
    position: relative;
}

.detect-back {
    align-items: center;
    background:
        radial-gradient(circle at 25% 18%, rgba(255, 255, 255, .24), transparent 30%),
        linear-gradient(145deg, rgba(255, 255, 255, .14), rgba(15, 21, 30, .72) 42%, rgba(4, 7, 12, .86)),
        rgba(10, 15, 24, .66);
    border: 1px solid rgba(116, 184, 255, .42);
    border-radius: 18px;
    box-shadow:
        0 0 0 1px rgba(255, 36, 49, .18),
        0 16px 34px rgba(0, 0, 0, .42),
        0 0 24px rgba(33, 126, 255, .18),
        0 0 18px rgba(255, 36, 49, .14),
        inset 0 1px 0 rgba(255, 255, 255, .26),
        inset 0 -12px 20px rgba(0, 0, 0, .36);
    color: transparent;
    display: flex;
    font-size: 0;
    height: 58px;
    justify-content: center;
    left: clamp(28px, 2.8vw, 48px);
    overflow: hidden;
    position: fixed;
    text-decoration: none;
    top: 128px;
    transform: translateZ(0);
    transition:
        transform .2s ease,
        border-color .2s ease,
        box-shadow .2s ease,
        background .2s ease;
    width: 58px;
    z-index: 20;
    -webkit-backdrop-filter: blur(14px) saturate(142%);
    backdrop-filter: blur(14px) saturate(142%);
}

.detect-back::before {
    border-bottom: 2px solid rgba(255, 255, 255, .96);
    border-left: 2px solid rgba(255, 255, 255, .96);
    content: "";
    height: 16px;
    position: absolute;
    transform: rotate(45deg) translate(2px, -2px);
    width: 16px;
    filter:
        drop-shadow(0 0 7px rgba(95, 179, 255, .72))
        drop-shadow(0 0 5px rgba(255, 36, 49, .38));
}

.detect-back::after {
    background: linear-gradient(90deg, rgba(255, 255, 255, .95), rgba(95, 179, 255, .32), transparent);
    border-radius: 999px;
    content: "";
    height: 2px;
    position: absolute;
    transform: translateX(5px);
    width: 22px;
    filter:
        drop-shadow(0 0 8px rgba(95, 179, 255, .66))
        drop-shadow(0 0 6px rgba(255, 36, 49, .28));
}

.detect-back:hover {
    background:
        radial-gradient(circle at 25% 18%, rgba(255, 255, 255, .32), transparent 32%),
        linear-gradient(145deg, rgba(255, 255, 255, .18), rgba(18, 26, 38, .76) 42%, rgba(4, 7, 12, .9)),
        rgba(10, 15, 24, .72);
    border-color: rgba(139, 202, 255, .72);
    box-shadow:
        0 0 0 1px rgba(255, 36, 49, .34),
        0 19px 40px rgba(0, 0, 0, .46),
        0 0 32px rgba(33, 126, 255, .34),
        0 0 28px rgba(255, 36, 49, .24),
        inset 0 1px 0 rgba(255, 255, 255, .32),
        inset 0 -12px 20px rgba(0, 0, 0, .38);
    transform: scale(1.05) translateY(-1px);
}

.detect-back:active {
    box-shadow:
        0 0 0 1px rgba(255, 36, 49, .24),
        0 8px 18px rgba(0, 0, 0, .36),
        0 0 20px rgba(33, 126, 255, .2),
        inset 0 4px 14px rgba(0, 0, 0, .48),
        inset 0 1px 0 rgba(255, 255, 255, .16);
    transform: scale(.96) translateY(1px);
}

.detect-back:focus-visible {
    outline: 2px solid rgba(116, 184, 255, .78);
    outline-offset: 4px;
}

.detect-header {
    align-items: center;
    background:
        radial-gradient(circle at 11% 30%, rgba(0, 84, 255, .22), transparent 31%),
        radial-gradient(circle at 88% 28%, rgba(236, 28, 36, .24), transparent 32%),
        linear-gradient(135deg, rgba(5, 7, 11, .98), rgba(19, 24, 34, .96) 58%, rgba(7, 8, 12, .98));
    border: 1px solid rgba(255, 255, 255, .08);
    border-top: 3px solid var(--red);
    border-radius: 0 0 8px 8px;
    box-shadow: 0 18px 44px rgba(0, 0, 0, .22), 0 0 34px rgba(236, 28, 36, .12);
    display: flex;
    justify-content: space-between;
    margin: 0 auto 48px;
    max-width: 1600px;
    min-height: 104px;
    overflow: hidden;
    padding: 18px 28px;
    position: relative;
}

.detect-header::after {
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .22), transparent);
    bottom: 0;
    content: "";
    height: 1px;
    left: 8%;
    position: absolute;
    width: 38%;
}

.detect-logo {
    align-items: center;
    display: flex;
    min-height: 68px;
}

.detect-logo img {
    display: block;
    filter:
        drop-shadow(0 0 18px rgba(236, 28, 36, .26))
        drop-shadow(0 0 22px rgba(0, 92, 255, .22));
    height: 68px;
    object-fit: contain;
    width: 230px;
}

.detect-header strong {
    color: rgba(255, 255, 255, .78);
    font-size: 15px;
    font-style: italic;
    font-weight: 700;
    letter-spacing: .01em;
}

.detect-loader {
    display: grid;
    justify-items: center;
    margin-top: 48px;
}

.scan-card {
    background:
        radial-gradient(circle at 16% 20%, rgba(0, 99, 255, .18), transparent 30%),
        radial-gradient(circle at 86% 26%, rgba(236, 28, 36, .26), transparent 31%),
        linear-gradient(135deg, #05070b, #121822 56%, #07080c);
    border: 1px solid rgba(255, 255, 255, .1);
    border-radius: 10px;
    box-shadow:
        0 28px 70px rgba(0, 0, 0, .34),
        0 0 42px rgba(236, 28, 36, .15),
        inset 0 0 46px rgba(236, 28, 36, .08);
    min-height: 360px;
    overflow: hidden;
    position: relative;
    width: min(920px, 86vw);
}

.cyber-scan-card::before {
    animation: detect-grid-drift 14s linear infinite;
    background:
        linear-gradient(rgba(255, 255, 255, .055) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 255, 255, .045) 1px, transparent 1px);
    background-size: 32px 32px;
    content: "";
    inset: 0;
    opacity: .28;
    pointer-events: none;
    position: absolute;
}

.cyber-scan-card::after {
    animation: detect-edge-sweep 2.4s ease-in-out infinite;
    background: linear-gradient(90deg, transparent, rgba(255, 41, 52, .9), rgba(255, 255, 255, .72), rgba(0, 118, 255, .62), transparent);
    content: "";
    height: 1px;
    left: 8%;
    position: absolute;
    right: 8%;
    top: 0;
}

.scan-emblem {
    align-items: center;
    animation: detect-core-pulse 1.6s ease-in-out infinite;
    background: linear-gradient(135deg, #ec1c24, #7a050b);
    border: 1px solid rgba(255, 255, 255, .24);
    border-radius: 50%;
    box-shadow:
        0 0 0 10px rgba(236, 28, 36, .08),
        0 0 46px rgba(236, 28, 36, .48);
    color: #fff;
    display: flex;
    font-size: 13px;
    font-weight: 900;
    height: 74px;
    justify-content: center;
    left: 50%;
    position: absolute;
    top: 24px;
    transform: translateX(-50%);
    width: 74px;
    z-index: 4;
}

.scan-line {
    animation: detect-scan-line 1.9s ease-in-out infinite;
    background:
        linear-gradient(90deg, transparent, rgba(0, 118, 255, .22), rgba(255, 255, 255, .36), rgba(236, 28, 36, .46), transparent);
    height: 54px;
    left: 0;
    position: absolute;
    right: 0;
    top: 0;
    transform: translateY(-70px);
    z-index: 1;
}

.code-console {
    background:
        linear-gradient(180deg, rgba(7, 10, 16, .92), rgba(3, 5, 9, .88));
    border: 1px solid rgba(255, 255, 255, .1);
    border-left: 2px solid rgba(236, 28, 36, .74);
    border-radius: 8px;
    box-shadow:
        0 18px 54px rgba(0, 0, 0, .34),
        inset 0 1px 0 rgba(255, 255, 255, .12);
    left: 50%;
    overflow: hidden;
    position: absolute;
    top: 116px;
    transform: translateX(-50%);
    width: min(760px, calc(100% - 72px));
    z-index: 3;
}

.console-top {
    align-items: center;
    background: rgba(255, 255, 255, .06);
    border-bottom: 1px solid rgba(255, 255, 255, .08);
    display: flex;
    gap: 7px;
    padding: 9px 12px;
}

.console-top span {
    border-radius: 50%;
    display: block;
    height: 8px;
    width: 8px;
}

.console-top span:nth-child(1) {
    background: #ff3038;
}

.console-top span:nth-child(2) {
    background: #d7dce6;
}

.console-top span:nth-child(3) {
    background: #0a70ff;
}

.console-top strong {
    color: rgba(255, 255, 255, .78);
    font-size: 12px;
    letter-spacing: .08em;
    margin-left: 8px;
    text-transform: uppercase;
}

.code-stream {
    display: grid;
    font-family: Consolas, "Roboto Mono", "Courier New", monospace;
    gap: 5px;
    height: 154px;
    overflow: hidden;
    padding: 12px 16px 14px;
}

.code-stream div {
    animation: code-line-in .18s ease-out both;
    display: grid;
    gap: 12px;
    grid-template-columns: 28px minmax(0, 1fr);
    min-width: 0;
}

.code-stream span {
    color: rgba(255, 255, 255, .32);
    font-size: 12px;
    text-align: right;
}

.code-stream code {
    color: #dce7ff;
    font-size: 13px;
    overflow: hidden;
    text-overflow: ellipsis;
    text-shadow: 0 0 16px rgba(0, 118, 255, .18);
    white-space: nowrap;
}

.code-stream div:nth-child(3n) code {
    color: #ff6b72;
}

.code-stream div:nth-child(4n) code {
    color: #ffffff;
}

.scan-steps {
    bottom: 28px;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: center;
    left: 24px;
    position: absolute;
    right: 24px;
    z-index: 3;
}

.scan-steps span {
    animation: detect-step-glow 1.8s ease-in-out infinite;
    background: rgba(255, 255, 255, .08);
    border: 1px solid rgba(255, 255, 255, .20);
    border-radius: 999px;
    color: rgba(255, 255, 255, .75);
    font-family: Consolas, "Roboto Mono", "Courier New", monospace;
    font-size: 12px;
    padding: 8px 12px;
}

.scan-steps span:nth-child(2) {
    animation-delay: .25s;
}

.scan-steps span:nth-child(3) {
    animation-delay: .5s;
}

.detect-loader p {
    color: rgba(255, 255, 255, .78);
    font-size: 16px;
    font-weight: 800;
    letter-spacing: .02em;
    margin-top: 18px;
    text-shadow: 0 0 20px rgba(236, 28, 36, .28);
}

.detect-loader {
    background: #000;
    display: flex;
    height: min(72vh, 720px);
    justify-content: center;
    margin: -18px auto 0;
    max-width: 1620px;
    min-height: 560px;
    overflow: hidden;
    position: relative;
    width: 100%;
}

.matrix-hero {
    background:
        radial-gradient(circle at 50% 50%, rgba(0, 255, 128, .12), transparent 30%),
        linear-gradient(180deg, #000, #020704 54%, #000);
    border: 1px solid rgba(0, 255, 128, .12);
    box-shadow:
        0 30px 90px rgba(0, 0, 0, .38),
        0 0 70px rgba(0, 255, 128, .12),
        inset 0 0 90px rgba(0, 255, 128, .08);
    height: 100%;
    overflow: hidden;
    position: relative;
    width: 100%;
}

.matrix-hero canvas {
    display: block;
    height: 100%;
    inset: 0;
    position: absolute;
    width: 100%;
    z-index: 1;
}

.matrix-vignette {
    background:
        radial-gradient(circle at 50% 50%, transparent 0, rgba(0, 0, 0, .08) 27%, rgba(0, 0, 0, .78) 72%),
        linear-gradient(180deg, rgba(0, 0, 0, .58), transparent 28%, transparent 68%, rgba(0, 0, 0, .76));
    inset: 0;
    pointer-events: none;
    position: absolute;
    z-index: 2;
}

.matrix-brand {
    align-items: center;
    display: flex;
    inset: 0;
    justify-content: center;
    pointer-events: none;
    position: absolute;
    z-index: 3;
}

.matrix-brand span {
    animation: matrix-glitch 2.4s infinite steps(2, end);
    color: rgba(226, 255, 236, .96);
    font-family: "Inter", "Lato", Arial, sans-serif;
    font-size: clamp(58px, 9vw, 152px);
    font-weight: 950;
    letter-spacing: .16em;
    line-height: 1;
    position: absolute;
    text-shadow:
        0 0 10px rgba(210, 255, 225, .42),
        0 0 28px rgba(0, 255, 128, .42),
        0 0 82px rgba(0, 255, 128, .25);
}

.matrix-brand span:nth-child(2) {
    animation-delay: .08s;
    color: rgba(0, 255, 128, .42);
    transform: translate(3px, 0);
}

.matrix-brand span:nth-child(3) {
    animation-delay: .14s;
    color: rgba(180, 255, 205, .28);
    transform: translate(-3px, 0);
}

.matrix-status {
    align-items: center;
    bottom: 44px;
    color: rgba(214, 255, 225, .78);
    display: flex;
    flex-direction: column;
    gap: 7px;
    left: 24px;
    position: absolute;
    right: 24px;
    text-align: center;
    z-index: 4;
}

.matrix-status strong {
    color: rgba(229, 255, 237, .95);
    font-size: 13px;
    font-weight: 900;
    letter-spacing: .16em;
    text-transform: uppercase;
}

.matrix-status span {
    color: rgba(158, 255, 190, .68);
    font-family: Consolas, "Roboto Mono", monospace;
    font-size: 13px;
}

.detect-page.is-matrix-running {
    background: #000;
    padding: 18px 0 0;
}

.detect-page.is-matrix-running .detect-header {
    background: rgba(0, 0, 0, .72);
    border-color: rgba(0, 255, 128, .1);
    border-top-color: rgba(0, 255, 128, .42);
    border-radius: 0;
    box-shadow: 0 0 38px rgba(0, 255, 128, .08);
    margin-bottom: 0;
    max-width: none;
    min-height: 76px;
    padding: 12px 7.5vw;
}

.detect-page.is-matrix-running .detect-logo img {
    filter: drop-shadow(0 0 18px rgba(0, 255, 128, .18));
    height: 52px;
    opacity: .78;
    width: 190px;
}

.detect-page.is-matrix-running .detect-back {
    background:
        radial-gradient(circle at 25% 18%, rgba(198, 255, 216, .18), transparent 30%),
        linear-gradient(145deg, rgba(14, 40, 26, .48), rgba(2, 10, 7, .82) 50%, rgba(0, 0, 0, .92)),
        rgba(0, 0, 0, .7);
    border-color: rgba(0, 255, 128, .28);
    box-shadow:
        0 0 0 1px rgba(0, 255, 128, .12),
        0 16px 34px rgba(0, 0, 0, .42),
        0 0 28px rgba(0, 255, 128, .16),
        inset 0 1px 0 rgba(198, 255, 216, .18),
        inset 0 -12px 20px rgba(0, 0, 0, .42);
    color: rgba(180, 255, 205, .9);
    top: 104px;
}

.detect-page.is-matrix-running .detect-loader {
    height: calc(100vh - 94px);
    margin: 0;
    max-width: none;
    min-height: 620px;
}

.detect-page.is-matrix-running .matrix-hero {
    border: 0;
    box-shadow: inset 0 0 140px rgba(0, 255, 128, .09);
}

.detect-page.is-matrix-running .matrix-brand span {
    color: rgba(0, 255, 106, .115);
    font-size: clamp(72px, 15vw, 255px);
    font-weight: 950;
    letter-spacing: .12em;
    opacity: .62;
    text-shadow:
        0 0 9px rgba(0, 255, 128, .12),
        0 0 38px rgba(0, 255, 128, .14);
}

.detect-page.is-matrix-running .matrix-brand span:nth-child(2),
.detect-page.is-matrix-running .matrix-brand span:nth-child(3) {
    opacity: .18;
}

.matrix-tech {
    animation: matrix-panel-flicker 3.6s infinite linear;
    background: linear-gradient(180deg, rgba(0, 18, 8, .58), rgba(0, 0, 0, .28));
    border: 1px solid rgba(0, 255, 128, .22);
    box-shadow: inset 0 0 24px rgba(0, 255, 128, .05), 0 0 24px rgba(0, 255, 128, .06);
    color: rgba(166, 255, 194, .74);
    display: grid;
    font-family: Consolas, "Roboto Mono", monospace;
    gap: 7px;
    min-width: 178px;
    padding: 14px 16px;
    position: absolute;
    z-index: 4;
}

.matrix-tech::before,
.matrix-tech::after {
    border-color: rgba(0, 255, 128, .55);
    border-style: solid;
    content: "";
    height: 13px;
    position: absolute;
    width: 13px;
}

.matrix-tech::before {
    border-width: 1px 0 0 1px;
    left: -1px;
    top: -1px;
}

.matrix-tech::after {
    border-width: 0 1px 1px 0;
    bottom: -1px;
    right: -1px;
}

.matrix-tech strong {
    color: rgba(188, 255, 207, .9);
    font-size: 12px;
    letter-spacing: .08em;
}

.matrix-tech span {
    font-size: 11px;
    opacity: .72;
}

.matrix-tech-a {
    left: 5vw;
    top: 9vh;
}

.matrix-tech-b {
    right: 5vw;
    top: 16vh;
}

.matrix-tech-c {
    bottom: 13vh;
    left: 7vw;
}

.detect-page.is-matrix-running .matrix-status {
    background: rgba(0, 12, 5, .48);
    border: 1px solid rgba(0, 255, 128, .34);
    box-shadow:
        0 0 38px rgba(0, 255, 128, .16),
        inset 0 0 28px rgba(0, 255, 128, .06);
    bottom: 12vh;
    left: 50%;
    max-width: min(760px, calc(100vw - 44px));
    padding: 22px 28px 24px;
    right: auto;
    transform: translateX(-50%);
    width: 100%;
}

.detect-page.is-matrix-running .matrix-status strong {
    color: rgba(211, 255, 224, .98);
    font-size: clamp(28px, 4.2vw, 54px);
    font-weight: 500;
    letter-spacing: .18em;
    text-shadow:
        0 0 10px rgba(0, 255, 128, .42),
        0 0 34px rgba(0, 255, 128, .22);
}

.detect-page.is-matrix-running .matrix-status span {
    color: rgba(162, 255, 192, .8);
    font-size: clamp(12px, 1.35vw, 16px);
    letter-spacing: .04em;
}

.matrix-progress {
    background: rgba(0, 255, 128, .08);
    border: 1px solid rgba(0, 255, 128, .32);
    height: 10px;
    margin-top: 12px;
    max-width: 520px;
    overflow: hidden;
    position: relative;
    width: 78%;
}

.matrix-progress i {
    animation: matrix-progress 3s linear forwards;
    background:
        repeating-linear-gradient(135deg, rgba(0, 255, 128, .9) 0 10px, rgba(123, 255, 165, .7) 10px 18px, transparent 18px 24px);
    box-shadow: 0 0 18px rgba(0, 255, 128, .35);
    display: block;
    height: 100%;
    width: 0;
}

@media (max-width: 760px) {
    .detect-page.is-matrix-running .detect-loader {
        height: calc(100vh - 82px);
        min-height: 590px;
    }

    .matrix-tech {
        min-width: 136px;
        padding: 10px 12px;
    }

    .matrix-tech-b {
        display: none;
    }

    .matrix-tech-a {
        left: 18px;
        top: 26px;
    }

    .matrix-tech-c {
        bottom: 28px;
        left: 18px;
    }

    .detect-page.is-matrix-running .matrix-status {
        bottom: 18vh;
        padding: 18px 16px 20px;
    }

    .detect-page.is-matrix-running .matrix-status strong {
        letter-spacing: .08em;
    }
}

.detect-results.is-hidden,
.detect-loader.is-hidden {
    display: none;
}

.detect-results {
    margin: 0 auto;
    max-width: 1620px;
}

@keyframes detect-grid-drift {
    to {
        background-position: 64px 64px;
    }
}

@keyframes detect-edge-sweep {
    0%, 100% {
        opacity: .25;
        transform: translateX(-18%);
    }
    50% {
        opacity: 1;
        transform: translateX(18%);
    }
}

@keyframes detect-core-pulse {
    0%, 100% {
        box-shadow:
            0 0 0 10px rgba(236, 28, 36, .08),
            0 0 46px rgba(236, 28, 36, .48);
        transform: translateX(-50%) scale(1);
    }
    50% {
        box-shadow:
            0 0 0 17px rgba(236, 28, 36, .03),
            0 0 64px rgba(236, 28, 36, .72);
        transform: translateX(-50%) scale(1.04);
    }
}

@keyframes detect-scan-line {
    0% {
        opacity: 0;
        transform: translateY(-70px);
    }
    24%, 74% {
        opacity: 1;
    }
    100% {
        opacity: 0;
        transform: translateY(372px);
    }
}

@keyframes code-line-in {
    from {
        opacity: 0;
        transform: translateY(5px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes detect-step-glow {
    0%, 100% {
        border-color: rgba(255, 255, 255, .12);
        box-shadow: none;
    }
    50% {
        border-color: rgba(255, 41, 52, .54);
        box-shadow: 0 0 22px rgba(236, 28, 36, .18);
    }
}

@keyframes matrix-glitch {
    0%, 86%, 100% {
        clip-path: inset(0 0 0 0);
        opacity: 1;
        transform: translate(0, 0);
    }
    88% {
        clip-path: inset(12% 0 68% 0);
        opacity: .82;
        transform: translate(3px, -1px);
    }
    90% {
        clip-path: inset(62% 0 18% 0);
        opacity: .92;
        transform: translate(-3px, 1px);
    }
    92% {
        clip-path: inset(34% 0 42% 0);
        opacity: .75;
        transform: translate(2px, 0);
    }
}

@keyframes matrix-panel-flicker {
    0%, 100% {
        opacity: .64;
    }
    48% {
        opacity: .88;
    }
    52% {
        opacity: .5;
    }
    56% {
        opacity: .82;
    }
}

@keyframes matrix-progress {
    0% {
        width: 4%;
    }
    72% {
        width: 78%;
    }
    100% {
        width: 100%;
    }
}

.detect-title-row {
    display: grid;
    gap: 28px;
    grid-template-columns: 330px 1fr;
    margin-bottom: 34px;
}

.detect-title-row h1 {
    color: #20252d;
    font-size: 29px;
    font-weight: 650;
    letter-spacing: 0;
    margin: 0;
}

.detect-grid {
    align-items: start;
    display: grid;
    gap: 28px;
    grid-template-columns: 330px minmax(0, 1fr);
}

.file-info-card {
    align-self: start;
    background: #f6f8fa;
    border: 1px solid #edf1f5;
    border-radius: 8px;
    box-shadow: none;
    height: fit-content;
    padding: 24px 26px;
}

.file-info-card p {
    color: #263241;
    display: grid;
    font-size: 15px;
    gap: 8px;
    grid-template-columns: 95px 1fr;
    line-height: 1.35;
    margin-bottom: 18px;
}

.file-info-card span {
    color: #263241;
}

.file-info-card strong {
    color: #111827;
    font-weight: 650;
    overflow-wrap: anywhere;
}

.file-info-card hr {
    border: 0;
    border-top: 1px solid var(--line);
    margin: 18px 0 24px;
}

.vehicle-summary-card {
    background:
        linear-gradient(145deg, rgba(245, 248, 252, .58), rgba(220, 226, 236, .42)) !important;
    backdrop-filter: blur(16px) saturate(1.08) !important;
    border: 1px solid rgba(255, 255, 255, .40) !important;
    border-radius: 10px !important;
    box-shadow:
        0 16px 36px rgba(10, 16, 24, .10),
        inset 0 1px 0 rgba(255, 255, 255, .86) !important;
    max-width: 330px !important;
    padding: 76px 24px 18px !important;
    position: relative !important;
}

.vehicle-summary-card::before {
    background: linear-gradient(90deg, rgba(255, 38, 52, 0), rgba(255, 38, 52, .72), rgba(255, 38, 52, 0));
    content: "";
    height: 2px;
    left: 18px;
    opacity: .68;
    position: absolute;
    right: 18px;
    top: 0;
}

.vehicle-summary-card p {
    align-items: baseline !important;
    font-size: 14px !important;
    gap: 10px !important;
    grid-template-columns: 116px 1fr !important;
    line-height: 1.32 !important;
    margin: 0 0 14px !important;
}

.vehicle-summary-card p:last-child {
    margin-bottom: 0 !important;
}

.vehicle-summary-card span {
    color: #1f2937 !important;
    white-space: nowrap !important;
}

.vehicle-summary-card strong {
    color: #060b14 !important;
    font-weight: 800 !important;
}

.vehicle-brand-logo {
    align-items: center;
    background:
        linear-gradient(145deg, rgba(255, 255, 255, .96), rgba(232, 238, 247, .82)),
        #fff;
    border: 1px solid rgba(255, 255, 255, .72);
    border-radius: 10px;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, .86),
        0 10px 24px rgba(0, 0, 0, .16),
        0 0 18px rgba(255, 38, 52, .10);
    display: inline-flex;
    height: 48px;
    justify-content: center;
    overflow: hidden;
    padding: 7px 9px;
    position: absolute;
    right: 14px;
    top: 14px;
    width: 58px;
    z-index: 3;
}

.vehicle-brand-logo img {
    display: block;
    filter: none;
    max-height: 100%;
    max-width: 100%;
    object-fit: contain;
}

.vehicle-brand-logo span {
    color: #111827 !important;
    font-family: var(--font-main);
    font-size: 16px;
    font-weight: 900;
    letter-spacing: .04em;
}

.vehicle-panel {
    background:
        linear-gradient(145deg, rgba(245, 248, 252, .46), rgba(20, 26, 36, .18)),
        rgba(255, 255, 255, .30);
    backdrop-filter: blur(18px) saturate(1.1);
    border: 1px solid rgba(255, 255, 255, .34);
    border-radius: 8px;
    box-shadow:
        0 24px 60px rgba(0, 0, 0, .24),
        inset 0 1px 0 rgba(255, 255, 255, .48);
    padding: 42px 32px 30px;
}

.unknown-detection {
    background: rgba(255, 245, 245, .50);
    backdrop-filter: blur(14px);
    border: 1px solid rgba(243, 31, 40, .32);
    border-radius: 8px;
    margin-bottom: 28px;
    padding: 20px 22px;
}

.unknown-detection h2 {
    color: var(--red);
    font-size: 22px;
    font-weight: 650;
    margin: 0 0 10px;
}

.unknown-detection p {
    color: #4c5663;
    font-size: 15px;
    line-height: 1.45;
    margin: 0;
}

.unknown-detection.soft-warning {
    background: rgba(255, 245, 245, .50);
    border-color: rgba(236, 28, 36, .28);
}

.unknown-detection.soft-warning h2 {
    color: var(--red);
}

.ori-check-panel {
    border: 1px solid rgba(29, 39, 50, .08);
    border-radius: 8px;
    box-shadow: 0 18px 46px rgba(29, 39, 50, .08);
    margin-bottom: 40px;
    padding: 44px 38px 68px;
    position: relative;
    text-align: center;
}

.ori-result-shell {
    margin: 0 auto;
    max-width: 1388px;
    padding-top: 56px;
    text-align: center;
}

.ori-result-shell > h1 {
    color: #20252d;
    font-size: 34px;
    margin: 28px 0 28px;
}

.ori-result-text {
    color: #5f6875;
    font-size: 18px;
    margin: -10px auto 24px;
    max-width: 720px;
}

.ori-result-shell .ori-check-panel {
    margin: 0 auto 70px;
    max-width: 1160px;
    padding-top: 34px;
    text-align: left;
}

.ori-result-shell .manual-project-form {
    background: #fff;
    border: 1px solid rgba(29, 39, 50, .08);
    border-radius: 8px;
    box-shadow: 0 18px 46px rgba(29, 39, 50, .08);
    margin: 34px auto 0;
    max-width: 1160px;
    padding: 34px 38px;
    text-align: left;
}

.big-mark {
    height: 96px;
    margin-bottom: 8px;
    width: 96px;
}

.ori-check-panel.needs-choice {
    border-color: rgba(236, 28, 36, .55);
    box-shadow: 0 0 0 1px rgba(236, 28, 36, .12), 0 18px 46px rgba(236, 28, 36, .12);
}

.ori-alert-mark {
    align-items: center;
    background: var(--red);
    clip-path: polygon(50% 0, 62% 14%, 80% 10%, 88% 28%, 100% 38%, 92% 55%, 98% 74%, 78% 80%, 65% 96%, 50% 86%, 34% 98%, 22% 80%, 4% 74%, 10% 55%, 0 38%, 13% 26%, 20% 8%, 38% 14%);
    color: #fff;
    display: inline-flex;
    font-size: 38px;
    font-weight: 900;
    height: 94px;
    justify-content: center;
    margin-bottom: 28px;
    width: 94px;
}

.ori-check-panel h2 {
    color: #20252d;
    font-size: 30px;
    margin: 0 0 14px;
}

.ori-lead {
    color: #5c6572;
    margin: 0 auto 30px;
    max-width: 760px;
}

.ori-choice-list {
    display: grid;
    gap: 14px;
    margin: 0 auto;
    max-width: 980px;
    text-align: left;
}

.ori-choice {
    align-items: center;
    border: 1px solid transparent;
    border-radius: 8px;
    cursor: pointer;
    display: grid;
    gap: 6px 18px;
    grid-template-columns: 48px 1fr;
    padding: 14px 18px;
    transition: background .18s ease, border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

.ori-choice:hover,
.ori-choice.is-selected {
    background: #fff5f5;
    border-color: rgba(236, 28, 36, .35);
    box-shadow: 0 10px 28px rgba(236, 28, 36, .1);
    transform: translateX(4px);
}

.ori-choice input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.ori-choice span {
    align-items: center;
    background: #edf0f4;
    border-radius: 50%;
    color: #a5acb6;
    display: flex;
    font-weight: 900;
    grid-row: span 2;
    height: 42px;
    justify-content: center;
    width: 42px;
}

.ori-choice.is-selected span,
.ori-choice:hover span {
    background: var(--red);
    box-shadow: 0 0 24px rgba(236, 28, 36, .28);
    color: #fff;
}

.ori-choice strong {
    color: #4d5663;
    font-size: 17px;
}

.ori-choice em {
    color: #8a929d;
    font-style: normal;
}

.ori-next {
    align-items: center;
    background: #d5d8de;
    border: 0;
    border-radius: 50%;
    bottom: -34px;
    box-shadow: 0 10px 26px rgba(29, 39, 50, .14);
    color: #fff;
    cursor: pointer;
    display: flex;
    font-size: 34px;
    height: 74px;
    justify-content: center;
    left: 50%;
    position: absolute;
    transform: translateX(-50%);
    transition: background .18s ease, box-shadow .18s ease, transform .18s ease;
    width: 74px;
}

.ori-next.is-ready,
.ori-next:hover {
    background: var(--red);
    box-shadow: 0 0 34px rgba(236, 28, 36, .32), 0 14px 30px rgba(29, 39, 50, .16);
}

.ori-next:hover {
    transform: translateX(-50%) translateY(-2px);
}

.vehicle-suggestions {
    display: grid;
    gap: 24px;
    grid-template-columns: repeat(4, 1fr);
    margin-bottom: 34px;
}

.vehicle-card {
    background:
        linear-gradient(rgba(255, 255, 255, .72), rgba(255, 255, 255, .64)) padding-box,
        linear-gradient(135deg, rgba(236, 28, 36, .16), rgba(255, 255, 255, .8), rgba(236, 28, 36, .16)) border-box;
    backdrop-filter: blur(8px);
    border: 1px solid transparent;
    border-radius: 8px;
    box-shadow: 0 10px 22px rgba(29, 39, 50, .12);
    color: #2c3440;
    display: grid;
    gap: 5px;
    justify-items: center;
    min-height: 118px;
    padding: 14px 12px;
    position: relative;
    overflow: hidden;
    isolation: isolate;
    transition: background .22s ease, border-color .22s ease, box-shadow .22s ease, transform .22s ease, color .22s ease;
}

.vehicle-card::before {
    background: linear-gradient(90deg, transparent, rgba(236, 28, 36, .95), transparent);
    content: "";
    height: 3px;
    left: 18%;
    opacity: .55;
    position: absolute;
    top: 0;
    transition: left .3s ease, opacity .2s ease, width .2s ease;
    width: 64%;
    z-index: -1;
}

.vehicle-card::after {
    background: radial-gradient(circle at 50% 0%, rgba(236, 28, 36, .26), transparent 62%);
    content: "";
    inset: 0;
    opacity: 0;
    position: absolute;
    transition: opacity .22s ease;
    z-index: -1;
}

.vehicle-card.active {
    background:
        linear-gradient(rgba(255, 255, 255, .78), rgba(255, 255, 255, .70)) padding-box,
        linear-gradient(135deg, rgba(236, 28, 36, .9), rgba(255, 255, 255, .9), rgba(236, 28, 36, .7)) border-box;
    box-shadow:
        0 0 0 1px rgba(236, 28, 36, .18),
        0 0 22px rgba(236, 28, 36, .14),
        0 14px 28px rgba(29, 39, 50, .12);
}

.vehicle-card.active span {
    color: var(--red);
}

.vehicle-card.active::before {
    opacity: .9;
}

.vehicle-card:hover,
.vehicle-card:focus-visible {
    background:
        linear-gradient(180deg, rgba(255, 255, 255, .82) 0%, rgba(255, 247, 247, .74) 100%) padding-box,
        linear-gradient(135deg, #ff3340, #fff, #ec1c24) border-box;
    box-shadow:
        0 0 0 1px rgba(236, 28, 36, .25),
        0 0 32px rgba(236, 28, 36, .3),
        0 22px 46px rgba(29, 39, 50, .18);
    transform: translateY(-3px);
}

.vehicle-card:hover::before,
.vehicle-card:focus-visible::before {
    left: 8%;
    opacity: 1;
    width: 84%;
}

.vehicle-card:hover::after,
.vehicle-card:focus-visible::after {
    opacity: 1;
}

.vehicle-card:hover span,
.vehicle-card:focus-visible span {
    color: var(--red);
    text-shadow: 0 0 14px rgba(236, 28, 36, .28);
}

.vehicle-card:hover strong,
.vehicle-card:focus-visible strong {
    color: #121722;
    text-shadow: 0 0 18px rgba(236, 28, 36, .18);
}

.vehicle-card:hover small,
.vehicle-card:hover em,
.vehicle-card:focus-visible small,
.vehicle-card:focus-visible em {
    color: #3d4654;
}

.vehicle-card span {
    color: #111;
    font-size: 12px;
    font-weight: 500;
}

.vehicle-card strong {
    color: #20252d;
    font-size: 18px;
    font-weight: 650;
}

.vehicle-card small,
.vehicle-card em {
    color: #55606d;
    font-size: 13px;
    font-style: normal;
}

.manual-category-select {
    margin: 8px 0 22px;
}

.manual-category-select label {
    display: grid;
    gap: 8px;
}

.manual-category-select span {
    color: rgba(255, 255, 255, .82);
    font-size: 12px;
    font-weight: 900;
    letter-spacing: .14em;
    text-shadow: 0 0 12px rgba(255, 255, 255, .35);
    text-transform: uppercase;
}

.vehicle-selects,
.vehicle-form {
    display: grid;
    gap: 18px 24px;
    grid-template-columns: 1fr 1fr;
}

.manual-project-form {
    margin-top: 10px;
}

.manual-project-form.is-waiting {
    display: none;
}

.vehicle-form label {
    color: #263241;
    display: grid;
    font-weight: 800;
    gap: 8px;
}

.vehicle-form .is-hidden {
    display: none;
}

.custom-select-field .is-hidden {
    display: none;
}

.custom-select-field,
.vehicle-form .ecu-field {
    display: block;
    min-width: 0;
    position: relative;
}

.custom-select-field select,
.custom-select-field input,
.vehicle-form .ecu-field select,
.vehicle-form .ecu-field input {
    width: 100%;
}

.custom-select-field .custom-select-input {
    padding-right: 58px;
}

.custom-select-reset {
    align-items: center;
    background:
        linear-gradient(145deg, rgba(255, 255, 255, .18), rgba(9, 12, 18, .94)),
        radial-gradient(circle at 35% 25%, rgba(255, 255, 255, .28), transparent 42%);
    border: 1px solid rgba(255, 255, 255, .32);
    border-radius: 5px;
    box-shadow:
        0 10px 22px rgba(0, 0, 0, .28),
        inset 0 1px 0 rgba(255, 255, 255, .22),
        0 0 16px rgba(236, 28, 36, .18);
    color: #fff;
    cursor: pointer;
    display: inline-flex;
    font: 800 15px/1 var(--font-ui);
    height: 34px;
    justify-content: center;
    padding: 0;
    position: absolute;
    right: 8px;
    text-shadow: 0 0 10px rgba(255, 255, 255, .6);
    top: 50%;
    transform: translateY(-50%);
    transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
    width: 38px;
}

.custom-select-reset:hover {
    border-color: rgba(255, 42, 55, .85);
    box-shadow:
        0 14px 28px rgba(0, 0, 0, .34),
        inset 0 1px 0 rgba(255, 255, 255, .28),
        0 0 24px rgba(236, 28, 36, .36);
    transform: translateY(-50%) translateY(-1px);
}

.custom-select-reset.is-hidden {
    display: none;
}

.vehicle-panel select,
.vehicle-panel input {
    background: rgba(255, 255, 255, .66);
    border: 1px solid rgba(255, 255, 255, .70);
    border-radius: 6px;
    box-shadow:
        0 10px 22px rgba(0, 0, 0, .10),
        inset 0 1px 0 rgba(255, 255, 255, .62);
    color: #263241;
    font-size: 15px;
    font-weight: 400;
    min-height: 48px;
    padding: 12px 15px;
    width: 100%;
    transition: border-color .18s ease, box-shadow .18s ease;
}

.vehicle-panel select:hover,
.vehicle-panel input:hover,
.vehicle-panel select:focus,
.vehicle-panel input:focus {
    border-color: var(--red);
    box-shadow: 0 12px 28px rgba(236, 28, 36, .12);
    outline: none;
}

.vehicle-panel .field-error,
.vehicle-panel .custom-select-field.field-error select,
.vehicle-panel .custom-select-field.field-error input {
    border-color: rgba(255, 31, 45, .98) !important;
    box-shadow:
        0 0 0 1px rgba(255, 31, 45, .62),
        0 0 26px rgba(236, 28, 36, .28),
        inset 0 1px 0 rgba(255, 255, 255, .45) !important;
    animation: darklab-field-alert .62s ease;
}

@keyframes darklab-field-alert {
    0%, 100% {
        transform: translateX(0);
    }
    24% {
        transform: translateX(-3px);
    }
    48% {
        transform: translateX(3px);
    }
    72% {
        transform: translateX(-2px);
    }
}

.vehicle-panel select option {
    background: #fff;
    color: #263241;
}

.vehicle-panel h2 {
    color: var(--red);
    font-size: 22px;
    font-weight: 650;
    margin: 52px 0 24px;
}

.darklab-validation-box {
    background:
        linear-gradient(145deg, rgba(18, 20, 27, .92), rgba(10, 6, 9, .94)),
        radial-gradient(circle at 0% 0%, rgba(236, 28, 36, .18), transparent 46%);
    border: 1px solid rgba(255, 42, 55, .62);
    border-radius: 7px;
    box-shadow:
        0 18px 44px rgba(0, 0, 0, .30),
        0 0 28px rgba(236, 28, 36, .16),
        inset 0 1px 0 rgba(255, 255, 255, .10);
    color: rgba(255, 255, 255, .86);
    margin-top: 24px;
    padding: 18px 20px;
}

.darklab-validation-box.is-hidden {
    display: none;
}

.darklab-validation-box strong {
    color: #fff;
    display: block;
    font: 800 14px/1.2 var(--font-ui);
    letter-spacing: .10em;
    margin-bottom: 10px;
    text-transform: uppercase;
    text-shadow: 0 0 14px rgba(255, 255, 255, .22);
}

.darklab-validation-box ul {
    display: grid;
    gap: 7px;
    list-style: none;
    margin: 0;
    padding: 0;
}

.darklab-validation-box li {
    color: rgba(255, 255, 255, .78);
    font-size: 14px;
    line-height: 1.45;
    padding-left: 18px;
    position: relative;
}

.darklab-validation-box li::before {
    background: var(--red);
    box-shadow: 0 0 12px rgba(236, 28, 36, .72);
    content: "";
    height: 6px;
    left: 0;
    position: absolute;
    top: .62em;
    transform: rotate(45deg);
    width: 6px;
}

.terms-consent-panel {
    margin-top: 42px;
}

.terms-consent-panel h2 {
    margin: 0 0 22px;
}

.terms-check {
    align-items: flex-start;
    color: #263241;
    display: grid;
    font-size: 15px;
    gap: 16px;
    grid-template-columns: 22px 1fr;
    line-height: 1.55;
    margin: 14px 0;
}

.terms-check input {
    appearance: none;
    background: #fff;
    border: 1px solid #d6dde7;
    border-radius: 3px;
    box-shadow: 0 8px 18px rgba(29, 39, 50, .05);
    cursor: pointer;
    height: 22px;
    margin: 2px 0 0;
    min-height: 22px;
    padding: 0;
    position: relative;
    transition: border-color .18s ease, box-shadow .18s ease, background .18s ease;
    width: 22px;
}

.terms-check input:checked {
    background: linear-gradient(135deg, #f51f2d, #8f070d);
    border-color: #f51f2d;
    box-shadow: 0 10px 24px rgba(245, 31, 45, .22);
}

.terms-check input:checked::after {
    border: solid #fff;
    border-width: 0 2px 2px 0;
    content: "";
    height: 10px;
    left: 7px;
    position: absolute;
    top: 3px;
    transform: rotate(45deg);
    width: 5px;
}

.terms-check a {
    color: #008fe8;
    font-weight: 700;
    text-decoration: none;
}

.terms-check a:hover {
    color: var(--red);
}

.detect-actions {
    display: flex;
    gap: 14px;
    justify-content: flex-end;
    margin-top: 26px;
}

.manual-submit {
    border: 0;
    cursor: pointer;
    font-family: inherit;
}

.darklab-next-button {
    align-items: center;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, .16), rgba(255, 255, 255, 0) 28%),
        linear-gradient(145deg, #303842 0%, #111821 48%, #080b10 100%);
    border: 1px solid rgba(238, 247, 255, .24);
    border-radius: 12px;
    box-shadow:
        0 16px 34px rgba(0, 0, 0, .38),
        0 0 0 1px rgba(255, 38, 52, .18) inset,
        0 -2px 0 rgba(255, 38, 52, .78) inset,
        0 1px 0 rgba(255, 255, 255, .16) inset;
    color: #fff;
    display: inline-flex;
    gap: 14px;
    min-height: 56px;
    min-width: 190px;
    overflow: hidden;
    padding: 0 17px 0 25px;
    position: relative;
    text-shadow: 0 0 10px rgba(255, 255, 255, .32), 0 2px 0 rgba(0, 0, 0, .75);
    transform: translateY(0);
    transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease, filter .16s ease;
}

.darklab-next-button::before {
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .18), transparent);
    content: "";
    height: 100%;
    left: -65%;
    position: absolute;
    top: 0;
    transform: skewX(-24deg);
    transition: left .38s ease;
    width: 55%;
}

.darklab-next-button span {
    font-family: var(--font-main);
    font-size: 18px;
    font-weight: 800;
    letter-spacing: 0;
    position: relative;
    z-index: 1;
}

.darklab-next-button i {
    align-items: center;
    background:
        linear-gradient(145deg, rgba(255, 38, 52, .96), rgba(126, 6, 11, .95));
    border: 1px solid rgba(255, 162, 170, .45);
    border-radius: 10px;
    box-shadow:
        0 10px 22px rgba(255, 38, 52, .22),
        0 0 0 1px rgba(255, 255, 255, .14) inset,
        0 -2px 0 rgba(0, 0, 0, .35) inset;
    display: inline-flex;
    height: 34px;
    justify-content: center;
    position: relative;
    width: 38px;
    z-index: 1;
}

.darklab-next-button i::before {
    border-right: 3px solid #fff;
    border-top: 3px solid #fff;
    content: "";
    height: 10px;
    transform: rotate(45deg) translate(-1px, 1px);
    width: 10px;
}

.darklab-next-button:not(:disabled):hover {
    border-color: rgba(255, 122, 132, .62);
    box-shadow:
        0 21px 44px rgba(0, 0, 0, .44),
        0 0 24px rgba(255, 38, 52, .24),
        0 0 0 1px rgba(255, 38, 52, .26) inset,
        0 -2px 0 rgba(255, 38, 52, .92) inset,
        0 1px 0 rgba(255, 255, 255, .22) inset;
    transform: translateY(-2px);
}

.darklab-next-button:not(:disabled):hover::before {
    left: 112%;
}

.darklab-next-button:not(:disabled):active {
    box-shadow:
        0 9px 20px rgba(0, 0, 0, .42),
        0 0 14px rgba(255, 38, 52, .16),
        0 2px 8px rgba(0, 0, 0, .42) inset;
    transform: translateY(1px);
}

.darklab-next-button:disabled {
    cursor: not-allowed;
    filter: grayscale(.35);
}

@keyframes scan-line {
    0% {
        left: 4%;
        opacity: .2;
    }
    50% {
        opacity: 1;
    }
    100% {
        left: 70%;
        opacity: .2;
    }
}

@keyframes scan-pulse {
    50% {
        box-shadow: 0 10px 34px rgba(243, 31, 40, .34);
        transform: translateX(-50%) scale(1.04);
    }
}

.topbar {
    align-items: center;
    background: #fff;
    border-bottom: 1px solid var(--line);
    display: flex;
    justify-content: space-between;
    padding: 16px 28px;
}

.topbar div {
    display: grid;
    gap: 4px;
}

.topbar span {
    color: var(--muted);
    font-size: 14px;
}

.shell {
    margin: 0 auto;
    max-width: 1180px;
    padding: 28px;
}

.upload-band {
    align-items: center;
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 8px;
    display: grid;
    gap: 22px;
    grid-template-columns: 1fr auto;
    padding: 26px;
}

.upload-form {
    align-items: center;
    display: flex;
    gap: 12px;
}

.stats {
    display: grid;
    gap: 14px;
    grid-template-columns: repeat(3, 1fr);
    margin: 22px 0;
}

.stats div {
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 8px;
    padding: 20px;
}

.stats span {
    display: block;
    font-size: 30px;
    font-weight: 800;
}

.table-wrap {
    background:
        linear-gradient(145deg, rgba(255, 255, 255, .09), rgba(255, 255, 255, .035)),
        rgba(8, 10, 15, .76);
    border: 1px solid rgba(255, 255, 255, .20);
    border-radius: 8px;
    box-shadow:
        0 0 0 1px rgba(236, 28, 36, .08),
        0 22px 70px rgba(0, 0, 0, .36);
    color: rgba(255, 255, 255, .82);
    overflow: hidden;
    padding: 22px;
}

#history.table-wrap {
    background:
        radial-gradient(circle at 16% 0%, rgba(255, 255, 255, .22), transparent 34%),
        linear-gradient(145deg, rgba(78, 82, 91, .62), rgba(48, 51, 59, .58) 48%, rgba(36, 39, 48, .62)),
        rgba(32, 35, 43, .58);
    border-color: rgba(255, 255, 255, .26);
    box-shadow:
        0 0 0 1px rgba(255, 255, 255, .075) inset,
        0 20px 54px rgba(0, 0, 0, .22),
        inset 0 1px 0 rgba(255, 255, 255, .18);
}

.history-head {
    align-items: center;
    display: flex;
    gap: 18px;
    justify-content: space-between;
    margin-bottom: 18px;
}

.history-head h2 {
    margin: 0;
}

.history-search {
    align-items: center;
    background:
        linear-gradient(120deg, rgba(255, 255, 255, .105), rgba(255, 255, 255, .045)),
        rgba(11, 15, 23, .48);
    border: 1px solid rgba(255, 255, 255, .18);
    border-radius: 999px;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, .14),
        0 12px 28px rgba(0, 0, 0, .16);
    display: flex;
    gap: 10px;
    min-height: 36px;
    min-width: min(420px, 44vw);
    padding: 0 14px;
}

.history-search span {
    color: #ff2634;
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .14em;
    text-transform: uppercase;
    white-space: nowrap;
}

.history-search input {
    background: transparent;
    border: 0;
    color: rgba(255, 255, 255, .92);
    flex: 1;
    font: inherit;
    font-size: 13px;
    font-weight: 750;
    min-width: 0;
    outline: 0;
}

.history-search input::placeholder {
    color: rgba(215, 225, 240, .58);
}

.history-search:focus-within {
    border-color: rgba(255, 42, 56, .42);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, .16),
        0 12px 28px rgba(0, 0, 0, .18),
        0 0 22px rgba(255, 38, 52, .12);
}

.history-table-scroll {
    max-width: 100%;
    overflow-x: auto;
    overflow-y: hidden;
    padding-bottom: 4px;
    scrollbar-color: rgba(236, 28, 36, .45) rgba(255, 255, 255, .08);
    scrollbar-width: thin;
}

.history-table {
    width: 100%;
    min-width: 860px;
    table-layout: fixed;
}

.history-table th:first-child,
.history-table td:first-child {
    width: 46%;
}

.history-table th:nth-child(2),
.history-table td:nth-child(2) {
    width: 12%;
}

.history-table th:nth-child(3),
.history-table td:nth-child(3) {
    width: 20%;
}

.history-table th:nth-child(4),
.history-table td:nth-child(4) {
    width: 22%;
}

.history-table th,
.history-table td {
    overflow: hidden;
    padding: 13px 10px;
    vertical-align: middle;
}

.history-table td:first-child strong,
.history-table td:first-child small {
    display: block;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.history-table td:first-child strong {
    font-size: clamp(15px, 1.1vw, 18px);
    line-height: 1.2;
}

.history-table td:first-child small,
.history-table td:nth-child(2) small {
    display: block;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: rgba(205, 215, 229, .82);
    font-size: 12px;
}

.history-table td:first-child small.client-order-message {
    color: #f31f28;
    font-weight: 600;
}

.history-table td:nth-child(2) {
    font-size: 16px;
    font-weight: 800;
    white-space: normal;
}

.history-license {
    color: #fff;
    display: block;
    font-size: 15px;
    font-weight: 900;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.history-table td:nth-child(3) {
    white-space: normal;
}

.client-status-stack {
    align-items: flex-start;
    display: inline-flex;
    flex-direction: column;
    gap: 7px;
    max-width: 100%;
}

.client-status-pill {
    border: 1px solid rgba(255, 255, 255, .14);
    border-radius: 999px;
    display: inline-flex;
    font-size: 10px;
    font-weight: 900;
    justify-content: center;
    letter-spacing: .08em;
    line-height: 1;
    padding: 8px 11px;
    text-transform: uppercase;
    white-space: nowrap;
}

.client-status-pill.is-instruction {
    background: linear-gradient(135deg, rgba(255, 136, 28, .2), rgba(255, 64, 24, .1));
    border-color: rgba(255, 147, 48, .42);
    box-shadow: 0 0 18px rgba(255, 124, 27, .2), inset 0 1px 0 rgba(255, 255, 255, .12);
    color: #ffad5a;
}

.client-status-pill.is-done {
    background: linear-gradient(135deg, rgba(68, 255, 142, .2), rgba(36, 188, 96, .1));
    border-color: rgba(84, 255, 151, .42);
    box-shadow: 0 0 18px rgba(61, 255, 134, .18), inset 0 1px 0 rgba(255, 255, 255, .12);
    color: #7cffae;
}

.client-status-stack small {
    color: rgba(226, 232, 242, .78);
    display: block;
    font-size: 11px;
    font-weight: 700;
    line-height: 1.25;
    max-width: 100%;
    white-space: normal;
}

.history-table td.actions {
    display: table-cell;
    overflow: visible;
    white-space: normal;
}

.history-actions {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: flex-end;
    max-width: 100%;
    min-width: 0;
}

.history-table td.actions form {
    display: inline-flex;
    margin: 0;
}

.history-table td.actions a,
.history-table td.actions button {
    align-items: center;
    background: rgba(255, 255, 255, .07);
    border: 1px solid rgba(255, 42, 55, .26);
    border-radius: 999px;
    display: inline-flex;
    font-size: 10.5px;
    font-weight: 900;
    justify-content: center;
    line-height: 1;
    min-height: 28px;
    padding: 7px 10px;
    text-transform: uppercase;
    transition: background .18s ease, border-color .18s ease, box-shadow .18s ease;
    white-space: nowrap;
}

.history-table td.actions a:hover,
.history-table td.actions button:hover {
    background: rgba(236, 28, 36, .11);
    border-color: rgba(255, 42, 55, .46);
    box-shadow: 0 0 18px rgba(236, 28, 36, .16);
}

.history-search-empty {
    margin-top: 16px;
}

@media (max-width: 720px) {
    .history-head {
        align-items: stretch;
        flex-direction: column;
    }

    .history-search {
        min-width: 0;
        width: 100%;
    }
}

table {
    border-collapse: collapse;
    width: 100%;
}

th {
    color: rgba(255, 255, 255, .70);
    font-size: 13px;
    text-align: left;
}

td,
th {
    border-bottom: 1px solid rgba(255, 255, 255, .14);
    padding: 14px 10px;
    vertical-align: middle;
}

td small {
    display: block;
    margin-top: 4px;
}

.pill {
    background: rgba(236, 28, 36, .15);
    border-radius: 999px;
    color: #ff3340;
    display: inline-block;
    font-size: 12px;
    font-weight: 800;
    padding: 6px 10px;
    text-transform: uppercase;
}

.actions {
    align-items: center;
    display: flex;
    gap: 12px;
}

.actions a,
.text-danger {
    background: transparent;
    color: #ff3340;
    padding: 0;
    text-decoration: none;
}

.text-danger {
    color: var(--danger);
}

.empty {
    border: 1px dashed rgba(255, 255, 255, .16);
    border-radius: 8px;
    color: rgba(255, 255, 255, .58);
    padding: 28px;
    text-align: center;
}

.portal-layout {
    background:
        radial-gradient(circle at 72% 10%, rgba(236, 28, 36, .14), transparent 34%),
        linear-gradient(180deg, rgba(2, 2, 4, .82), rgba(2, 2, 4, .94)),
        url("/static/images/darklab-hero-v2.png") center bottom / cover no-repeat fixed;
    color: rgba(255, 255, 255, .88);
    display: grid;
    grid-template-columns: 242px minmax(0, 1fr);
    min-height: 100vh;
}

.sidebar {
    background:
        radial-gradient(circle at 34% 8%, rgba(255, 255, 255, .12), transparent 32%),
        linear-gradient(180deg, rgba(35, 38, 48, .9), rgba(24, 22, 30, .88) 48%, rgba(20, 12, 20, .9)),
        rgba(18, 18, 24, .86);
    border-right: 1px solid rgba(255, 255, 255, .13);
    box-shadow:
        14px 0 46px rgba(0, 0, 0, .28),
        inset -1px 0 0 rgba(236, 28, 36, .22),
        inset 0 1px 0 rgba(255, 255, 255, .08);
    color: #fff;
    backdrop-filter: blur(16px) saturate(128%);
    position: sticky;
    top: 0;
    height: 100vh;
}

.sidebar-logo {
    align-items: center;
    background:
        radial-gradient(circle at 50% 40%, rgba(255, 255, 255, .1), transparent 56%),
        linear-gradient(145deg, rgba(255, 255, 255, .08), rgba(255, 255, 255, .025)),
        rgba(15, 16, 22, .44);
    background-size: cover;
    border-bottom: 1px solid rgba(255, 255, 255, .1);
    display: flex;
    height: 118px;
    justify-content: center;
    padding: 16px 20px;
}

.sidebar-logo img {
    display: block;
    filter:
        drop-shadow(0 0 18px rgba(236, 28, 36, .26))
        drop-shadow(0 0 20px rgba(0, 92, 255, .12));
    max-height: 76px;
    max-width: 100%;
    object-fit: contain;
}

.quickbar {
    align-items: center;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, .1), transparent 9%, transparent 88%, rgba(255, 255, 255, .08)),
        radial-gradient(circle at 50% 0%, rgba(255, 255, 255, .22), transparent 38%),
        linear-gradient(135deg, rgba(184, 4, 15, .98), rgba(100, 3, 11, .98));
    border-bottom: 1px solid rgba(255, 255, 255, .12);
    border-top: 1px solid rgba(255, 255, 255, .16);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, .16),
        inset 0 -1px 0 rgba(255, 255, 255, .08),
        0 0 24px rgba(236, 28, 36, .18);
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    height: 92px;
    overflow: hidden;
    position: relative;
}

.quickbar::before,
.quickbar::after {
    content: "";
    left: 0;
    pointer-events: none;
    position: absolute;
    right: 0;
    z-index: 0;
}

.quickbar::before {
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .58), transparent);
    box-shadow: 0 0 14px rgba(255, 255, 255, .24), 0 0 24px rgba(236, 28, 36, .34);
    height: 1px;
    opacity: .58;
    top: 8px;
}

.quickbar::after {
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .36), transparent);
    bottom: 8px;
    height: 1px;
    opacity: .42;
}

.quickbar form {
    display: flex;
    height: 100%;
    margin: 0;
    min-width: 0;
}

.quickbar a,
.quickbar button {
    align-items: center;
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    color: #fff;
    display: flex;
    flex-direction: column;
    font-size: 24px;
    gap: 9px;
    height: 92px;
    justify-content: center;
    min-width: 0;
    padding: 0;
    position: relative;
    text-decoration: none;
    transition:
        background .18s ease,
        box-shadow .18s ease,
        transform .18s ease;
    width: 100%;
    z-index: 1;
}

.quickbar a::before,
.quickbar button::before {
    background: radial-gradient(ellipse at center, rgba(255, 255, 255, .34), rgba(255, 255, 255, .08) 36%, transparent 70%);
    bottom: 27px;
    content: "";
    height: 8px;
    left: 50%;
    opacity: .52;
    position: absolute;
    transform: translateX(-50%);
    width: 42px;
    z-index: -1;
}

.quick-icon,
.nav-icon {
    background: currentColor;
    display: inline-block;
    mask-position: center;
    mask-repeat: no-repeat;
    mask-size: contain;
}

.quick-icon {
    filter:
        drop-shadow(0 0 8px rgba(255, 255, 255, .72))
        drop-shadow(0 0 15px rgba(255, 255, 255, .34));
    height: 31px;
    width: 31px;
}

.quick-label {
    color: rgba(255, 255, 255, .92);
    display: block;
    font-family: "Michroma", "Orbitron", sans-serif;
    font-size: 8px;
    font-weight: 500;
    letter-spacing: .12em;
    line-height: 1;
    max-width: 100%;
    overflow: hidden;
    padding: 0 4px;
    text-align: center;
    text-overflow: ellipsis;
    text-transform: uppercase;
    text-shadow:
        0 0 8px rgba(255, 255, 255, .45),
        0 0 14px rgba(236, 28, 36, .25);
    white-space: nowrap;
}

.nav-icon {
    align-self: center;
    background-color: currentColor;
    border-radius: 8px;
    color: rgba(255, 255, 255, .92);
    height: 24px;
    justify-self: center;
    position: relative;
    width: 24px;
}

.side-nav a:hover .nav-icon,
.side-nav a.active .nav-icon {
    color: #ff3340;
    filter: drop-shadow(0 0 12px rgba(236, 28, 36, .55));
}

.icon-grid {
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 18a8 8 0 1 1 16 0'/%3E%3Cpath d='M12 18l4.4-3.2'/%3E%3Ccircle cx='12' cy='18' r='1.4'/%3E%3Cpath d='M5.8 14.5h1.5'/%3E%3Cpath d='M8.5 9.2l.9 1.2'/%3E%3Cpath d='M12 7v1.8'/%3E%3Cpath d='M15.5 9.2l-.9 1.2'/%3E%3Cpath d='M18.2 14.5h-1.5'/%3E%3C/svg%3E");
}

.icon-language {
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M3 12h18'/%3E%3Cpath d='M12 3a13 13 0 0 1 0 18'/%3E%3Cpath d='M12 3a13 13 0 0 0 0 18'/%3E%3Cpath d='M5.6 6.4a12.4 12.4 0 0 0 12.8 0'/%3E%3Cpath d='M5.6 17.6a12.4 12.4 0 0 1 12.8 0'/%3E%3C/svg%3E");
}

.icon-logout {
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3v9'/%3E%3Cpath d='M6.4 6.8a8 8 0 1 0 11.2 0'/%3E%3C/svg%3E");
}

.icon-account {
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 21a8 8 0 0 0-16 0'/%3E%3Ccircle cx='12' cy='7' r='4'/%3E%3C/svg%3E");
}

.icon-upload {
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 16V4'/%3E%3Cpath d='m6 10 6-6 6 6'/%3E%3Cpath d='M20 16v2a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2v-2'/%3E%3C/svg%3E");
}

.icon-config {
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 21v-7'/%3E%3Cpath d='M4 10V3'/%3E%3Cpath d='M12 21v-9'/%3E%3Cpath d='M12 8V3'/%3E%3Cpath d='M20 21v-5'/%3E%3Cpath d='M20 12V3'/%3E%3Cpath d='M2 14h4'/%3E%3Cpath d='M10 8h4'/%3E%3Cpath d='M18 16h4'/%3E%3C/svg%3E");
}

.icon-history {
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 12a9 9 0 1 0 3-6.7'/%3E%3Cpath d='M3 3v6h6'/%3E%3Cpath d='M12 7v5l3 2'/%3E%3C/svg%3E");
}

.icon-shop {
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 2 3 6v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V6l-3-4Z'/%3E%3Cpath d='M3 6h18'/%3E%3Cpath d='M16 10a4 4 0 0 1-8 0'/%3E%3C/svg%3E");
}

.icon-tools {
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.1-3.1a6 6 0 0 1-7.9 7.9l-6 6a2.1 2.1 0 0 1-3-3l6-6a6 6 0 0 1 7.9-7.9Z'/%3E%3C/svg%3E");
}

.icon-ecu {
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='4' width='16' height='16' rx='2'/%3E%3Cpath d='M9 9h6v6H9z'/%3E%3Cpath d='M9 1v3'/%3E%3Cpath d='M15 1v3'/%3E%3Cpath d='M9 20v3'/%3E%3Cpath d='M15 20v3'/%3E%3Cpath d='M20 9h3'/%3E%3Cpath d='M20 15h3'/%3E%3Cpath d='M1 9h3'/%3E%3Cpath d='M1 15h3'/%3E%3C/svg%3E");
}

.icon-credits {
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='20' r='1'/%3E%3Ccircle cx='18' cy='20' r='1'/%3E%3Cpath d='M2 3h3l2.4 12.2a2 2 0 0 0 2 1.6h8.8a2 2 0 0 0 1.9-1.4L22 8H6'/%3E%3Cpath d='M12 8v6'/%3E%3Cpath d='M9 11h6'/%3E%3C/svg%3E");
}

.icon-invoice {
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.1' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 2h12v20l-3-2-3 2-3-2-3 2Z'/%3E%3Cpath d='M9 7h6'/%3E%3Cpath d='M9 11h6'/%3E%3Cpath d='M9 15h4'/%3E%3C/svg%3E");
}

.icon-tarif {
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.1' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 4h8l4 4v12H4V4Z'/%3E%3Cpath d='M14 4v5h5'/%3E%3Cpath d='M8 13h8'/%3E%3Cpath d='M8 17h5'/%3E%3C/svg%3E");
}

.quickbar a:hover,
.quickbar button:hover {
    background: radial-gradient(circle at 50% 38%, rgba(255, 255, 255, .17), rgba(255, 255, 255, .04) 44%, rgba(0, 0, 0, .2));
    box-shadow:
        inset 0 0 22px rgba(255, 255, 255, .08),
        0 0 20px rgba(236, 28, 36, .24);
    transform: translateY(-1px);
}

.side-nav {
    display: grid;
    padding: 12px 0;
}

.nav-shop,
.nav-tools {
    overflow: hidden;
}

.side-nav a {
    align-items: center;
    color: rgba(255, 255, 255, .9);
    display: grid;
    font-size: 16px;
    font-weight: 800;
    gap: 14px;
    grid-template-columns: 30px 1fr auto;
    min-height: 70px;
    padding: 0 18px;
    text-decoration: none;
}

.side-nav a:hover,
.side-nav a.active {
    background:
        linear-gradient(90deg, rgba(236, 28, 36, .24), rgba(236, 28, 36, .055), transparent),
        rgba(255, 255, 255, .07);
    box-shadow:
        inset 3px 0 0 var(--red),
        inset 0 1px 0 rgba(255, 255, 255, .07),
        inset 0 -1px 0 rgba(255, 255, 255, .035);
    color: #fff;
}

.shop-submenu,
.tool-submenu {
    background:
        linear-gradient(90deg, rgba(236, 28, 36, .16), rgba(236, 28, 36, .03) 56%, transparent),
        linear-gradient(180deg, rgba(255, 255, 255, .04), rgba(255, 255, 255, 0)),
        rgba(4, 5, 9, .42);
    border-bottom: 1px solid rgba(236, 28, 36, .18);
    border-top: 1px solid rgba(255, 255, 255, .06);
    box-shadow:
        inset 3px 0 0 rgba(236, 28, 36, .72),
        inset 0 0 34px rgba(236, 28, 36, .08);
    max-height: 0;
    opacity: 0;
    overflow: hidden;
    transform: translateY(-6px);
    transition:
        max-height .28s ease,
        opacity .18s ease,
        transform .22s ease;
}

.nav-shop:hover .shop-submenu,
.nav-shop:focus-within .shop-submenu,
.nav-tools:hover .tool-submenu,
.nav-tools:focus-within .tool-submenu {
    max-height: 220px;
    opacity: 1;
    transform: translateY(0);
}

.nav-tools:has(a.active) .tool-submenu {
    max-height: 120px;
    opacity: 1;
    transform: translateY(0);
}

.side-nav .shop-submenu a,
.side-nav .tool-submenu a {
    color: rgba(255, 255, 255, .76);
    font-size: 14px;
    gap: 12px;
    grid-template-columns: 24px 1fr;
    letter-spacing: .01em;
    min-height: 54px;
    padding: 0 18px 0 36px;
}

.side-nav .shop-submenu a:hover,
.side-nav .shop-submenu a.active,
.side-nav .tool-submenu a:hover,
.side-nav .tool-submenu a.active {
    background:
        linear-gradient(90deg, rgba(255, 31, 45, .24), rgba(255, 31, 45, .05), transparent),
        rgba(255, 255, 255, .035);
    color: #fff;
}

.shop-submenu .nav-icon,
.tool-submenu .nav-icon {
    height: 20px;
    opacity: .86;
    width: 20px;
}

.shop-submenu a:hover .nav-icon,
.shop-submenu a.active .nav-icon,
.tool-submenu a:hover .nav-icon,
.tool-submenu a.active .nav-icon {
    color: #ff3140;
    filter:
        drop-shadow(0 0 10px rgba(236, 28, 36, .82))
        drop-shadow(0 0 22px rgba(236, 28, 36, .38));
}

.side-nav strong {
    background: rgba(236, 28, 36, .85);
    border-radius: 2px;
    font-size: 11px;
    padding: 6px 7px;
}

.portal-main {
    margin: 0 auto;
    max-width: 1440px;
    padding: 62px 7vw;
    width: 100%;
}

.dashboard-head {
    align-items: center;
    display: flex;
    justify-content: space-between;
    margin-bottom: 26px;
}

.dashboard-head h1 {
    color: #fff;
    font-size: 36px;
    line-height: 1.1;
    margin: 0;
    text-shadow: 0 0 22px rgba(236, 28, 36, .18);
}

.eyebrow {
    color: #ff3340;
    font-size: 13px;
    font-weight: 800;
    letter-spacing: .08em;
    margin-bottom: 10px;
    text-transform: uppercase;
}

.credit-alert,
.chart-panel,
.lab-hours-card,
.dashboard-latest-panel,
.dashboard-focus-grid article,
.metric-grid article,
.upload-card,
.table-wrap {
    background:
        radial-gradient(circle at 18% 0%, rgba(255, 255, 255, .18), transparent 36%),
        linear-gradient(145deg, rgba(255, 255, 255, .20), rgba(255, 255, 255, .085) 48%, rgba(255, 255, 255, .045)),
        rgba(34, 38, 47, .58);
    backdrop-filter: blur(16px);
    border: 1px solid rgba(255, 255, 255, .22);
    border-radius: 6px;
    box-shadow:
        0 0 0 1px rgba(255, 255, 255, .055) inset,
        0 0 0 1px rgba(236, 28, 36, .055),
        0 22px 62px rgba(0, 0, 0, .24);
    color: rgba(255, 255, 255, .90);
}

.credit-alert {
    color: #ff3340;
    background:
        linear-gradient(145deg, rgba(255, 255, 255, .16), rgba(255, 255, 255, .06)),
        rgba(38, 35, 42, .58);
    border-color: rgba(236, 28, 36, .34);
    font-size: 16px;
    font-weight: 800;
    margin-bottom: 26px;
    padding: 20px 26px;
}

.chart-panel {
    margin-bottom: 28px;
    padding: 24px 26px 30px;
}

.dashboard-overview {
    display: grid;
    gap: 18px;
    grid-template-columns: minmax(280px, .92fr) minmax(380px, 1.35fr) minmax(280px, .78fr);
    margin-bottom: 18px;
}

.dashboard-overview .chart-panel {
    margin-bottom: 0;
}

.chart-panel-compact {
    min-height: 272px;
    padding: 18px 20px 20px;
}

.dashboard-cockpit > *,
.dashboard-latest-panel,
.chart-panel-compact,
.lab-hours-card {
    position: relative;
    overflow: hidden;
}

.dashboard-cockpit > *::before {
    background:
        linear-gradient(90deg, transparent, rgba(0, 145, 255, .18), transparent),
        linear-gradient(180deg, rgba(255, 255, 255, .16), transparent 44%);
    content: "";
    height: 1px;
    left: 18px;
    opacity: .75;
    position: absolute;
    right: 18px;
    top: 0;
}

.dashboard-cockpit > *::after {
    background:
        radial-gradient(circle, rgba(255, 46, 59, .18), transparent 56%),
        linear-gradient(90deg, transparent, rgba(255, 255, 255, .055), transparent);
    content: "";
    inset: auto 18px 14px;
    height: 1px;
    pointer-events: none;
    position: absolute;
}

.panel-title {
    align-items: center;
    border-bottom: 1px solid rgba(255, 255, 255, .18);
    display: flex;
    justify-content: space-between;
    margin-bottom: 14px;
    padding-bottom: 14px;
}

.panel-title h2 {
    color: #ffffff;
    font-size: 18px;
    font-weight: 500;
    margin: 0;
}

.panel-title > span {
    color: rgba(255, 255, 255, .74);
    font-size: 13px;
    font-weight: 800;
}

.real-chart {
    align-items: end;
    display: grid;
    gap: 9px;
    grid-template-columns: repeat(12, minmax(28px, 1fr));
    min-height: 162px;
    padding-top: 2px;
}

.real-chart-month {
    align-items: center;
    display: grid;
    gap: 8px;
    justify-items: center;
}

.real-chart-track {
    align-items: end;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, .18), rgba(255, 255, 255, .045)),
        rgba(255, 255, 255, .06);
    border: 1px solid rgba(255, 255, 255, .20);
    border-radius: 999px;
    box-shadow: inset 0 0 18px rgba(0, 0, 0, .18), 0 0 18px rgba(255, 255, 255, .035);
    display: flex;
    height: 102px;
    overflow: hidden;
    padding: 4px;
    width: 15px;
}

.real-chart-track span {
    background:
        linear-gradient(180deg, rgba(255, 86, 96, .98), rgba(236, 28, 36, .86)),
        #ec1c24;
    border-radius: inherit;
    box-shadow:
        0 0 18px rgba(236, 28, 36, .58),
        inset 0 1px 0 rgba(255, 255, 255, .38);
    display: block;
    min-height: 4px;
    width: 100%;
}

.real-chart-track span[style*="height: 0%"] {
    min-height: 0;
}

.real-chart-month strong {
    color: rgba(255, 255, 255, .96);
    font-size: 14px;
}

.real-chart-month small {
    color: rgba(255, 255, 255, .66);
    font-size: 11px;
    text-transform: uppercase;
}

.lab-hours-card {
    display: flex;
    flex-direction: column;
    justify-content: start;
    min-height: 272px;
    padding: 18px 20px;
}

.lab-hours-card > strong {
    color: #fff;
    font-size: 15px;
    margin-top: 2px;
}

.lab-hours-card > p {
    color: rgba(255, 255, 255, .88);
    font-size: 24px;
    font-weight: 900;
    margin: 12px 0;
    text-shadow: 0 0 18px rgba(255, 255, 255, .24), 0 1px 0 rgba(0, 0, 0, .55);
}

.lab-hours-card > p span {
    color: #ff3340;
}

.lab-time-grid {
    background: linear-gradient(135deg, rgba(255, 255, 255, .16), rgba(255, 255, 255, .055));
    border: 1px solid rgba(255, 255, 255, .22);
    border-radius: 8px;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .12), 0 18px 42px rgba(0, 0, 0, .18);
    display: grid;
    gap: 7px 12px;
    grid-template-columns: 1fr auto;
    margin: 0 0 12px;
    padding: 10px 12px;
}

.lab-time-grid span {
    color: rgba(255, 255, 255, .70);
    font-size: 12px;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.lab-time-grid strong {
    color: #fff;
    font-size: 15px;
    letter-spacing: .08em;
    text-shadow: 0 0 14px rgba(255, 255, 255, .22);
}

.lab-status {
    align-items: center;
    border-radius: 999px;
    display: inline-flex;
    gap: 8px;
    letter-spacing: .08em;
    padding: 8px 12px;
}

.lab-status i {
    border-radius: 50%;
    display: inline-block;
    height: 10px;
    width: 10px;
}

.lab-status.is-open {
    background: rgba(38, 166, 85, .16);
    border: 1px solid rgba(58, 255, 132, .36);
    color: #79ff9a;
    box-shadow: 0 0 22px rgba(38, 166, 85, .22), inset 0 1px 0 rgba(255, 255, 255, .18);
}

.lab-status.is-open i {
    background: #62ff87;
    box-shadow: 0 0 12px rgba(98, 255, 135, .95);
}

.lab-status.is-closed {
    background: rgba(236, 28, 36, .16);
    border: 1px solid rgba(255, 51, 64, .38);
    color: #ff6069;
    box-shadow: 0 0 22px rgba(236, 28, 36, .2), inset 0 1px 0 rgba(255, 255, 255, .14);
}

.lab-status.is-closed i {
    background: #ff3340;
    box-shadow: 0 0 12px rgba(255, 51, 64, .95);
}

.lab-info-message {
    background: rgba(255, 255, 255, .105);
    border: 1px solid rgba(255, 255, 255, .18);
    border-radius: 6px;
    color: rgba(255, 255, 255, .78);
    font-size: 12px;
    line-height: 1.42;
    padding: 11px 12px;
}

.lab-hours-modal-trigger {
    align-items: center;
    cursor: pointer;
    display: grid;
    gap: 7px;
    justify-items: center;
    text-align: center;
    transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease, color .18s ease;
    width: 100%;
}

.lab-hours-modal-trigger span {
    color: #ffeff1;
    display: inline-flex;
    font-weight: 800;
    letter-spacing: .02em;
}

.lab-hours-modal-trigger:hover,
.lab-hours-modal-trigger:focus-visible {
    border-color: rgba(255, 48, 62, .52);
    box-shadow: 0 0 24px rgba(255, 38, 52, .16), inset 0 1px 0 rgba(255, 255, 255, .16);
    color: #ffffff;
    outline: none;
    transform: translateY(-1px);
}

.lab-hours-modal {
    align-items: center;
    display: flex;
    inset: 0;
    justify-content: center;
    opacity: 0;
    padding: 24px;
    pointer-events: none;
    position: fixed;
    transition: opacity .2s ease;
    z-index: 80;
}

.lab-hours-modal.is-open {
    opacity: 1;
    pointer-events: auto;
}

.lab-hours-modal-backdrop {
    background: rgba(2, 4, 8, .72);
    backdrop-filter: blur(10px);
    inset: 0;
    position: absolute;
}

.lab-hours-modal-panel {
    background:
        linear-gradient(135deg, rgba(255, 255, 255, .18), rgba(255, 255, 255, .075) 42%, rgba(255, 38, 52, .095)),
        radial-gradient(circle at 14% 0%, rgba(75, 158, 255, .22), transparent 34%),
        rgba(17, 22, 32, .94);
    border: 1px solid rgba(255, 52, 66, .34);
    border-radius: 8px;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, .2),
        0 30px 90px rgba(0, 0, 0, .48),
        0 0 34px rgba(255, 38, 52, .13);
    color: rgba(255, 255, 255, .92);
    max-height: min(86vh, 720px);
    max-width: 620px;
    overflow: auto;
    padding: 28px;
    position: relative;
    transform: translateY(12px) scale(.985);
    transition: transform .22s ease;
    width: min(100%, 620px);
}

.lab-hours-modal.is-open .lab-hours-modal-panel {
    transform: translateY(0) scale(1);
}

.lab-hours-modal-close {
    align-items: center;
    background: rgba(255, 255, 255, .07);
    border: 1px solid rgba(255, 255, 255, .18);
    border-radius: 6px;
    color: #fff;
    cursor: pointer;
    display: inline-flex;
    font-size: 24px;
    height: 38px;
    justify-content: center;
    line-height: 1;
    position: absolute;
    right: 18px;
    top: 18px;
    transition: background .18s ease, border-color .18s ease, box-shadow .18s ease;
    width: 38px;
}

.lab-hours-modal-close:hover,
.lab-hours-modal-close:focus-visible {
    background: rgba(255, 38, 52, .18);
    border-color: rgba(255, 52, 66, .52);
    box-shadow: 0 0 20px rgba(255, 38, 52, .2);
    outline: none;
}

.lab-hours-modal-kicker {
    color: #ff3340;
    display: block;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .16em;
    margin-bottom: 10px;
    text-transform: uppercase;
}

.lab-hours-modal-panel h2 {
    color: #fff;
    font-size: 30px;
    line-height: 1;
    margin: 0 46px 18px 0;
    text-shadow: 0 0 18px rgba(255, 255, 255, .24), 0 0 28px rgba(255, 38, 52, .12);
}

.lab-hours-modal-panel p {
    color: rgba(255, 255, 255, .84);
    font-size: 14px;
    font-weight: 500;
    line-height: 1.55;
    margin: 0 0 13px;
    text-shadow: 0 1px 10px rgba(0, 0, 0, .22);
}

.express-tune-callout {
    background:
        linear-gradient(120deg, rgba(255, 38, 52, .24), rgba(255, 255, 255, .115)),
        rgba(255, 255, 255, .07);
    border: 1px solid rgba(255, 52, 66, .42);
    border-radius: 8px;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .16), 0 0 24px rgba(255, 38, 52, .14);
    display: grid;
    gap: 6px;
    margin-top: 18px;
    padding: 14px 16px;
}

.express-tune-callout strong {
    color: #fff;
    font-size: 17px;
    letter-spacing: .02em;
}

.express-tune-callout span {
    color: rgba(255, 255, 255, .86);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .04em;
}

.chart-legend {
    color: rgba(255, 255, 255, .62);
    display: flex;
    gap: 16px;
    justify-content: center;
    margin-bottom: 10px;
}

.chart-legend i {
    background: rgba(236, 28, 36, .18);
    border: 2px solid rgba(236, 28, 36, .26);
    display: inline-block;
    height: 18px;
    margin-right: 7px;
    vertical-align: middle;
    width: 52px;
}

.chart-area {
    display: grid;
    grid-template-columns: 42px 1fr;
    grid-template-rows: 405px auto;
}

.y-axis {
    color: rgba(255, 255, 255, .52);
    display: flex;
    flex-direction: column;
    font-size: 14px;
    justify-content: space-between;
    padding: 24px 10px 20px 0;
    text-align: right;
}

.chart-grid {
    background:
        repeating-linear-gradient(to right, transparent 0, transparent calc(100% / 12 - 1px), rgba(255, 255, 255, .09) calc(100% / 12)),
        linear-gradient(to bottom, transparent calc(100% - 1px), rgba(255, 255, 255, .12) calc(100% - 1px));
    border-left: 1px solid rgba(255, 255, 255, .14);
    border-bottom: 2px solid rgba(255, 255, 255, .14);
    position: relative;
}

.mountain {
    background: linear-gradient(180deg, rgba(236, 28, 36, .26), rgba(236, 28, 36, .05));
    border: 2px solid rgba(236, 28, 36, .22);
    clip-path: polygon(0 100%, 50% 0, 100% 100%);
    height: 100%;
    position: absolute;
    bottom: 0;
    width: 18%;
}

.mountain.one {
    left: 1%;
}

.mountain.two {
    left: 19%;
}

.tooltip-sample {
    background: rgba(45, 45, 45, .86);
    border-radius: 6px;
    color: #fff;
    font-size: 14px;
    left: 43%;
    line-height: 1.25;
    padding: 10px;
    position: absolute;
    top: 78%;
}

.tooltip-sample::after {
    border: 8px solid transparent;
    border-top-color: rgba(45, 45, 45, .86);
    content: "";
    left: 50%;
    position: absolute;
    top: 100%;
    transform: translateX(-50%);
}

.months {
    color: rgba(255, 255, 255, .48);
    display: grid;
    font-size: 14px;
    grid-column: 2;
    grid-template-columns: repeat(12, 1fr);
    padding-top: 12px;
    text-align: center;
}

.metric-grid {
    display: grid;
    gap: 18px;
    grid-template-columns: repeat(4, 1fr);
    margin-bottom: 18px;
}

.metric-grid article {
    padding: 18px 20px;
}

.metric-grid h3 {
    border-bottom: 1px solid rgba(255, 255, 255, .1);
    color: #fff;
    font-size: 15px;
    letter-spacing: .03em;
    margin: 0 0 16px;
    padding-bottom: 12px;
    text-transform: uppercase;
}

.metric-grid p {
    color: rgba(255, 255, 255, .90);
    font-size: 28px;
    margin-bottom: 16px;
}

.metric-grid footer {
    color: rgba(255, 255, 255, .70);
    display: flex;
    justify-content: space-between;
    margin-top: 8px;
}

.metric-grid strong {
    color: rgba(255, 255, 255, .88);
    font-weight: 500;
}

.metric-grid .gain {
    color: #ff3340;
}

.dashboard-focus-grid {
    display: grid;
    gap: 28px;
    grid-template-columns: 1fr;
    margin-bottom: 28px;
}

.dashboard-focus-grid article {
    padding: 24px 26px;
}

.dashboard-latest-panel {
    min-height: 272px;
    padding: 18px 20px;
}

.dashboard-focus-grid h2 {
    color: rgba(255, 255, 255, .96);
    font-size: 22px;
    margin: 0 0 18px;
}

.latest-file-card > strong {
    color: rgba(255, 255, 255, .96);
    display: block;
    font-size: clamp(15px, 1vw, 18px);
    margin-bottom: 12px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.latest-file-card dl {
    display: grid;
    gap: 10px;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    margin: 0;
}

.latest-file-card div {
    background: rgba(255, 255, 255, .10);
    border: 1px solid rgba(255, 255, 255, .16);
    border-radius: 6px;
    min-width: 0;
    padding: 11px 12px;
}

.latest-file-card dt {
    color: rgba(255, 255, 255, .64);
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .08em;
    margin-bottom: 8px;
    text-transform: uppercase;
}

.latest-file-card dd {
    color: rgba(255, 255, 255, .92);
    font-size: 15px;
    font-weight: 800;
    margin: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.dashboard-latest-panel .latest-file-card dl {
    grid-template-columns: 1fr;
}

.dashboard-latest-panel .latest-file-card div {
    align-items: center;
    display: grid;
    grid-template-columns: 92px minmax(0, 1fr);
}

.dashboard-latest-panel .latest-file-card dt {
    margin-bottom: 0;
}

.upload-card {
    align-items: center;
    display: grid;
    gap: 22px;
    grid-template-columns: 1fr auto;
    margin-bottom: 28px;
    padding: 26px;
}

.upload-card h2 {
    margin-bottom: 8px;
}

.upload-card p {
    margin-bottom: 0;
}

.upload-flow {
    display: grid;
    gap: 28px;
}

.account-main {
    max-width: 1500px;
}

.account-tabs {
    background:
        linear-gradient(145deg, rgba(255, 255, 255, .08), rgba(255, 255, 255, .03)),
        rgba(8, 10, 15, .74);
    border: 1px solid rgba(255, 255, 255, .20);
    border-radius: 6px;
    box-shadow:
        0 0 0 1px rgba(236, 28, 36, .08),
        0 18px 50px rgba(0, 0, 0, .28);
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    margin-bottom: 14px;
    overflow: hidden;
}

.account-tabs a {
    color: rgba(255, 255, 255, .72);
    font-size: 13px;
    font-weight: 900;
    letter-spacing: .08em;
    padding: 20px 16px;
    position: relative;
    text-align: center;
    text-decoration: none;
    text-transform: uppercase;
}

.account-tabs a::after {
    background: linear-gradient(90deg, transparent, #ec1c24, transparent);
    bottom: 0;
    content: "";
    height: 2px;
    left: 15%;
    opacity: 0;
    position: absolute;
    width: 70%;
}

.account-tabs a:hover,
.account-tabs a.active {
    color: #fff;
    text-shadow: 0 0 18px rgba(236, 28, 36, .32);
}

.account-tabs a.active::after {
    opacity: 1;
}

.account-panel {
    background:
        radial-gradient(circle at 82% 0%, rgba(236, 28, 36, .12), transparent 38%),
        linear-gradient(145deg, rgba(255, 255, 255, .09), rgba(255, 255, 255, .035)),
        rgba(8, 10, 15, .78);
    backdrop-filter: blur(18px);
    border: 1px solid rgba(255, 255, 255, .20);
    border-radius: 6px;
    box-shadow:
        0 0 0 1px rgba(236, 28, 36, .08),
        0 22px 70px rgba(0, 0, 0, .38);
    padding: 34px;
}

.account-panel + .account-panel {
    margin-top: 18px;
}

.account-panel-head {
    align-items: center;
    display: flex;
    justify-content: space-between;
    margin-bottom: 26px;
}

.account-panel h2 {
    color: #ff3340;
    font-size: 30px;
    font-weight: 500;
    margin: 0;
}

.save-badge {
    background: rgba(236, 28, 36, .14);
    border: 1px solid rgba(236, 28, 36, .42);
    border-radius: 999px;
    color: #fff;
    font-size: 12px;
    font-weight: 900;
    padding: 8px 12px;
    text-transform: uppercase;
}

.account-form {
    display: grid;
    gap: 22px;
}

.account-form label {
    color: #ff3340;
    font-size: 13px;
    font-weight: 600;
}

.account-form input,
.account-form select {
    background: rgba(4, 8, 14, .72);
    border: 1px solid rgba(255, 255, 255, .16);
    border-radius: 6px;
    box-shadow:
        0 14px 34px rgba(0, 0, 0, .24),
        inset 0 0 18px rgba(0, 0, 0, .32);
    color: #fff;
    min-height: 52px;
    padding: 13px 16px;
}

.account-form input::placeholder {
    color: rgba(255, 255, 255, .34);
}

.account-form input:focus,
.account-form select:focus {
    border-color: rgba(236, 28, 36, .82);
    box-shadow:
        0 0 0 3px rgba(236, 28, 36, .12),
        0 0 28px rgba(236, 28, 36, .16),
        inset 0 0 18px rgba(0, 0, 0, .32);
    outline: none;
}

.account-two {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.account-actions {
    display: flex;
    justify-content: flex-end;
    padding-top: 6px;
}

.account-actions button {
    background:
        linear-gradient(180deg, rgba(255, 255, 255, .08), transparent 52%),
        linear-gradient(135deg, rgba(14, 16, 22, .94), rgba(38, 10, 15, .9));
    border: 1px solid rgba(255, 42, 56, .82);
    border-radius: 4px;
    box-shadow:
        0 0 0 1px rgba(236, 28, 36, .14),
        0 0 22px rgba(236, 28, 36, .3),
        inset 0 0 18px rgba(236, 28, 36, .12),
        inset 0 1px 0 rgba(255, 255, 255, .18);
    clip-path: polygon(13px 0, calc(100% - 7px) 0, 100% 7px, 100% calc(100% - 13px), calc(100% - 13px) 100%, 7px 100%, 0 calc(100% - 7px), 0 13px);
    color: #fff;
    font-size: 15px;
    font-weight: 900;
    min-width: 170px;
    overflow: hidden;
    padding: 10px 24px;
    position: relative;
    text-transform: uppercase;
    transition: transform .18s ease, box-shadow .18s ease, filter .18s ease;
}

.account-actions button::before {
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .34), rgba(236, 28, 36, .24), transparent);
    content: "";
    height: 100%;
    left: -70%;
    position: absolute;
    top: 0;
    transform: skewX(-18deg);
    transition: left .36s ease;
    width: 48%;
}

.account-actions button:hover {
    background:
        linear-gradient(180deg, rgba(255, 255, 255, .08), transparent 52%),
        linear-gradient(135deg, rgba(14, 16, 22, .94), rgba(38, 10, 15, .9));
    box-shadow:
        0 0 0 1px rgba(255, 255, 255, .16),
        0 0 34px rgba(236, 28, 36, .58),
        inset 0 0 26px rgba(236, 28, 36, .18),
        inset 0 1px 0 rgba(255, 255, 255, .2);
    filter: saturate(1.08);
    transform: translateY(-1px);
}

.account-actions button:hover::before {
    left: 120%;
}

.account-actions button:active {
    transform: translateY(1px);
}

.split-actions {
    gap: 12px;
}

.cancel-action {
    align-items: center;
    background: rgba(255, 255, 255, .06);
    border: 1px solid rgba(255, 255, 255, .14);
    border-radius: 4px;
    color: rgba(255, 255, 255, .78);
    display: inline-flex;
    font-size: 14px;
    font-weight: 900;
    min-height: 36px;
    padding: 0 22px;
    text-decoration: none;
    text-transform: uppercase;
}

.cancel-action:hover {
    border-color: rgba(236, 28, 36, .48);
    color: #fff;
}

.ghost-action {
    background:
        linear-gradient(180deg, rgba(255, 255, 255, .08), transparent 52%),
        linear-gradient(135deg, rgba(14, 16, 22, .94), rgba(38, 10, 15, .9));
    border: 1px solid rgba(255, 42, 56, .82);
    border-radius: 4px;
    box-shadow:
        0 0 0 1px rgba(236, 28, 36, .14),
        0 0 22px rgba(236, 28, 36, .3),
        inset 0 0 18px rgba(236, 28, 36, .12);
    clip-path: polygon(13px 0, calc(100% - 7px) 0, 100% 7px, 100% calc(100% - 13px), calc(100% - 13px) 100%, 7px 100%, 0 calc(100% - 7px), 0 13px);
    color: #fff;
    font-size: 13px;
    font-weight: 900;
    min-width: 190px;
    padding: 10px 18px;
    text-transform: uppercase;
}

.contact-panel {
    scroll-margin-top: 22px;
}

.spoken-head {
    align-items: center;
    border-top: 1px solid rgba(255, 255, 255, .1);
    display: flex;
    justify-content: space-between;
    margin-top: 40px;
    padding-top: 30px;
}

.spoken-head h2 {
    margin-bottom: 10px;
}

.spoken-head p {
    color: rgba(255, 255, 255, .62);
    margin: 0;
}

.language-table {
    display: grid;
    margin-top: 26px;
}

.language-row {
    align-items: center;
    border-bottom: 1px solid rgba(255, 255, 255, .1);
    color: rgba(255, 255, 255, .82);
    display: grid;
    gap: 20px;
    grid-template-columns: 1.2fr 1fr 1fr;
    min-height: 64px;
    padding: 10px 6px;
}

.language-row-head {
    color: rgba(255, 255, 255, .68);
    font-size: 13px;
    min-height: 48px;
    text-transform: uppercase;
}

.stars {
    color: #ff3340;
    font-weight: 900;
}

.language-actions {
    display: flex;
    gap: 8px;
}

.language-actions button {
    align-items: center;
    background: rgba(255, 255, 255, .06);
    border: 1px solid rgba(255, 255, 255, .20);
    border-radius: 6px;
    color: rgba(255, 255, 255, .82);
    display: inline-flex;
    height: 34px;
    justify-content: center;
    padding: 0;
    width: 34px;
}

.language-actions button:hover {
    background: rgba(236, 28, 36, .16);
    border-color: rgba(236, 28, 36, .42);
}

.account-tools-form {
    display: grid;
    gap: 34px;
}

.reading-tool-section {
    background:
        radial-gradient(circle at 10% 0%, rgba(236, 28, 36, .14), transparent 36%),
        linear-gradient(145deg, rgba(255, 255, 255, .045), rgba(255, 255, 255, .018));
    border: 1px solid rgba(255, 255, 255, .1);
    border-radius: 6px;
    box-shadow:
        inset 0 0 26px rgba(0, 0, 0, .28),
        0 18px 46px rgba(0, 0, 0, .24);
    padding: 24px;
}

.reading-tool-title {
    align-items: flex-end;
    border-bottom: 1px solid rgba(255, 255, 255, .1);
    display: flex;
    gap: 14px;
    justify-content: space-between;
    margin-bottom: 22px;
    padding-bottom: 16px;
}

.reading-tool-title span {
    color: #ff1b29;
    font-size: 22px;
    font-weight: 900;
    text-transform: uppercase;
}

.reading-tool-title small {
    color: rgba(255, 255, 255, .55);
    font-size: 13px;
    text-align: right;
}

.account-tool-list {
    display: grid;
    gap: 16px;
    grid-template-columns: repeat(5, minmax(150px, 1fr));
}

.account-tool-card {
    align-items: center;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, .06), transparent 54%),
        rgba(5, 8, 14, .72);
    border: 1px solid rgba(255, 255, 255, .20);
    border-radius: 6px;
    box-shadow:
        0 14px 36px rgba(0, 0, 0, .25),
        inset 0 0 20px rgba(0, 0, 0, .28);
    cursor: pointer;
    display: grid;
    gap: 10px;
    min-height: 142px;
    overflow: hidden;
    padding: 16px 14px 14px;
    position: relative;
    text-align: center;
    transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

.account-tool-card::before {
    background: linear-gradient(90deg, transparent, rgba(255, 34, 48, .55), transparent);
    content: "";
    height: 1px;
    left: 12%;
    opacity: .58;
    position: absolute;
    top: 0;
    width: 76%;
}

.account-tool-card input {
    display: none;
}

.tool-check {
    border: 1px solid rgba(255, 255, 255, .28);
    border-radius: 50%;
    height: 18px;
    left: 13px;
    position: absolute;
    top: 13px;
    width: 18px;
}

.tool-check::after {
    background: #ff1b29;
    border-radius: 50%;
    box-shadow: 0 0 16px rgba(236, 28, 36, .75);
    content: "";
    height: 8px;
    left: 4px;
    opacity: 0;
    position: absolute;
    top: 4px;
    transition: opacity .18s ease;
    width: 8px;
}

.account-tool-logo {
    align-items: center;
    display: flex;
    height: 66px;
    justify-content: center;
    margin-top: 10px;
}

.account-tool-logo img {
    filter: grayscale(1) brightness(1.25);
    max-height: 62px;
    max-width: 128px;
    object-fit: contain;
    opacity: .68;
    transition: filter .18s ease, opacity .18s ease, transform .18s ease;
}

.account-tool-name {
    color: rgba(255, 255, 255, .72);
    font-size: 14px;
    font-weight: 900;
}

.account-tool-card:hover {
    border-color: rgba(255, 42, 56, .58);
    box-shadow:
        0 0 0 1px rgba(236, 28, 36, .16),
        0 20px 48px rgba(0, 0, 0, .32),
        0 0 32px rgba(236, 28, 36, .16),
        inset 0 0 22px rgba(236, 28, 36, .08);
    transform: translateY(-2px);
}

.account-tool-card:hover img {
    filter: none;
    opacity: .95;
    transform: translateY(-1px);
}

.account-tool-card input:checked ~ .tool-check {
    border-color: #ff1b29;
}

.account-tool-card input:checked ~ .tool-check::after {
    opacity: 1;
}

.account-tool-card:has(input:checked) {
    border-color: rgba(255, 34, 48, .82);
    box-shadow:
        0 0 0 1px rgba(236, 28, 36, .18),
        0 22px 54px rgba(0, 0, 0, .34),
        0 0 34px rgba(236, 28, 36, .28),
        inset 0 0 28px rgba(236, 28, 36, .12);
}

.account-tool-card:has(input:checked) img {
    filter: none;
    opacity: 1;
}

.account-tool-card:has(input:checked) .account-tool-name {
    color: #fff;
    text-shadow: 0 0 16px rgba(236, 28, 36, .4);
}

.reader-panel {
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 6px;
    box-shadow: var(--shadow);
    padding: 86px 64px;
}

.reader-panel h2 {
    color: var(--red);
    font-size: 28px;
    margin-bottom: 26px;
}

.reader-panel h3 {
    color: var(--red);
    font-size: 20px;
    margin: 28px 0 36px;
}

.hint {
    color: #252b33;
    font-size: 13px;
    margin: 0;
}

.hint a {
    color: #0094dc;
    text-decoration: none;
}

.tool-grid {
    display: grid;
    gap: 46px 42px;
    grid-template-columns: repeat(5, minmax(130px, 1fr));
}

.tool-option {
    align-items: center;
    color: #9a9a9a;
    cursor: pointer;
    display: grid;
    gap: 8px;
    grid-template-columns: 24px minmax(120px, 1fr);
    justify-items: start;
    min-height: 96px;
}

.tool-option input {
    display: none;
}

.radio-dot {
    border: 2px solid #dedede;
    border-radius: 50%;
    grid-row: span 2;
    height: 20px;
    width: 20px;
}

.tool-logo {
    align-items: center;
    display: inline-flex;
    height: 54px;
    justify-content: center;
    width: 100%;
}

.tool-logo img {
    filter: grayscale(1);
    max-height: 54px;
    max-width: 150px;
    object-fit: contain;
    opacity: .72;
    transition: filter .18s ease, opacity .18s ease, transform .18s ease;
}

.tool-name {
    color: #989898;
    font-size: 14px;
    text-align: center;
    width: 100%;
}

.tool-option:hover .tool-logo img {
    filter: grayscale(.3);
    opacity: .95;
    transform: translateY(-1px);
}

.tool-option input:checked + .radio-dot {
    border-color: var(--red);
    box-shadow: inset 0 0 0 4px #fff;
    background: var(--red);
}

.tool-option input:checked ~ .tool-logo img {
    filter: none;
    opacity: 1;
}

.tool-option input:checked ~ .tool-name {
    color: #2f3339;
}

.file-step {
    align-items: stretch;
    display: grid;
    gap: 24px;
    grid-template-columns: 1fr;
    padding-top: 44px;
    padding-bottom: 44px;
}

.file-step h2,
.file-step .hint {
    grid-column: 1 / -1;
}

.file-step.is-hidden {
    display: none;
}

.upload-progress {
    background:
        linear-gradient(180deg, rgba(12, 15, 22, .9), rgba(5, 7, 12, .82));
    backdrop-filter: blur(16px);
    border: 1px solid rgba(255, 255, 255, .14);
    border-left: 2px solid var(--red);
    border-radius: 8px;
    box-shadow:
        0 18px 46px rgba(0, 0, 0, .38),
        0 0 34px rgba(236, 28, 36, .2),
        inset 0 1px 0 rgba(255, 255, 255, .16);
    display: grid;
    gap: 10px;
    justify-self: center;
    margin-top: 14px;
    max-width: 760px;
    padding: 12px 16px;
    position: relative;
    overflow: hidden;
    text-align: left;
    width: min(100%, 720px);
    z-index: 5;
}

.upload-progress::before {
    animation: upload-card-line 2.7s ease-in-out infinite;
    background: linear-gradient(90deg, transparent, var(--red), #fff, rgba(0, 110, 255, .85), transparent);
    content: "";
    height: 2px;
    left: 0;
    position: absolute;
    right: 0;
    top: 0;
}

.upload-progress.is-hidden {
    display: none;
}

.upload-meta,
.progress-footer {
    align-items: center;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    justify-content: space-between;
    gap: 18px;
}

.upload-meta > div {
    min-width: 0;
}

.upload-meta strong {
    color: #fff;
    display: block;
    font-size: 15px;
    font-weight: 800;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.upload-meta small {
    color: rgba(255, 255, 255, .58);
    display: block;
    font-size: 12px;
    margin-top: 3px;
    max-width: min(100%, 560px);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.upload-meta span,
.progress-footer span {
    color: rgba(255, 255, 255, .62);
    font-size: 13px;
    white-space: nowrap;
}

.progress-track {
    background: rgba(255, 255, 255, .12);
    border-radius: 999px;
    box-shadow: inset 0 1px 3px rgba(29, 39, 50, .12);
    height: 7px;
    overflow: hidden;
}

.progress-bar {
    background:
        linear-gradient(90deg, #b7040c, var(--red), #ff7478, rgba(0, 110, 255, .72));
    box-shadow: 0 0 18px rgba(236, 28, 36, .58);
    border-radius: inherit;
    height: 100%;
    position: relative;
    transition: width .2s ease;
    width: 0;
}

.progress-bar::after {
    animation: progress-shine 1.1s linear infinite;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .55), transparent);
    content: "";
    inset: 0;
    position: absolute;
    transform: translateX(-100%);
}

.progress-footer strong {
    color: var(--red);
    font-size: 18px;
    min-width: 44px;
    text-align: right;
}

.upload-progress.is-complete {
    border-color: rgba(243, 31, 40, .35);
}

.upload-progress.is-complete .progress-bar {
    background: linear-gradient(90deg, #d80f18, var(--red), #ff5a5f);
}

.upload-progress.is-complete .progress-footer strong {
    color: var(--red);
}

.upload-progress.is-error {
    border-color: rgba(200, 58, 58, .35);
}

@keyframes progress-shine {
    to {
        transform: translateX(100%);
    }
}

@keyframes upload-card-line {
    0%, 100% {
        opacity: .45;
        transform: translateX(-18%);
    }
    50% {
        opacity: 1;
        transform: translateX(18%);
    }
}

.drop-area {
    align-items: center;
    background:
        linear-gradient(115deg, transparent 0 42%, rgba(255, 255, 255, .06) 48%, transparent 54%),
        radial-gradient(circle at 18% 20%, rgba(0, 91, 255, .2), transparent 32%),
        radial-gradient(circle at 82% 26%, rgba(236, 28, 36, .28), transparent 31%),
        linear-gradient(135deg, rgba(5, 7, 11, .98), rgba(16, 20, 29, .96) 55%, rgba(8, 9, 13, .98));
    background-size: 220% 100%, auto, auto, auto;
    border: 1px solid rgba(255, 255, 255, .08);
    border-radius: 8px;
    box-shadow:
        0 22px 52px rgba(0, 0, 0, .24),
        0 0 0 1px rgba(236, 28, 36, .16),
        inset 0 0 36px rgba(236, 28, 36, .08);
    cursor: pointer;
    display: grid;
    gap: 10px;
    justify-items: center;
    min-height: 255px;
    overflow: hidden;
    padding: 32px;
    position: relative;
    text-align: center;
    transition: background .2s ease, border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

.drop-area::before {
    animation: upload-grid-drift 16s linear infinite;
    background:
        linear-gradient(rgba(255, 255, 255, .055) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 255, 255, .045) 1px, transparent 1px);
    background-size: 34px 34px;
    content: "";
    inset: 0;
    mask-image: linear-gradient(180deg, rgba(0, 0, 0, .8), transparent 82%);
    opacity: .34;
    pointer-events: none;
    position: absolute;
}

.drop-area::after {
    animation: upload-edge-sweep 2.8s ease-in-out infinite;
    background: linear-gradient(90deg, transparent, rgba(255, 41, 52, .72), rgba(255, 255, 255, .7), rgba(0, 110, 255, .54), transparent);
    content: "";
    height: 1px;
    left: 10%;
    position: absolute;
    right: 10%;
    top: 0;
}

.drop-orbit {
    animation: upload-orbit 7s linear infinite;
    border: 1px solid rgba(255, 255, 255, .08);
    border-left-color: rgba(0, 110, 255, .5);
    border-right-color: rgba(236, 28, 36, .55);
    border-radius: 50%;
    box-shadow:
        0 0 32px rgba(236, 28, 36, .14),
        inset 0 0 38px rgba(0, 110, 255, .08);
    height: 188px;
    left: 50%;
    pointer-events: none;
    position: absolute;
    top: 24px;
    transform: translateX(-50%);
    width: 188px;
    z-index: 2;
}

.drop-scan {
    animation: upload-scan 2.9s ease-in-out infinite;
    background:
        linear-gradient(90deg, transparent, rgba(255, 255, 255, .12), rgba(236, 28, 36, .24), transparent);
    height: 44px;
    left: 0;
    pointer-events: none;
    position: absolute;
    right: 0;
    top: 22px;
    transform: translateY(-90px);
    z-index: 1;
}

.drop-area:hover,
.drop-area.is-dragging {
    background:
        linear-gradient(115deg, transparent 0 42%, rgba(255, 255, 255, .08) 48%, transparent 54%),
        radial-gradient(circle at 18% 20%, rgba(0, 91, 255, .24), transparent 32%),
        radial-gradient(circle at 84% 28%, rgba(236, 28, 36, .3), transparent 30%),
        linear-gradient(135deg, rgba(7, 9, 14, .99), rgba(20, 25, 35, .98) 55%, rgba(10, 10, 14, .99));
    background-size: 220% 100%, auto, auto, auto;
    border-color: rgba(255, 41, 52, .65);
    box-shadow:
        0 24px 58px rgba(0, 0, 0, .3),
        0 0 34px rgba(236, 28, 36, .24),
        inset 0 0 42px rgba(236, 28, 36, .12);
    transform: translateY(-2px);
}

.drop-area.has-file {
    animation: upload-bay-live 4.5s ease-in-out infinite;
    background:
        linear-gradient(115deg, transparent 0 42%, rgba(255, 255, 255, .08) 48%, transparent 54%),
        radial-gradient(circle at 18% 20%, rgba(0, 91, 255, .2), transparent 32%),
        radial-gradient(circle at 84% 28%, rgba(236, 28, 36, .32), transparent 30%),
        linear-gradient(135deg, rgba(5, 7, 11, .99), rgba(18, 22, 31, .98) 55%, rgba(8, 9, 13, .99));
    background-size: 220% 100%, auto, auto, auto;
    border-color: rgba(255, 41, 52, .72);
    box-shadow:
        0 24px 58px rgba(0, 0, 0, .3),
        0 0 40px rgba(236, 28, 36, .24),
        inset 0 0 46px rgba(236, 28, 36, .13);
}

.drop-area input {
    cursor: pointer;
    height: 1px;
    left: 50%;
    opacity: 0;
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 1px;
    z-index: -1;
}

.upload-icon {
    align-items: center;
    animation: upload-pulse 2.1s ease-in-out infinite;
    background:
        linear-gradient(135deg, rgba(236, 28, 36, .98), rgba(140, 6, 14, .95));
    border: 1px solid rgba(255, 255, 255, .22);
    border-radius: 50%;
    box-shadow:
        0 0 0 9px rgba(236, 28, 36, .08),
        0 0 34px rgba(236, 28, 36, .42);
    color: #fff;
    display: flex;
    font-size: 30px;
    height: 76px;
    justify-content: center;
    transition: background .2s ease, color .2s ease, transform .2s ease;
    width: 76px;
}

.drop-area:hover .upload-icon,
.drop-area.is-dragging .upload-icon {
    transform: scale(1.05);
}

.drop-area.has-file .upload-icon {
    box-shadow:
        0 0 0 9px rgba(236, 28, 36, .1),
        0 0 44px rgba(236, 28, 36, .54);
}

.drop-area strong {
    color: #fff;
    font-size: 20px;
    font-weight: 800;
    letter-spacing: .02em;
    text-transform: uppercase;
    transition: color .2s ease, text-shadow .2s ease;
}

.drop-area:hover strong,
.drop-area.is-dragging strong {
    color: #fff;
    text-shadow: 0 0 18px rgba(236, 28, 36, .54);
}

.drop-area.has-file strong {
    color: #fff;
    text-shadow: 0 0 18px rgba(236, 28, 36, .48);
}

.drop-area span {
    color: rgba(255, 255, 255, .64);
    font-size: 13px;
}

.drop-area > .upload-icon,
.drop-area > strong,
.drop-area > #file-name {
    position: relative;
    z-index: 4;
}

.drop-area .upload-progress span {
    font-size: 13px;
}

.drop-area .upload-progress strong {
    color: #fff;
    font-size: 15px;
    letter-spacing: 0;
    text-shadow: none;
    text-transform: none;
}

.drop-area .upload-progress .upload-meta span,
.drop-area .upload-progress .progress-footer span {
    color: rgba(255, 255, 255, .62);
}

.drop-area .upload-progress .progress-footer strong {
    color: #ff2a34;
    font-size: 18px;
    text-shadow: 0 0 18px rgba(236, 28, 36, .45);
}

@keyframes upload-grid-drift {
    to {
        background-position: 68px 68px;
    }
}

@keyframes upload-edge-sweep {
    0%, 100% {
        opacity: .25;
        transform: translateX(-18%);
    }
    50% {
        opacity: .95;
        transform: translateX(18%);
    }
}

@keyframes upload-orbit {
    to {
        transform: translateX(-50%) rotate(360deg);
    }
}

@keyframes upload-scan {
    0% {
        opacity: 0;
        transform: translateY(-90px);
    }
    28%, 70% {
        opacity: 1;
    }
    100% {
        opacity: 0;
        transform: translateY(260px);
    }
}

@keyframes upload-pulse {
    0%, 100% {
        box-shadow:
            0 0 0 9px rgba(236, 28, 36, .08),
            0 0 34px rgba(236, 28, 36, .42);
        transform: scale(1);
    }
    50% {
        box-shadow:
            0 0 0 16px rgba(236, 28, 36, .03),
            0 0 50px rgba(236, 28, 36, .62);
        transform: scale(1.03);
    }
}

@keyframes upload-bay-live {
    0%, 100% {
        background-position: 0 0, 0 0, 0 0, 0 0;
    }
    50% {
        background-position: 100% 0, 0 0, 0 0, 0 0;
    }
}

.file-step button {
    justify-self: end;
}

.file-step button.auto-submit-fallback {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: 0;
    padding: 0;
    opacity: 0;
    pointer-events: none;
    overflow: hidden;
}

.signature-panel,
.signature-result,
.signature-stats article,
.signature-note {
    background: #fff;
    border: 1px solid rgba(236, 28, 36, 0.12);
    border-radius: 8px;
    box-shadow: 0 18px 45px rgba(22, 30, 42, 0.06);
}

.signature-panel {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 28px;
    align-items: end;
    padding: 28px;
    margin-bottom: 22px;
    border-top: 4px solid var(--red);
}

.signature-panel h2,
.signature-note h2 {
    color: var(--red);
    margin: 0 0 10px;
}

.signature-panel p,
.signature-note p {
    margin: 0;
    color: var(--muted);
    overflow-wrap: anywhere;
}

.signature-import {
    display: grid;
    grid-template-columns: minmax(150px, 190px) minmax(150px, 190px) 220px;
    gap: 14px;
    align-items: end;
}

.signature-import label {
    color: var(--text);
    font-weight: 700;
}

.signature-import input {
    width: 100%;
    margin-top: 8px;
    border: 1px solid var(--line);
    border-radius: 8px;
    padding: 13px 14px;
    font-size: 15px;
}

.signature-import select {
    width: 100%;
    margin-top: 8px;
    border: 1px solid var(--line);
    border-radius: 8px;
    padding: 13px 14px;
    font-size: 15px;
}

.signature-import button {
    border: 0;
    border-radius: 8px;
    background: var(--red);
    color: #fff;
    min-height: 48px;
    padding: 0 18px;
    font-weight: 800;
    cursor: pointer;
    box-shadow: 0 14px 28px rgba(236, 28, 36, 0.22);
}

.signature-result {
    display: grid;
    gap: 6px;
    padding: 18px 22px;
    margin-bottom: 22px;
}

.signature-result.ok {
    border-color: rgba(236, 28, 36, 0.35);
}

.signature-result.error {
    border-color: rgba(180, 20, 20, 0.45);
}

.signature-result strong {
    color: var(--red);
}

.signature-result span {
    color: var(--muted);
}

.signature-stats {
    display: grid;
    grid-template-columns: minmax(180px, 0.7fr) 1fr 1fr;
    gap: 22px;
    margin-bottom: 22px;
}

.signature-stats article {
    padding: 24px;
    min-height: 160px;
}

.signature-stats article > span {
    display: block;
    color: var(--muted);
    font-weight: 800;
    margin-bottom: 16px;
}

.signature-stats article > strong {
    display: block;
    color: var(--red);
    font-size: 48px;
    line-height: 1;
}

.signature-stats small {
    color: var(--muted);
}

.signature-stats p {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    margin: 8px 0;
    color: var(--text);
}

.signature-stats p strong {
    color: var(--red);
}

.signature-note {
    padding: 28px;
}

.configurator-main {
    background:
        radial-gradient(circle at 86% 12%, rgba(236, 28, 36, .22), transparent 30%),
        radial-gradient(circle at 16% 40%, rgba(236, 28, 36, .12), transparent 28%),
        linear-gradient(180deg, rgba(0, 0, 0, .78), rgba(0, 0, 0, .7)),
        url("/static/images/darklab-hero-v2.png");
    background-attachment: fixed;
    background-position: center;
    background-size: cover;
    min-height: 100vh;
}

.configurator-hero {
    margin: 0 auto;
    max-width: 1240px;
    padding: 12px 0 30px;
    text-align: center;
}

.configurator-hero h1 {
    color: #fff;
    font-size: 48px;
    line-height: 1;
    margin: 0 0 26px;
    text-shadow: 0 0 28px rgba(236, 28, 36, .28);
}

.configurator-hero h2 {
    color: var(--red);
    font-size: 24px;
    margin: 0;
}

.configurator-panel {
    background:
        linear-gradient(145deg, rgba(19, 21, 28, .94), rgba(10, 10, 14, .96)),
        radial-gradient(circle at 50% 0%, rgba(236, 28, 36, .16), transparent 36%);
    border: 1px solid rgba(236, 28, 36, .32);
    border-radius: 8px;
    box-shadow: 0 0 0 1px rgba(255, 255, 255, .04) inset, 0 28px 70px rgba(0, 0, 0, .42), 0 0 42px rgba(236, 28, 36, .11);
    margin: 0 auto;
    max-width: 1320px;
    min-height: 680px;
    overflow: hidden;
    padding: 46px clamp(24px, 3vw, 42px) 62px;
    position: relative;
}

.configurator-panel::before {
    background:
        linear-gradient(90deg, rgba(236, 28, 36, .08) 1px, transparent 1px),
        linear-gradient(rgba(236, 28, 36, .05) 1px, transparent 1px);
    background-size: 64px 64px;
    content: "";
    inset: 0;
    opacity: .42;
    pointer-events: none;
    position: absolute;
}

.configurator-panel > * {
    position: relative;
    z-index: 1;
}

.config-steps {
    align-items: center;
    display: flex;
    gap: 16px;
    justify-content: center;
    margin-bottom: 34px;
}

.config-steps button {
    background: transparent;
    border-radius: 0;
    color: rgba(255, 255, 255, .82);
    font-size: 18px;
    font-weight: 500;
    padding: 0;
}

.config-steps button.active {
    color: var(--red);
}

.config-steps button:disabled {
    color: #9aa2ad;
    cursor: default;
}

.config-steps span {
    border: solid rgba(255, 255, 255, .78);
    border-width: 0 3px 3px 0;
    display: inline-block;
    height: 9px;
    transform: rotate(-45deg);
    width: 9px;
}

.vehicle-type-tabs {
    background: #fff;
    border: 1px solid var(--red);
    border-radius: 8px;
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    margin: 0 auto 20px;
    max-width: 1280px;
    overflow: hidden;
    box-shadow: 0 14px 34px rgba(0, 0, 0, .22), 0 0 26px rgba(236, 28, 36, .12);
}

.config-back {
    align-items: center;
    background: rgba(255, 255, 255, .04);
    border: 1px solid rgba(236, 28, 36, .46);
    border-radius: 999px;
    color: #fff;
    display: inline-flex;
    gap: 10px;
    justify-content: center;
    margin: 0 0 26px;
    min-height: 36px;
    padding: 0 22px;
    text-transform: uppercase;
}

.config-back::before {
    border: solid currentColor;
    border-width: 0 3px 3px 0;
    content: "";
    height: 11px;
    transform: rotate(135deg);
    width: 11px;
}

.config-back:hover {
    background: rgba(236, 28, 36, .18);
    box-shadow: 0 0 24px rgba(236, 28, 36, .18);
}

.vehicle-type-tabs button {
    align-items: center;
    background: #fff;
    border-left: 1px solid rgba(236, 28, 36, .34);
    border-radius: 0;
    color: var(--red);
    display: flex;
    gap: 10px;
    justify-content: center;
    min-height: 56px;
    font-size: 13px;
    padding: 0 10px;
    text-transform: uppercase;
    transition: background .18s ease, color .18s ease, box-shadow .18s ease;
}

.vehicle-type-tabs button:first-child {
    border-left: 0;
}

.vehicle-type-tabs button.active,
.vehicle-type-tabs button:hover {
    background: var(--red);
    box-shadow: 0 14px 28px rgba(236, 28, 36, .26), 0 0 0 1px rgba(255, 255, 255, .1) inset;
    color: #fff;
}

.vehicle-type-tabs span {
    background: #34373d;
    display: inline-block;
    flex: 0 0 auto;
    filter: drop-shadow(0 1px 0 rgba(255, 255, 255, .42));
    height: 22px;
    mask-position: center;
    mask-repeat: no-repeat;
    mask-size: contain;
    width: 32px;
}

.vehicle-type-tabs button.active span,
.vehicle-type-tabs button:hover span {
    background: #050608;
    filter: drop-shadow(0 1px 0 rgba(255, 255, 255, .24));
}

.type-car {
    mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 72 42' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M8 26.2h5.3l5.4-9.3c1.3-2.3 3.7-3.7 6.4-3.7h20.4c2.8 0 5.4 1.6 6.6 4.1l4.4 8.9H62c3.2 0 5.8 2.6 5.8 5.8v3.2H60a7.4 7.4 0 0 0-14.8 0H25.9a7.4 7.4 0 0 0-14.8 0H4.2V30c0-2.1 1.7-3.8 3.8-3.8Zm17.3-10.1c-1.3 0-2.5.7-3.1 1.9l-4.6 8.2h14.5V16.1h-6.8Zm9.5 0v10.1h17.5L48.2 18a3.4 3.4 0 0 0-3.1-1.9H34.8ZM18.5 39a3.8 3.8 0 1 0 0-7.6 3.8 3.8 0 0 0 0 7.6Zm34.1 0a3.8 3.8 0 1 0 0-7.6 3.8 3.8 0 0 0 0 7.6Z'/%3E%3C/svg%3E");
}

.type-motoquad {
    mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 96 42' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12 34a8 8 0 1 1 7.4-11h8l-3.1-6.2h-5.7v-4h9.6l2 4h12.3l3.4-5.2h7.8v4h-5.5l-3.2 4.9 4.7 3.8A8 8 0 1 1 45.4 27H37l-3.8 5.1H20A8 8 0 0 1 12 34Zm0-4a4 4 0 0 0 3.4-1.9h-4.5l-2-3.2h6.5A4 4 0 1 0 12 30Zm37 0a4 4 0 0 0 1.4-7.7L47 27h-1.8A4 4 0 0 0 49 30Zm26.5 4a8 8 0 1 1 7.5-10.7h4.7l-5.4-8.6h-9.8l-3.9 5.7h-5.4l-2.3 3.7h6.9a8 8 0 0 1 7.7-5.9 8 8 0 0 1 0 16Zm0-4a4 4 0 1 0 0-8 4 4 0 0 0 0 8Z'/%3E%3C/svg%3E");
}

.type-agri {
    mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 64 42' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12.5 39a10.5 10.5 0 1 1 9.8-14.2h7.4V12h-8V7h19v5h-6.5v5.7h10.5l4.1-6.8h8.7v5h-5.9L48 21.8l4.6 3.2H58v5h-4.1a8.5 8.5 0 1 1-15.9 0H23a10.5 10.5 0 0 1-10.5 9Zm0-5a5.5 5.5 0 1 0 0-11 5.5 5.5 0 0 0 0 11Zm33.8 0a3.5 3.5 0 1 0 0-7 3.5 3.5 0 0 0 0 7Zm-11.9-9h9.8l1.8-3h-11.6v3Z'/%3E%3C/svg%3E");
}

.type-truck {
    mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 64 40' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M3 9h34v21h-6.2a7.8 7.8 0 0 1-15.6 0H3V9Zm38 7h9.7L61 26.3V30h-5.2a7.8 7.8 0 0 1-15.6 0H41V16Zm5 5v5h8.2l-5-5H46ZM23 34a4 4 0 1 0 0-8 4 4 0 0 0 0 8Zm25 0a4 4 0 1 0 0-8 4 4 0 0 0 0 8Z'/%3E%3C/svg%3E");
}

.type-boat {
    mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 64 40' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M31 3h5v17h18l-5.6 10.8C46.6 34.3 43 36.5 39 36.5H16.4C10.8 36.5 6 32.7 4.7 27.3L3 20h28V3Zm5 7.4v6.8h11.5L36 10.4ZM10 25l.3 1.1a6.3 6.3 0 0 0 6.1 4.9H39c1.9 0 3.6-1 4.5-2.7L45.2 25H10Z'/%3E%3C/svg%3E");
}

.type-jetski {
    mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 64 40' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M9 28h35.8c4.8 0 9.3-2 12.5-5.5l3.5-3.8-12.4-1.9-8.1-7.8H27.8l5.6 7.2-11.8 1.5-6.3-5.3H5.8l9.1 9.5H4.2L9 28Zm13.5 6h29.8c3.2 0 6.2-1.3 8.4-3.6l1.3-1.4H1.8l2.4 2.5A8 8 0 0 0 10 34h12.5Z'/%3E%3C/svg%3E");
}

.type-atv {
    mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 64 40' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12 35a8 8 0 1 1 7.5-10.8h8.1L25 18h-7.2l-4.4-6.5H6v-5h10.1l4.4 6.5h11.9l6.9 11.2h5.2a8 8 0 1 1-.1 5H21a8 8 0 0 1-9 5.8Zm0-5a3 3 0 1 0 0-6 3 3 0 0 0 0 6Zm40 0a3 3 0 1 0 0-6 3 3 0 0 0 0 6Zm-18.6-5.8h.1L30 18h6.6l3.8 6.2h-7Z'/%3E%3C/svg%3E");
}

.config-stage {
    display: grid;
    gap: 28px;
    grid-template-columns: 240px minmax(0, 1fr);
    margin: 0 auto;
    max-width: 1280px;
    overflow: hidden;
    width: 100%;
}

.config-stage.brand-step {
    grid-template-columns: 1fr;
    max-width: 1280px;
}

.config-stage.brand-step .config-summary {
    display: none;
}

.config-stage.result-step {
    gap: 28px;
    grid-template-columns: 260px minmax(0, 1fr);
    justify-content: center;
    max-width: 1280px;
}

.config-summary {
    align-self: start;
    display: grid;
    gap: 8px;
    justify-items: center;
    padding-top: 30px;
    text-align: center;
}

.config-summary.is-empty {
    opacity: .45;
}

.summary-logo {
    align-items: center;
    display: flex;
    background: rgba(255, 255, 255, .06);
    border: 1px solid rgba(255, 255, 255, .08);
    border-radius: 12px;
    height: 116px;
    justify-content: center;
    width: 176px;
}

.summary-logo img {
    max-height: 96px;
    max-width: 158px;
    object-fit: contain;
}

.summary-logo span {
    color: var(--red);
    font-size: 36px;
    font-weight: 900;
}

.config-summary strong {
    color: #fff;
    font-size: 18px;
}

.config-summary small {
    color: rgba(255, 255, 255, .72);
    display: block;
    font-size: 18px;
}

.config-card-grid {
    display: grid;
    gap: 18px;
    grid-template-columns: repeat(auto-fit, minmax(145px, 1fr));
    justify-content: center;
    min-width: 0;
}

.brand-logo-wall {
    gap: 18px 20px;
    grid-template-columns: repeat(auto-fill, minmax(138px, 1fr));
    max-width: 1280px;
}

.brand-logo-wall .config-card {
    background: linear-gradient(180deg, #fff, #f7f8fb);
    border: 1px solid rgba(226, 230, 238, .95);
    box-shadow: 0 14px 26px rgba(0, 0, 0, .2);
    min-height: 148px;
    padding: 18px 10px 14px;
}

.brand-logo-wall .config-card::after {
    background: radial-gradient(circle, rgba(236, 28, 36, .32), transparent 68%);
    content: "";
    height: 64px;
    opacity: 0;
    position: absolute;
    transition: opacity .18s ease;
    width: 92px;
    z-index: 0;
}

.brand-logo-wall .config-card:hover {
    background: #fff;
    border-color: rgba(236, 28, 36, .38);
    box-shadow: 0 0 0 1px rgba(236, 28, 36, .16), 0 18px 40px rgba(236, 28, 36, .18);
    transform: translateY(-4px);
}

.brand-logo-wall .config-card:hover::after {
    opacity: 1;
}

.brand-logo-wall .config-card strong {
    color: #111827;
    font-size: 14px;
    font-weight: 700;
}

.brand-logo-wall .config-card-media {
    background: transparent;
    border: 0;
    box-shadow: none;
    height: 82px;
    min-width: 110px;
    padding: 0;
    position: relative;
    z-index: 1;
}

.brand-logo-wall .config-card-media img {
    filter: saturate(1.04) contrast(1.04);
    max-height: 76px;
    max-width: 116px;
}

.config-list-flow {
    align-items: start;
    display: grid;
    gap: 30px;
    grid-template-columns: 250px minmax(0, 1fr);
    justify-content: start;
}

.config-list-context,
.config-list-panel {
    background:
        repeating-linear-gradient(135deg, rgba(255, 255, 255, .025) 0 2px, transparent 2px 12px),
        linear-gradient(180deg, rgba(18, 19, 22, .96), rgba(10, 10, 12, .96));
    border: 1px solid rgba(255, 255, 255, .1);
    border-radius: 8px;
    box-shadow: 0 18px 34px rgba(0, 0, 0, .28);
}

.config-list-context {
    display: grid;
    gap: 10px;
    justify-items: center;
    padding: 26px 18px;
    text-align: center;
}

.list-panel-logo {
    align-items: center;
    display: flex;
    height: 84px;
    justify-content: center;
    margin-bottom: 6px;
    width: 160px;
}

.list-panel-logo img {
    filter: drop-shadow(0 5px 8px rgba(0, 0, 0, .55));
    max-height: 76px;
    max-width: 150px;
    object-fit: contain;
}

.list-panel-logo span {
    color: var(--red);
    font-size: 36px;
    font-weight: 1000;
}

.config-list-context strong {
    color: #fff;
    font-size: 22px;
}

.config-list-context small {
    color: rgba(255, 255, 255, .7);
    display: block;
    font-size: 17px;
}

.config-list-panel {
    overflow: hidden;
}

.config-list-panel h3 {
    align-items: center;
    background:
        linear-gradient(90deg, rgba(0, 0, 0, .62), rgba(255, 255, 255, .03)),
        repeating-linear-gradient(135deg, rgba(255, 255, 255, .035) 0 2px, transparent 2px 10px);
    color: #fff;
    display: flex;
    font-size: 24px;
    justify-content: space-between;
    margin: 0;
    min-height: 86px;
    padding: 0 34px;
}

.config-list-items {
    background: rgba(255, 255, 255, .03);
    padding: 12px 18px 18px;
}

.config-list-row {
    align-items: center;
    background: transparent;
    border-bottom: 1px solid rgba(255, 255, 255, .065);
    border-radius: 0;
    color: rgba(255, 255, 255, .84);
    display: grid;
    font-size: 18px;
    font-weight: 500;
    grid-template-columns: 1fr auto auto;
    min-height: 54px;
    padding: 0 22px;
    text-align: left;
    width: 100%;
}

.config-list-row:hover {
    background: linear-gradient(90deg, rgba(236, 28, 36, .22), rgba(236, 28, 36, .04));
    color: #fff;
    text-shadow: 0 0 12px rgba(236, 28, 36, .22);
}

.config-list-row em {
    color: #fff;
    font-style: italic;
    font-weight: 800;
    padding-left: 18px;
}

.config-list-row small {
    color: rgba(62, 181, 255, .78);
    font-size: 12px;
    font-weight: 800;
    padding-left: 16px;
    text-transform: uppercase;
}

.config-list-group {
    background: rgba(0, 0, 0, .38);
    color: #fff;
    font-size: 25px;
    font-weight: 300;
    margin: 14px -18px 8px;
    padding: 14px 34px;
}

.config-list-group:first-child {
    margin-top: -12px;
}

.config-card {
    align-items: center;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, .06), rgba(255, 255, 255, .02)),
        linear-gradient(145deg, rgba(20, 23, 31, .96), rgba(8, 9, 13, .98));
    border: 1px solid rgba(255, 255, 255, .20);
    border-radius: 8px;
    box-shadow: 0 18px 34px rgba(0, 0, 0, .28), 0 0 0 1px rgba(236, 28, 36, .08) inset;
    color: #fff;
    display: flex;
    flex-direction: column;
    gap: 12px;
    justify-content: center;
    min-height: 132px;
    min-width: 0;
    padding: 14px;
    position: relative;
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.config-card:hover {
    background:
        radial-gradient(circle at 50% 0%, rgba(236, 28, 36, .24), transparent 46%),
        linear-gradient(145deg, rgba(36, 12, 17, .98), rgba(10, 10, 14, .98));
    border-color: rgba(255, 48, 60, .72);
    box-shadow: 0 0 34px rgba(236, 28, 36, .23), 0 20px 42px rgba(0, 0, 0, .38);
    color: #fff;
    transform: translateY(-3px);
}

.config-card strong {
    color: #fff;
    font-size: 28px;
    line-height: 1.1;
    text-align: center;
}

.brand-card strong,
.version-card strong {
    font-size: 15px;
}

.config-card small {
    color: rgba(255, 255, 255, .72);
    font-size: 16px;
    text-align: center;
}

.config-card-media {
    align-items: center;
    display: flex;
    background: linear-gradient(180deg, #fff, #f2f4f8);
    border: 1px solid rgba(255, 255, 255, .78);
    border-radius: 10px;
    box-shadow: 0 12px 28px rgba(0, 0, 0, .28), 0 0 22px rgba(255, 255, 255, .08);
    height: 74px;
    justify-content: center;
    min-width: 104px;
    padding: 10px 14px;
}

.config-card-media img {
    filter: saturate(1.08) contrast(1.04);
    max-height: 58px;
    max-width: 94px;
    object-fit: contain;
}

.config-card-image {
    align-items: center;
    display: flex;
    background: rgba(255, 255, 255, .96);
    border-radius: 8px;
    height: 74px;
    justify-content: center;
    width: 100%;
}

.config-card-image img {
    max-height: 72px;
    max-width: 170px;
    object-fit: contain;
}

.engine-group {
    grid-column: 1 / -1;
    min-width: 0;
    overflow: hidden;
}

.engine-group h3 {
    border-bottom: 1px solid rgba(236, 28, 36, .45);
    color: #fff;
    font-size: 28px;
    margin: 0 0 34px;
    padding-bottom: 24px;
}

.engine-grid {
    display: grid;
    gap: 22px;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    margin-bottom: 34px;
    min-width: 0;
}

.engine-card strong {
    font-size: clamp(22px, 2.1vw, 30px);
    overflow-wrap: anywhere;
}

.config-result {
    display: block;
}

.config-card-grid[hidden],
.config-result[hidden] {
    display: none !important;
}

.result-panel {
    background:
        radial-gradient(circle at 12% 0%, rgba(236, 28, 36, .14), transparent 34%),
        linear-gradient(145deg, rgba(9, 10, 15, .92), rgba(2, 3, 7, .96));
    border: 1px solid rgba(236, 28, 36, .34);
    border-radius: 8px;
    box-shadow: 0 24px 70px rgba(0, 0, 0, .34), 0 0 28px rgba(236, 28, 36, .08);
    padding: 34px;
}

.result-panel h3 {
    color: #fff;
    font-size: 24px;
    margin: 0 0 18px;
}

.result-vehicle {
    align-items: center;
    background: rgba(255, 255, 255, .045);
    border: 1px solid rgba(255, 255, 255, .08);
    border-radius: 8px;
    display: grid;
    gap: 22px;
    grid-template-columns: 180px 1fr;
    margin-bottom: 18px;
    padding: 16px;
}

.result-vehicle-image {
    align-items: center;
    background: rgba(255, 255, 255, .96);
    border-radius: 8px;
    display: flex;
    height: 104px;
    justify-content: center;
}

.result-vehicle-image img {
    max-height: 94px;
    max-width: 165px;
    object-fit: contain;
}

.result-vehicle span,
.result-ecu span {
    color: var(--red);
    display: block;
    font-size: 13px;
    font-weight: 900;
    letter-spacing: .08em;
    margin-bottom: 8px;
    text-transform: uppercase;
}

.result-vehicle h3 {
    font-size: 30px;
    margin-bottom: 8px;
}

.result-vehicle p {
    color: rgba(255, 255, 255, .7);
    margin: 0;
}

.result-ecu {
    align-items: center;
    background: rgba(255, 255, 255, .04);
    border: 1px solid rgba(236, 28, 36, .22);
    border-radius: 8px;
    display: flex;
    justify-content: space-between;
    margin-bottom: 12px;
    padding: 18px 20px;
}

.ecu-logo-chip {
    align-items: center;
    background: #e5e5e5;
    border-radius: 999px;
    color: #4d5560;
    display: inline-flex;
    gap: 10px;
    min-height: 40px;
    padding: 0 18px;
}

.ecu-logo-chip em {
    color: #029786;
    font-size: 10px;
    font-style: normal;
    font-weight: 900;
    letter-spacing: -.04em;
    text-transform: uppercase;
}

.ecu-logo-chip strong {
    color: #4d5560;
    font-size: 16px;
    font-weight: 900;
}

.ecu-logo-chip.bosch em {
    color: #e30613;
}

.ecu-logo-chip.continental em {
    color: #f18b00;
}

.ecu-logo-chip.temic em {
    color: #001fff;
    font-family: Georgia, serif;
    letter-spacing: .16em;
}

.ecu-logo-chip.delphi em {
    color: #d9102d;
}

.ecu-logo-chip.ecu em,
.ecu-logo-chip.a em {
    color: #777;
}

.ecu-possibilities {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin: 0 0 26px;
}

.ecu-possibilities .ecu-logo-chip {
    min-height: 34px;
    padding: 0 14px;
}

.ecu-possibilities .ecu-logo-chip strong {
    font-size: 14px;
}

.stage-tabs {
    border: 1px solid rgba(236, 28, 36, .82);
    border-radius: 8px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    margin-bottom: 18px;
    overflow: hidden;
}

.stage-tabs button {
    background: rgba(255, 255, 255, .04);
    border-radius: 0;
    color: var(--red);
    min-height: 48px;
}

.stage-tabs button.active,
.stage-tabs button:hover {
    background: var(--red);
    color: #fff;
}

.result-table {
    background: rgba(255, 255, 255, .06);
    border-collapse: collapse;
    border: 1px solid rgba(255, 255, 255, .08);
    box-shadow: none;
    margin-bottom: 28px;
    width: 100%;
}

.result-table th,
.result-table td {
    border-bottom: 1px solid rgba(255, 255, 255, .1);
    color: #fff;
    font-size: 18px;
    padding: 16px 18px;
    text-align: left;
}

.result-table th {
    font-weight: 900;
    color: rgba(255, 255, 255, .72);
}

.result-table td:nth-child(3),
.result-table td:nth-child(4) {
    color: var(--red);
}

.option-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.option-chips span {
    align-items: center;
    background: #e5e5e5;
    border: 0;
    border-radius: 999px;
    color: #3f4650;
    display: inline-flex;
    gap: 10px;
    font-weight: 800;
    min-height: 40px;
    padding: 0 16px 0 10px;
}

.option-chips em {
    align-items: center;
    background: #f8f9fb;
    border: 1px solid rgba(0, 0, 0, .08);
    border-radius: 999px;
    color: #2f3640;
    display: inline-flex;
    font-size: 10px;
    font-style: normal;
    font-weight: 900;
    height: 28px;
    justify-content: center;
    min-width: 34px;
    position: relative;
}

.option-chips em::after {
    background: var(--red);
    border-radius: 999px;
    bottom: 2px;
    color: #fff;
    content: "OFF";
    font-size: 6px;
    font-weight: 900;
    left: 50%;
    padding: 1px 3px;
    position: absolute;
    transform: translateX(-50%);
}

.result-disclaimer {
    color: rgba(255, 255, 255, .62);
    margin: 28px 0 0;
}

.simulator-result {
    background:
        radial-gradient(circle at 20% 0%, rgba(236, 28, 36, .26), transparent 32%),
        radial-gradient(circle at 95% 12%, rgba(255, 255, 255, .08), transparent 28%),
        linear-gradient(145deg, rgba(8, 9, 14, .96), rgba(2, 3, 7, .98));
    border: 1px solid rgba(236, 28, 36, .42);
    border-radius: 10px;
    box-shadow: 0 28px 80px rgba(0, 0, 0, .42), 0 0 42px rgba(236, 28, 36, .12);
    overflow: hidden;
    padding: 0;
}

.sim-hero {
    align-items: center;
    background:
        linear-gradient(90deg, rgba(255, 255, 255, .07), transparent 70%),
        rgba(255, 255, 255, .035);
    border-bottom: 1px solid rgba(255, 255, 255, .08);
    display: grid;
    gap: 22px;
    grid-template-columns: 190px 1fr auto;
    padding: 24px;
}

.sim-vehicle-image {
    align-items: center;
    background: linear-gradient(180deg, #fff, #e9edf2);
    border-radius: 8px;
    box-shadow: 0 14px 34px rgba(0, 0, 0, .34);
    display: flex;
    height: 118px;
    justify-content: center;
    overflow: hidden;
}

.sim-vehicle-image img {
    max-height: 110px;
    max-width: 176px;
    object-fit: contain;
}

.sim-vehicle-image span {
    color: var(--red);
    font-size: 38px;
    font-weight: 1000;
}

.sim-vehicle-copy span {
    color: var(--red);
    display: block;
    font-size: 13px;
    font-weight: 1000;
    letter-spacing: .12em;
    margin-bottom: 8px;
    text-transform: uppercase;
}

.sim-vehicle-copy h3 {
    color: #fff;
    font-size: clamp(28px, 3vw, 42px);
    line-height: 1;
    margin: 0 0 10px;
}

.sim-vehicle-copy p {
    color: rgba(255, 255, 255, .72);
    font-size: 16px;
    margin: 0;
}

.sim-stage-switch {
    border: 1px solid rgba(236, 28, 36, .72);
    border-radius: 999px;
    display: grid;
    grid-template-columns: repeat(var(--stage-count, 2), minmax(0, 1fr));
    min-width: 230px;
    overflow: hidden;
}

.catalog-stage-table {
    background: #fff;
    border: 1px solid rgba(226, 230, 238, .96);
    border-radius: 10px;
    box-shadow: 0 18px 46px rgba(0, 0, 0, .28);
    color: #111827;
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    margin: 24px;
    overflow: hidden;
}

.catalog-stage-table > * {
    align-items: center;
    border-bottom: 1px solid #e4e7ed;
    display: flex;
    min-height: 56px;
    padding: 0 20px;
}

.catalog-stage-table > :nth-last-child(-n + 3) {
    border-bottom: 0;
}

.catalog-stage-table strong {
    background: #f0f2f5;
    color: #111827;
    font-size: 15px;
    font-weight: 900;
    justify-content: center;
    text-transform: uppercase;
}

.catalog-stage-table span {
    color: #111827;
    font-weight: 900;
}

.catalog-stage-table b {
    color: #243041;
    font-size: 17px;
    justify-content: center;
}

.catalog-stage-table .red {
    color: var(--red);
}

.sim-stage-switch button {
    background: rgba(255, 255, 255, .04);
    border-radius: 0;
    color: #fff;
    font-size: 14px;
    min-height: 44px;
    padding: 0 18px;
    text-transform: uppercase;
}

.sim-stage-switch button.active,
.sim-stage-switch button:hover {
    background: linear-gradient(135deg, #ff2632, #b9000d);
    box-shadow: 0 0 24px rgba(236, 28, 36, .32);
}

.sim-stage-switch button:disabled {
    color: rgba(255, 255, 255, .46);
    cursor: not-allowed;
}

.sim-stage-switch button:disabled:hover {
    background: rgba(255, 255, 255, .04);
    box-shadow: none;
}

.sim-kpi-grid {
    display: grid;
    gap: 18px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    padding: 24px;
}

.sim-metric {
    background:
        radial-gradient(circle at 12% 0%, rgba(236, 28, 36, .2), transparent 35%),
        linear-gradient(180deg, rgba(255, 255, 255, .065), rgba(255, 255, 255, .025));
    border: 1px solid rgba(255, 255, 255, .1);
    border-radius: 10px;
    padding: 22px;
}

.sim-metric header {
    align-items: center;
    display: flex;
    justify-content: space-between;
    margin-bottom: 18px;
}

.sim-metric header span {
    color: rgba(255, 255, 255, .76);
    font-size: 14px;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.sim-metric header strong {
    color: var(--red);
    font-size: 24px;
}

.sim-values {
    display: grid;
    gap: 14px;
    grid-template-columns: 1fr 1fr;
    margin-bottom: 18px;
}

.sim-values div {
    background: rgba(0, 0, 0, .22);
    border: 1px solid rgba(255, 255, 255, .08);
    border-radius: 8px;
    padding: 14px;
}

.sim-values small {
    color: rgba(255, 255, 255, .58);
    display: block;
    font-weight: 800;
    margin-bottom: 6px;
    text-transform: uppercase;
}

.sim-values b {
    color: #fff;
    font-size: 28px;
}

.sim-values div:nth-child(2) b {
    color: #ff2632;
    text-shadow: 0 0 20px rgba(236, 28, 36, .32);
}

.sim-bars {
    display: grid;
    gap: 8px;
}

.sim-bars span {
    background: rgba(255, 255, 255, .14);
    border-radius: 999px;
    display: block;
    height: 10px;
    overflow: hidden;
    position: relative;
}

.sim-bars span::before {
    background: rgba(255, 255, 255, .45);
    border-radius: inherit;
    content: "";
    inset: 0 auto 0 0;
    position: absolute;
    width: var(--w);
}

.sim-bars span.tuned::before {
    background: linear-gradient(90deg, #ff1d2a, #ff6670);
    box-shadow: 0 0 18px rgba(236, 28, 36, .5);
}

.sim-details {
    display: grid;
    gap: 22px;
    grid-template-columns: minmax(0, 1fr);
    padding: 0 24px 24px;
}

.sim-details section {
    background: rgba(255, 255, 255, .06);
    border: 1px solid rgba(255, 255, 255, .1);
    border-radius: 10px;
    padding: 20px;
}

.sim-details h3 {
    color: #fff;
    font-size: 22px;
    margin: 0 0 16px;
}

.sim-graph {
    align-items: center;
    background: #050608;
    border: 1px solid rgba(255, 255, 255, .08);
    border-radius: 8px;
    display: flex;
    justify-content: center;
    min-height: 170px;
    overflow: hidden;
}

.sim-graph img {
    display: block;
    height: auto;
    max-height: 260px;
    max-width: 100%;
    object-fit: contain;
}

.sim-graph span,
.sim-price {
    color: rgba(255, 255, 255, .68);
    font-size: 15px;
}

.sim-price strong {
    color: #fff;
}

.result-ecu.compact {
    background: transparent;
    border: 0;
    display: block;
    margin-bottom: 14px;
    padding: 0;
}

.result-ecu.compact .ecu-logo-chip {
    min-height: 44px;
}

/* Configurateur catalogue: cadre clair pose sur le decor DarkLab. */
.configurator-main {
    background:
        radial-gradient(circle at 84% 10%, rgba(236, 28, 36, .22), transparent 32%),
        radial-gradient(circle at 18% 58%, rgba(236, 28, 36, .16), transparent 34%),
        linear-gradient(180deg, rgba(2, 2, 5, .72), rgba(2, 2, 5, .9)),
        url("/static/images/darklab-hero-v2.png") center bottom / cover no-repeat fixed;
    color: #0f172a;
}

.configurator-hero {
    padding-top: 6px;
}

.configurator-hero h1 {
    color: #fff;
    font-size: 44px;
    text-shadow: 0 0 24px rgba(236, 28, 36, .24), 0 12px 34px rgba(0, 0, 0, .35);
}

.configurator-hero h2 {
    color: var(--red);
    font-size: 22px;
}

.configurator-panel {
    background: #fff;
    border: 1px solid #e3e7ee;
    border-radius: 8px;
    box-shadow: 0 18px 46px rgba(15, 23, 42, .08);
    max-width: 1500px;
    padding: 38px clamp(28px, 4vw, 58px) 70px;
}

.configurator-panel::before {
    display: none;
}

.config-steps {
    margin-bottom: 18px;
}

.config-steps button {
    color: #9aa3b2;
    font-size: 15px;
    font-weight: 900;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.config-steps button.done:not(.active) {
    color: #0f172a;
}

.config-steps button.active {
    color: var(--red);
}

.config-steps span {
    border-color: #0f172a;
    height: 8px;
    width: 8px;
}

.vehicle-type-tabs {
    border: 0;
    border-bottom: 1px solid #dfe4ec;
    border-radius: 0;
    box-shadow: none;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    margin: 0 auto 22px;
    max-width: 1120px;
}

.vehicle-type-tabs button {
    border: 0;
    border-bottom: 2px solid transparent;
    border-radius: 14px 14px 0 0;
    color: #596273;
    font-size: 13px;
    font-weight: 700;
    min-height: 52px;
    overflow: hidden;
    position: relative;
    text-transform: none;
    transition: color .18s ease, transform .18s ease, box-shadow .18s ease, background .18s ease, border-color .18s ease;
    z-index: 0;
}

.vehicle-type-tabs button::before {
    background:
        linear-gradient(120deg, transparent 0%, rgba(255, 255, 255, .62) 45%, rgba(255, 34, 48, .18) 52%, transparent 72%),
        linear-gradient(180deg, rgba(255, 242, 244, .94), rgba(255, 255, 255, .8));
    border: 1px solid rgba(255, 32, 48, .16);
    border-bottom: 0;
    border-radius: inherit;
    box-shadow:
        0 18px 34px rgba(236, 28, 36, .1),
        inset 0 1px 0 rgba(255, 255, 255, .82);
    content: "";
    inset: 6px 6px 0;
    opacity: 0;
    position: absolute;
    transform: translateY(10px);
    transition: opacity .2s ease, transform .2s ease, box-shadow .2s ease;
    z-index: -1;
}

.vehicle-type-tabs button::after {
    background: linear-gradient(90deg, transparent, rgba(236, 28, 36, .9), rgba(255, 255, 255, .85), rgba(236, 28, 36, .9), transparent);
    bottom: -1px;
    content: "";
    height: 2px;
    left: 18%;
    opacity: 0;
    position: absolute;
    transform: scaleX(.35);
    transition: opacity .2s ease, transform .2s ease;
    width: 64%;
}

.vehicle-type-tabs button.active,
.vehicle-type-tabs button:hover {
    background: transparent;
    border-bottom-color: var(--red);
    box-shadow: 0 12px 28px rgba(236, 28, 36, .08);
    color: #111827;
    transform: translateY(-1px);
    text-shadow: 0 0 12px rgba(236, 28, 36, .24);
}

.vehicle-type-tabs button.active::before,
.vehicle-type-tabs button:hover::before {
    box-shadow:
        0 0 28px rgba(236, 28, 36, .16),
        0 18px 34px rgba(17, 24, 39, .08),
        inset 0 1px 0 rgba(255, 255, 255, .92);
    opacity: 1;
    transform: translateY(0);
}

.vehicle-type-tabs button.active::after,
.vehicle-type-tabs button:hover::after {
    opacity: 1;
    transform: scaleX(1);
}

.vehicle-type-tabs span {
    background: currentColor !important;
    background-image: none !important;
    display: inline-block;
    filter: none !important;
    height: 20px;
    mask-position: center;
    mask-repeat: no-repeat;
    mask-size: contain;
    -webkit-mask-position: center;
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-size: contain;
    transition: transform .18s ease, filter .18s ease, background .18s ease;
    width: 30px;
}

.vehicle-type-tabs button.active span,
.vehicle-type-tabs button:hover span {
    background: currentColor !important;
    filter:
        drop-shadow(0 0 1px rgba(236, 28, 36, .75))
        drop-shadow(0 0 9px rgba(236, 28, 36, .42)) !important;
    transform: translateY(-1px) scale(1.04);
}

.vehicle-type-tabs .type-car {
    mask-image: url("/static/images/config-icons/car.png") !important;
    -webkit-mask-image: url("/static/images/config-icons/car.png") !important;
}

.vehicle-type-tabs button.active .type-car,
.vehicle-type-tabs button:hover .type-car {
    mask-image: url("/static/images/config-icons/car.png") !important;
    -webkit-mask-image: url("/static/images/config-icons/car.png") !important;
}

.vehicle-type-tabs .type-truck {
    mask-image: url("/static/images/config-icons/truck.png") !important;
    -webkit-mask-image: url("/static/images/config-icons/truck.png") !important;
}

.vehicle-type-tabs button.active .type-truck,
.vehicle-type-tabs button:hover .type-truck {
    mask-image: url("/static/images/config-icons/truck.png") !important;
    -webkit-mask-image: url("/static/images/config-icons/truck.png") !important;
}

.vehicle-type-tabs .type-motoquad {
    mask-image: url("/static/images/config-icons/moto.png") !important;
    -webkit-mask-image: url("/static/images/config-icons/moto.png") !important;
}

.vehicle-type-tabs button.active .type-motoquad,
.vehicle-type-tabs button:hover .type-motoquad {
    mask-image: url("/static/images/config-icons/moto.png") !important;
    -webkit-mask-image: url("/static/images/config-icons/moto.png") !important;
}

.vehicle-type-tabs .type-atv {
    mask-image: url("/static/images/config-icons/quad.png") !important;
    -webkit-mask-image: url("/static/images/config-icons/quad.png") !important;
}

.vehicle-type-tabs button.active .type-atv,
.vehicle-type-tabs button:hover .type-atv {
    mask-image: url("/static/images/config-icons/quad.png") !important;
    -webkit-mask-image: url("/static/images/config-icons/quad.png") !important;
}

.vehicle-type-tabs .type-agri {
    mask-image: url("/static/images/config-icons/agri.png") !important;
    -webkit-mask-image: url("/static/images/config-icons/agri.png") !important;
}

.vehicle-type-tabs button.active .type-agri,
.vehicle-type-tabs button:hover .type-agri {
    mask-image: url("/static/images/config-icons/agri.png") !important;
    -webkit-mask-image: url("/static/images/config-icons/agri.png") !important;
}

.vehicle-type-tabs .type-boat {
    mask-image: url("/static/images/config-icons/boat.png") !important;
    -webkit-mask-image: url("/static/images/config-icons/boat.png") !important;
}

.vehicle-type-tabs button.active .type-boat,
.vehicle-type-tabs button:hover .type-boat {
    mask-image: url("/static/images/config-icons/boat.png") !important;
    -webkit-mask-image: url("/static/images/config-icons/boat.png") !important;
}

.vehicle-type-tabs .type-jetski {
    mask-image: url("/static/images/config-icons/jetski.png") !important;
    -webkit-mask-image: url("/static/images/config-icons/jetski.png") !important;
}

.vehicle-type-tabs button.active .type-jetski,
.vehicle-type-tabs button:hover .type-jetski {
    mask-image: url("/static/images/config-icons/jetski.png") !important;
    -webkit-mask-image: url("/static/images/config-icons/jetski.png") !important;
}

.config-back {
    background: #fff;
    border-color: #e3e7ee;
    color: #111827;
    font-weight: 800;
    margin-left: auto;
}

.config-back:hover {
    background: #fff2f3;
    box-shadow: none;
    color: var(--red);
}

.config-stage {
    max-width: 1500px;
}

.config-stage.result-step,
.config-stage:not(.brand-step) {
    grid-template-columns: minmax(260px, 370px) minmax(0, 1fr);
}

.config-stage.brand-step {
    max-width: 1500px;
}

.brand-logo-wall {
    gap: 20px;
    grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
    max-width: 1500px;
}

.brand-logo-wall .config-card {
    background: #fff;
    border: 1px solid #dfe4ec;
    border-radius: 8px;
    box-shadow: 0 10px 22px rgba(15, 23, 42, .08);
    min-height: 150px;
}

.brand-logo-wall .config-card:hover {
    border-color: rgba(236, 28, 36, .55);
    box-shadow: 0 14px 34px rgba(236, 28, 36, .16);
}

.brand-logo-wall .config-card::after {
    display: none;
}

.brand-logo-wall .config-card strong {
    color: #111827;
    font-size: 15px;
    font-weight: 600;
}

.brand-logo-wall .config-card-media {
    height: 86px;
}

.brand-logo-wall .config-card-media img {
    filter: none;
    max-height: 80px;
    max-width: 122px;
}

.config-list-flow {
    gap: 30px;
    grid-template-columns: minmax(260px, 370px) minmax(0, 1fr);
}

.config-list-context {
    background: #fff;
    border: 1px solid #dfe4ec;
    border-radius: 8px;
    box-shadow: 0 10px 24px rgba(15, 23, 42, .08);
    min-height: 198px;
    padding: 36px 28px;
}

.list-panel-logo {
    height: 92px;
    width: 190px;
}

.list-panel-logo img {
    filter: none;
    max-height: 86px;
    max-width: 180px;
}

.config-list-context strong {
    color: #111827;
    font-size: 26px;
}

.config-list-context small {
    color: #8d96a6;
    font-size: 18px;
    font-weight: 800;
}

.config-list-panel {
    background: #fff;
    border: 1px solid #dfe4ec;
    border-radius: 8px;
    box-shadow: 0 10px 24px rgba(15, 23, 42, .06);
}

.config-list-panel h3 {
    background: #fff;
    color: #0f172a;
    font-size: 24px;
    font-weight: 500;
    min-height: 76px;
}

.inline-back {
    background: transparent;
    color: #0f172a;
    font-size: 18px;
    font-weight: 600;
    text-transform: none;
}

.inline-back:hover {
    color: var(--red);
}

.inline-back::before {
    content: "<- ";
}

.config-list-items {
    background: #fff;
    display: grid;
    gap: 14px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    padding: 0 20px 22px;
}

.config-list-group {
    background: transparent;
    border-bottom: 1px solid #dfe4ec;
    color: var(--red);
    font-size: 18px;
    font-weight: 500;
    grid-column: 1 / -1;
    margin: 8px 0 0;
    padding: 14px 0;
}

.config-list-group:first-child {
    margin-top: 0;
}

.config-list-row {
    background: #f0f1f4;
    border: 0;
    border-radius: 8px;
    color: #0f172a;
    font-size: 21px;
    grid-template-columns: 20px 1fr auto;
    min-height: 70px;
    padding: 0 22px;
}

.config-list-row i {
    border: solid var(--red);
    border-width: 0 2px 2px 0;
    display: inline-block;
    height: 10px;
    transform: rotate(-45deg);
    width: 10px;
}

.config-list-row:hover {
    background: #fff0f1;
    color: #0f172a;
    text-shadow: none;
}

.config-list-row em {
    color: #98a1b1;
    font-size: 15px;
    font-style: normal;
    font-weight: 500;
}

.simulator-result {
    background: #fff;
    border: 1px solid #dfe4ec;
    border-radius: 8px;
    box-shadow: 0 10px 24px rgba(15, 23, 42, .06);
}

.sim-hero {
    background: #fff;
    border-bottom: 1px solid #dfe4ec;
    grid-template-columns: 170px 1fr auto;
}

.sim-vehicle-image {
    background: #fff;
    box-shadow: none;
}

.sim-vehicle-copy span {
    color: #0f172a;
}

.sim-vehicle-copy h3 {
    color: #0f172a;
}

.sim-vehicle-copy p {
    color: #8d96a6;
}

.sim-stage-switch {
    border: 0;
    border-radius: 8px;
    gap: 16px;
    min-width: 0;
    overflow: visible;
}

.sim-stage-switch button {
    background: #fff;
    border-radius: 8px;
    color: #596273;
    min-height: 56px;
    min-width: 132px;
}

.sim-stage-switch button.active,
.sim-stage-switch button:hover {
    background: #ffe3e5;
    box-shadow: none;
    color: var(--red);
}

.sim-details section {
    background: #fff;
    border: 0;
    border-top: 1px solid #dfe4ec;
    border-radius: 0;
}

.sim-details h3 {
    color: #0f172a;
}

.result-disclaimer {
    color: #8d96a6;
    padding: 0 24px 24px;
}

@media (max-width: 1180px) {
    .vehicle-type-tabs,
    .config-list-items {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .config-stage.result-step,
    .config-stage:not(.brand-step),
    .config-list-flow {
        grid-template-columns: 1fr;
    }
}

/* Configurateur: rail lateral retractable, plus proche de l'identite DarkLab. */
.configurator-layout {
    display: block;
    overflow-x: hidden;
}

.configurator-layout .sidebar {
    background:
        radial-gradient(circle at 46% 12%, rgba(255, 255, 255, .13), transparent 34%),
        radial-gradient(circle at 58% 24%, rgba(236, 28, 36, .13), transparent 40%),
        linear-gradient(180deg, rgba(34, 37, 48, .92), rgba(22, 20, 29, .9) 50%, rgba(18, 11, 18, .92));
    border-right: 1px solid rgba(255, 255, 255, .13);
    box-shadow:
        14px 0 46px rgba(0, 0, 0, .3),
        inset -1px 0 0 rgba(236, 28, 36, .24),
        inset 0 1px 0 rgba(255, 255, 255, .08);
    bottom: 0;
    backdrop-filter: blur(16px) saturate(128%);
    height: 100vh;
    left: 0;
    overflow: hidden;
    position: fixed;
    top: 0;
    transition:
        width .24s ease,
        box-shadow .24s ease,
        border-color .24s ease;
    width: 242px;
    z-index: 40;
}

.configurator-layout .sidebar::before {
    background:
        linear-gradient(180deg, transparent, rgba(236, 28, 36, .7), transparent),
        linear-gradient(90deg, transparent, rgba(255, 255, 255, .14), transparent);
    content: "";
    height: 100%;
    opacity: .55;
    position: absolute;
    right: -1px;
    top: 0;
    width: 2px;
}

.configurator-layout .sidebar:hover,
.configurator-layout .sidebar:focus-within {
    border-color: rgba(236, 28, 36, .58);
    box-shadow:
        28px 0 70px rgba(0, 0, 0, .48),
        0 0 54px rgba(236, 28, 36, .24);
    width: 242px;
}

.configurator-layout .sidebar-logo {
    background:
        radial-gradient(circle at center, rgba(255, 255, 255, .1), transparent 58%),
        radial-gradient(circle at center, rgba(236, 28, 36, .1), transparent 62%),
        rgba(16, 17, 24, .42);
    border-bottom: 1px solid rgba(255, 255, 255, .1);
    height: 118px;
    padding: 16px 20px;
    position: relative;
}

.configurator-layout .sidebar-logo::after {
    align-items: center;
    background: linear-gradient(135deg, #ff2634, #8e000b);
    border: 1px solid rgba(255, 255, 255, .14);
    border-radius: 15px;
    box-shadow:
        0 0 24px rgba(236, 28, 36, .5),
        inset 0 0 18px rgba(255, 255, 255, .12);
    color: #fff;
    content: "DL";
    display: flex;
    font-size: 17px;
    font-weight: 1000;
    height: 44px;
    justify-content: center;
    left: 50%;
    letter-spacing: .02em;
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
    transition: opacity .18s ease, transform .18s ease;
    width: 44px;
    display: none;
}

.configurator-layout .sidebar-logo img {
    opacity: 1;
    max-height: 76px;
    max-width: 100%;
    transition:
        max-height .24s ease,
        max-width .24s ease,
        opacity .18s ease,
        filter .24s ease;
}

.configurator-layout .sidebar:hover .sidebar-logo::after,
.configurator-layout .sidebar:focus-within .sidebar-logo::after {
    opacity: 0;
    transform: translate(-50%, -50%) scale(.88);
}

.configurator-layout .sidebar:hover .sidebar-logo img,
.configurator-layout .sidebar:focus-within .sidebar-logo img {
    max-height: 76px;
    max-width: 100%;
    opacity: 1;
}

.configurator-layout .quickbar {
    gap: 0;
    grid-template-columns: repeat(3, 1fr);
    justify-items: center;
    padding: 0;
}

.configurator-layout .sidebar:hover .quickbar,
.configurator-layout .sidebar:focus-within .quickbar {
    grid-template-columns: repeat(3, 1fr);
    padding: 0;
}

.configurator-layout .quickbar a,
.configurator-layout .quickbar button {
    min-width: 0;
    width: 100%;
}

.configurator-layout .quickbar a:hover,
.configurator-layout .quickbar button:hover {
    border-color: transparent;
}

.configurator-layout .side-nav a {
    color: rgba(255, 255, 255, .84);
    gap: 14px;
    grid-template-columns: 30px minmax(0, 1fr) auto;
    min-height: 70px;
    padding: 0 18px;
    white-space: nowrap;
    transition:
        background .18s ease,
        box-shadow .18s ease,
        color .16s ease;
}

.configurator-layout .sidebar:hover .side-nav a,
.configurator-layout .sidebar:focus-within .side-nav a {
    color: rgba(255, 255, 255, .86);
    padding: 0 18px;
}

.configurator-layout .side-nav a:hover,
.configurator-layout .side-nav a.active {
    background:
        linear-gradient(90deg, rgba(236, 28, 36, .34), rgba(236, 28, 36, .06), transparent),
        rgba(255, 255, 255, .035);
    box-shadow:
        inset 3px 0 0 #ff1d2d,
        inset 0 0 34px rgba(236, 28, 36, .08);
}

.configurator-layout .nav-shop,
.configurator-layout .nav-tools {
    overflow: hidden;
}

.configurator-layout .shop-submenu,
.configurator-layout .tool-submenu {
    background:
        linear-gradient(90deg, rgba(236, 28, 36, .2), rgba(236, 28, 36, .045) 58%, transparent),
        rgba(4, 5, 9, .56);
}

.configurator-layout .side-nav .shop-submenu a,
.configurator-layout .side-nav .tool-submenu a {
    color: rgba(255, 255, 255, .74);
    font-size: 13px;
    gap: 11px;
    grid-template-columns: 22px minmax(0, 1fr);
    min-height: 48px;
    padding: 0 16px 0 32px;
    white-space: nowrap;
}

.configurator-layout .side-nav .shop-submenu a:hover,
.configurator-layout .side-nav .tool-submenu a:hover {
    color: #fff;
}

.configurator-layout .shop-submenu .nav-icon,
.configurator-layout .tool-submenu .nav-icon {
    height: 19px;
    width: 19px;
}

.configurator-layout .side-nav strong {
    align-items: center;
    background:
        linear-gradient(135deg, rgba(255, 35, 48, .95), rgba(88, 0, 9, .94)),
        rgba(255, 255, 255, .05);
    border: 1px solid rgba(255, 255, 255, .18);
    border-radius: 8px;
    box-shadow:
        0 0 18px rgba(236, 28, 36, .38),
        inset 0 0 18px rgba(255, 255, 255, .08);
    color: #fff;
    display: inline-flex;
    font-size: 11px;
    font-weight: 1000;
    gap: 6px;
    justify-self: end;
    letter-spacing: .01em;
    min-width: max-content;
    opacity: 1;
    padding: 7px 9px 7px 8px;
    position: relative;
    transform: translateX(0);
    transition:
        opacity .18s ease,
        transform .18s ease,
        box-shadow .18s ease;
}

.configurator-layout .side-nav strong::before {
    background: #fff;
    border-radius: 999px;
    box-shadow: 0 0 12px rgba(255, 255, 255, .78);
    content: "";
    height: 6px;
    opacity: .9;
    width: 6px;
}

.configurator-layout .side-nav a:hover strong,
.configurator-layout .side-nav a.active strong {
    box-shadow:
        0 0 26px rgba(236, 28, 36, .58),
        inset 0 0 18px rgba(255, 255, 255, .12);
}

.configurator-layout .sidebar:hover .side-nav strong,
.configurator-layout .sidebar:focus-within .side-nav strong {
    opacity: 1;
    transform: translateX(0);
}

.configurator-layout .nav-icon {
    background-color: currentColor;
    color: rgba(255, 255, 255, .9);
    filter: drop-shadow(0 0 9px rgba(255, 255, 255, .12));
    height: 24px;
    width: 24px;
}

.configurator-layout .side-nav a.active .nav-icon,
.configurator-layout .side-nav a:hover .nav-icon {
    color: #ff3140;
    filter:
        drop-shadow(0 0 10px rgba(236, 28, 36, .78))
        drop-shadow(0 0 24px rgba(236, 28, 36, .34));
}

.configurator-layout .portal-main {
    box-sizing: border-box;
    margin-left: 242px;
    max-width: none;
    min-height: 100vh;
    overflow-x: hidden;
    padding-left: clamp(20px, 3vw, 48px);
    padding-right: clamp(20px, 3vw, 48px);
    transition: margin-left .24s ease, width .24s ease;
    width: calc(100% - 242px);
}

.configurator-layout .configurator-panel,
.configurator-layout .config-stage,
.configurator-layout .brand-logo-wall,
.configurator-layout .config-list-flow {
    box-sizing: border-box;
    max-width: none;
    min-width: 0;
    width: 100%;
}

.configurator-layout .brand-logo-wall {
    overflow: visible;
    gap: 14px;
    margin-left: auto;
    margin-right: auto;
    max-width: 1120px;
    padding-top: 8px;
    grid-template-columns: repeat(auto-fill, minmax(92px, 1fr));
}

.configurator-layout .brand-logo-wall .config-card {
    background:
        linear-gradient(180deg, rgba(255, 255, 255, .98), rgba(247, 249, 252, .95));
    border-color: rgba(255, 255, 255, .16);
    box-shadow:
        0 12px 28px rgba(0, 0, 0, .22),
        0 0 0 1px rgba(255, 255, 255, .74) inset;
    min-height: 112px;
    padding: 12px 8px 10px;
    transform-origin: center;
}

.configurator-layout .brand-logo-wall .config-card strong {
    font-size: 12px;
}

.configurator-layout .brand-logo-wall .config-card-media {
    height: 62px;
    min-width: 84px;
}

.configurator-layout .brand-logo-wall .config-card-media img {
    max-height: 54px;
    max-width: 86px;
}

.configurator-layout .brand-logo-wall .config-card:hover {
    border-color: rgba(236, 28, 36, .48);
    box-shadow:
        0 0 0 1px rgba(236, 28, 36, .1) inset,
        0 0 20px rgba(236, 28, 36, .16),
        0 14px 30px rgba(0, 0, 0, .26);
    transform: translateY(-2px);
}

.configurator-layout .config-list-items {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.configurator-layout .configurator-main {
    padding-left: clamp(24px, 4vw, 64px);
    padding-right: clamp(24px, 4vw, 64px);
}

.configurator-layout .configurator-panel {
    background:
        radial-gradient(circle at 16% 6%, rgba(0, 92, 255, .11), transparent 26%),
        radial-gradient(circle at 88% 8%, rgba(236, 28, 36, .16), transparent 30%),
        linear-gradient(180deg, rgba(255, 255, 255, .09), rgba(255, 255, 255, .04));
    border: 1px solid rgba(255, 255, 255, .09);
    box-shadow:
        0 28px 78px rgba(0, 0, 0, .34),
        0 0 0 1px rgba(255, 255, 255, .035) inset,
        0 0 42px rgba(236, 28, 36, .12);
    margin-left: auto;
    margin-right: auto;
    max-width: 1200px;
    overflow: hidden;
    padding: 30px clamp(24px, 3vw, 38px) 54px;
    position: relative;
}

.configurator-layout .configurator-panel::before {
    background:
        linear-gradient(90deg, rgba(236, 28, 36, .82), rgba(255, 255, 255, .86), rgba(236, 28, 36, .44), transparent);
    content: "";
    display: block;
    height: 2px;
    left: 28px;
    opacity: .84;
    position: absolute;
    right: 42%;
    top: 0;
}

.configurator-layout .configurator-panel > * {
    position: relative;
    z-index: 1;
}

.configurator-layout .config-steps button {
    color: rgba(226, 232, 240, .56);
}

.configurator-layout .config-steps button.done:not(.active) {
    color: rgba(255, 255, 255, .88);
}

.configurator-layout .config-steps span {
    border-color: rgba(255, 255, 255, .82);
}

.configurator-layout .vehicle-type-tabs {
    background:
        linear-gradient(180deg, rgba(255, 255, 255, .075), rgba(255, 255, 255, .025));
    border-bottom-color: rgba(255, 255, 255, .12);
}

.configurator-layout .vehicle-type-tabs button {
    background:
        linear-gradient(180deg, rgba(255, 255, 255, .065), rgba(255, 255, 255, .025));
    border-color: rgba(255, 255, 255, .08);
    color: rgba(255, 255, 255, .84);
    text-shadow: 0 0 12px rgba(0, 0, 0, .34);
}

.configurator-layout .vehicle-type-tabs button::before {
    background:
        linear-gradient(120deg, transparent 0%, rgba(255, 255, 255, .12) 45%, rgba(255, 34, 48, .22) 52%, transparent 72%),
        linear-gradient(180deg, rgba(255, 255, 255, .09), rgba(255, 255, 255, .035));
    border-color: rgba(255, 32, 48, .2);
    box-shadow:
        0 0 28px rgba(236, 28, 36, .12),
        inset 0 1px 0 rgba(255, 255, 255, .18);
}

.configurator-layout .vehicle-type-tabs button.active,
.configurator-layout .vehicle-type-tabs button:hover {
    background:
        linear-gradient(180deg, rgba(255, 255, 255, .12), rgba(236, 28, 36, .14));
    color: #fff;
}

.configurator-layout .config-back {
    background: rgba(255, 255, 255, .06);
    border-color: rgba(255, 255, 255, .14);
    box-shadow: 0 12px 28px rgba(0, 0, 0, .22);
    color: #fff;
}

.configurator-layout .config-back:hover {
    background: rgba(236, 28, 36, .16);
    border-color: rgba(236, 28, 36, .35);
    box-shadow:
        0 0 24px rgba(236, 28, 36, .14),
        0 12px 28px rgba(0, 0, 0, .24);
    color: #fff;
}

.configurator-layout .config-stage:not(.brand-step):not(.result-step) {
    display: block;
    margin-left: auto;
    margin-right: auto;
    max-width: 1500px;
}

.configurator-layout .config-stage:not(.brand-step):not(.result-step) .config-summary {
    display: none;
}

.configurator-layout .config-stage:not(.brand-step):not(.result-step) .config-work {
    min-width: 0;
    width: 100%;
}

.configurator-layout .config-list-flow {
    align-items: start;
    display: grid;
    gap: 22px;
    grid-template-columns: minmax(220px, 280px) minmax(0, 760px);
    justify-content: center;
    margin-left: auto;
    margin-right: auto;
    max-width: 1080px;
}

.configurator-layout .config-list-context {
    background:
        linear-gradient(180deg, rgba(255, 255, 255, .09), rgba(255, 255, 255, .04));
    border: 1px solid rgba(255, 255, 255, .1);
    box-shadow:
        0 18px 42px rgba(0, 0, 0, .26),
        0 0 0 1px rgba(255, 255, 255, .03) inset;
    min-height: 142px;
    padding: 22px 18px;
    width: 100%;
}

.configurator-layout .list-panel-logo {
    height: 68px;
    margin-bottom: 2px;
    width: 138px;
}

.configurator-layout .list-panel-logo img {
    max-height: 62px;
    max-width: 130px;
}

.configurator-layout .config-list-context strong {
    color: #fff;
    font-size: 22px;
}

.configurator-layout .config-list-context small {
    color: rgba(226, 232, 240, .68);
    font-size: 15px;
}

.configurator-layout .config-list-panel {
    background:
        linear-gradient(180deg, rgba(255, 255, 255, .08), rgba(255, 255, 255, .035));
    border: 1px solid rgba(255, 255, 255, .09);
    box-shadow:
        0 18px 42px rgba(0, 0, 0, .25),
        0 0 0 1px rgba(255, 255, 255, .03) inset;
    min-width: 0;
    width: 100%;
}

.configurator-layout .config-list-panel h3 {
    background: transparent;
    color: #fff;
    gap: 14px;
    min-height: 56px;
    padding: 0 18px;
}

.configurator-layout .config-list-panel h3 span {
    font-size: 22px;
    line-height: 1.1;
}

.config-loading-state,
.config-empty-state {
    align-items: center;
    background:
        radial-gradient(circle at 50% 0%, rgba(255, 24, 44, .12), transparent 48%),
        linear-gradient(145deg, rgba(255, 255, 255, .96), rgba(248, 249, 252, .92));
    border: 1px solid rgba(255, 24, 44, .18);
    border-radius: 18px;
    box-shadow: 0 22px 60px rgba(13, 18, 32, .08), 0 0 36px rgba(255, 24, 44, .08);
    color: #101827;
    display: grid;
    grid-column: 1 / -1;
    justify-items: center;
    margin: 30px auto;
    max-width: 520px;
    min-height: 210px;
    padding: 34px;
    text-align: center;
    width: min(100%, 520px);
}

.config-loading-state strong,
.config-empty-state strong {
    font-size: 22px;
    font-weight: 900;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.config-loading-state small,
.config-empty-state span {
    color: #667085;
    font-size: 15px;
    line-height: 1.5;
    max-width: 390px;
}

.darklab-loader {
    animation: darklabSpin 1s linear infinite;
    background:
        conic-gradient(from 0deg, rgba(255, 24, 44, 0), rgba(255, 24, 44, .95), rgba(255, 24, 44, 0)),
        radial-gradient(circle, #fff 52%, transparent 54%);
    border-radius: 50%;
    box-shadow: 0 0 22px rgba(255, 24, 44, .28);
    height: 58px;
    margin-bottom: 8px;
    width: 58px;
}

.config-empty-state .inline-back {
    margin-top: 8px;
}

@keyframes darklabSpin {
    to {
        transform: rotate(360deg);
    }
}

.configurator-layout .config-list-panel h3 span {
    min-width: 0;
}

.configurator-layout .inline-back {
    flex: 0 0 auto;
    font-size: 16px;
    white-space: nowrap;
}

.configurator-layout .config-list-items {
    background: transparent;
    gap: 10px;
    grid-template-columns: repeat(3, minmax(140px, 1fr));
    padding: 0 16px 18px;
}

.configurator-layout .config-list-row {
    background:
        linear-gradient(180deg, rgba(255, 255, 255, .09), rgba(255, 255, 255, .045));
    border: 1px solid rgba(255, 255, 255, .1);
    box-shadow:
        0 10px 24px rgba(0, 0, 0, .18),
        0 0 0 1px rgba(255, 255, 255, .03) inset;
    color: #fff;
    font-size: 18px;
    justify-content: start;
    min-height: 56px;
    min-width: 0;
    overflow-wrap: anywhere;
    padding-left: 18px;
    padding-right: 14px;
}

.configurator-layout .config-list-row i {
    height: 8px;
    width: 8px;
}

.configurator-layout .config-list-row em {
    color: rgba(226, 232, 240, .58);
    font-size: 13px;
}

.configurator-layout .config-list-row:hover {
    background:
        linear-gradient(180deg, rgba(236, 28, 36, .18), rgba(255, 255, 255, .055));
    border-color: rgba(236, 28, 36, .34);
    box-shadow:
        0 0 22px rgba(236, 28, 36, .14),
        0 12px 28px rgba(0, 0, 0, .22);
    color: #fff;
}

.configurator-layout .config-list-group {
    border-bottom-color: rgba(255, 255, 255, .1);
    color: #ff313d;
}

.configurator-layout .config-loading-state,
.configurator-layout .config-empty-state {
    background:
        radial-gradient(circle at 50% 0%, rgba(255, 24, 44, .16), transparent 48%),
        linear-gradient(145deg, rgba(255, 255, 255, .08), rgba(255, 255, 255, .035));
    border-color: rgba(255, 255, 255, .1);
    box-shadow:
        0 22px 60px rgba(0, 0, 0, .24),
        0 0 36px rgba(255, 24, 44, .09);
    color: #fff;
}

.configurator-layout .config-loading-state small,
.configurator-layout .config-empty-state span {
    color: rgba(226, 232, 240, .68);
}

.configurator-layout .simulator-result {
    background:
        radial-gradient(circle at 18% 0%, rgba(236, 28, 36, .1), transparent 34%),
        linear-gradient(180deg, rgba(255, 255, 255, .09), rgba(255, 255, 255, .04));
    border: 1px solid rgba(255, 255, 255, .1);
    box-shadow:
        0 24px 60px rgba(0, 0, 0, .28),
        0 0 0 1px rgba(255, 255, 255, .03) inset;
}

.configurator-layout .sim-hero {
    background:
        linear-gradient(120deg, rgba(255, 255, 255, .08), rgba(236, 28, 36, .08));
    border-bottom-color: rgba(255, 255, 255, .1);
}

.configurator-layout .sim-vehicle-copy span,
.configurator-layout .sim-vehicle-copy h3,
.configurator-layout .sim-details h3 {
    color: #fff;
}

.configurator-layout .sim-vehicle-copy p,
.configurator-layout .result-disclaimer {
    color: rgba(226, 232, 240, .68);
}

.configurator-layout .config-list-group {
    font-size: 16px;
    margin-top: 4px;
    padding: 10px 0;
}

.configurator-layout .config-stage.result-step {
    display: block;
    margin-left: auto;
    margin-right: auto;
    max-width: 1180px;
}

.configurator-layout .config-stage.result-step .config-summary {
    display: none;
}

.configurator-layout .config-stage.result-step .config-work,
.configurator-layout .config-stage.result-step .config-result {
    width: 100%;
}

.configurator-layout .simulator-result {
    background:
        radial-gradient(circle at 18% 0%, rgba(236, 28, 36, .08), transparent 34%),
        linear-gradient(180deg, #fff, #fbfcfe);
    border: 1px solid #dde3ec;
    border-radius: 16px;
    box-shadow:
        0 26px 70px rgba(15, 23, 42, .11),
        0 0 0 1px rgba(255, 255, 255, .8) inset;
    margin: 0 auto;
    max-width: 1040px;
    overflow: hidden;
}

.configurator-layout .sim-hero {
    background:
        linear-gradient(120deg, #ffffff 0%, #ffffff 54%, #fff0f1 100%);
    border-bottom: 1px solid #e1e6ef;
    gap: 18px;
    grid-template-columns: 112px minmax(0, 1fr) max-content;
    padding: 20px 28px;
}

.configurator-layout .sim-vehicle-image {
    background: #fff;
    border: 1px solid #e2e7ef;
    border-radius: 50%;
    box-shadow:
        0 16px 36px rgba(15, 23, 42, .12),
        0 0 0 8px rgba(236, 28, 36, .035);
    height: 94px;
    width: 94px;
}

.configurator-layout .sim-vehicle-image img {
    max-height: 72px;
    max-width: 74px;
}

.configurator-layout .sim-vehicle-copy span {
    color: #0f172a;
    letter-spacing: .18em;
}

.configurator-layout .sim-vehicle-copy h3 {
    color: #111827;
    font-size: clamp(30px, 3.3vw, 48px);
    letter-spacing: -.03em;
}

.configurator-layout .sim-stage-switch {
    align-self: center;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, .09), rgba(255, 255, 255, .035));
    border: 1px solid rgba(255, 255, 255, .1);
    border-radius: 999px;
    box-shadow:
        0 10px 24px rgba(0, 0, 0, .2),
        inset 0 0 0 1px rgba(255, 255, 255, .04);
    display: flex;
    flex-wrap: nowrap;
    gap: 3px;
    justify-content: flex-end;
    max-width: none;
    padding: 4px;
}

.configurator-layout .sim-stage-switch button {
    align-items: center;
    background: transparent;
    border-radius: 999px;
    color: rgba(226, 232, 240, .74);
    display: inline-flex;
    font-size: 11px;
    gap: 5px;
    justify-content: center;
    min-height: 32px;
    min-width: 78px;
    padding: 0 9px;
    text-transform: uppercase;
    white-space: nowrap;
}

.configurator-layout .sim-stage-switch button.active,
.configurator-layout .sim-stage-switch button:hover {
    background: linear-gradient(135deg, rgba(236, 28, 36, .25), rgba(255, 255, 255, .08));
    box-shadow:
        0 8px 18px rgba(236, 28, 36, .12),
        inset 0 0 0 1px rgba(236, 28, 36, .08);
    color: #fff;
}

.configurator-layout .sim-stage-switch button.service-only {
    cursor: default;
}

.configurator-layout .sim-stage-switch button.service-only:hover {
    background: rgba(255, 255, 255, .07);
    color: #fff;
}

.configurator-layout .service-mark {
    align-items: baseline;
    display: inline-flex;
    font-style: italic;
    font-weight: 1000;
    letter-spacing: -.06em;
    line-height: 1;
    min-width: 24px;
}

.configurator-layout .service-mark b {
    color: rgba(255, 255, 255, .9);
    font-size: 16px;
}

.configurator-layout .service-mark i {
    color: #ff7a00;
    font-size: 10px;
    font-style: italic;
    margin-left: -2px;
}

@media (max-width: 1180px) {
    .configurator-layout .sim-hero {
        grid-template-columns: 1fr;
    }

    .configurator-layout .sim-stage-switch {
        justify-content: flex-start;
        justify-self: flex-start;
    }
}

@media (max-width: 720px) {
    .configurator-layout .sim-stage-switch {
        flex-wrap: wrap;
    }
}

.configurator-layout .sim-stage-switch button.active .service-mark b,
.configurator-layout .sim-stage-switch button:hover .service-mark b {
    color: #fff;
}

.configurator-layout .service-mark.ethanol b {
    color: rgba(255, 255, 255, .9);
}

.configurator-layout .service-mark.ethanol i {
    color: #148a45;
}

.configurator-layout .service-mark.ethanol.plus i {
    color: #0aa35b;
}

.configurator-layout .catalog-stage-table {
    background:
        linear-gradient(180deg, rgba(255, 255, 255, .09), rgba(255, 255, 255, .035));
    border: 1px solid rgba(255, 255, 255, .1);
    border-radius: 14px;
    box-shadow: 0 18px 40px rgba(0, 0, 0, .22);
    margin: 26px auto 30px;
    max-width: 860px;
}

.configurator-layout .catalog-stage-table > * {
    min-height: 54px;
    padding: 0 24px;
}

.configurator-layout .catalog-stage-table strong {
    background: rgba(255, 255, 255, .08);
    color: rgba(255, 255, 255, .86);
    font-size: 14px;
    letter-spacing: .03em;
}

.configurator-layout .catalog-stage-table span {
    color: rgba(226, 232, 240, .8);
    font-size: 17px;
}

.configurator-layout .catalog-stage-table b {
    color: #fff;
    font-size: 17px;
    font-weight: 900;
}

.configurator-layout .catalog-stage-table .red {
    color: #ff1727;
    text-shadow: 0 0 12px rgba(236, 28, 36, .12);
}

.configurator-layout .sim-details {
    margin: 0 auto;
    max-width: 860px;
    padding: 0 0 30px;
}

.configurator-layout .sim-details section {
    background: transparent;
    border: 0;
    border-top: 1px solid rgba(255, 255, 255, .1);
    border-radius: 0;
    padding: 24px 0;
}

.configurator-layout .sim-details h3 {
    color: #fff;
    font-size: 24px;
}

.configurator-layout .result-disclaimer {
    margin: 0 auto;
    max-width: 860px;
    padding: 0 0 28px;
}

.pricing-layout {
    background:
        radial-gradient(circle at 18% 8%, rgba(0, 92, 255, .16), transparent 28%),
        radial-gradient(circle at 92% 16%, rgba(236, 28, 36, .18), transparent 30%),
        linear-gradient(135deg, #050608, #10131a 48%, #07080b);
    min-height: 100vh;
}

.credits-layout {
    background:
        radial-gradient(circle at 18% 8%, rgba(0, 92, 255, .16), transparent 28%),
        radial-gradient(circle at 92% 16%, rgba(236, 28, 36, .18), transparent 30%),
        linear-gradient(135deg, #050608, #10131a 48%, #07080b);
    min-height: 100vh;
}

.pricing-main {
    display: flex;
    flex-direction: column;
    gap: 22px;
    padding: 66px 70px;
    position: relative;
}

.pricing-main::before {
    background:
        linear-gradient(90deg, rgba(236, 28, 36, .72), rgba(255, 255, 255, .72), transparent);
    content: "";
    height: 1px;
    left: 70px;
    opacity: .75;
    position: absolute;
    right: 70px;
    top: 44px;
}

.credits-main {
    display: flex;
    flex-direction: column;
    gap: 30px;
    padding: 66px 70px;
    position: relative;
}

.credits-main::before {
    background:
        linear-gradient(90deg, rgba(236, 28, 36, .72), rgba(255, 255, 255, .72), transparent);
    content: "";
    height: 1px;
    left: 70px;
    opacity: .75;
    position: absolute;
    right: 70px;
    top: 44px;
}

.bosch-layout {
    background:
        radial-gradient(circle at 18% 8%, rgba(0, 92, 255, .16), transparent 28%),
        radial-gradient(circle at 92% 16%, rgba(236, 28, 36, .18), transparent 30%),
        linear-gradient(135deg, #050608, #10131a 48%, #07080b);
    min-height: 100vh;
}

.bosch-main {
    display: flex;
    flex-direction: column;
    gap: 24px;
    padding: 66px 70px;
    position: relative;
}

.bosch-main::before {
    background:
        linear-gradient(90deg, rgba(236, 28, 36, .72), rgba(255, 255, 255, .72), transparent);
    content: "";
    height: 1px;
    left: 70px;
    opacity: .75;
    position: absolute;
    right: 70px;
    top: 44px;
}

.bosch-main .eyebrow {
    color: #ff2834;
    text-shadow: 0 0 18px rgba(236, 28, 36, .24);
}

.bosch-main h1 {
    color: #fff;
    text-shadow: 0 0 24px rgba(255, 255, 255, .08);
}

.bosch-head p:not(.eyebrow) {
    color: rgba(226, 232, 240, .74);
    font-size: 16px;
    font-weight: 600;
    line-height: 1.5;
    max-width: 920px;
}

.pricing-head {
    align-items: end;
    display: flex;
    justify-content: space-between;
}

.credits-head {
    align-items: end;
    display: flex;
    justify-content: space-between;
}

.credits-head .eyebrow {
    color: #ff2834;
    text-shadow: 0 0 18px rgba(236, 28, 36, .24);
}

.credits-head h1 {
    color: #fff;
    text-shadow: 0 0 24px rgba(255, 255, 255, .08);
}

.credits-head p:not(.eyebrow) {
    color: rgba(226, 232, 240, .74);
    font-size: 16px;
    font-weight: 600;
    line-height: 1.5;
    max-width: 920px;
}

.bosch-head {
    align-items: end;
    display: flex;
    justify-content: space-between;
}

.pricing-title-block {
    max-width: 820px;
    position: relative;
}

.pricing-title-block::before {
    background:
        linear-gradient(90deg, rgba(236, 28, 36, .92), rgba(255, 255, 255, .9), transparent);
    border-radius: 999px;
    content: "";
    height: 2px;
    left: 0;
    opacity: .75;
    position: absolute;
    top: calc(100% + 10px);
    width: min(360px, 72vw);
}

.pricing-head h1 {
    align-items: baseline;
    color: #fff;
    display: flex;
    flex-wrap: wrap;
    gap: 12px 16px;
    font-size: 44px;
    font-weight: 900;
    line-height: 1;
    margin: 2px 0 0;
    text-shadow: 0 0 24px rgba(255, 255, 255, .08);
}

.pricing-head h1 span {
    letter-spacing: 0;
}

.pricing-head h1 strong {
    color: #ff1018;
    font-size: 16px;
    font-weight: 950;
    letter-spacing: .12em;
    line-height: 1;
    text-shadow: 0 0 18px rgba(236, 28, 36, .18);
    text-transform: uppercase;
}

.pricing-summary {
    align-items: center;
    background:
        linear-gradient(90deg, rgba(255, 255, 255, .055), rgba(255, 255, 255, 0));
    border-left: 0;
    color: rgba(226, 232, 240, .74);
    display: inline-flex;
    font-size: 15px;
    font-weight: 650;
    line-height: 1.45;
    margin: 14px 0 0;
    max-width: 760px;
    padding: 8px 18px 8px 0;
}

.pricing-category-tabs {
    background:
        radial-gradient(circle at 18% 10%, rgba(0, 102, 255, .11), transparent 28%),
        radial-gradient(circle at 82% 16%, rgba(236, 28, 36, .13), transparent 28%),
        linear-gradient(180deg, rgba(255, 255, 255, .085), rgba(255, 255, 255, .035));
    border: 1px solid rgba(255, 255, 255, .08);
    border-bottom-color: rgba(236, 28, 36, .26);
    border-radius: 14px 14px 0 0;
    box-shadow:
        0 18px 46px rgba(0, 0, 0, .26),
        0 0 0 1px rgba(255, 255, 255, .03) inset;
    display: grid;
    gap: 14px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    padding: 0 0 4px;
    position: relative;
}

.pricing-category-tabs::after {
    background:
        linear-gradient(90deg, rgba(236, 28, 36, .82), rgba(255, 255, 255, .9) 18%, rgba(236, 28, 36, .95) 34%, rgba(255, 255, 255, .82) 50%, rgba(236, 28, 36, .72) 66%, transparent);
    bottom: -1px;
    content: "";
    height: 2px;
    left: 0;
    position: absolute;
    width: min(560px, 62%);
}

.pricing-category-tabs a {
    align-items: start;
    background: transparent;
    border: 1px solid transparent;
    border-bottom: 0;
    border-radius: 14px 14px 0 0;
    color: #4f5b6c;
    display: grid;
    gap: 6px;
    grid-template-columns: 42px minmax(0, 1fr);
    min-height: 82px;
    overflow: hidden;
    padding: 18px 24px 16px;
    position: relative;
    text-decoration: none;
}

.pricing-category-tabs a::before {
    background:
        radial-gradient(circle at 75% 15%, rgba(255, 255, 255, .12), transparent 24%),
        linear-gradient(135deg, rgba(236, 28, 36, .16), rgba(255, 255, 255, .07) 56%, rgba(0, 92, 255, .08));
    content: "";
    inset: 0;
    opacity: 0;
    position: absolute;
    transition: opacity .18s ease;
}

.pricing-category-tabs a > * {
    position: relative;
    z-index: 1;
}

.pricing-category-tabs a:hover,
.pricing-category-tabs a.active {
    background:
        linear-gradient(135deg, rgba(255, 255, 255, .11), rgba(236, 28, 36, .08));
    border-color: rgba(236, 28, 36, .28);
    box-shadow:
        0 0 0 1px rgba(236, 28, 36, .08) inset,
        0 0 30px rgba(236, 28, 36, .12);
    color: #fff;
}

.pricing-category-tabs a:hover::before,
.pricing-category-tabs a.active::before {
    opacity: 1;
}

.pricing-category-tabs span {
    align-items: center;
    background: transparent;
    border-radius: 0;
    color: rgba(255, 255, 255, .92);
    display: flex;
    font-size: 14px;
    font-weight: 900;
    justify-content: flex-start;
    letter-spacing: .11em;
    text-transform: uppercase;
}

.pricing-category-tabs em {
    align-items: center;
    align-self: center;
    border: 1px solid rgba(255, 255, 255, .14);
    border-radius: 999px;
    color: rgba(226, 232, 240, .48);
    display: flex;
    font-size: 12px;
    font-style: normal;
    font-weight: 950;
    grid-row: span 2;
    height: 34px;
    justify-content: center;
    letter-spacing: .08em;
    transition: color .18s ease, border-color .18s ease, box-shadow .18s ease;
    width: 34px;
}

.pricing-category-tabs a.active span {
    color: #ec1c24;
    filter: drop-shadow(0 0 10px rgba(236, 28, 36, .18));
}

.pricing-category-tabs strong {
    color: rgba(226, 232, 240, .78);
    font-size: 16px;
    font-weight: 900;
    line-height: 1.18;
}

.pricing-category-tabs a.active strong {
    color: #fff;
}

.pricing-category-tabs a:hover em,
.pricing-category-tabs a.active em {
    border-color: rgba(236, 28, 36, .38);
    box-shadow: 0 0 18px rgba(236, 28, 36, .14);
    color: #ec1c24;
}

.pricing-sheet {
    background:
        radial-gradient(circle at 18% 10%, rgba(0, 102, 255, .1), transparent 26%),
        radial-gradient(circle at 82% 12%, rgba(236, 28, 36, .12), transparent 28%),
        linear-gradient(180deg, rgba(255, 255, 255, .095), rgba(255, 255, 255, .045));
    border: 1px solid rgba(255, 255, 255, .08);
    border-radius: 8px;
    box-shadow:
        0 22px 60px rgba(0, 0, 0, .28),
        0 0 0 1px rgba(255, 255, 255, .03) inset;
    display: grid;
    gap: 34px;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    min-height: calc(100vh - 180px);
    padding: 48px 66px 64px;
    position: relative;
}

.pricing-sheet::before {
    background:
        linear-gradient(90deg, rgba(236, 28, 36, .82), rgba(255, 255, 255, .88), rgba(236, 28, 36, .5), transparent);
    content: "";
    height: 2px;
    left: 24px;
    opacity: .8;
    position: absolute;
    right: 38%;
    top: 0;
}

.credit-pack-grid {
    align-items: start;
    background:
        radial-gradient(circle at 18% 10%, rgba(0, 102, 255, .12), transparent 26%),
        radial-gradient(circle at 82% 18%, rgba(236, 28, 36, .14), transparent 28%),
        linear-gradient(180deg, rgba(255, 255, 255, .095), rgba(255, 255, 255, .045));
    border: 1px solid rgba(255, 255, 255, .08);
    border-radius: 8px;
    box-shadow:
        0 22px 60px rgba(0, 0, 0, .28),
        0 0 0 1px rgba(255, 255, 255, .03) inset;
    display: grid;
    gap: 24px 30px;
    grid-template-columns: repeat(4, 210px);
    justify-content: center;
    padding: 32px 40px 42px;
    position: relative;
}

.credit-pack-grid::before {
    background:
        linear-gradient(90deg, rgba(236, 28, 36, .82), rgba(255, 255, 255, .88), rgba(236, 28, 36, .5), transparent);
    content: "";
    height: 2px;
    left: 24px;
    opacity: .8;
    position: absolute;
    right: 38%;
    top: 0;
}

.credit-pack-card {
    background: #fff;
    border: 1px solid rgba(18, 27, 39, .08);
    border-radius: 8px;
    box-shadow:
        0 2px 8px rgba(18, 27, 39, .16),
        0 0 0 1px rgba(255, 255, 255, .84) inset;
    display: grid;
    font-family: "Inter", "Segoe UI", "Lato", Arial, sans-serif;
    min-height: 342px;
    overflow: hidden;
    position: relative;
    transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

.credit-pack-card::before {
    background:
        linear-gradient(90deg, transparent, rgba(236, 28, 36, .86), rgba(255, 255, 255, .95), rgba(236, 28, 36, .86), transparent);
    content: "";
    height: 2px;
    left: 22px;
    opacity: 0;
    position: absolute;
    right: 22px;
    top: 0;
    transform: scaleX(.62);
    transition: opacity .18s ease, transform .18s ease;
    z-index: 3;
}

.credit-pack-card:hover {
    border-color: rgba(236, 28, 36, .32);
    box-shadow:
        0 0 0 1px rgba(236, 28, 36, .08) inset,
        0 0 20px rgba(236, 28, 36, .17),
        0 14px 26px rgba(18, 27, 39, .16);
    transform: translateY(-2px);
}

.credit-pack-card:hover::before {
    opacity: 1;
    transform: scaleX(1);
}

.credit-pack-top {
    align-content: start;
    background:
        radial-gradient(circle at 14% 18%, rgba(0, 102, 255, .18), transparent 22%),
        radial-gradient(circle at 86% 38%, rgba(236, 28, 36, .22), transparent 24%),
        linear-gradient(145deg, #050608, #20242b 54%, #090a0d);
    color: #fff;
    display: grid;
    justify-items: center;
    min-height: 184px;
    padding: 18px 16px 20px;
    position: relative;
}

.credit-pack-top img {
    display: block;
    filter:
        drop-shadow(0 0 12px rgba(0, 102, 255, .2))
        drop-shadow(0 0 16px rgba(236, 28, 36, .16));
    height: 36px;
    margin: 0 0 16px;
    object-fit: contain;
    opacity: .94;
    width: min(134px, 82%);
}

.credit-pack-top strong {
    color: #fff;
    font-family: "Inter", "Segoe UI", "Lato", Arial, sans-serif;
    font-size: 46px;
    font-weight: 650;
    letter-spacing: 0;
    line-height: .95;
    text-shadow: 0 0 14px rgba(255, 255, 255, .1);
}

.credit-pack-top span {
    color: rgba(255, 255, 255, .88);
    font-size: 13px;
    font-weight: 600;
    line-height: 1.2;
    margin-top: 16px;
    text-align: center;
    text-transform: uppercase;
}

.credit-pack-bottom {
    align-content: center;
    display: grid;
    gap: 20px;
    justify-items: center;
    padding: 24px 16px;
}

.credit-pack-bottom p {
    display: grid;
    gap: 8px;
    margin: 0;
    text-align: center;
}

.credit-pack-bottom p strong {
    color: #ff1018;
    font-size: 20px;
    font-weight: 700;
    line-height: 1;
}

.credit-pack-bottom p span {
    color: #9aa4b2;
    font-size: 13px;
    font-weight: 550;
}

.credit-pack-bottom button {
    background: #ff1c24;
    border: 0;
    border-radius: 4px;
    box-shadow: 0 10px 20px rgba(236, 28, 36, .24);
    color: #fff;
    cursor: pointer;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0;
    min-height: 36px;
    padding: 0 18px;
    text-transform: uppercase;
    transition: background .16s ease, box-shadow .16s ease, transform .16s ease;
}

.credit-pack-bottom button:hover {
    background: #d90f18;
    box-shadow:
        0 0 18px rgba(236, 28, 36, .26),
        0 12px 24px rgba(236, 28, 36, .22);
    transform: translateY(-1px);
}

.bosch-tool-panel {
    align-items: end;
    background:
        radial-gradient(circle at 0 0, rgba(0, 92, 255, .14), transparent 28%),
        radial-gradient(circle at 100% 0, rgba(236, 28, 36, .16), transparent 30%),
        linear-gradient(135deg, rgba(255, 255, 255, .085), rgba(255, 255, 255, .035));
    border: 1px solid rgba(255, 255, 255, .20);
    border-radius: 8px;
    box-shadow:
        0 0 0 1px rgba(236, 28, 36, .08) inset,
        0 18px 50px rgba(0, 0, 0, .34),
        0 0 34px rgba(236, 28, 36, .1);
    display: grid;
    gap: 18px;
    grid-template-columns: minmax(260px, .7fr) minmax(260px, 1fr);
    padding: 24px 28px;
    position: relative;
}

.bosch-tool-panel::before {
    background:
        linear-gradient(90deg, transparent, rgba(236, 28, 36, .9), rgba(255, 255, 255, .82), rgba(0, 92, 255, .58), transparent);
    content: "";
    height: 2px;
    left: 24px;
    position: absolute;
    right: 24px;
    top: 0;
}

.bosch-search {
    display: grid;
    gap: 8px;
}

.bosch-search label {
    color: rgba(255, 255, 255, .92);
    font-size: 13px;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}

/* DARKLAB - account opening review */
.admin-nav-count{margin-left:auto;width:26px;min-width:26px;height:26px;padding:0;border-radius:50%;background:#d8172c;color:#fff;display:inline-flex;align-items:center;justify-content:center;font:800 11px Inter,sans-serif;line-height:1;box-shadow:0 0 16px rgba(216,23,44,.3)}
.application-tabs{margin-bottom:18px}.application-list{display:grid;gap:14px}.application-card{background:linear-gradient(135deg,rgba(31,37,48,.97),rgba(25,22,29,.97));border:1px solid rgba(255,255,255,.14);border-left:3px solid #29c687;border-radius:14px;padding:22px;color:#eaf0f8;box-shadow:0 14px 35px rgba(0,0,0,.22)}.application-card.risk-orange{border-left-color:#e7a93d}.application-card.risk-red{border-left-color:#ef3348}.application-card header{display:flex;justify-content:space-between;gap:20px;padding-bottom:16px;border-bottom:1px solid rgba(255,255,255,.1)}.application-card h2{font:600 22px Michroma,sans-serif;margin:10px 0 4px;color:#fff}.application-card header p{margin:0;color:#aeb8c8}.risk-pill{display:inline-flex;border:1px solid currentColor;border-radius:999px;padding:6px 10px;font:700 11px Inter,sans-serif;letter-spacing:.06em;text-transform:uppercase}.risk-green{color:#55dca5}.risk-orange{color:#f0bb5b}.risk-red{color:#ff6575}.application-date{text-align:right;color:#929dad;font:500 12px Inter,sans-serif}.application-date strong{display:block;margin-top:8px;color:#fff}.application-facts{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1px;margin:16px 0;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.1);border-radius:10px;overflow:hidden}.application-facts span{display:grid;gap:5px;background:#171c25;padding:12px;color:#8995a7;font:600 10px Inter,sans-serif;text-transform:uppercase}.application-facts b{color:#edf2f8;font-size:12px;text-transform:none}.application-checks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.application-checks>div{display:flex;gap:10px;padding:12px;border:1px solid rgba(255,255,255,.1);border-radius:10px;background:rgba(7,10,15,.38)}.application-checks i{flex:0 0 auto;width:9px;height:9px;border-radius:50%;margin-top:3px;background:#8995a7}.application-checks .check-pass i{background:#35d998;box-shadow:0 0 10px rgba(53,217,152,.5)}.application-checks .check-review i{background:#efb446}.application-checks .check-alert i{background:#f13b50}.application-checks span{display:grid;gap:5px}.application-checks b{font:700 12px Inter,sans-serif;color:#f4f7fb}.application-checks small{font:400 11px/1.4 Inter,sans-serif;color:#9ca8b8}.application-admin-note{margin-top:12px;padding:12px;border-left:2px solid #e8a83f;background:rgba(232,168,63,.07);font:400 12px/1.5 Inter,sans-serif}.application-admin-note b{display:block;margin-bottom:3px}.application-card footer{display:grid;grid-template-columns:auto 1fr 1fr;gap:10px;margin-top:18px;padding-top:16px;border-top:1px solid rgba(255,255,255,.1)}.application-card footer form{display:flex;gap:8px}.application-card footer input{min-width:0;flex:1;background:#10141c;border:1px solid rgba(255,255,255,.16);border-radius:8px;color:#fff;padding:10px 12px}.application-card footer button{border-radius:8px;padding:10px 14px;font:700 11px Inter,sans-serif;cursor:pointer;white-space:nowrap}.application-card button.approve{background:#137a57;border:1px solid #34cc91;color:#fff}.application-card button.request{background:#242a35;border:1px solid #e1a33d;color:#f7d89e}.application-card button.reject{background:#28161b;border:1px solid #d9384b;color:#ffb5bd}.application-empty{text-align:center}.account-application-state{text-align:center}.account-application-state>p{color:#c3cad5;line-height:1.65}.application-message{margin:18px 0;padding:15px;border:1px solid rgba(255,45,65,.35);border-radius:10px;background:rgba(255,45,65,.07);color:#f1f3f7;white-space:pre-line}.application-status-dot{display:inline-flex;align-items:center;gap:9px;margin:18px 0;color:#eef2f7;font-weight:600}.application-status-dot i{width:9px;height:9px;border-radius:50%;background:#e6a93f;box-shadow:0 0 13px rgba(230,169,63,.6)}
@media(max-width:1100px){.application-facts{grid-template-columns:repeat(2,1fr)}.application-checks{grid-template-columns:repeat(2,1fr)}.application-card footer{grid-template-columns:1fr}.application-card footer form{width:100%}}@media(max-width:650px){.application-card header{flex-direction:column}.application-date{text-align:left}.application-facts,.application-checks{grid-template-columns:1fr}.application-card footer form{flex-direction:column}}

.bosch-search-help {
    margin: -2px 0 4px;
    color: rgba(255, 255, 255, .66);
    font-size: 12px;
    line-height: 1.35;
}

.bosch-search div {
    display: grid;
    gap: 10px;
    grid-template-columns: minmax(0, 1fr) auto;
}

.bosch-search input {
    background: rgba(5, 6, 8, .78);
    border: 1px solid rgba(255, 255, 255, .14);
    border-radius: 6px;
    box-shadow:
        0 0 0 1px rgba(255, 255, 255, .03) inset,
        0 12px 28px rgba(0, 0, 0, .24);
    color: #fff;
    font-size: 15px;
    min-height: 46px;
    outline: none;
    padding: 0 14px;
}

.bosch-search button {
    background:
        linear-gradient(135deg, #ff1c24, #b90012);
    border: 0;
    border-radius: 6px;
    box-shadow: 0 10px 20px rgba(236, 28, 36, .22);
    color: #fff;
    cursor: pointer;
    font-size: 13px;
    font-weight: 900;
    min-height: 46px;
    padding: 0 18px;
    text-transform: uppercase;
}

.bosch-search input:focus {
    border-color: rgba(236, 28, 36, .42);
    box-shadow:
        0 0 0 3px rgba(236, 28, 36, .12),
        0 0 22px rgba(236, 28, 36, .18);
}

.bosch-hints {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: flex-end;
}

.bosch-hints span,
.bosch-hints a {
    background: rgba(255, 255, 255, .06);
    border: 1px solid rgba(255, 255, 255, .1);
    border-radius: 999px;
    color: rgba(226, 232, 240, .82);
    font-size: 13px;
    font-weight: 800;
    padding: 9px 12px;
    text-decoration: none;
}

.bosch-hints a {
    color: #ff4b55;
}

.bosch-grid {
    background:
        linear-gradient(135deg, rgba(255, 255, 255, .075), rgba(255, 255, 255, .03));
    border: 1px solid rgba(255, 255, 255, .08);
    border-radius: 8px;
    box-shadow: 0 18px 50px rgba(0, 0, 0, .28);
    display: grid;
    gap: 16px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    padding: 30px;
}

.bosch-result-state {
    background:
        linear-gradient(135deg, rgba(255, 255, 255, .075), rgba(255, 255, 255, .035));
    border: 1px solid rgba(255, 255, 255, .1);
    border-radius: 8px;
    box-shadow: 0 18px 50px rgba(0, 0, 0, .26);
    display: grid;
    gap: 8px;
    padding: 28px 30px;
}

.bosch-result-state strong {
    color: #fff;
    font-size: 22px;
    font-weight: 900;
}

.bosch-result-state span {
    color: rgba(226, 232, 240, .72);
    font-size: 15px;
    font-weight: 700;
}

.bosch-result-state.error {
    border-color: rgba(236, 28, 36, .26);
}

.bosch-card {
    background:
        radial-gradient(circle at 100% 0, rgba(236, 28, 36, .13), transparent 30%),
        linear-gradient(145deg, rgba(255, 255, 255, .09), rgba(255, 255, 255, .035));
    border: 1px solid rgba(255, 255, 255, .1);
    border-radius: 8px;
    box-shadow: 0 10px 26px rgba(0, 0, 0, .22);
    overflow: hidden;
    position: relative;
    transition: border-color .16s ease, box-shadow .16s ease, transform .16s ease;
}

.bosch-card::before {
    background:
        linear-gradient(90deg, rgba(236, 28, 36, .9), rgba(255, 255, 255, .9), transparent);
    content: "";
    height: 2px;
    left: 0;
    opacity: .78;
    position: absolute;
    top: 0;
    width: 58%;
}

.bosch-card:hover {
    border-color: rgba(236, 28, 36, .28);
    box-shadow:
        0 0 0 1px rgba(236, 28, 36, .06) inset,
        0 0 18px rgba(236, 28, 36, .12),
        0 12px 26px rgba(0, 0, 0, .26);
    transform: translateY(-1px);
}

.bosch-card[hidden] {
    display: none;
}

.bosch-card-head {
    align-items: center;
    background:
        linear-gradient(135deg, rgba(4, 5, 8, .92), rgba(24, 28, 36, .92));
    color: #fff;
    display: flex;
    justify-content: space-between;
    padding: 15px 18px;
}

.bosch-card-head span {
    color: rgba(255, 255, 255, .68);
    font-size: 12px;
    font-weight: 900;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.bosch-card-head strong {
    color: #fff;
    font-size: 19px;
    font-weight: 900;
    text-align: right;
}

.bosch-card dl {
    display: grid;
    gap: 0;
    margin: 0;
    padding: 10px 18px 18px;
}

.bosch-card dl div {
    border-bottom: 1px solid rgba(255, 255, 255, .08);
    padding: 12px 0;
}

.bosch-card dl div:last-child {
    border-bottom: 0;
}

.bosch-card dt {
    color: #ff1018;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: .08em;
    margin: 0 0 5px;
    text-transform: uppercase;
}

.bosch-card dd {
    color: rgba(241, 245, 249, .88);
    font-size: 14px;
    font-weight: 700;
    line-height: 1.38;
    margin: 0;
}

.bosch-card dd a {
    color: #ff4b55;
    font-weight: 900;
    text-decoration: none;
}

.pricing-column h2 {
    color: #fff;
    font-size: 29px;
    font-weight: 900;
    line-height: 1;
    margin: 4px 0 24px;
    text-align: center;
    text-shadow:
        0 0 18px rgba(255, 255, 255, .1),
        0 0 24px rgba(236, 28, 36, .08);
}

.pricing-list {
    display: grid;
    gap: 8px;
}

.pricing-item {
    display: grid;
    gap: 0;
    position: relative;
}

.pricing-item::before {
    background:
        linear-gradient(90deg, transparent, rgba(236, 28, 36, .92), rgba(255, 255, 255, .96), rgba(236, 28, 36, .92), transparent);
    border-radius: 999px;
    content: "";
    height: 2px;
    left: 14px;
    opacity: 0;
    position: absolute;
    right: 14px;
    top: -1px;
    transform: scaleX(.72);
    transition: opacity .16s ease, transform .16s ease;
    z-index: 7;
}

.pricing-row {
    align-items: center;
    background: #fff;
    border: 1px solid #e8ebee;
    border-radius: 7px;
    box-shadow:
        0 1px 0 rgba(255, 255, 255, .75) inset,
        0 2px 8px rgba(18, 27, 39, .18);
    color: #253143;
    display: grid;
    gap: 14px;
    grid-template-columns: 48px minmax(0, 1fr) auto;
    min-height: 36px;
    padding: 3px 10px;
    position: relative;
    transition: border-color .16s ease, box-shadow .16s ease, transform .16s ease;
    z-index: 2;
}

.pricing-row img {
    display: block;
    height: 28px;
    justify-self: center;
    object-fit: contain;
    width: 42px;
}

.pricing-row-signature img {
    height: 30px;
    width: 62px;
}

.pricing-row span {
    font-size: 14px;
    line-height: 1.2;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.pricing-description {
    background:
        radial-gradient(circle at 18% 0, rgba(236, 28, 36, .08), transparent 34%),
        linear-gradient(135deg, #fff, #fff8f8 58%, #fff);
    border: 1px solid rgba(236, 28, 36, .22);
    border-radius: 0 0 6px 6px;
    box-shadow:
        0 0 0 1px rgba(255, 255, 255, .88) inset,
        0 0 18px rgba(236, 28, 36, .16),
        0 12px 24px rgba(18, 27, 39, .14);
    color: #253143;
    font-size: 14px;
    line-height: 1.45;
    margin: 3px 0 0;
    opacity: 0;
    padding: 24px 12px 26px;
    pointer-events: none;
    position: absolute;
    right: 0;
    top: 100%;
    transform: translateY(-4px);
    transition: opacity .16s ease, transform .16s ease;
    visibility: hidden;
    width: 100%;
    z-index: 5;
}

.pricing-empty-category {
    align-items: center;
    background:
        linear-gradient(135deg, rgba(255, 255, 255, .98), rgba(248, 250, 252, .98));
    border: 1px solid #e8ebee;
    border-radius: 8px;
    box-shadow: 0 2px 18px rgba(18, 27, 39, .05);
    color: #253143;
    display: grid;
    gap: 28px;
    grid-template-columns: minmax(0, 1fr) minmax(260px, .55fr);
    min-height: 320px;
    padding: 48px 56px;
}

.pricing-empty-category span {
    color: #ec1c24;
    font-size: 15px;
    font-weight: 900;
    letter-spacing: .12em;
}

.pricing-empty-category h2 {
    color: #101622;
    font-size: 34px;
    line-height: 1.05;
    margin: 12px 0 12px;
}

.pricing-empty-category p {
    color: #657080;
    font-size: 16px;
    line-height: 1.55;
    margin: 0;
}

.pricing-item:hover .pricing-description,
.pricing-item:focus-within .pricing-description {
    opacity: 1;
    transform: translateY(0);
    visibility: visible;
}

.pricing-item:hover::before,
.pricing-item:focus-within::before {
    opacity: 1;
    transform: scaleX(1);
}

.pricing-item:hover .pricing-row,
.pricing-item:focus-within .pricing-row {
    border-color: rgba(236, 28, 36, .38);
    box-shadow:
        0 1px 0 rgba(255, 255, 255, .88) inset,
        0 0 0 1px rgba(236, 28, 36, .1),
        0 0 16px rgba(236, 28, 36, .18),
        0 10px 22px rgba(18, 27, 39, .16);
    transform: translateY(-1px);
}

.pricing-row strong {
    color: #ff1018;
    font-size: 14px;
    font-weight: 800;
    line-height: 1;
    white-space: nowrap;
}

@media (max-width: 1180px) {
    .dashboard-overview {
        grid-template-columns: 1fr;
    }

    .latest-file-card dl {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .pricing-category-tabs {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .pricing-category-tabs a {
        padding-inline: 16px;
    }

    .pricing-sheet {
        gap: 24px;
        padding: 36px 28px 46px;
    }

    .credit-pack-grid {
        gap: 26px;
        grid-template-columns: repeat(2, 210px);
        justify-content: center;
        padding: 36px 28px 46px;
    }

    .bosch-tool-panel,
    .bosch-grid {
        grid-template-columns: 1fr;
    }

    .bosch-hints {
        justify-content: flex-start;
    }

    .configurator-layout .config-list-items {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .configurator-layout .config-stage:not(.brand-step):not(.result-step),
    .configurator-layout .config-list-flow {
        grid-template-columns: 1fr;
        max-width: 900px;
    }
}

@media (max-width: 780px) {
    .real-chart {
        gap: 8px;
        overflow-x: auto;
        padding-bottom: 8px;
    }

    .real-chart-month {
        min-width: 42px;
    }

    .metric-grid {
        grid-template-columns: 1fr;
    }

    .latest-file-card dl {
        grid-template-columns: 1fr;
    }

    .configurator-layout {
        display: grid;
    }

    .configurator-layout .sidebar {
        height: auto;
        position: relative;
        width: 100%;
    }

    .configurator-layout .sidebar:hover,
    .configurator-layout .sidebar:focus-within {
        width: 100%;
    }

    .configurator-layout .quickbar,
    .configurator-layout .sidebar:hover .quickbar,
    .configurator-layout .sidebar:focus-within .quickbar {
        grid-template-columns: repeat(3, 1fr);
    }

    .configurator-layout .portal-main {
        margin-left: 0;
        width: 100%;
    }

    .configurator-layout .brand-logo-wall,
    .configurator-layout .config-list-items {
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 780px) {
    .auth-page {
        gap: 24px;
        min-height: 100svh;
    }

    .auth-panel {
        padding: 28px 22px;
    }

    .form-grid,
    .account-switch {
        grid-template-columns: 1fr;
    }

    .darklab-brand {
        width: min(560px, 90vw);
    }

    .darklab-brand img {
        max-height: 105px;
    }

    .logo-frame {
        padding: 8px 18px 6px;
    }
    .dashboard-head,
    .topbar,
    .upload-band,
    .upload-card,
    .upload-form {
        align-items: stretch;
        grid-template-columns: 1fr;
        flex-direction: column;
    }

    .pricing-main {
        padding: 28px 18px;
    }

    .pricing-main::before {
        left: 18px;
        right: 18px;
        top: 18px;
    }

    .credits-main {
        padding: 28px 18px;
    }

    .credits-main::before {
        left: 18px;
        right: 18px;
        top: 18px;
    }

    .bosch-main {
        padding: 28px 18px;
    }

    .pricing-head {
        align-items: stretch;
        flex-direction: column;
    }

    .credits-head {
        align-items: stretch;
        flex-direction: column;
    }

    .bosch-head {
        align-items: stretch;
        flex-direction: column;
    }

    .pricing-head h1 {
        font-size: 36px;
    }

    .pricing-head h1 strong {
        font-size: 13px;
    }

    .pricing-category-tabs {
        grid-template-columns: 1fr;
    }

    .pricing-empty-category {
        grid-template-columns: 1fr;
        min-height: auto;
        padding: 28px 18px;
    }

    .pricing-sheet {
        grid-template-columns: 1fr;
        min-height: auto;
        padding: 28px 16px;
    }

    .credit-pack-grid {
        grid-template-columns: minmax(0, 210px);
        justify-content: center;
        padding: 24px 16px;
    }

    .credit-pack-card {
        min-height: 342px;
    }

    .bosch-tool-panel,
    .bosch-grid {
        padding: 20px 16px;
    }

    .pricing-column h2 {
        font-size: 25px;
    }

    .pricing-row {
        gap: 10px;
        grid-template-columns: 42px minmax(0, 1fr) auto;
    }

    .pricing-row span,
    .pricing-row strong {
        font-size: 13px;
    }

    .stats,
    .metric-grid {
        grid-template-columns: 1fr;
    }

    .reader-panel {
        padding: 30px 20px;
    }

    .tool-grid {
        grid-template-columns: 1fr 1fr;
        gap: 24px;
    }

    .account-tabs {
        grid-template-columns: 1fr 1fr;
    }

    .account-panel {
        padding: 24px 18px;
    }

    .account-two,
    .account-tool-list {
        grid-template-columns: 1fr;
    }

    .reading-tool-title {
        align-items: flex-start;
        flex-direction: column;
    }

    .reading-tool-title small {
        text-align: left;
    }

    .file-step {
        grid-template-columns: 1fr;
    }

    .chart-area {
        grid-template-rows: 260px auto;
    }

    .months {
        font-size: 11px;
        overflow-x: auto;
    }

    .table-wrap {
        overflow-x: auto;
    }
}

/* Configurateur cockpit final override */
.configurator-layout .configurator-panel {
    max-width: 1560px !important;
}

.configurator-layout .vehicle-type-tabs {
    align-items: stretch !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    display: grid !important;
    gap: 18px !important;
    grid-template-columns: repeat(7, minmax(145px, 1fr)) !important;
    margin: 22px auto 34px !important;
    max-width: 1720px !important;
    overflow: visible !important;
    padding: 0 !important;
}

.configurator-layout .vehicle-type-tabs button {
    align-items: center !important;
    background:
        radial-gradient(circle at 50% 42%, rgba(126, 170, 225, .14), transparent 34%),
        linear-gradient(180deg, rgba(255, 255, 255, .055), rgba(255, 255, 255, .018)),
        linear-gradient(145deg, rgba(7, 12, 20, .92), rgba(4, 6, 11, .76)) !important;
    border: 1px solid rgba(184, 198, 218, .24) !important;
    border-radius: 0 !important;
    box-shadow:
        inset 0 0 0 1px rgba(255, 255, 255, .035),
        inset 0 -44px 74px rgba(0, 0, 0, .26),
        0 18px 42px rgba(0, 0, 0, .3) !important;
    clip-path: polygon(12px 0, calc(100% - 12px) 0, 100% 12px, 100% calc(100% - 22px), calc(100% - 22px) 100%, 20px 100%, 0 calc(100% - 12px), 0 12px) !important;
    color: rgba(232, 238, 248, .86) !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
    justify-content: flex-end !important;
    min-height: 214px !important;
    min-width: 0 !important;
    padding: 26px 13px 25px !important;
    position: relative !important;
    text-align: center !important;
    text-shadow: none !important;
    text-transform: none !important;
    transform: none;
}

.configurator-layout .vehicle-type-tabs button::before {
    background:
        linear-gradient(135deg, rgba(255, 255, 255, .12), transparent 24%),
        linear-gradient(315deg, rgba(255, 255, 255, .06), transparent 28%),
        radial-gradient(circle at 50% 45%, rgba(167, 201, 255, .12), transparent 36%) !important;
    border: 1px solid rgba(210, 224, 246, .18) !important;
    box-shadow: inset 0 0 46px rgba(255, 255, 255, .035) !important;
    clip-path: inherit !important;
    content: "" !important;
    inset: 0 !important;
    opacity: .9 !important;
    position: absolute !important;
    transform: none !important;
    z-index: -1 !important;
}

.configurator-layout .vehicle-type-tabs button::after {
    background: linear-gradient(90deg, transparent, rgba(205, 219, 238, .58), transparent) !important;
    bottom: 17px !important;
    content: "" !important;
    height: 3px !important;
    left: 36% !important;
    opacity: .58 !important;
    position: absolute !important;
    transform: none !important;
    width: 28% !important;
}

.configurator-layout .vehicle-type-tabs button.active,
.configurator-layout .vehicle-type-tabs button:hover {
    background:
        radial-gradient(circle at 50% 36%, rgba(236, 28, 36, .22), transparent 38%),
        linear-gradient(180deg, rgba(255, 255, 255, .075), rgba(236, 28, 36, .055)),
        linear-gradient(145deg, rgba(10, 14, 22, .96), rgba(4, 6, 11, .82)) !important;
    border-color: rgba(255, 38, 52, .86) !important;
    box-shadow:
        0 0 0 1px rgba(255, 38, 52, .32),
        0 0 42px rgba(236, 28, 36, .26),
        0 24px 58px rgba(0, 0, 0, .42),
        inset 0 0 58px rgba(236, 28, 36, .1) !important;
    color: #fff !important;
    transform: translateY(-4px) !important;
}

.configurator-layout .vehicle-type-tabs button.active::before,
.configurator-layout .vehicle-type-tabs button:hover::before {
    border-color: rgba(255, 50, 64, .62) !important;
    box-shadow:
        inset 0 0 56px rgba(236, 28, 36, .1),
        0 0 36px rgba(236, 28, 36, .22) !important;
    opacity: 1 !important;
}

.configurator-layout .vehicle-type-tabs button.active::after,
.configurator-layout .vehicle-type-tabs button:hover::after {
    background: linear-gradient(90deg, transparent, #ff2633, #fff, #ff2633, transparent) !important;
    box-shadow: 0 0 20px rgba(236, 28, 36, .78) !important;
    left: 27% !important;
    opacity: 1 !important;
    width: 46% !important;
}

.configurator-layout .vehicle-type-tabs button > span {
    background: rgba(239, 245, 255, .88) !important;
    border: 1px solid rgba(230, 239, 255, .34) !important;
    box-shadow:
        0 0 0 1px rgba(255, 255, 255, .06),
        0 0 28px rgba(132, 169, 220, .12) !important;
    flex: 0 0 auto !important;
    height: 48px !important;
    margin: 0 0 auto !important;
    -webkit-mask-position: center !important;
    mask-position: center !important;
    -webkit-mask-repeat: no-repeat !important;
    mask-repeat: no-repeat !important;
    -webkit-mask-size: 31px auto !important;
    mask-size: 31px auto !important;
    width: 56px !important;
}

.configurator-layout .vehicle-type-tabs button.active > span,
.configurator-layout .vehicle-type-tabs button:hover > span {
    background: #fff !important;
    filter:
        drop-shadow(0 0 4px rgba(255, 54, 68, .82))
        drop-shadow(0 0 18px rgba(236, 28, 36, .55)) !important;
    transform: translateY(-2px) scale(1.06) !important;
}

.configurator-layout .vehicle-type-tabs button strong {
    color: currentColor !important;
    display: block !important;
    font-size: clamp(16px, 1.08vw, 23px) !important;
    font-weight: 900 !important;
    letter-spacing: .09em !important;
    line-height: 1.05 !important;
    text-transform: uppercase !important;
    white-space: normal !important;
}

.configurator-layout .vehicle-type-tabs button small {
    color: rgba(232, 238, 248, .66) !important;
    display: block !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    letter-spacing: .055em !important;
    line-height: 1.22 !important;
    min-height: 27px !important;
    text-transform: uppercase !important;
    white-space: normal !important;
}

.configurator-layout .vehicle-type-tabs button.active small,
.configurator-layout .vehicle-type-tabs button:hover small {
    color: rgba(255, 255, 255, .84) !important;
}

@media (max-width: 1320px) {
    .configurator-layout .vehicle-type-tabs {
        grid-template-columns: repeat(7, minmax(155px, 1fr)) !important;
        overflow-x: auto !important;
        padding-bottom: 12px !important;
    }
}

@media (max-width: 760px) {
    .configurator-layout .vehicle-type-tabs {
        gap: 12px !important;
        grid-template-columns: repeat(7, minmax(132px, 1fr)) !important;
    }

    .configurator-layout .vehicle-type-tabs button {
        min-height: 172px !important;
        padding: 18px 10px 22px !important;
    }

    .configurator-layout .vehicle-type-tabs button strong {
        font-size: 15px !important;
    }
}

/* Configurateur - reprise fidele de la maquette cockpit envoyee */
.configurator-layout {
    background:
        linear-gradient(90deg, rgba(4, 6, 10, .96) 0%, rgba(10, 6, 9, .8) 48%, rgba(34, 2, 7, .9) 100%),
        #030509 !important;
}

.configurator-layout .configurator-main {
    background:
        linear-gradient(180deg, rgba(3, 5, 9, .58), rgba(3, 5, 9, .2) 34%, rgba(3, 5, 9, .72)),
        linear-gradient(90deg, rgba(0, 0, 0, .2), rgba(55, 0, 8, .32)),
        url("/static/images/configurator-cockpit-reference.png") center 38px / cover no-repeat !important;
    min-height: 100vh !important;
    overflow: hidden visible !important;
    padding: 74px clamp(18px, 4vw, 72px) 74px !important;
    position: relative !important;
}

.configurator-layout .configurator-main::before {
    background:
        linear-gradient(90deg, rgba(255, 38, 52, .48), transparent 22%, transparent 78%, rgba(255, 38, 52, .42)),
        linear-gradient(180deg, rgba(255, 38, 52, .38), transparent 13%, transparent 87%, rgba(255, 38, 52, .34));
    clip-path: polygon(12px 0, calc(100% - 12px) 0, 100% 16px, 100% calc(100% - 16px), calc(100% - 12px) 100%, 12px 100%, 0 calc(100% - 16px), 0 16px);
    content: "";
    inset: 26px 10px 34px;
    opacity: .42;
    pointer-events: none;
    position: absolute;
    z-index: 0;
}

.configurator-layout .configurator-main::after {
    background:
        repeating-linear-gradient(90deg, rgba(255, 255, 255, .035) 0 1px, transparent 1px 86px),
        repeating-linear-gradient(0deg, rgba(255, 255, 255, .02) 0 1px, transparent 1px 68px);
    content: "";
    inset: 0;
    opacity: .28;
    pointer-events: none;
    position: absolute;
    z-index: 0;
}

.configurator-layout .configurator-hero,
.configurator-layout .configurator-panel {
    position: relative !important;
    z-index: 1 !important;
}

.configurator-layout .configurator-hero {
    margin: 0 auto 22px !important;
    max-width: 1500px !important;
    padding: 0 !important;
    text-align: center !important;
}

.configurator-layout .configurator-hero h1 {
    color: rgba(255, 255, 255, .97) !important;
    font-size: clamp(44px, 4.1vw, 72px) !important;
    font-weight: 900 !important;
    letter-spacing: 0 !important;
    line-height: 1 !important;
    margin: 0 0 24px !important;
    text-shadow: 0 8px 34px rgba(0, 0, 0, .62) !important;
}

.configurator-layout .configurator-hero h2 {
    color: #ff2331 !important;
    font-size: clamp(24px, 2vw, 34px) !important;
    font-weight: 900 !important;
    margin: 0 !important;
    text-shadow: 0 0 28px rgba(236, 28, 36, .42) !important;
}

.configurator-layout .configurator-panel {
    background:
        linear-gradient(90deg, rgba(2, 8, 16, .52), rgba(74, 17, 22, .38)),
        rgba(7, 9, 15, .34) !important;
    border: 1px solid rgba(255, 255, 255, .13) !important;
    border-radius: 8px !important;
    box-shadow:
        0 30px 90px rgba(0, 0, 0, .42),
        0 0 0 1px rgba(255, 255, 255, .035) inset,
        0 0 48px rgba(236, 28, 36, .12) inset !important;
    max-width: 1580px !important;
    min-height: 620px !important;
    overflow: visible !important;
    padding: 42px 48px 58px !important;
}

.configurator-layout .configurator-panel::before {
    background:
        linear-gradient(90deg, transparent, rgba(255, 38, 52, .9), rgba(255, 255, 255, .5), transparent) !important;
    height: 2px !important;
    left: 34px !important;
    opacity: .78 !important;
    right: 34px !important;
    top: 14px !important;
}

.configurator-layout .config-steps {
    align-items: center !important;
    display: flex !important;
    gap: 28px !important;
    justify-content: center !important;
    margin: -4px auto 94px !important;
    width: fit-content !important;
}

.configurator-layout .config-steps button {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    color: rgba(255, 255, 255, .86) !important;
    font-size: 18px !important;
    font-weight: 800 !important;
    letter-spacing: .12em !important;
    padding: 0 0 17px !important;
    position: relative !important;
    text-transform: uppercase !important;
}

.configurator-layout .config-steps button::after {
    background: linear-gradient(90deg, transparent, #ff2432, transparent) !important;
    bottom: 0 !important;
    content: "" !important;
    height: 3px !important;
    left: 50% !important;
    opacity: 0 !important;
    position: absolute !important;
    transform: translateX(-50%) !important;
    width: 84px !important;
}

.configurator-layout .config-steps button.active {
    color: #fff !important;
}

.configurator-layout .config-steps button.active::after {
    opacity: 1 !important;
    box-shadow: 0 0 18px rgba(255, 38, 52, .82) !important;
}

.configurator-layout .config-steps span {
    border: 0 !important;
    color: rgba(255, 255, 255, .82) !important;
    height: auto !important;
    width: auto !important;
}

.configurator-layout .config-steps span::before {
    content: ">" !important;
    font-size: 28px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
}

.configurator-layout .vehicle-type-tabs {
    align-items: stretch !important;
    background: transparent !important;
    display: grid !important;
    gap: 28px !important;
    grid-template-columns: repeat(7, minmax(154px, 1fr)) !important;
    margin: 0 auto 70px !important;
    max-width: 1480px !important;
    overflow: visible !important;
    padding: 0 !important;
}

.configurator-layout .vehicle-type-tabs button {
    background:
        linear-gradient(180deg, rgba(8, 13, 22, .28), rgba(2, 4, 8, .66)),
        radial-gradient(circle at 50% 38%, rgba(96, 135, 180, .16), transparent 36%) !important;
    border: 1px solid rgba(196, 211, 230, .3) !important;
    box-shadow:
        0 0 0 1px rgba(255, 255, 255, .04) inset,
        0 20px 48px rgba(0, 0, 0, .42) !important;
    clip-path: polygon(15px 0, calc(100% - 15px) 0, 100% 16px, 100% calc(100% - 28px), calc(100% - 30px) 100%, 18px 100%, 0 calc(100% - 16px), 0 16px) !important;
    color: rgba(230, 237, 249, .84) !important;
    min-height: 292px !important;
    padding: 24px 18px 28px !important;
}

.configurator-layout .vehicle-type-tabs button::before {
    background:
        linear-gradient(135deg, rgba(255, 255, 255, .16), transparent 18%),
        linear-gradient(315deg, rgba(255, 255, 255, .08), transparent 20%),
        linear-gradient(180deg, transparent 0 72%, rgba(0, 0, 0, .32) 100%) !important;
    border-color: rgba(205, 219, 238, .2) !important;
    box-shadow: none !important;
}

.configurator-layout .vehicle-type-tabs button::after {
    background: rgba(218, 227, 241, .62) !important;
    bottom: 22px !important;
    height: 4px !important;
    left: 38% !important;
    width: 24% !important;
}

.configurator-layout .vehicle-type-tabs .type-visual {
    background:
        radial-gradient(ellipse at 50% 78%, rgba(25, 31, 42, .9) 0 18%, transparent 19%),
        linear-gradient(145deg, transparent 0 20%, rgba(18, 29, 45, .95) 21% 62%, transparent 63%),
        radial-gradient(ellipse at 50% 56%, rgba(60, 93, 130, .42), transparent 55%);
    display: block;
    flex: 1 1 auto;
    margin: 4px 0 14px;
    min-height: 112px;
    opacity: .76;
    position: relative;
    width: 100%;
}

.configurator-layout .vehicle-type-tabs .type-visual::before {
    background: linear-gradient(90deg, transparent, rgba(120, 170, 230, .48), transparent);
    content: "";
    height: 2px;
    left: 8%;
    opacity: .48;
    position: absolute;
    right: 8%;
    top: 56%;
}

.configurator-layout .vehicle-type-tabs button[data-type="truck"] .type-visual {
    background:
        linear-gradient(90deg, transparent 0 10%, rgba(16, 26, 40, .95) 11% 78%, transparent 79%),
        radial-gradient(ellipse at 56% 62%, rgba(80, 120, 160, .36), transparent 58%);
}

.configurator-layout .vehicle-type-tabs button[data-type="moto"] .type-visual,
.configurator-layout .vehicle-type-tabs button[data-type="quad"] .type-visual,
.configurator-layout .vehicle-type-tabs button[data-type="jetski"] .type-visual {
    background:
        radial-gradient(ellipse at 28% 78%, rgba(8, 12, 20, .95) 0 13%, transparent 14%),
        radial-gradient(ellipse at 72% 78%, rgba(8, 12, 20, .95) 0 13%, transparent 14%),
        linear-gradient(145deg, transparent 0 26%, rgba(16, 27, 42, .92) 27% 58%, transparent 59%),
        radial-gradient(ellipse at 50% 58%, rgba(70, 110, 150, .34), transparent 54%);
}

.configurator-layout .vehicle-type-tabs button[data-type="agricultural"] .type-visual {
    background:
        radial-gradient(ellipse at 24% 78%, rgba(8, 12, 20, .95) 0 18%, transparent 19%),
        radial-gradient(ellipse at 72% 78%, rgba(8, 12, 20, .95) 0 12%, transparent 13%),
        linear-gradient(140deg, transparent 0 18%, rgba(18, 30, 44, .94) 19% 66%, transparent 67%),
        radial-gradient(ellipse at 52% 55%, rgba(70, 110, 150, .34), transparent 58%);
}

.configurator-layout .vehicle-type-tabs button[data-type="boat"] .type-visual {
    background:
        linear-gradient(168deg, transparent 0 36%, rgba(18, 29, 42, .95) 37% 56%, transparent 57%),
        radial-gradient(ellipse at 54% 65%, rgba(75, 110, 148, .36), transparent 58%);
}

.configurator-layout .vehicle-type-tabs button > span {
    background: rgba(255, 255, 255, .82) !important;
    border: 1px solid rgba(255, 255, 255, .22) !important;
    height: 54px !important;
    margin: 0 auto 2px !important;
    -webkit-mask-size: 30px auto !important;
    mask-size: 30px auto !important;
    width: 62px !important;
}

.configurator-layout .vehicle-type-tabs button strong {
    color: rgba(230, 237, 249, .86) !important;
    font-size: clamp(19px, 1.35vw, 28px) !important;
    letter-spacing: .13em !important;
    margin-top: auto !important;
}

.configurator-layout .vehicle-type-tabs button small {
    color: rgba(255, 255, 255, .78) !important;
    font-size: 12px !important;
    letter-spacing: .08em !important;
    min-height: 18px !important;
}

.configurator-layout .vehicle-type-tabs button.active,
.configurator-layout .vehicle-type-tabs button:hover {
    background:
        radial-gradient(circle at 50% 38%, rgba(255, 38, 52, .24), transparent 38%),
        linear-gradient(180deg, rgba(70, 8, 14, .2), rgba(6, 5, 9, .78)) !important;
    border-color: rgba(255, 39, 52, .94) !important;
    box-shadow:
        0 0 0 1px rgba(255, 38, 52, .38),
        0 0 44px rgba(255, 38, 52, .32),
        0 22px 58px rgba(0, 0, 0, .52),
        inset 0 0 70px rgba(255, 38, 52, .12) !important;
    color: #fff !important;
    transform: translateY(-8px) !important;
}

.configurator-layout .vehicle-type-tabs button.active > span,
.configurator-layout .vehicle-type-tabs button:hover > span {
    background: #fff !important;
    filter: drop-shadow(0 0 8px rgba(255, 38, 52, .9)) drop-shadow(0 0 24px rgba(255, 38, 52, .6)) !important;
}

.configurator-layout .vehicle-type-tabs button.active .type-visual,
.configurator-layout .vehicle-type-tabs button:hover .type-visual {
    opacity: 1;
    filter: drop-shadow(0 0 22px rgba(255, 38, 52, .28));
}

.configurator-layout .vehicle-type-tabs button.active::after,
.configurator-layout .vehicle-type-tabs button:hover::after {
    background: linear-gradient(90deg, transparent, #ff2331, #fff, #ff2331, transparent) !important;
    bottom: 22px !important;
    box-shadow: 0 0 22px rgba(255, 38, 52, .9) !important;
    left: 28% !important;
    width: 44% !important;
}

.configurator-layout .config-back {
    align-items: center !important;
    background:
        linear-gradient(135deg, rgba(255, 38, 52, .18), rgba(255, 255, 255, .045)),
        rgba(3, 5, 10, .68) !important;
    border: 1px solid rgba(255, 255, 255, .28) !important;
    border-radius: 0 !important;
    box-shadow:
        0 0 0 1px rgba(255, 38, 52, .16) inset,
        0 0 26px rgba(255, 38, 52, .18) !important;
    clip-path: polygon(28px 0, 100% 0, calc(100% - 28px) 100%, 0 100%) !important;
    color: rgba(255, 255, 255, .92) !important;
    display: inline-flex !important;
    font-size: 24px !important;
    font-weight: 900 !important;
    gap: 18px !important;
    letter-spacing: .22em !important;
    margin-top: -36px !important;
    min-width: 270px !important;
    padding: 18px 40px !important;
    text-transform: uppercase !important;
}

.configurator-layout .config-back::before {
    color: #ff2331 !important;
    content: "<" !important;
    font-size: 34px !important;
    line-height: 1 !important;
    transform: none !important;
}

.configurator-layout .config-back:hover {
    background:
        linear-gradient(135deg, rgba(255, 38, 52, .34), rgba(255, 255, 255, .07)),
        rgba(3, 5, 10, .78) !important;
}

.configurator-layout .config-stage.brand-step {
    margin-top: 0 !important;
}

@media (max-width: 1440px) {
    .configurator-layout .vehicle-type-tabs {
        gap: 18px !important;
        grid-template-columns: repeat(7, minmax(132px, 1fr)) !important;
    }

    .configurator-layout .vehicle-type-tabs button {
        min-height: 250px !important;
    }
}

@media (max-width: 980px) {
    .configurator-layout .configurator-main {
        padding: 44px 18px 54px !important;
    }

    .configurator-layout .configurator-panel {
        padding: 30px 18px 42px !important;
    }

    .configurator-layout .config-steps {
        gap: 16px !important;
        margin-bottom: 38px !important;
    }

    .configurator-layout .config-steps button {
        font-size: 13px !important;
    }

    .configurator-layout .vehicle-type-tabs {
        grid-template-columns: repeat(7, minmax(152px, 1fr)) !important;
        overflow-x: auto !important;
        padding: 4px 4px 14px !important;
    }

    .configurator-layout .vehicle-type-tabs button {
        min-height: 220px !important;
    }
}

/* Configurateur: correction icones/vehicules non deformes */
.configurator-layout .configurator-main {
    background:
        linear-gradient(180deg, rgba(0, 0, 0, .24), rgba(0, 0, 0, .08) 38%, rgba(0, 0, 0, .34)),
        url("/static/images/configurator-cockpit-reference.png") center top / cover no-repeat,
        #020305 !important;
}

.configurator-layout .configurator-panel {
    background: rgba(6, 7, 12, .08) !important;
    border-color: rgba(255, 255, 255, .08) !important;
    box-shadow: none !important;
}

.configurator-layout .vehicle-type-tabs button {
    background: transparent !important;
    border-color: rgba(210, 222, 240, .18) !important;
    box-shadow: none !important;
    min-height: 382px !important;
    padding: 48px 18px 42px !important;
}

.configurator-layout .vehicle-type-tabs button::before {
    background:
        linear-gradient(135deg, rgba(255, 255, 255, .05), transparent 18%),
        linear-gradient(180deg, rgba(0, 0, 0, .08), rgba(0, 0, 0, .22)) !important;
    border-color: rgba(215, 225, 242, .18) !important;
}

.configurator-layout .vehicle-type-tabs .type-visual,
.configurator-layout .vehicle-type-tabs .type-visual::before {
    background: transparent !important;
    filter: none !important;
    min-height: 172px !important;
    opacity: 0 !important;
}

.configurator-layout .vehicle-type-tabs button > span {
    background: #fff !important;
    border: 1px solid rgba(255, 255, 255, .34) !important;
    box-shadow:
        0 0 0 1px rgba(255, 255, 255, .09),
        0 0 20px rgba(255, 255, 255, .12) !important;
    clip-path: polygon(50% 0, 92% 25%, 92% 75%, 50% 100%, 8% 75%, 8% 25%) !important;
    height: 62px !important;
    margin: 0 auto 24px !important;
    -webkit-mask-size: 28px auto !important;
    mask-size: 28px auto !important;
    width: 72px !important;
}

.configurator-layout .vehicle-type-tabs button.active,
.configurator-layout .vehicle-type-tabs button:hover {
    background:
        radial-gradient(circle at 50% 24%, rgba(255, 36, 49, .16), transparent 34%),
        linear-gradient(180deg, rgba(100, 12, 18, .08), rgba(16, 3, 6, .18)) !important;
}

.configurator-layout .vehicle-type-tabs button.active > span,
.configurator-layout .vehicle-type-tabs button:hover > span {
    background: #fff !important;
    filter:
        drop-shadow(0 0 7px rgba(255, 38, 52, .95))
        drop-shadow(0 0 22px rgba(255, 38, 52, .62)) !important;
}

.configurator-layout .vehicle-type-tabs button strong {
    color: rgba(255, 255, 255, .94) !important;
    margin-top: auto !important;
}

.configurator-layout .vehicle-type-tabs button.active strong,
.configurator-layout .vehicle-type-tabs button:hover strong {
    color: #ff2735 !important;
    text-shadow: 0 0 18px rgba(255, 38, 52, .42) !important;
}

@media (max-width: 1440px) {
    .configurator-layout .vehicle-type-tabs button {
        min-height: 330px !important;
    }

    .configurator-layout .vehicle-type-tabs .type-visual,
    .configurator-layout .vehicle-type-tabs .type-visual::before {
        min-height: 128px !important;
    }
}

/* Configurateur: cartes fournies par DarkLab, sans modifier la logique */
.configurator-layout .configurator-main {
    --config-ref-strip: 94.36%;
    --config-ref-strip-max: 1789px;
    --config-ref-gap: 12px;
    --config-card-ratio: 247 / 449;
    background:
        radial-gradient(circle at 18% 28%, rgba(26, 64, 112, .22), transparent 34%),
        radial-gradient(circle at 82% 34%, rgba(128, 14, 24, .34), transparent 36%),
        linear-gradient(180deg, rgba(3, 5, 10, .98), rgba(2, 3, 7, .96) 42%, rgba(4, 6, 10, .98)),
        #020305 !important;
}

.configurator-layout .configurator-panel {
    background: transparent !important;
    border-color: transparent !important;
    box-shadow: none !important;
    overflow: visible !important;
}

.configurator-layout .config-stage.brand-step {
    align-items: center !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
    margin: 0 auto !important;
    max-width: none !important;
    padding: 58px 0 48px !important;
    width: 100% !important;
}

.configurator-layout .config-steps {
    align-items: center !important;
    display: flex !important;
    gap: 52px !important;
    justify-content: safe center !important;
    margin: 0 auto 42px !important;
    max-width: none !important;
    padding: 0 !important;
    width: 100% !important;
}

.configurator-layout .config-steps button {
    background: transparent !important;
    border: 0 !important;
    color: rgba(224, 232, 242, .38) !important;
    flex: 0 0 auto !important;
    font-family: "Michroma", "Inter", sans-serif !important;
    font-size: 21px !important;
    font-weight: 300 !important;
    letter-spacing: .15em !important;
    line-height: 1 !important;
    padding: 0 0 14px !important;
    position: relative !important;
    text-transform: uppercase !important;
}

.configurator-layout .config-steps button.active {
    color: rgba(255, 255, 255, .96) !important;
    font-weight: 400 !important;
    text-shadow:
        0 0 12px rgba(255, 255, 255, .18),
        0 0 18px rgba(255, 38, 52, .22) !important;
}

.configurator-layout .config-steps button.active::after {
    background: linear-gradient(90deg, transparent, rgba(255, 38, 52, .72) 22%, rgba(255, 120, 128, .86) 52%, rgba(255, 38, 52, .72) 78%, transparent) !important;
    bottom: 0 !important;
    box-shadow: 0 0 14px rgba(255, 38, 52, .50) !important;
    content: "" !important;
    height: 2px !important;
    left: 50% !important;
    position: absolute !important;
    transform: translateX(-50%) !important;
    width: 112px !important;
}

.configurator-layout .config-steps span {
    color: rgba(224, 232, 242, .62) !important;
    font-size: 22px !important;
    line-height: 1 !important;
    margin: 0 !important;
}

.configurator-layout .config-prompt {
    color: rgba(255, 255, 255, .94) !important;
    font-family: "Michroma", "Inter", sans-serif !important;
    font-size: 22px !important;
    font-weight: 500 !important;
    letter-spacing: .08em !important;
    margin: 0 auto 26px !important;
    text-align: center !important;
    text-transform: uppercase !important;
    width: 100% !important;
}

.configurator-layout .vehicle-type-tabs {
    align-items: center !important;
    display: flex !important;
    gap: var(--config-ref-gap) !important;
    justify-content: center !important;
    margin: 0 auto !important;
    max-width: var(--config-ref-strip-max) !important;
    min-height: clamp(320px, 45vw, 449px) !important;
    overflow-x: hidden !important;
    overflow-y: hidden !important;
    padding: 0 !important;
    scrollbar-width: none !important;
    width: var(--config-ref-strip) !important;
}

.configurator-layout .vehicle-type-tabs::-webkit-scrollbar {
    display: none !important;
}

.configurator-layout .vehicle-type-tabs button,
.configurator-layout .vehicle-type-tabs button.active,
.configurator-layout .vehicle-type-tabs button:hover,
.configurator-layout .vehicle-type-tabs button:focus,
.configurator-layout .vehicle-type-tabs button:focus-visible {
    aspect-ratio: auto !important;
    background-color: transparent !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
    background-size: cover !important;
    border: 0 !important;
    box-shadow: none !important;
    flex: 0 1 calc((100% - 72px) / 7) !important;
    height: auto !important;
    image-rendering: auto !important;
    max-height: 449px !important;
    max-width: calc((100% - 72px) / 7) !important;
    min-height: 0 !important;
    min-width: 0 !important;
    overflow: hidden !important;
    padding: 0 !important;
    transition: filter .24s ease, opacity .24s ease, text-shadow .24s ease !important;
    backface-visibility: hidden !important;
    transform: translateZ(0) !important;
    width: calc((100% - 72px) / 7) !important;
    aspect-ratio: var(--config-card-ratio) !important;
}

.configurator-layout .vehicle-type-tabs button[data-type="car"],
.configurator-layout .vehicle-type-tabs button[data-type="car"].active,
.configurator-layout .vehicle-type-tabs button[data-type="car"]:hover,
.configurator-layout .vehicle-type-tabs button[data-type="car"]:focus {
    background-image: url("/static/images/config-icons/config-card-car.png?v=3") !important;
}

.configurator-layout .vehicle-type-tabs button[data-type="truck"],
.configurator-layout .vehicle-type-tabs button[data-type="truck"].active,
.configurator-layout .vehicle-type-tabs button[data-type="truck"]:hover,
.configurator-layout .vehicle-type-tabs button[data-type="truck"]:focus {
    background-image: url("/static/images/config-icons/config-card-truck.png?v=3") !important;
}

.configurator-layout .vehicle-type-tabs button[data-type="moto"],
.configurator-layout .vehicle-type-tabs button[data-type="moto"].active,
.configurator-layout .vehicle-type-tabs button[data-type="moto"]:hover,
.configurator-layout .vehicle-type-tabs button[data-type="moto"]:focus {
    background-image: url("/static/images/config-icons/config-card-moto.png?v=3") !important;
}

.configurator-layout .vehicle-type-tabs button[data-type="quad"],
.configurator-layout .vehicle-type-tabs button[data-type="quad"].active,
.configurator-layout .vehicle-type-tabs button[data-type="quad"]:hover,
.configurator-layout .vehicle-type-tabs button[data-type="quad"]:focus {
    background-image: url("/static/images/config-icons/config-card-quad.png?v=3") !important;
}

.configurator-layout .vehicle-type-tabs button[data-type="agricultural"],
.configurator-layout .vehicle-type-tabs button[data-type="agricultural"].active,
.configurator-layout .vehicle-type-tabs button[data-type="agricultural"]:hover,
.configurator-layout .vehicle-type-tabs button[data-type="agricultural"]:focus {
    background-image: url("/static/images/config-icons/config-card-agri.png?v=3") !important;
}

.configurator-layout .vehicle-type-tabs button[data-type="boat"],
.configurator-layout .vehicle-type-tabs button[data-type="boat"].active,
.configurator-layout .vehicle-type-tabs button[data-type="boat"]:hover,
.configurator-layout .vehicle-type-tabs button[data-type="boat"]:focus {
    background-image: url("/static/images/config-icons/config-card-boat.png?v=3") !important;
}

.configurator-layout .vehicle-type-tabs button[data-type="jetski"],
.configurator-layout .vehicle-type-tabs button[data-type="jetski"].active,
.configurator-layout .vehicle-type-tabs button[data-type="jetski"]:hover,
.configurator-layout .vehicle-type-tabs button[data-type="jetski"]:focus {
    background-image: url("/static/images/config-icons/config-card-jetski.png?v=3") !important;
}

.configurator-layout .vehicle-type-tabs button::before,
.configurator-layout .vehicle-type-tabs button::after,
.configurator-layout .vehicle-type-tabs button > span,
.configurator-layout .vehicle-type-tabs button .type-visual,
.configurator-layout .vehicle-type-tabs button strong,
.configurator-layout .vehicle-type-tabs button small {
    opacity: 0 !important;
    pointer-events: none !important;
}

.configurator-layout .vehicle-type-tabs button.active,
.configurator-layout .vehicle-type-tabs button:hover {
    background-position: center !important;
    background-repeat: no-repeat !important;
    background-size: cover !important;
    background-color: transparent !important;
    filter: drop-shadow(0 0 14px rgba(255, 38, 52, .22)) drop-shadow(0 0 26px rgba(255, 38, 52, .12)) !important;
    transform: translateZ(0) !important;
}

.configurator-layout .vehicle-type-tabs button:not(.active):hover {
    background-position: center !important;
    background-repeat: no-repeat !important;
    background-size: cover !important;
    filter: grayscale(.18) saturate(.92) brightness(.88) contrast(1.04) drop-shadow(0 0 14px rgba(255, 38, 52, .30)) drop-shadow(0 0 28px rgba(255, 38, 52, .16)) !important;
    transform: translateZ(0) !important;
}

.configurator-layout .vehicle-type-tabs button .card-footer,
.configurator-layout .vehicle-type-tabs button.active .card-footer,
.configurator-layout .vehicle-type-tabs button:hover .card-footer {
    align-items: center !important;
    bottom: 22px !important;
    display: flex !important;
    flex-direction: column !important;
    left: 0 !important;
    margin: 0 !important;
    opacity: 1 !important;
    padding: 0 !important;
    pointer-events: none !important;
    position: absolute !important;
    right: 0 !important;
    transform: none !important;
    z-index: 5 !important;
}

.configurator-layout .vehicle-type-tabs button .card-footer::before {
    background: linear-gradient(180deg, rgba(2, 3, 7, 0), rgba(2, 3, 7, .72) 24%, rgba(2, 3, 7, .98)) !important;
    bottom: -22px !important;
    content: "" !important;
    left: 0 !important;
    pointer-events: none !important;
    position: absolute !important;
    right: 0 !important;
    top: -24px !important;
    transform: none !important;
    z-index: -1 !important;
}

.configurator-layout .vehicle-type-tabs button .card-title,
.configurator-layout .vehicle-type-tabs button.active .card-title,
.configurator-layout .vehicle-type-tabs button:hover .card-title {
    align-items: center !important;
    color: rgba(255, 255, 255, .94) !important;
    display: flex !important;
    font-family: "Michroma", "Inter", sans-serif !important;
    font-size: clamp(11px, .92vw, 20px) !important;
    font-weight: 600 !important;
    height: 34px !important;
    justify-content: center !important;
    letter-spacing: .10em !important;
    line-height: 34px !important;
    margin: 0 !important;
    opacity: 1 !important;
    padding: 0 !important;
    text-align: center !important;
    text-transform: uppercase !important;
    transform: none !important;
    white-space: nowrap !important;
    width: 100% !important;
}

.configurator-layout .vehicle-type-tabs button .card-subtitle,
.configurator-layout .vehicle-type-tabs button.active .card-subtitle,
.configurator-layout .vehicle-type-tabs button:hover .card-subtitle {
    align-items: center !important;
    color: rgba(255, 255, 255, .88) !important;
    display: flex !important;
    font-family: "Inter", sans-serif !important;
    font-size: clamp(7px, .52vw, 12px) !important;
    font-weight: 700 !important;
    height: 20px !important;
    justify-content: center !important;
    letter-spacing: .04em !important;
    line-height: 20px !important;
    margin: 6px 0 0 !important;
    opacity: 1 !important;
    padding: 0 !important;
    text-align: center !important;
    text-transform: uppercase !important;
    transform: none !important;
    width: 86% !important;
}

.configurator-layout .vehicle-type-tabs button .card-bar,
.configurator-layout .vehicle-type-tabs button.active .card-bar,
.configurator-layout .vehicle-type-tabs button:hover .card-bar {
    background: rgba(235, 241, 247, .72) !important;
    border-radius: 999px !important;
    bottom: auto !important;
    box-shadow: 0 0 10px rgba(255, 255, 255, .18) !important;
    display: block !important;
    height: 4px !important;
    margin: 14px 0 0 !important;
    opacity: 1 !important;
    padding: 0 !important;
    position: static !important;
    transform: none !important;
    width: 62px !important;
}

.configurator-layout .vehicle-type-tabs button.active .card-title,
.configurator-layout .vehicle-type-tabs button:hover .card-title {
    color: #ff2a37 !important;
    text-shadow: 0 0 14px rgba(255, 38, 52, .62) !important;
}

.configurator-layout .vehicle-type-tabs button.active .card-bar,
.configurator-layout .vehicle-type-tabs button:hover .card-bar {
    background: #ff2634 !important;
    box-shadow: 0 0 13px rgba(255, 38, 52, .72), 0 0 24px rgba(255, 38, 52, .36) !important;
}

.configurator-layout .vehicle-type-tabs button:not(.active),
.configurator-layout .vehicle-type-tabs button:not(.active):focus,
.configurator-layout .vehicle-type-tabs button:not(.active):focus-visible {
    filter: grayscale(.72) saturate(.42) brightness(.58) contrast(.98) !important;
}

.configurator-layout .vehicle-type-tabs button.active {
    filter: drop-shadow(0 0 18px rgba(255, 38, 52, .34)) drop-shadow(0 0 34px rgba(255, 38, 52, .18)) !important;
}

.configurator-layout .vehicle-type-tabs button:not(.active) .card-title,
.configurator-layout .vehicle-type-tabs button:not(.active):focus .card-title {
    color: rgba(255, 255, 255, .88) !important;
    text-shadow: none !important;
}

.configurator-layout .vehicle-type-tabs button:not(.active) .card-bar,
.configurator-layout .vehicle-type-tabs button:not(.active):focus .card-bar {
    background: rgba(235, 241, 247, .62) !important;
    box-shadow: 0 0 10px rgba(255, 255, 255, .12) !important;
}

.configurator-layout .vehicle-type-tabs button:not(.active):hover .card-title,
.configurator-layout .vehicle-type-tabs button:not(.active):focus-visible .card-title {
    color: #ff2a37 !important;
    text-shadow: 0 0 10px rgba(255, 38, 52, .70), 0 0 20px rgba(255, 38, 52, .36) !important;
}

.configurator-layout .vehicle-type-tabs button:not(.active):hover .card-bar,
.configurator-layout .vehicle-type-tabs button:not(.active):focus-visible .card-bar {
    background: rgba(255, 38, 52, .92) !important;
    box-shadow: 0 0 12px rgba(255, 38, 52, .62), 0 0 24px rgba(255, 38, 52, .22) !important;
}

/* Configurateur: densite verticale sans modifier les cartes */
.configurator-layout .configurator-hero {
    padding-top: 4px !important;
    padding-bottom: 0 !important;
    text-align: center !important;
}

.configurator-layout .configurator-hero h1 {
    color: rgba(255, 255, 255, .98) !important;
    font-family: var(--font-main) !important;
    font-size: clamp(28px, 2.48vw, 43px) !important;
    font-weight: 500 !important;
    letter-spacing: .01em !important;
    line-height: 1.02 !important;
    margin: 0 0 3px !important;
    text-shadow:
        0 0 7px rgba(255, 255, 255, .11),
        0 0 18px rgba(255, 255, 255, .045) !important;
}

.configurator-layout .configurator-hero h2 {
    align-items: center !important;
    color: rgba(255, 56, 70, .92) !important;
    display: inline-flex !important;
    font-family: var(--font-main) !important;
    font-size: clamp(14px, 1.25vw, 22px) !important;
    font-weight: 500 !important;
    gap: 0 !important;
    letter-spacing: .025em !important;
    line-height: 1.08 !important;
    margin: 0 !important;
    text-shadow:
        0 0 8px rgba(255, 38, 52, .20),
        0 0 16px rgba(255, 38, 52, .075) !important;
}

.configurator-layout .configurator-hero h2::before,
.configurator-layout .configurator-hero h2::after {
    content: none !important;
    display: none !important;
}

.configurator-layout .configurator-hero h2::after {
    transform: scaleX(-1) !important;
}

.configurator-layout .configurator-panel {
    padding-top: 0 !important;
}

.configurator-layout .config-stage.brand-step {
    padding: 0 0 10px !important;
}

.configurator-layout .config-steps {
    margin: 0 auto 0 !important;
}

.configurator-layout .config-steps button {
    color: rgba(224, 232, 242, .36) !important;
    font-family: var(--font-main) !important;
    font-size: clamp(15px, 1.22vw, 20px) !important;
    font-weight: 300 !important;
    letter-spacing: .14em !important;
    padding-bottom: 8px !important;
    text-shadow: none !important;
}

.configurator-layout .config-steps button.active {
    color: rgba(255, 255, 255, .96) !important;
    font-weight: 400 !important;
    text-shadow:
        0 0 10px rgba(255, 255, 255, .18),
        0 0 18px rgba(255, 38, 52, .18) !important;
}

.configurator-layout .config-steps button.active::after {
    background: linear-gradient(90deg, transparent, rgba(255, 38, 52, .70) 24%, rgba(255, 118, 126, .84) 50%, rgba(255, 38, 52, .70) 76%, transparent) !important;
    box-shadow: 0 0 12px rgba(255, 38, 52, .46) !important;
    height: 2px !important;
    width: 86px !important;
}

.configurator-layout .config-steps span {
    color: rgba(224, 232, 242, .58) !important;
    font-family: var(--font-main) !important;
    font-size: clamp(15px, 1.1vw, 18px) !important;
}

.configurator-layout .vehicle-type-tabs {
    margin-top: 0 !important;
    min-height: auto !important;
}

.configurator-layout .config-back {
    margin-top: 0 !important;
}

.configurator-layout .configurator-panel::before,
.configurator-layout .config-steps::before,
.configurator-layout .config-steps::after {
    content: none !important;
    display: none !important;
}

.configurator-layout .config-back {
    align-items: center !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    clip-path: none !important;
    color: inherit !important;
    cursor: pointer !important;
    display: inline-flex !important;
    font: inherit !important;
    justify-content: flex-start !important;
    align-self: flex-start !important;
    margin: 30px 0 32px max(24px, calc((100% - min(var(--config-ref-strip), var(--config-ref-strip-max))) / 2)) !important;
    min-height: 0 !important;
    min-width: 0 !important;
    overflow: visible !important;
    padding: 0 !important;
    position: relative !important;
    transform: none !important;
    width: auto !important;
    height: auto !important;
}

.configurator-layout .config-back[hidden] {
    display: none !important;
}

.configurator-layout .config-back::before {
    content: none !important;
    display: none !important;
}

.configurator-layout .config-back::after {
    background: radial-gradient(ellipse at 42% 50%, rgba(0, 0, 0, .55), rgba(0, 0, 0, .28) 42%, transparent 72%) !important;
    bottom: 0 !important;
    content: "" !important;
    display: block !important;
    height: 18px !important;
    left: 8px !important;
    pointer-events: none !important;
    position: absolute !important;
    right: 6px !important;
    transform: translateY(9px) !important;
    z-index: -1 !important;
}

.configurator-layout .back-button {
    align-items: center !important;
    display: flex !important;
    height: 54px !important;
    justify-content: flex-start !important;
    position: relative !important;
    transform: translateZ(0) !important;
    transition: transform .18s ease, filter .18s ease !important;
    width: 260px !important;
}

.configurator-layout .back-button::marker {
    content: "" !important;
}

.configurator-layout .back-button::before {
    background:
        linear-gradient(180deg, rgba(255, 255, 255, .20), rgba(255, 255, 255, .05) 20%, rgba(255, 255, 255, 0) 48%),
        linear-gradient(105deg, rgba(255, 38, 52, .18), rgba(18, 22, 29, .98) 17%, rgba(2, 5, 10, .98) 66%, rgba(39, 49, 59, .92)) !important;
    border: 1px solid rgba(178, 190, 204, .50) !important;
    border-left-color: rgba(255, 38, 52, .46) !important;
    border-radius: 3px 11px 11px 3px !important;
    box-shadow:
        0 1px 0 rgba(255, 255, 255, .18) inset,
        0 -1px 0 rgba(0, 0, 0, .78) inset,
        0 11px 24px rgba(0, 0, 0, .42),
        -14px 0 24px rgba(255, 38, 52, .08),
        0 0 18px rgba(255, 38, 52, .08) !important;
    clip-path: polygon(18px 0, calc(100% - 18px) 0, 100% 50%, calc(100% - 18px) 100%, 0 100%, 14px 50%) !important;
    content: "" !important;
    height: 34px !important;
    left: 46px !important;
    opacity: 1 !important;
    position: absolute !important;
    right: 0 !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    transition: box-shadow .18s ease, border-color .18s ease !important;
    width: auto !important;
    z-index: 0 !important;
}

.configurator-layout .back-button::after {
    background: linear-gradient(90deg, rgba(255, 38, 52, 0), rgba(255, 38, 52, .92) 22%, rgba(255, 120, 128, .9) 52%, rgba(255, 38, 52, .48) 82%, rgba(255, 38, 52, 0)) !important;
    border-radius: 999px !important;
    bottom: 7px !important;
    box-shadow: 0 0 10px rgba(255, 38, 52, .58), 0 0 22px rgba(255, 38, 52, .22) !important;
    content: "" !important;
    height: 2px !important;
    left: 82px !important;
    opacity: .78 !important;
    position: absolute !important;
    right: 46px !important;
    transition: opacity .18s ease, box-shadow .18s ease !important;
    z-index: 3 !important;
}

.configurator-layout .back-icon {
    align-items: center !important;
    background:
        radial-gradient(circle at 48% 45%, rgba(255, 255, 255, .16), transparent 38%),
        linear-gradient(145deg, rgba(255, 38, 52, .34), rgba(10, 12, 18, .98) 42%, rgba(0, 0, 0, .96) 72%, rgba(255, 38, 52, .16)) !important;
    border: 1px solid rgba(255, 72, 82, .72) !important;
    box-shadow:
        0 0 0 2px rgba(255, 255, 255, .055) inset,
        0 0 0 4px rgba(0, 0, 0, .44) inset,
        0 0 15px rgba(255, 38, 52, .42),
        0 12px 24px rgba(0, 0, 0, .44) !important;
    clip-path: polygon(50% 0, 91% 22%, 91% 78%, 50% 100%, 9% 78%, 9% 22%) !important;
    color: rgba(255, 255, 255, .98) !important;
    display: flex !important;
    flex: 0 0 64px !important;
    font-family: "Inter", sans-serif !important;
    font-size: 36px !important;
    font-weight: 700 !important;
    height: 54px !important;
    justify-content: center !important;
    line-height: 1 !important;
    margin: 0 -20px 0 0 !important;
    padding: 0 7px 4px 0 !important;
    position: relative !important;
    text-shadow: 0 2px 0 rgba(0, 0, 0, .72), 0 0 14px rgba(255, 255, 255, .24) !important;
    transition: box-shadow .18s ease, border-color .18s ease, filter .18s ease !important;
    width: 64px !important;
    z-index: 4 !important;
}

.configurator-layout .back-label {
    align-items: center !important;
    background: linear-gradient(180deg, #ffffff 0%, #dce4ec 36%, #8b949f 64%, #f7fbff 100%) !important;
    -webkit-background-clip: text !important;
    background-clip: text !important;
    border: 0 !important;
    box-shadow: none !important;
    clip-path: none !important;
    color: transparent !important;
    display: flex !important;
    flex: 1 1 auto !important;
    font-family: "Michroma", "Inter", sans-serif !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    height: 34px !important;
    justify-content: center !important;
    letter-spacing: .34em !important;
    line-height: 1 !important;
    opacity: 1 !important;
    overflow: hidden !important;
    padding: 0 31px 0 54px !important;
    position: relative !important;
    text-shadow:
        0 1px 0 rgba(0, 0, 0, .85),
        0 7px 10px rgba(0, 0, 0, .44),
        0 0 12px rgba(255, 255, 255, .10) !important;
    text-transform: uppercase !important;
    transform: translateX(0) !important;
    transition: opacity .18s ease, transform .18s ease, letter-spacing .18s ease !important;
    width: auto !important;
    z-index: 2 !important;
}

.configurator-layout .config-back:hover,
.configurator-layout .config-back:focus-visible {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    transform: translateY(-2px) !important;
}

.configurator-layout .config-back:hover .back-icon,
.configurator-layout .config-back:focus-visible .back-icon {
    border-color: rgba(255, 38, 52, .74) !important;
    box-shadow:
        0 0 0 2px rgba(255, 255, 255, .075) inset,
        0 0 0 5px rgba(0, 0, 0, .32) inset,
        0 0 22px rgba(255, 38, 52, .66),
        0 16px 28px rgba(0, 0, 0, .50) !important;
}

.configurator-layout .config-back:hover .back-button::before,
.configurator-layout .config-back:focus-visible .back-button::before {
    border-color: rgba(212, 224, 238, .58) !important;
    box-shadow:
        0 1px 0 rgba(255, 255, 255, .20) inset,
        0 -1px 0 rgba(0, 0, 0, .82) inset,
        0 16px 30px rgba(0, 0, 0, .46),
        0 0 26px rgba(255, 38, 52, .16) !important;
    opacity: 1 !important;
}

.configurator-layout .config-back:hover .back-button::after,
.configurator-layout .config-back:focus-visible .back-button::after {
    opacity: 1 !important;
    box-shadow: 0 0 14px rgba(255, 38, 52, .74), 0 0 28px rgba(255, 38, 52, .34) !important;
}

.configurator-layout .config-back:hover .back-label,
.configurator-layout .config-back:focus-visible .back-label {
    opacity: 1 !important;
    transform: translateX(0) !important;
    letter-spacing: .40em !important;
}

.configurator-layout .config-back:active {
    transform: translateY(1px) !important;
}

.configurator-layout .config-back:active .back-button {
    filter: brightness(.88) contrast(1.05) !important;
    transform: translateY(1px) translateZ(0) !important;
}

.configurator-layout .config-back:active .back-icon {
    box-shadow:
        0 0 0 2px rgba(255, 255, 255, .04) inset,
        0 0 0 5px rgba(0, 0, 0, .50) inset,
        0 0 10px rgba(255, 38, 52, .44),
        0 7px 14px rgba(0, 0, 0, .52) !important;
}

@media (max-width: 980px) {
    .configurator-layout .vehicle-type-tabs {
        gap: 8px !important;
        justify-content: center !important;
        overflow-x: hidden !important;
        width: 100% !important;
    }

    .configurator-layout .vehicle-type-tabs button,
    .configurator-layout .vehicle-type-tabs button.active,
    .configurator-layout .vehicle-type-tabs button:hover,
    .configurator-layout .vehicle-type-tabs button:focus,
    .configurator-layout .vehicle-type-tabs button:focus-visible {
        flex-basis: calc((100% - 48px) / 7) !important;
        max-width: calc((100% - 48px) / 7) !important;
        width: calc((100% - 48px) / 7) !important;
    }

    .configurator-layout .config-back {
        margin-left: 24px !important;
    }
}

/* CONFIGURATEUR VALIDÉ â€â€ touche retour premium finale */
.configurator-layout .config-back {
    align-self: flex-start !important;
    background: transparent !important;
    border: 0 !important;
    cursor: pointer !important;
    display: inline-flex !important;
    height: 58px !important;
    margin: 30px 0 34px max(24px, calc((100% - min(var(--config-ref-strip), var(--config-ref-strip-max))) / 2)) !important;
    overflow: visible !important;
    padding: 0 !important;
    position: relative !important;
    transform: translateZ(0) !important;
    width: 268px !important;
}

.configurator-layout .config-back[hidden] {
    display: none !important;
}

.configurator-layout .config-back::before,
.configurator-layout .config-back::after {
    content: none !important;
    display: none !important;
}

.configurator-layout .back-button {
    align-items: center !important;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, .20), rgba(255, 255, 255, .045) 24%, rgba(255, 255, 255, 0) 52%),
        linear-gradient(108deg, rgba(255, 36, 50, .20) 0%, rgba(9, 12, 18, .98) 20%, rgba(2, 5, 10, .98) 67%, rgba(38, 48, 58, .90) 100%) !important;
    border: 1px solid rgba(190, 202, 216, .48) !important;
    border-left-color: rgba(255, 42, 54, .52) !important;
    box-shadow:
        0 1px 0 rgba(255, 255, 255, .22) inset,
        0 -1px 0 rgba(0, 0, 0, .82) inset,
        0 14px 26px rgba(0, 0, 0, .42),
        0 0 22px rgba(255, 38, 52, .10) !important;
    clip-path: polygon(58px 0, calc(100% - 24px) 0, 100% 50%, calc(100% - 24px) 100%, 0 100%, 18px 50%) !important;
    display: flex !important;
    height: 44px !important;
    justify-content: center !important;
    margin: 7px 0 0 18px !important;
    overflow: visible !important;
    padding: 0 34px 0 68px !important;
    position: relative !important;
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease, filter .18s ease !important;
    width: 250px !important;
}

.configurator-layout .back-button::before {
    background:
        radial-gradient(circle at 50% 46%, rgba(255, 255, 255, .16), transparent 38%),
        linear-gradient(145deg, rgba(255, 38, 52, .34), rgba(12, 12, 18, .98) 43%, rgba(0, 0, 0, .98) 76%, rgba(255, 38, 52, .18)) !important;
    border: 1px solid rgba(255, 68, 80, .76) !important;
    box-shadow:
        0 0 0 2px rgba(255, 255, 255, .06) inset,
        0 0 0 5px rgba(0, 0, 0, .42) inset,
        0 0 18px rgba(255, 38, 52, .46),
        0 13px 24px rgba(0, 0, 0, .46) !important;
    clip-path: polygon(50% 0, 91% 22%, 91% 78%, 50% 100%, 9% 78%, 9% 22%) !important;
    content: "" !important;
    height: 58px !important;
    left: -18px !important;
    position: absolute !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    width: 68px !important;
    z-index: 3 !important;
}

.configurator-layout .back-button::after {
    background: linear-gradient(90deg, transparent, rgba(255, 38, 52, .94) 24%, rgba(255, 128, 136, .92) 52%, rgba(255, 38, 52, .58) 78%, transparent) !important;
    border-radius: 999px !important;
    bottom: -5px !important;
    box-shadow: 0 0 12px rgba(255, 38, 52, .62), 0 0 26px rgba(255, 38, 52, .24) !important;
    content: "" !important;
    height: 2px !important;
    left: 56px !important;
    opacity: .76 !important;
    position: absolute !important;
    right: 46px !important;
    z-index: 2 !important;
}

.configurator-layout .back-icon {
    align-items: center !important;
    background: none !important;
    border: 0 !important;
    box-shadow: none !important;
    clip-path: none !important;
    color: rgba(255, 255, 255, .98) !important;
    display: flex !important;
    font-family: "Inter", sans-serif !important;
    font-size: 36px !important;
    font-weight: 800 !important;
    height: 58px !important;
    justify-content: center !important;
    left: -18px !important;
    line-height: 1 !important;
    margin: 0 !important;
    padding: 0 8px 4px 0 !important;
    position: absolute !important;
    text-shadow: 0 2px 0 rgba(0, 0, 0, .78), 0 0 16px rgba(255, 255, 255, .26) !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    width: 68px !important;
    z-index: 4 !important;
}

.configurator-layout .back-label {
    align-items: center !important;
    background: linear-gradient(180deg, #ffffff 0%, #dfe7ef 34%, #8d96a1 63%, #f8fbff 100%) !important;
    -webkit-background-clip: text !important;
    background-clip: text !important;
    border: 0 !important;
    box-shadow: none !important;
    color: transparent !important;
    display: flex !important;
    font-family: "Michroma", "Inter", sans-serif !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    height: 100% !important;
    justify-content: center !important;
    letter-spacing: .34em !important;
    line-height: 1 !important;
    opacity: 1 !important;
    padding: 0 !important;
    position: relative !important;
    text-shadow: 0 1px 0 rgba(0, 0, 0, .82), 0 7px 10px rgba(0, 0, 0, .42), 0 0 12px rgba(255, 255, 255, .10) !important;
    text-transform: uppercase !important;
    transform: none !important;
    width: 100% !important;
    z-index: 2 !important;
}

.configurator-layout .config-back:hover .back-button,
.configurator-layout .config-back:focus-visible .back-button {
    border-color: rgba(220, 232, 246, .62) !important;
    box-shadow:
        0 1px 0 rgba(255, 255, 255, .25) inset,
        0 -1px 0 rgba(0, 0, 0, .86) inset,
        0 18px 34px rgba(0, 0, 0, .50),
        0 0 32px rgba(255, 38, 52, .20) !important;
    transform: translateY(-2px) translateZ(0) !important;
}

.configurator-layout .config-back:hover .back-button::before,
.configurator-layout .config-back:focus-visible .back-button::before {
    box-shadow:
        0 0 0 2px rgba(255, 255, 255, .08) inset,
        0 0 0 5px rgba(0, 0, 0, .34) inset,
        0 0 25px rgba(255, 38, 52, .72),
        0 18px 30px rgba(0, 0, 0, .54) !important;
}

.configurator-layout .config-back:hover .back-button::after,
.configurator-layout .config-back:focus-visible .back-button::after {
    opacity: 1 !important;
    box-shadow: 0 0 15px rgba(255, 38, 52, .80), 0 0 32px rgba(255, 38, 52, .38) !important;
}

.configurator-layout .config-back:hover .back-label,
.configurator-layout .config-back:focus-visible .back-label {
    letter-spacing: .39em !important;
}

.configurator-layout .config-back:active .back-button {
    filter: brightness(.86) contrast(1.06) !important;
    transform: translateY(1px) translateZ(0) !important;
}

@media (max-width: 980px) {
    .configurator-layout .config-back {
        margin-left: 24px !important;
        width: 238px !important;
    }

    .configurator-layout .back-button {
        width: 220px !important;
    }
}

/* DARKLAB - etape prestations fichier */
.button-link:disabled,
.manual-submit:disabled,
.service-continue:disabled {
    cursor: not-allowed;
    filter: grayscale(.45);
    opacity: .42;
    transform: none;
}

.file-services-main {
    color: #fff;
    min-height: 100vh;
    padding: 54px clamp(22px, 4vw, 72px) 80px;
}

.file-services-head {
    align-items: end;
    display: flex;
    gap: 24px;
    justify-content: space-between;
    margin-bottom: 34px;
}

.file-services-head h1 {
    color: #fff;
    font-family: var(--font-main);
    font-size: clamp(38px, 4vw, 64px);
    font-weight: 500;
    letter-spacing: 0;
    line-height: 1;
    margin: 0 0 14px;
    text-shadow: 0 0 18px rgba(255, 255, 255, .34), 0 18px 42px rgba(0, 0, 0, .62);
}

.file-services-head p:last-child {
    color: rgba(255, 255, 255, .74);
    font-size: 15px;
    font-weight: 650;
    margin: 0;
}

.glass-action {
    align-items: center;
    background: linear-gradient(145deg, rgba(255, 255, 255, .08), rgba(255, 255, 255, .025));
    border: 1px solid rgba(255, 255, 255, .18);
    border-radius: 10px;
    color: #fff;
    display: inline-flex;
    font-family: var(--font-main);
    font-size: 14px;
    min-height: 48px;
    padding: 0 22px;
    text-decoration: none;
}

.file-services-grid {
    align-items: start;
    display: grid;
    gap: 28px;
    grid-template-columns: minmax(0, 1fr) 340px;
}

.service-catalog,
.service-summary {
    background: linear-gradient(145deg, rgba(13, 18, 27, .76), rgba(24, 17, 21, .58));
    border: 1px solid rgba(255, 255, 255, .20);
    border-radius: 16px;
    box-shadow: 0 34px 90px rgba(0, 0, 0, .36), inset 0 1px 0 rgba(255, 255, 255, .1);
}

.service-catalog {
    display: grid;
    gap: 24px;
    padding: clamp(20px, 2.4vw, 34px);
}

.selected-vehicle-strip {
    align-items: center;
    background: linear-gradient(135deg, rgba(255, 255, 255, .09), rgba(255, 255, 255, .025));
    border: 1px solid rgba(255, 255, 255, .20);
    border-radius: 14px;
    display: flex;
    gap: 24px;
    justify-content: space-between;
    padding: 20px 96px 20px 24px;
    position: relative;
}

.selected-vehicle-strip span,
.summary-vehicle span {
    color: #ff2634;
    font-size: 12px;
    font-weight: 850;
    letter-spacing: .18em;
    text-transform: uppercase;
}

.selected-vehicle-strip strong,
.summary-vehicle strong {
    color: #fff;
    display: block;
    font-family: var(--font-main);
    font-size: 24px;
    font-weight: 500;
    margin-top: 6px;
    text-shadow: 0 0 14px rgba(255, 255, 255, .22);
}

.selected-vehicle-strip small,
.summary-vehicle small {
    color: rgba(255, 255, 255, .66);
    display: block;
    font-size: 13px;
    font-weight: 700;
    margin-top: 8px;
}

.selected-vehicle-strip dl {
    display: grid;
    gap: 14px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin: 0;
}

.selected-vehicle-strip div {
    min-width: 0;
}

.selected-vehicle-strip dt {
    color: rgba(255, 255, 255, .48);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.selected-vehicle-strip dd {
    color: #fff;
    font-size: 14px;
    font-weight: 850;
    margin: 4px 0 0;
}

.service-section-title {
    align-items: baseline;
    display: flex;
    justify-content: space-between;
    margin-bottom: 16px;
}

.service-section-title h2 {
    color: #fff;
    font-family: var(--font-main);
    font-size: 30px;
    font-weight: 500;
    margin: 0;
    text-shadow: 0 0 18px rgba(255, 255, 255, .28);
}

.service-section-title span {
    color: rgba(255, 255, 255, .55);
    font-size: 12px;
    font-weight: 850;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.service-list {
    display: grid;
    gap: 12px;
}

.service-choice {
    align-items: center;
    background:
        linear-gradient(145deg, rgba(255, 255, 255, .075), rgba(255, 255, 255, .028)),
        radial-gradient(circle at 10% 50%, rgba(45, 122, 255, .08), transparent 34%),
        rgba(8, 11, 17, .36);
    border: 1px solid rgba(255, 255, 255, .105);
    border-radius: 12px;
    cursor: pointer;
    display: grid;
    gap: 16px;
    grid-template-columns: 34px 92px minmax(0, 1fr) 132px;
    min-height: 86px;
    overflow: hidden;
    padding: 13px 16px;
    position: relative;
    transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease, background .2s ease;
}

.service-choice:hover,
.service-choice.is-selected {
    border-color: rgba(255, 38, 52, .48);
    box-shadow:
        0 16px 38px rgba(0, 0, 0, .22),
        0 0 24px rgba(255, 38, 52, .13),
        0 0 28px rgba(45, 122, 255, .09),
        inset 0 1px 0 rgba(255, 255, 255, .12);
}

.service-choice:hover {
    background:
        linear-gradient(145deg, rgba(255, 255, 255, .095), rgba(255, 255, 255, .034)),
        radial-gradient(circle at 10% 50%, rgba(45, 122, 255, .14), transparent 34%),
        radial-gradient(circle at 92% 50%, rgba(255, 38, 52, .13), transparent 32%),
        rgba(8, 11, 17, .42);
    transform: translateY(-1px);
}

.service-logo-cell {
    align-items: center;
    display: flex;
    justify-content: center;
    min-width: 0;
}

.service-choice img,
.service-fallback-logo {
    max-height: 48px;
    max-width: 78px;
    object-fit: contain;
}

.service-fallback-logo {
    align-items: center;
    background: rgba(255, 255, 255, .08);
    border: 1px solid rgba(255, 255, 255, .14);
    border-radius: 12px;
    color: #ff2634;
    display: inline-flex;
    font-family: var(--font-main);
    font-size: 28px;
    justify-content: center;
    min-height: 48px;
    min-width: 70px;
}

.service-copy {
    min-width: 0;
}

.service-choice strong {
    color: #fff;
    display: block;
    font-size: 18px;
    font-weight: 850;
    line-height: 1.1;
    text-shadow: 0 0 12px rgba(255, 255, 255, .18);
}

.service-choice em {
    color: rgba(230, 236, 246, .68);
    display: block;
    font-size: 12px;
    font-style: normal;
    font-weight: 600;
    line-height: 1.36;
    margin-top: 6px;
    max-width: 620px;
    overflow: hidden;
    text-wrap: pretty;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}

.service-meta {
    align-items: end;
    display: grid;
    gap: 5px;
    justify-items: end;
    min-width: 0;
}

.service-meta b {
    color: #ff2634;
    font-size: 15px;
    font-weight: 900;
    text-align: right;
    white-space: nowrap;
}

.service-meta small {
    background: rgba(121, 255, 178, .09);
    border: 1px solid rgba(121, 255, 178, .23);
    border-radius: 999px;
    color: rgba(202, 255, 226, .9);
    font-size: 9px;
    font-weight: 900;
    letter-spacing: .12em;
    line-height: 1;
    padding: 6px 8px;
    text-transform: uppercase;
}

.service-meta i {
    color: rgba(255, 255, 255, .58);
    font-size: 11px;
    font-style: normal;
    font-weight: 800;
}

.service-choice.is-free .service-meta b {
    color: #79ffb2;
}

.service-choice input {
    appearance: none;
    background: rgba(255, 255, 255, .08);
    border: 2px solid rgba(255, 255, 255, .22);
    border-radius: 999px;
    height: 24px;
    justify-self: center;
    position: relative;
    width: 24px;
}

.service-choice input:checked {
    border-color: #ff2634;
    box-shadow: 0 0 18px rgba(255, 38, 52, .36);
}

.service-choice input:checked::after {
    background: #ff2634;
    border-radius: 999px;
    content: "";
    height: 8px;
    left: 6px;
    position: absolute;
    top: 6px;
    width: 8px;
}

.service-empty {
    color: rgba(255, 255, 255, .64);
    font-weight: 700;
    margin: 0;
}

.service-summary {
    padding: 26px;
    position: sticky;
    top: 28px;
}

.summary-vehicle {
    border-bottom: 1px solid rgba(255, 255, 255, .12);
    margin-bottom: 22px;
    min-height: 68px;
    padding: 0 70px 20px 0;
    position: relative;
}

.summary-items {
    display: grid;
    gap: 12px;
    min-height: 70px;
}

.summary-items p {
    color: rgba(255, 255, 255, .58);
    font-weight: 650;
    margin: 0;
}

.summary-items div,
.summary-total {
    align-items: baseline;
    display: flex;
    gap: 12px;
    justify-content: space-between;
}

.summary-items span {
    color: rgba(255, 255, 255, .82);
    font-size: 13px;
    font-weight: 800;
}

.summary-items em {
    color: #79ffb2;
    font-style: normal;
    font-weight: 900;
}

.summary-items strong {
    color: #fff;
    font-size: 13px;
}

.summary-stage-performance {
    background:
        linear-gradient(135deg, rgba(255, 255, 255, .12), rgba(255, 255, 255, .045)),
        radial-gradient(circle at 88% 20%, rgba(255, 38, 52, .18), transparent 38%),
        rgba(10, 14, 22, .48);
    border: 1px solid rgba(255, 255, 255, .2);
    border-radius: 8px;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .13), 0 0 20px rgba(255, 38, 52, .08);
    display: grid;
    gap: 10px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-top: 18px;
    padding: 13px;
}

.summary-stage-performance[hidden] {
    display: none;
}

.summary-stage-performance > span,
.summary-stage-performance > p {
    grid-column: 1 / -1;
}

.summary-stage-performance > span {
    color: rgba(255, 255, 255, .62);
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.summary-stage-performance div {
    display: grid;
    gap: 4px;
}

.summary-stage-performance strong {
    color: #fff;
    font-family: var(--font-main);
    font-size: 19px;
    line-height: 1;
    text-shadow: 0 0 16px rgba(255, 255, 255, .16);
}

.summary-stage-performance small {
    color: rgba(255, 255, 255, .58);
    font-size: 10px;
    font-weight: 850;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.summary-stage-performance p {
    color: #ff4450;
    font-size: 11px;
    font-weight: 900;
    margin: 0;
}

.summary-total {
    border-top: 1px solid rgba(255, 255, 255, .12);
    margin-top: 20px;
    padding-top: 18px;
}

.summary-total span {
    color: #ff2634;
    font-family: var(--font-main);
    font-size: 25px;
}

.summary-total strong {
    color: #fff;
    font-size: 18px;
}

.summary-note {
    background: rgba(121, 255, 178, .08);
    border: 1px solid rgba(121, 255, 178, .18);
    border-radius: 12px;
    color: rgba(230, 255, 241, .84);
    font-size: 12px;
    font-weight: 750;
    line-height: 1.5;
    margin: 18px 0;
    padding: 12px;
}

.express-tune-upsell {
    background:
        linear-gradient(135deg, rgba(255, 255, 255, .105), rgba(255, 255, 255, .035)),
        radial-gradient(circle at 86% 0%, rgba(255, 38, 52, .18), transparent 38%),
        rgba(12, 16, 24, .54);
    border: 1px solid rgba(255, 38, 52, .48);
    border-radius: 12px;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, .13),
        0 0 18px rgba(255, 38, 52, .10);
    display: grid;
    gap: 9px;
    margin-top: 10px;
    overflow: hidden;
    padding: 12px;
    position: relative;
}

.express-tune-upsell::before {
    border: 1px solid rgba(255, 38, 52, .42);
    border-radius: inherit;
    content: "";
    inset: 0;
    pointer-events: none;
    position: absolute;
    animation: expressTuneGlow 2.8s ease-in-out infinite;
}

.express-tune-upsell > div {
    align-items: center;
    display: flex;
    gap: 9px;
    min-width: 0;
}

.express-tune-icon {
    align-items: center;
    background: rgba(255, 38, 52, .15);
    border: 1px solid rgba(255, 38, 52, .32);
    border-radius: 9px;
    color: #fff;
    display: inline-flex;
    flex: 0 0 30px;
    height: 30px;
    justify-content: center;
    text-shadow: 0 0 12px rgba(255, 255, 255, .28);
}

.express-tune-upsell strong {
    color: #fff;
    font-size: 13px;
    font-weight: 950;
    letter-spacing: .03em;
    line-height: 1.1;
}

.express-tune-upsell p {
    color: rgba(232, 238, 248, .72);
    font-size: 10.5px;
    font-weight: 650;
    line-height: 1.35;
    margin: 0;
}

.express-tune-upsell button {
    align-items: center;
    background:
        linear-gradient(135deg, rgba(255, 38, 52, .92), rgba(160, 8, 18, .90));
    border: 1px solid rgba(255, 255, 255, .16);
    border-radius: 9px;
    box-shadow: 0 10px 22px rgba(236, 28, 36, .22);
    color: #fff;
    cursor: pointer;
    display: inline-flex;
    font-family: var(--font-main);
    font-size: 11px;
    justify-content: center;
    min-height: 36px;
    padding: 0 12px;
    transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease;
    width: 100%;
}

.express-tune-upsell button::before {
    content: "\26A1";
    margin-right: 7px;
}

.express-tune-upsell button:hover {
    border-color: rgba(255, 255, 255, .28);
    box-shadow: 0 12px 28px rgba(236, 28, 36, .30), 0 0 20px rgba(255, 38, 52, .18);
    transform: translateY(-1px);
}

.express-tune-upsell button:active {
    transform: translateY(0) scale(.99);
}

.express-tune-upsell.is-active {
    background:
        linear-gradient(135deg, rgba(121, 255, 178, .12), rgba(255, 255, 255, .035)),
        rgba(11, 24, 20, .52);
    border-color: rgba(121, 255, 178, .34);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, .13),
        0 0 18px rgba(121, 255, 178, .10);
}

.express-tune-upsell.is-active::before {
    animation: none;
    border-color: rgba(121, 255, 178, .42);
}

.express-tune-upsell.is-active .express-tune-icon {
    background: rgba(121, 255, 178, .12);
    border-color: rgba(121, 255, 178, .32);
}

.express-tune-upsell.is-active .express-tune-icon::before {
    content: "\2713";
}

.express-tune-upsell.is-active .express-tune-icon {
    font-size: 0;
}

.express-tune-upsell.is-active .express-tune-icon::before {
    color: #dfffee;
    font-size: 16px;
}

.express-tune-upsell.is-active button {
    background: rgba(121, 255, 178, .12);
    border-color: rgba(121, 255, 178, .30);
    box-shadow: none;
    color: rgba(226, 255, 239, .88);
    cursor: default;
}

@keyframes expressTuneGlow {
    0%, 100% {
        box-shadow: 0 0 0 rgba(255, 38, 52, 0);
        opacity: .72;
    }
    50% {
        box-shadow: 0 0 18px rgba(255, 38, 52, .24);
        opacity: 1;
    }
}

.service-continue {
    margin-top: 18px;
    width: 100%;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .service-summary {
    background:
        linear-gradient(128deg, rgba(255, 255, 255, .15), rgba(255, 255, 255, .07) 42%, rgba(255, 38, 52, .09)),
        radial-gradient(circle at 12% 8%, rgba(108, 169, 255, .18), transparent 34%),
        radial-gradient(circle at 92% 44%, rgba(255, 38, 52, .16), transparent 42%),
        rgba(20, 24, 32, .80) !important;
    border-color: rgba(255, 255, 255, .32) !important;
    border-radius: 14px;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, .22),
        inset 0 -1px 0 rgba(255, 38, 52, .14),
        0 22px 54px rgba(0, 0, 0, .30),
        0 0 34px rgba(255, 38, 52, .08) !important;
    overflow: hidden;
    padding: 20px;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .summary-vehicle {
    border-bottom-color: rgba(255, 255, 255, .10);
    margin-bottom: 14px;
    padding-bottom: 13px;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .summary-vehicle span {
    font-size: 11px;
    letter-spacing: .2em;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .summary-vehicle strong {
    font-size: 21px;
    margin-top: 4px;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .summary-vehicle small {
    color: rgba(255, 255, 255, .72);
    font-size: 12px;
    line-height: 1.25;
    margin-top: 6px;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .summary-items {
    gap: 7px;
    min-height: 0;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .summary-items div {
    align-items: center;
    background: rgba(255, 255, 255, .045);
    border: 1px solid rgba(255, 255, 255, .10);
    border-radius: 9px;
    padding: 8px 10px;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .summary-items span,
body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .summary-items strong {
    font-size: 12px;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .summary-stage-performance {
    background:
        linear-gradient(132deg, rgba(255, 255, 255, .12), rgba(255, 255, 255, .055)),
        radial-gradient(circle at 92% 18%, rgba(255, 38, 52, .20), transparent 40%),
        rgba(11, 15, 23, .50);
    border-color: rgba(255, 255, 255, .22);
    border-radius: 10px;
    gap: 8px 12px;
    margin-top: 12px;
    padding: 11px 12px;
    position: relative;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .summary-stage-performance::before {
    background: linear-gradient(90deg, rgba(255, 38, 52, .86), rgba(255, 255, 255, .42), transparent);
    content: "";
    height: 1px;
    left: 12px;
    opacity: .68;
    position: absolute;
    right: 42%;
    top: 0;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .summary-stage-performance > span {
    color: rgba(255, 255, 255, .70);
    font-size: 9px;
    letter-spacing: .14em;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .summary-stage-performance strong {
    font-size: 17px;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .summary-stage-performance small {
    font-size: 9px;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .summary-stage-performance p {
    font-size: 10px;
    line-height: 1.2;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .summary-total {
    align-items: center;
    background:
        linear-gradient(90deg, rgba(255, 38, 52, .08), rgba(255, 255, 255, .035), rgba(255, 38, 52, .05));
    border: 1px solid rgba(255, 255, 255, .20);
    border-left-color: rgba(255, 38, 52, .38);
    border-radius: 10px;
    margin-top: 13px;
    padding: 12px 13px;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .summary-total span {
    font-size: 21px;
    line-height: 1;
    text-shadow: 0 0 16px rgba(255, 38, 52, .24);
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .summary-total strong {
    font-size: 16px;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .summary-note {
    align-items: center;
    background:
        linear-gradient(120deg, rgba(121, 255, 178, .12), rgba(255, 255, 255, .035)),
        rgba(13, 24, 20, .42);
    border-color: rgba(121, 255, 178, .24);
    border-radius: 10px;
    color: rgba(232, 255, 242, .90);
    display: flex;
    font-size: 11px;
    gap: 8px;
    line-height: 1.25;
    margin: 10px 0 0;
    padding: 9px 10px;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .summary-note::before {
    background: #79ffb2;
    border-radius: 999px;
    box-shadow: 0 0 14px rgba(121, 255, 178, .38);
    content: "";
    flex: 0 0 7px;
    height: 7px;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-upsell {
    margin-top: 10px;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .service-continue {
    border-radius: 9px;
    box-shadow: 0 16px 34px rgba(236, 28, 36, .25);
    margin-top: 12px;
    min-height: 54px;
}

@media (max-width: 1120px) {
    .file-services-grid {
        grid-template-columns: 1fr;
    }

    .service-summary {
        position: static;
    }
}

@media (max-width: 720px) {
    .file-services-head,
    .selected-vehicle-strip {
        align-items: start;
        flex-direction: column;
    }

    .selected-vehicle-strip dl {
        grid-template-columns: 1fr;
        width: 100%;
    }

    .service-choice {
        gap: 12px;
        grid-template-columns: 28px 64px minmax(0, 1fr);
        padding: 12px;
    }

    .service-meta {
        grid-column: 2 / -1;
        justify-items: start;
    }

    .service-meta b {
        text-align: left;
    }
}

/* Admin DarkLab */
/* CONFIGURATEUR VALIDÉ â€â€ touche retour monobloc DARKLAB */
.configurator-layout .config-back {
    align-self: flex-start !important;
    background: transparent !important;
    border: 0 !important;
    cursor: pointer !important;
    display: inline-flex !important;
    height: 64px !important;
    margin: 30px 0 34px max(24px, calc((100% - min(var(--config-ref-strip), var(--config-ref-strip-max))) / 2)) !important;
    overflow: visible !important;
    padding: 0 !important;
    position: relative !important;
    width: 258px !important;
}

.configurator-layout .config-back[hidden] {
    display: none !important;
}

.configurator-layout .config-back::before,
.configurator-layout .config-back::after {
    content: none !important;
    display: none !important;
}

.configurator-layout .back-button {
    align-items: center !important;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, .22), rgba(255, 255, 255, .06) 21%, rgba(255, 255, 255, 0) 48%),
        radial-gradient(circle at 24px 50%, rgba(255, 38, 52, .38), rgba(255, 38, 52, .10) 28%, transparent 52%),
        linear-gradient(112deg, #15070b 0%, #080b11 18%, #03060b 62%, #202a34 100%) !important;
    border: 1px solid rgba(195, 207, 222, .52) !important;
    border-left-color: rgba(255, 42, 54, .72) !important;
    box-shadow:
        0 1px 0 rgba(255, 255, 255, .25) inset,
        0 -1px 0 rgba(0, 0, 0, .86) inset,
        0 0 0 1px rgba(255, 255, 255, .035) inset,
        0 14px 30px rgba(0, 0, 0, .48),
        0 0 24px rgba(255, 38, 52, .12) !important;
    clip-path: polygon(0 50%, 17px 14%, 56px 0, calc(100% - 22px) 0, 100% 50%, calc(100% - 22px) 100%, 56px 100%, 17px 86%) !important;
    display: grid !important;
    grid-template-columns: 66px 1fr !important;
    height: 58px !important;
    margin: 3px 0 0 !important;
    overflow: visible !important;
    padding: 0 28px 0 0 !important;
    position: relative !important;
    transform: translateZ(0) !important;
    transition: transform .16s ease, filter .16s ease, box-shadow .16s ease, border-color .16s ease !important;
    width: 258px !important;
}

.configurator-layout .back-button::before {
    background:
        linear-gradient(180deg, rgba(255, 255, 255, .18), rgba(255, 255, 255, .045) 28%, transparent 54%),
        linear-gradient(112deg, rgba(255, 38, 52, .12), rgba(255, 255, 255, .035) 26%, rgba(255, 255, 255, .02) 72%, rgba(255, 255, 255, .10)) !important;
    clip-path: polygon(2px 50%, 18px 17%, 58px 4px, calc(100% - 24px) 4px, calc(100% - 5px) 50%, calc(100% - 24px) calc(100% - 4px), 58px calc(100% - 4px), 18px 83%) !important;
    content: "" !important;
    inset: 0 !important;
    opacity: .86 !important;
    pointer-events: none !important;
    position: absolute !important;
    z-index: 1 !important;
}

.configurator-layout .back-button::after {
    background: linear-gradient(90deg, transparent, rgba(255, 38, 52, .92) 20%, rgba(255, 126, 136, .95) 50%, rgba(255, 38, 52, .50) 82%, transparent) !important;
    border-radius: 999px !important;
    bottom: 8px !important;
    box-shadow: 0 0 11px rgba(255, 38, 52, .60), 0 0 26px rgba(255, 38, 52, .24) !important;
    content: "" !important;
    height: 2px !important;
    left: 78px !important;
    pointer-events: none !important;
    position: absolute !important;
    right: 42px !important;
    z-index: 2 !important;
}

.configurator-layout .back-icon {
    align-items: center !important;
    background: none !important;
    border: 0 !important;
    box-shadow: none !important;
    color: rgba(255, 255, 255, .98) !important;
    display: flex !important;
    font-family: "Inter", sans-serif !important;
    font-size: 38px !important;
    font-weight: 900 !important;
    height: 58px !important;
    justify-content: center !important;
    line-height: 1 !important;
    padding: 0 8px 4px 0 !important;
    position: relative !important;
    text-shadow:
        0 2px 0 rgba(0, 0, 0, .82),
        0 0 16px rgba(255, 255, 255, .30),
        0 0 22px rgba(255, 38, 52, .28) !important;
    transform: none !important;
    width: 66px !important;
    z-index: 3 !important;
}

.configurator-layout .back-label {
    align-items: center !important;
    background: linear-gradient(180deg, #ffffff 0%, #dce5ee 35%, #87909a 63%, #f9fbff 100%) !important;
    -webkit-background-clip: text !important;
    background-clip: text !important;
    color: transparent !important;
    display: flex !important;
    font-family: "Michroma", "Inter", sans-serif !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    height: 58px !important;
    justify-content: center !important;
    letter-spacing: .34em !important;
    line-height: 1 !important;
    opacity: 1 !important;
    padding: 0 0 0 4px !important;
    position: relative !important;
    text-shadow: 0 1px 0 rgba(0, 0, 0, .86), 0 7px 12px rgba(0, 0, 0, .44) !important;
    text-transform: uppercase !important;
    transform: none !important;
    z-index: 3 !important;
}

.configurator-layout .config-back:hover .back-button,
.configurator-layout .config-back:focus-visible .back-button {
    border-color: rgba(226, 238, 250, .66) !important;
    box-shadow:
        0 1px 0 rgba(255, 255, 255, .28) inset,
        0 -1px 0 rgba(0, 0, 0, .88) inset,
        0 0 0 1px rgba(255, 255, 255, .045) inset,
        0 18px 36px rgba(0, 0, 0, .54),
        0 0 34px rgba(255, 38, 52, .24) !important;
    filter: brightness(1.08) contrast(1.04) !important;
    transform: translateY(-2px) translateZ(0) !important;
}

.configurator-layout .config-back:hover .back-label,
.configurator-layout .config-back:focus-visible .back-label {
    letter-spacing: .39em !important;
}

.configurator-layout .config-back:active .back-button {
    box-shadow:
        0 1px 0 rgba(255, 255, 255, .12) inset,
        0 -1px 0 rgba(0, 0, 0, .9) inset,
        0 8px 18px rgba(0, 0, 0, .50),
        0 0 18px rgba(255, 38, 52, .16) !important;
    filter: brightness(.88) contrast(1.08) !important;
    transform: translateY(1px) translateZ(0) !important;
}

@media (max-width: 980px) {
    .configurator-layout .config-back {
        margin-left: 24px !important;
        width: 236px !important;
    }

    .configurator-layout .back-button {
        width: 236px !important;
    }
}

/* CONFIGURATEUR VALIDÉ â€â€ séparateurs HUD premium */
.configurator-layout .config-steps {
    gap: clamp(16px, 2.2vw, 34px) !important;
}

.configurator-layout .config-steps > span {
    align-items: center !important;
    background:
        linear-gradient(90deg, transparent, rgba(166, 182, 199, .42) 14%, rgba(255, 38, 52, .42) 50%, rgba(166, 182, 199, .42) 86%, transparent) !important;
    border: 0 !important;
    border-radius: 999px !important;
    box-shadow:
        0 0 8px rgba(255, 38, 52, .18),
        0 1px 0 rgba(255, 255, 255, .08) inset !important;
    color: transparent !important;
    display: inline-flex !important;
    flex: 0 0 clamp(44px, 4.4vw, 76px) !important;
    font-size: 0 !important;
    height: 2px !important;
    justify-content: center !important;
    line-height: 0 !important;
    margin: 0 !important;
    overflow: visible !important;
    position: relative !important;
    width: clamp(44px, 4.4vw, 76px) !important;
}

.configurator-layout .config-steps > span::before {
    animation: darklabStepPulse 2.6s ease-in-out infinite !important;
    background:
        radial-gradient(circle, rgba(255, 255, 255, .92) 0 12%, rgba(255, 38, 52, .92) 13% 34%, rgba(10, 13, 18, .96) 35% 100%) !important;
    border: 1px solid rgba(255, 105, 116, .68) !important;
    box-shadow:
        0 0 0 1px rgba(255, 255, 255, .10) inset,
        0 0 10px rgba(255, 38, 52, .56),
        0 0 20px rgba(255, 38, 52, .20) !important;
    clip-path: polygon(50% 0, 92% 24%, 92% 76%, 50% 100%, 8% 76%, 8% 24%) !important;
    content: "" !important;
    display: block !important;
    font-size: 0 !important;
    height: 13px !important;
    left: 50% !important;
    line-height: 0 !important;
    position: absolute !important;
    top: 50% !important;
    transform: translate(-50%, -50%) !important;
    width: 13px !important;
    z-index: 2 !important;
}

.configurator-layout .config-steps > span::after {
    animation: darklabDataStream 1.9s cubic-bezier(.4, 0, .2, 1) infinite !important;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .82), rgba(255, 38, 52, .98), transparent) !important;
    border-radius: 999px !important;
    box-shadow: 0 0 10px rgba(255, 38, 52, .58), 0 0 18px rgba(255, 38, 52, .20) !important;
    content: "" !important;
    height: 2px !important;
    left: 0 !important;
    opacity: 0 !important;
    position: absolute !important;
    top: 0 !important;
    width: 32% !important;
    z-index: 1 !important;
}

@keyframes darklabDataStream {
    0% { opacity: 0; transform: translateX(-26%) scaleX(.45); }
    18% { opacity: .86; }
    58% { opacity: .92; }
    100% { opacity: 0; transform: translateX(245%) scaleX(.65); }
}

@keyframes darklabStepPulse {
    0%, 100% {
        filter: brightness(.92);
        box-shadow:
            0 0 0 1px rgba(255, 255, 255, .10) inset,
            0 0 8px rgba(255, 38, 52, .42),
            0 0 16px rgba(255, 38, 52, .16);
    }
    48% {
        filter: brightness(1.22);
        box-shadow:
            0 0 0 1px rgba(255, 255, 255, .16) inset,
            0 0 14px rgba(255, 38, 52, .72),
            0 0 26px rgba(255, 38, 52, .28);
    }
}

/* Admin DarkLab */
.admin-shell {
    --admin-panel: rgba(12, 15, 22, .78);
    --admin-line: rgba(180, 194, 214, .16);
    --admin-red: #ff2534;
    background:
        radial-gradient(circle at 78% 12%, rgba(255, 37, 52, .18), transparent 28%),
        radial-gradient(circle at 18% 90%, rgba(20, 90, 160, .16), transparent 32%),
        linear-gradient(135deg, #050609 0%, #0a0d13 46%, #16070b 100%);
    color: rgba(245, 247, 252, .92);
    display: grid;
    grid-template-columns: 292px minmax(0, 1fr);
    min-height: 100vh;
}

.admin-sidebar {
    background: linear-gradient(180deg, rgba(255, 37, 52, .10), transparent 34%), rgba(4, 5, 9, .92);
    border-right: 1px solid rgba(255, 37, 52, .22);
    display: flex;
    flex-direction: column;
    gap: 28px;
    padding: 34px 24px;
}

.admin-brand {
    color: #fff;
    display: grid;
    gap: 12px;
    letter-spacing: .22em;
    text-decoration: none;
    text-transform: uppercase;
}

.admin-brand img {
    height: 72px;
    object-fit: contain;
    object-position: left center;
    width: 210px;
}

.admin-brand span {
    color: rgba(255, 255, 255, .58);
    font-size: 11px;
}

.admin-nav {
    display: grid;
    gap: 8px;
}

.history-actions.client-history-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(82px, 1fr));
    gap: 8px;
    width: min(100%, 194px);
    margin-left: auto;
}

.history-actions.client-history-actions form,
.history-actions.client-history-actions a,
.history-actions.client-history-actions button {
    width: 100%;
}

.history-actions.client-history-actions .client-history-sav {
    grid-column: 1 / -1;
    min-height: 32px;
    border-color: rgba(255, 49, 69, .58);
    background: linear-gradient(105deg, rgba(230, 21, 46, .18), rgba(94, 12, 26, .3));
    box-shadow: inset 0 1px rgba(255,255,255,.06), 0 0 14px rgba(255,39,63,.08);
}

.history-actions.client-history-actions .client-history-sav-form {
    grid-column: 1 / -1;
    width: 100%;
}

.history-actions.client-history-actions .client-history-sav:hover {
    border-color: #ff344b;
    box-shadow: 0 0 18px rgba(255,39,63,.2);
}

.order-sav-reminder {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 13px;
    margin: 4px 0 12px;
    padding: 11px 13px;
    border: 1px solid rgba(122, 136, 155, .3);
    border-radius: 12px;
    background: rgba(8, 12, 19, .26);
}

.order-sav-reminder-icon {
    display: grid;
    place-items: center;
    min-width: 44px;
    height: 36px;
    padding: 0 8px;
    border: 1px solid rgba(255, 51, 72, .46);
    border-radius: 9px;
    color: #ff4b60;
    font: 700 10px/1 Orbitron, sans-serif;
    letter-spacing: .08em;
}

.order-sav-reminder > div { min-width: 0; }
.order-sav-reminder strong { display: block; color: #f6f7fa; font-size: 13px; }
.order-sav-reminder p { margin: 3px 0 0; color: #a7afbb; font-size: 10.5px; line-height: 1.35; }
.order-sav-reminder-status { padding: 6px 9px; border-radius: 999px; color: #54e99a; background: rgba(36, 192, 109, .12); font: 700 9px/1 Orbitron, sans-serif; }
.order-sav-reminder.is-active { border-color: rgba(54, 220, 137, .42); background: linear-gradient(100deg, rgba(21, 97, 66, .18), rgba(17, 18, 25, .25)); }
.order-sav-reminder.is-locked { border-color: rgba(255, 63, 84, .42); background: linear-gradient(100deg, rgba(92, 24, 36, .2), rgba(17, 18, 25, .3)); }
.order-sav-reminder form { margin: 0; }
.order-sav-reminder button { min-height: 36px; padding: 8px 12px; border: 1px solid rgba(255,51,72,.66); border-radius: 9px; color: #fff; background: linear-gradient(105deg, #ee1d35, #a90820); font-size: 10px; font-weight: 800; white-space: nowrap; }
.order-chat-composer-disabled { display: grid; place-items: center; min-height: 86px; padding: 16px; border: 1px dashed rgba(144,153,167,.27); border-radius: 12px; color: #777f8b; background: rgba(8,10,15,.35); text-align: center; }
.order-chat-composer-disabled span { font-size: 13px; font-weight: 800; text-transform: uppercase; }
.order-chat-composer-disabled p { margin: 5px 0 0; font-size: 10.5px; }
.order-conversation-panel.is-locked .order-message-timeline { opacity: .56; filter: saturate(.55); }

@media (max-width: 700px) {
    .order-sav-reminder { grid-template-columns: auto minmax(0,1fr); }
    .order-sav-reminder form, .order-sav-reminder-status { grid-column: 1 / -1; }
    .order-sav-reminder button { width: 100%; }
}

/* Equipment checkout — premium white invoice sheet */
body.darklab-fixed-bg:not(.no-portal-bg) .equipment-checkout-main .equipment-invoice-grid {
    align-items: start;
    grid-template-columns: minmax(0, 1.18fr) minmax(330px, .82fr);
}

body.darklab-fixed-bg:not(.no-portal-bg) .equipment-checkout-main .equipment-invoice-sheet {
    background: linear-gradient(145deg, #fff 0%, #f7f8fa 58%, #eef1f5 100%);
    border: 1px solid rgba(255,255,255,.88);
    box-shadow: 0 28px 75px rgba(0,0,0,.4), 0 0 0 1px rgba(8,18,34,.14);
    color: #141922;
    overflow: hidden;
    padding: 30px 32px 24px;
    position: relative;
}

body.darklab-fixed-bg:not(.no-portal-bg) .equipment-checkout-main .equipment-invoice-sheet::before {
    background: linear-gradient(90deg, #0878d8 0 33%, #121821 33% 67%, #ed1b2f 67% 100%);
    content: "";
    height: 3px;
    inset: 0 0 auto;
    position: absolute;
}

body.darklab-fixed-bg:not(.no-portal-bg) .equipment-invoice-head {
    align-items: center;
    border-bottom: 1px solid #d8dde4;
    display: flex;
    justify-content: space-between;
    padding-bottom: 20px;
}

body.darklab-fixed-bg:not(.no-portal-bg) .equipment-invoice-head img {
    display: block;
    height: auto;
    max-width: 175px;
}

body.darklab-fixed-bg:not(.no-portal-bg) .equipment-invoice-head > div {
    display: grid;
    gap: 3px;
    text-align: right;
}

body.darklab-fixed-bg:not(.no-portal-bg) .equipment-invoice-head span,
body.darklab-fixed-bg:not(.no-portal-bg) .equipment-invoice-meta span,
body.darklab-fixed-bg:not(.no-portal-bg) .equipment-invoice-table-head {
    color: #747c88;
    font: 700 11px var(--font-ui);
    letter-spacing: .1em;
    text-transform: uppercase;
}

body.darklab-fixed-bg:not(.no-portal-bg) .equipment-invoice-head strong {
    color: #151b25;
    font-size: 20px;
}

body.darklab-fixed-bg:not(.no-portal-bg) .equipment-invoice-meta {
    display: grid;
    grid-template-columns: 1fr auto;
    padding: 20px 0;
}

body.darklab-fixed-bg:not(.no-portal-bg) .equipment-invoice-meta > div {
    display: grid;
    gap: 3px;
}

body.darklab-fixed-bg:not(.no-portal-bg) .equipment-invoice-meta > div:last-child { text-align: right; }
body.darklab-fixed-bg:not(.no-portal-bg) .equipment-invoice-meta strong { color: #151b25; font-size: 15px; }
body.darklab-fixed-bg:not(.no-portal-bg) .equipment-invoice-meta small { color: #6d7480; font-size: 12px; }

body.darklab-fixed-bg:not(.no-portal-bg) .equipment-invoice-table {
    border: 1px solid #d8dde4;
    border-radius: 8px;
    overflow: hidden;
}

body.darklab-fixed-bg:not(.no-portal-bg) .equipment-invoice-table-head,
body.darklab-fixed-bg:not(.no-portal-bg) .equipment-invoice-items article {
    display: grid;
    gap: 12px;
    grid-template-columns: 58px minmax(170px, 1fr) 42px 116px 110px;
}

body.darklab-fixed-bg:not(.no-portal-bg) .equipment-invoice-table-head {
    background: #171c25;
    color: #fff;
    padding: 11px 14px;
}

body.darklab-fixed-bg:not(.no-portal-bg) .equipment-invoice-table-head span:first-child { grid-column: 1 / 3; }
body.darklab-fixed-bg:not(.no-portal-bg) .equipment-invoice-table-head span:nth-child(n+2) { text-align: right; }

body.darklab-fixed-bg:not(.no-portal-bg) .equipment-invoice-items { gap: 0; }
body.darklab-fixed-bg:not(.no-portal-bg) .equipment-invoice-items article {
    border-bottom: 1px solid #dfe3e8;
    padding: 13px 14px;
}
body.darklab-fixed-bg:not(.no-portal-bg) .equipment-invoice-items article:last-child { border-bottom: 0; }
body.darklab-fixed-bg:not(.no-portal-bg) .equipment-invoice-items img {
    background: #fff;
    border: 1px solid #d9dde3;
    height: 48px;
    object-fit: contain;
    width: 58px;
}

body.darklab-fixed-bg:not(.no-portal-bg) .equipment-invoice-designation { display: grid; gap: 3px; min-width: 0; }
body.darklab-fixed-bg:not(.no-portal-bg) .equipment-invoice-designation strong { color: #151b25; font-size: 15px; }
body.darklab-fixed-bg:not(.no-portal-bg) .equipment-invoice-designation span { color: #6d7480; font-size: 12px; }
body.darklab-fixed-bg:not(.no-portal-bg) .equipment-invoice-items article > b,
body.darklab-fixed-bg:not(.no-portal-bg) .equipment-invoice-items article > span,
body.darklab-fixed-bg:not(.no-portal-bg) .equipment-invoice-items article > strong {
    color: #29303a;
    font-style: normal;
    text-align: right;
}
body.darklab-fixed-bg:not(.no-portal-bg) .equipment-invoice-items article > strong { color: #e5162b; }

body.darklab-fixed-bg:not(.no-portal-bg) .equipment-invoice-totals {
    border-top: 1px solid #cfd5dc;
    gap: 0;
    margin-left: auto;
    margin-top: 20px;
    max-width: 410px;
    padding-top: 10px;
}
body.darklab-fixed-bg:not(.no-portal-bg) .equipment-invoice-totals div {
    border: 0;
    border-bottom: 1px solid #e0e4e9;
    border-radius: 0;
    padding: 8px 4px;
}
body.darklab-fixed-bg:not(.no-portal-bg) .equipment-invoice-totals span { color: #59616d; }
body.darklab-fixed-bg:not(.no-portal-bg) .equipment-invoice-totals strong { color: #171c25; }
body.darklab-fixed-bg:not(.no-portal-bg) .equipment-invoice-totals div:last-child {
    border-top: 2px solid #171c25;
    border-bottom: 0;
    margin-top: 5px;
    padding-top: 12px;
}
body.darklab-fixed-bg:not(.no-portal-bg) .equipment-invoice-totals div:last-child span,
body.darklab-fixed-bg:not(.no-portal-bg) .equipment-invoice-totals div:last-child strong { color: #e5162b; font-size: 17px; }

body.darklab-fixed-bg:not(.no-portal-bg) .equipment-invoice-sheet .equipment-rental-note {
    border-top: 1px solid #d8dde4;
    color: #6b7380;
    font-size: 10px;
    line-height: 1.45;
    margin: 18px 0 0;
    padding-top: 12px;
}

body.darklab-fixed-bg:not(.no-portal-bg) .equipment-invoice-footer {
    align-items: center;
    display: flex;
    justify-content: space-between;
    margin-top: 18px;
}
body.darklab-fixed-bg:not(.no-portal-bg) .equipment-invoice-footer span { color: #e5162b; font-weight: 900; letter-spacing: .14em; }
body.darklab-fixed-bg:not(.no-portal-bg) .equipment-invoice-footer small { color: #7a818c; letter-spacing: .06em; }

@media (max-width: 1100px) {
    body.darklab-fixed-bg:not(.no-portal-bg) .equipment-checkout-main .equipment-invoice-grid { grid-template-columns: 1fr; }
}

@media (max-width: 700px) {
    body.darklab-fixed-bg:not(.no-portal-bg) .equipment-checkout-main .equipment-invoice-sheet { padding: 22px 16px 18px; }
    body.darklab-fixed-bg:not(.no-portal-bg) .equipment-invoice-head { align-items: flex-start; gap: 14px; }
    body.darklab-fixed-bg:not(.no-portal-bg) .equipment-invoice-head img { max-width: 120px; }
    body.darklab-fixed-bg:not(.no-portal-bg) .equipment-invoice-head strong { font-size: 15px; }
    body.darklab-fixed-bg:not(.no-portal-bg) .equipment-invoice-table-head { display: none; }
    body.darklab-fixed-bg:not(.no-portal-bg) .equipment-invoice-items article {
        grid-template-columns: 52px 1fr;
        padding: 14px 12px;
    }
    body.darklab-fixed-bg:not(.no-portal-bg) .equipment-invoice-items img { height: 46px; width: 52px; }
    body.darklab-fixed-bg:not(.no-portal-bg) .equipment-invoice-designation { align-self: center; }
    body.darklab-fixed-bg:not(.no-portal-bg) .equipment-invoice-items article > b,
    body.darklab-fixed-bg:not(.no-portal-bg) .equipment-invoice-items article > span,
    body.darklab-fixed-bg:not(.no-portal-bg) .equipment-invoice-items article > strong {
        display: flex;
        grid-column: 1 / -1;
        justify-content: space-between;
    }
    body.darklab-fixed-bg:not(.no-portal-bg) .equipment-invoice-items [data-label]::before {
        color: #747c88;
        content: attr(data-label);
        font-size: 10px;
        letter-spacing: .08em;
        text-transform: uppercase;
    }
    body.darklab-fixed-bg:not(.no-portal-bg) .equipment-invoice-footer { align-items: flex-start; flex-direction: column; gap: 5px; }
}

/* Equipment checkout — guided billing and delivery details */
body.darklab-fixed-bg:not(.no-portal-bg) .equipment-checkout-main .equipment-customer-panel {
    padding: 26px;
}

body.darklab-fixed-bg:not(.no-portal-bg) .equipment-checkout-main .equipment-form-intro {
    border-left: 2px solid #ff2634;
    color: rgba(236,241,250,.68);
    font-size: 13px;
    line-height: 1.45;
    margin: -4px 0 18px;
    padding-left: 11px;
}

body.darklab-fixed-bg:not(.no-portal-bg) .equipment-checkout-main .equipment-form-grid {
    display: grid;
    gap: 0 12px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

body.darklab-fixed-bg:not(.no-portal-bg) .equipment-checkout-main .equipment-field-wide {
    grid-column: 1 / -1;
}

body.darklab-fixed-bg:not(.no-portal-bg) .equipment-checkout-main .equipment-customer-panel label > small {
    color: rgba(236,241,250,.42);
    font-size: 10px;
    margin-left: 5px;
}

body.darklab-fixed-bg:not(.no-portal-bg) .equipment-checkout-main .equipment-address-group {
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 9px;
    margin: 7px 0 14px;
    padding: 13px 14px 2px;
}

body.darklab-fixed-bg:not(.no-portal-bg) .equipment-checkout-main .equipment-address-group legend {
    color: #fff;
    font: 800 12px var(--font-ui);
    letter-spacing: .07em;
    padding: 0 7px;
    text-transform: uppercase;
}

body.darklab-fixed-bg:not(.no-portal-bg) .equipment-checkout-main .equipment-same-address {
    align-items: center;
    background: linear-gradient(110deg, rgba(26,191,112,.13), rgba(8,12,18,.32));
    border: 1px solid rgba(42,213,131,.38);
    border-radius: 9px;
    cursor: pointer;
    display: flex;
    gap: 11px;
    margin: 0 0 14px;
    padding: 11px 13px;
}

body.darklab-fixed-bg:not(.no-portal-bg) .equipment-checkout-main .equipment-same-address input {
    accent-color: #20d27d;
    flex: 0 0 auto;
    height: 18px;
    margin: 0;
    width: 18px;
}

body.darklab-fixed-bg:not(.no-portal-bg) .equipment-checkout-main .equipment-same-address span {
    display: grid;
    gap: 2px;
}

body.darklab-fixed-bg:not(.no-portal-bg) .equipment-checkout-main .equipment-same-address strong {
    color: #f4f8fb;
    font-size: 13px;
}

body.darklab-fixed-bg:not(.no-portal-bg) .equipment-checkout-main .equipment-same-address small {
    color: rgba(182,231,206,.66);
    font-size: 10px;
}

body.darklab-fixed-bg:not(.no-portal-bg) .equipment-checkout-main .equipment-shipping-fields[hidden] {
    display: none;
}

body.darklab-fixed-bg:not(.no-portal-bg) .equipment-checkout-main .equipment-delivery-group {
    border: 0;
    margin: 5px 0 14px;
    padding: 0;
}

body.darklab-fixed-bg:not(.no-portal-bg) .equipment-checkout-main .equipment-delivery-group legend {
    color: #fff;
    font: 800 13px var(--font-ui);
    margin-bottom: 9px;
}

body.darklab-fixed-bg:not(.no-portal-bg) .equipment-checkout-main .equipment-delivery-choice {
    align-items: center;
    background: rgba(5,7,12,.52);
    border: 1px solid rgba(255,255,255,.13);
    cursor: pointer;
    display: grid;
    gap: 11px;
    grid-template-columns: auto minmax(0,1fr) auto;
    margin: 0;
    padding: 12px 13px;
    transition: border-color .18s ease, background .18s ease, box-shadow .18s ease;
}

body.darklab-fixed-bg:not(.no-portal-bg) .equipment-checkout-main .equipment-delivery-choice:first-of-type {
    border-radius: 9px 9px 0 0;
}

body.darklab-fixed-bg:not(.no-portal-bg) .equipment-checkout-main .equipment-delivery-choice:last-of-type {
    border-radius: 0 0 9px 9px;
    border-top: 0;
}

body.darklab-fixed-bg:not(.no-portal-bg) .equipment-checkout-main .equipment-delivery-choice:has(input:checked) {
    background: linear-gradient(110deg, rgba(255,38,52,.15), rgba(8,12,18,.54));
    border-color: rgba(255,55,70,.65);
    box-shadow: inset 3px 0 0 #ff2634, 0 0 18px rgba(255,38,52,.08);
}

body.darklab-fixed-bg:not(.no-portal-bg) .equipment-checkout-main .equipment-delivery-choice input {
    accent-color: #ff2634;
    height: 18px;
    margin: 0;
    width: 18px;
}

body.darklab-fixed-bg:not(.no-portal-bg) .equipment-checkout-main .equipment-delivery-choice span {
    display: grid;
    gap: 3px;
}

body.darklab-fixed-bg:not(.no-portal-bg) .equipment-checkout-main .equipment-delivery-choice strong {
    color: #f5f7fb;
    font-size: 13px;
}

body.darklab-fixed-bg:not(.no-portal-bg) .equipment-checkout-main .equipment-delivery-choice small {
    color: rgba(236,241,250,.55);
    font-size: 10px;
    line-height: 1.35;
}

body.darklab-fixed-bg:not(.no-portal-bg) .equipment-checkout-main .equipment-delivery-choice b {
    color: #ff929d;
    font-size: 11px;
    white-space: nowrap;
}

body.darklab-fixed-bg:not(.no-portal-bg) .equipment-checkout-main .equipment-order-comment textarea {
    min-height: 68px;
    resize: vertical;
}

@media (max-width: 560px) {
    body.darklab-fixed-bg:not(.no-portal-bg) .equipment-checkout-main .equipment-customer-panel {
        padding: 20px 16px;
    }

    body.darklab-fixed-bg:not(.no-portal-bg) .equipment-checkout-main .equipment-form-grid {
        grid-template-columns: 1fr;
    }

    body.darklab-fixed-bg:not(.no-portal-bg) .equipment-checkout-main .equipment-field-wide {
        grid-column: auto;
    }

    body.darklab-fixed-bg:not(.no-portal-bg) .equipment-checkout-main .equipment-delivery-choice {
        grid-template-columns: auto minmax(0,1fr);
    }

    body.darklab-fixed-bg:not(.no-portal-bg) .equipment-checkout-main .equipment-delivery-choice b {
        grid-column: 2;
    }
}

/* Services summary — safe breathing room above viewport/taskbar edge */
body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main {
    padding-bottom: 64px !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .service-summary {
    margin-bottom: 34px !important;
    padding-bottom: 28px !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .service-continue {
    box-sizing: border-box !important;
    margin-bottom: 0 !important;
}

@media (max-height: 1050px) {
    body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .service-summary {
        align-self: start !important;
        position: static !important;
        top: auto !important;
    }
}

/* Dashboard primary cards — no clipped or overflowing content */
body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .dashboard-command-row > .credit-counter-card,
body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .dashboard-command-row > .upload-launch-card,
body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .dashboard-command-row > .latest-order-status-card {
    height: 120px;
    min-height: 120px;
    overflow: hidden;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .dashboard-command-row > .credit-counter-card,
body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .dashboard-command-row > .upload-launch-card {
    padding-block: 10px;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .dashboard-command-row .credit-counter-copy {
    align-self: center;
    min-width: 0;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .dashboard-command-row .credit-counter-copy strong {
    font-size: clamp(36px, 3.1vw, 44px);
    line-height: .92;
    margin: 5px 0 7px;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .dashboard-command-row .credit-counter-help {
    display: block;
    font-size: 11px;
    line-height: 1.22;
    max-width: 245px;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .dashboard-command-row .upload-launch-card > div {
    align-self: center;
    min-width: 0;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .dashboard-command-row .upload-launch-card h2 {
    font-size: clamp(22px, 2.35vw, 30px);
    line-height: .98;
    margin: 7px 0 4px;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .dashboard-command-row .upload-launch-card p {
    font-size: clamp(11px, 1.15vw, 15px);
    line-height: 1.1;
    margin: 0;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .dashboard-command-row .upload-launch-action {
    align-self: center;
    flex: 0 0 auto;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .latest-order-status-card {
    justify-content: center;
    padding-block: 10px;
}

@media (max-width: 1280px) {
    body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .dashboard-command-row > .credit-counter-card,
    body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .dashboard-command-row > .upload-launch-card,
    body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .dashboard-command-row > .latest-order-status-card {
        height: 122px;
        min-height: 122px;
    }
}

@media (max-width: 760px) {
    body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .dashboard-command-row > .credit-counter-card,
    body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .dashboard-command-row > .upload-launch-card,
    body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .dashboard-command-row > .latest-order-status-card {
        height: auto;
        min-height: 116px;
    }
}

/* Final cascade guard — rounded admin dashboard cards (Admin + Super Admin) */
body.darklab-fixed-bg:not(.no-portal-bg) .admin-main .admin-dashboard-hero-simple {
    border-radius: 18px !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .admin-main .admin-dashboard-switch {
    border-radius: 12px !important;
    overflow: hidden;
}

body.darklab-fixed-bg:not(.no-portal-bg) .admin-main .admin-dashboard-switch button {
    border-radius: 8px !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .admin-main .admin-dashboard-livebar {
    border-radius: 14px !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .admin-main .admin-simple-card,
body.darklab-fixed-bg:not(.no-portal-bg) .admin-main .admin-simple-panel,
body.darklab-fixed-bg:not(.no-portal-bg) .admin-main .admin-dashboard-view[data-admin-dashboard-view="advanced"] .admin-metrics article,
body.darklab-fixed-bg:not(.no-portal-bg) .admin-main .admin-dashboard-view[data-admin-dashboard-view="advanced"] .admin-panel {
    border-radius: 16px !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .admin-main .admin-simple-order-list a,
body.darklab-fixed-bg:not(.no-portal-bg) .admin-main .admin-priority-list.compact a,
body.darklab-fixed-bg:not(.no-portal-bg) .admin-main .admin-alert-list.compact a {
    border-radius: 12px !important;
}

/* Ordre final volontaire : neutralise les anciennes largeurs de l'historique. */
html body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main #history .history-table-scroll { overflow-x: hidden !important; }
html body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main #history .history-table { width: 100% !important; min-width: 0 !important; table-layout: fixed !important; }
html body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main #history .history-table th:nth-child(1),
html body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main #history .history-table td:nth-child(1) { width: 18% !important; padding-right: 12px !important; }
html body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main #history .history-table th:nth-child(2),
html body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main #history .history-table td:nth-child(2) { width: 37% !important; padding-left: 8px !important; padding-right: 14px !important; }
html body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main #history .history-table th:nth-child(3),
html body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main #history .history-table td:nth-child(3) { width: 20% !important; }
html body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main #history .history-table th:nth-child(4),
html body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main #history .history-table td:nth-child(4) { width: 25% !important; }
html body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main #history .history-table td.history-vehicle-col strong { font-size: clamp(15px, 1.1vw, 18px) !important; line-height: 1.18 !important; }
@media (max-width: 900px) {
    html body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main #history .history-table-scroll { overflow-x: auto !important; }
    html body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main #history .history-table { min-width: 760px !important; }
}

/* DARKLAB FINAL — historique client : colonnes resserrées et véhicule rapproché. */
html body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main #history .history-table-scroll { overflow-x: hidden !important; }
html body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main #history .history-table {
    width: 100% !important;
    min-width: 0 !important;
    table-layout: fixed !important;
}
html body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main #history .history-table th:nth-child(1),
html body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main #history .history-table td:nth-child(1) {
    width: 18% !important;
    padding-right: 12px !important;
}
html body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main #history .history-table th:nth-child(2),
html body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main #history .history-table td:nth-child(2) {
    width: 37% !important;
    padding-left: 8px !important;
    padding-right: 14px !important;
}
html body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main #history .history-table th:nth-child(3),
html body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main #history .history-table td:nth-child(3) { width: 20% !important; }
html body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main #history .history-table th:nth-child(4),
html body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main #history .history-table td:nth-child(4) { width: 25% !important; }
html body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main #history .history-table td.history-vehicle-col strong {
    font-size: clamp(15px, 1.1vw, 18px) !important;
    line-height: 1.18 !important;
}
@media (max-width: 900px) {
    html body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main #history .history-table-scroll { overflow-x: auto !important; }
    html body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main #history .history-table { min-width: 760px !important; }
}

/* Admin File Service command center — shared by Admin and Super Admin */
.admin-orders-command-center {
    display: grid;
    gap: 14px;
    width: 100%;
}

.admin-orders-command-hero {
    position: relative;
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 28px;
    min-height: 132px;
    padding: 24px 30px;
    overflow: hidden;
    border: 1px solid rgba(255, 68, 91, .32);
    border-radius: 0 0 18px 18px;
    background: linear-gradient(112deg, rgba(10, 16, 25, .96), rgba(28, 27, 36, .95) 54%, rgba(70, 15, 29, .82));
    box-shadow: inset 0 1px rgba(255,255,255,.08), 0 14px 40px rgba(0,0,0,.2);
}

.admin-orders-command-hero::after {
    content: "DKB";
    position: absolute;
    right: 4%;
    bottom: -42px;
    color: rgba(255,255,255,.022);
    font: 700 122px/1 Orbitron, sans-serif;
    letter-spacing: .08em;
    pointer-events: none;
}

.admin-orders-command-hero .eyebrow,
.admin-orders-workspace-head .eyebrow {
    margin: 0 0 5px;
    color: #ff3048;
    font: 600 12px/1.2 Orbitron, sans-serif;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.admin-orders-command-hero h1 {
    margin: 0;
    color: #f8f9fc;
    font-size: clamp(34px, 4vw, 58px);
    line-height: .98;
    letter-spacing: -.035em;
}

.admin-orders-command-hero p:not(.eyebrow) { margin: 9px 0 0; color: #aeb5c0; font-size: 14px; }

.admin-orders-alert-summary {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    gap: 9px;
    padding: 10px 14px;
    border: 1px solid rgba(255, 55, 78, .48);
    border-radius: 999px;
    background: rgba(25, 13, 19, .72);
    color: #dce0e7;
    font-size: 12px;
    white-space: nowrap;
}

.admin-orders-alert-summary strong { color: #fff; font: 700 17px/1 Orbitron, sans-serif; }
.admin-orders-alert-summary { text-decoration: none; }
.admin-orders-alert-summary i { color: #ff5367; font-style: normal; font-weight: 700; }
.admin-orders-alert-pulse { width: 8px; height: 8px; flex: 0 0 8px; border-radius: 50%; background: #ff3048; box-shadow: 0 0 0 5px rgba(255,48,72,.12), 0 0 12px #ff3048; animation: adminOrderPulse 1.8s infinite; }
@keyframes adminOrderPulse { 50% { opacity: .48; box-shadow: 0 0 0 8px rgba(255,48,72,0), 0 0 4px #ff3048; } }

.admin-orders-tabs {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
}

.admin-orders-tabs > a {
    position: relative;
    display: grid;
    grid-template-columns: auto minmax(0,1fr) auto;
    align-items: center;
    gap: 14px;
    min-height: 76px;
    padding: 12px 18px;
    overflow: hidden;
    border: 1px solid rgba(132, 142, 158, .24);
    border-radius: 14px;
    background: linear-gradient(120deg, rgba(26,32,43,.96), rgba(28,22,31,.96));
    color: #bdc3cc;
    text-decoration: none;
    transition: border-color .2s, transform .2s, box-shadow .2s;
}

.admin-orders-tabs > a:hover { transform: translateY(-1px); border-color: rgba(255,53,77,.48); }
.admin-orders-tabs > a.active { border-color: rgba(255,54,77,.82); box-shadow: inset 3px 0 #ff263f, 0 8px 24px rgba(255,25,55,.1); background: linear-gradient(120deg, rgba(42,38,49,.98), rgba(65,17,29,.94)); }
.admin-orders-tab-index { color: #ff3048; font: 600 11px/1 Orbitron, sans-serif; letter-spacing: .12em; }
.admin-orders-tab-copy { display: grid; gap: 4px; min-width: 0; }
.admin-orders-tab-copy strong { color: #f6f7fa; font-size: 18px; }
.admin-orders-tab-copy small { color: #8f98a5; font-size: 11px; letter-spacing: .05em; text-transform: uppercase; }
.admin-orders-tabs b { display: grid; place-items: center; min-width: 48px; height: 48px; padding: 0 10px; border: 1px solid rgba(255,255,255,.13); border-radius: 12px; color: #fff; background: rgba(7,10,16,.42); font: 600 22px/1 Orbitron, sans-serif; }

.admin-orders-workspace {
    padding: 18px;
    border: 1px solid rgba(139,150,166,.3);
    border-radius: 17px;
    background: linear-gradient(120deg, rgba(50,62,78,.92), rgba(40,25,35,.94));
    box-shadow: inset 0 1px rgba(255,255,255,.08);
}

.admin-orders-workspace-head { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-bottom: 14px; }
.admin-orders-workspace-head h2 { margin: 0; color: #f8f9fb; font-size: 25px; }
.admin-orders-search { display: grid; grid-template-columns: auto minmax(220px,390px); align-items: center; gap: 12px; width: min(100%, 520px); padding: 0 8px 0 16px; border: 1px solid rgba(172,183,199,.3); border-radius: 999px; background: rgba(8,12,19,.3); }
.admin-orders-search span { color: #ff3048; font: 600 10px/1 Orbitron, sans-serif; letter-spacing: .12em; text-transform: uppercase; }
.admin-orders-search input { width: 100%; height: 42px; padding: 0; border: 0; outline: 0; background: transparent; color: #fff; }

.admin-orders-card-list { display: grid; gap: 9px; }
.admin-order-card {
    position: relative;
    display: grid;
    grid-template-columns: minmax(350px,1.65fr) minmax(180px,.7fr) minmax(185px,.72fr) minmax(145px,.52fr);
    align-items: stretch;
    min-height: 132px;
    overflow: hidden;
    border: 1px solid rgba(164,174,190,.22);
    border-radius: 13px;
    background: linear-gradient(104deg, rgba(18,24,34,.93), rgba(28,27,36,.92) 58%, rgba(47,20,29,.9));
    cursor: pointer;
    transition: border-color .2s, transform .2s, box-shadow .2s;
}
.admin-order-card:hover { transform: translateX(2px); border-color: rgba(255,61,83,.58); box-shadow: 0 10px 25px rgba(0,0,0,.18), inset 0 0 22px rgba(255,31,59,.035); }
.admin-order-card.has-client-message { border-color: rgba(255,48,72,.58); box-shadow: inset 0 0 25px rgba(255,37,65,.045); }
.admin-order-status-rail { position: absolute; inset: 13px auto 13px 0; width: 3px; border-radius: 0 6px 6px 0; background: #ff3048; box-shadow: 0 0 12px rgba(255,48,72,.6); }
.admin-order-card-main, .admin-order-card-client, .admin-order-card-state, .admin-order-card-actions { min-width: 0; padding: 16px 18px; }
.admin-order-card-client, .admin-order-card-state, .admin-order-card-actions { border-left: 1px solid rgba(255,255,255,.085); }
.admin-order-card-kicker { display: flex; justify-content: space-between; gap: 10px; color: #929ba8; font: 500 9px/1.2 Orbitron,sans-serif; letter-spacing: .1em; text-transform: uppercase; }
.admin-order-card-kicker span { color: #ff5367; }
.admin-order-card-title { display: block; margin-top: 8px; overflow: hidden; color: #f8f9fb; font-size: 19px; font-weight: 700; line-height: 1.15; text-decoration: none; text-overflow: ellipsis; white-space: nowrap; }
.admin-order-card-file { margin: 5px 0 10px; overflow: hidden; color: #9099a6; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.admin-order-card-services { display: flex; align-items: baseline; gap: 9px; min-width: 0; }
.admin-order-card-services span, .admin-order-card-client > span { color: #7f8997; font: 500 9px/1 Orbitron,sans-serif; letter-spacing: .1em; text-transform: uppercase; }
.admin-order-card-services strong { overflow: hidden; color: #ff4058; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.admin-order-card-client, .admin-order-card-state { display: flex; flex-direction: column; justify-content: center; gap: 6px; }
.admin-order-card-client strong { overflow: hidden; color: #f3f4f7; font-size: 15px; text-overflow: ellipsis; white-space: nowrap; }
.admin-order-card-client small, .admin-order-card-state > small { overflow: hidden; color: #9aa3af; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.admin-order-state-pill { display: inline-flex; align-items: center; align-self: flex-start; gap: 8px; padding: 7px 10px; border: 1px solid rgba(255,75,95,.42); border-radius: 999px; color: #ff9ba7; font: 600 10px/1 Orbitron,sans-serif; text-transform: uppercase; }
.admin-order-state-pill i { width: 7px; height: 7px; border-radius: 50%; background: currentColor; box-shadow: 0 0 8px currentColor; }
.admin-order-state-pill.is-done { border-color: rgba(54,222,137,.5); color: #50e69a; }
.admin-order-state-pill.is-progress { color: #ff5469; }
.admin-order-state-pill.is-sav { border-color: rgba(71,170,255,.52); color: #63b8ff; }
.admin-order-state-pill.is-pending { border-color: rgba(255,172,64,.42); color: #ffc06a; }
.admin-order-message-alert { display: inline-grid; grid-template-columns: 25px auto; align-items: center; align-self: flex-start; gap: 1px 8px; margin-top: 3px; padding: 6px 9px 6px 6px; border: 1px solid rgba(255,48,72,.7); border-radius: 10px; color: #fff; background: rgba(255,31,57,.12); font-size: 10px; font-weight: 700; text-decoration: none; box-shadow: 0 0 14px rgba(255,38,65,.12); }
.admin-order-message-alert b { grid-row: 1 / span 2; display: grid; place-items: center; width: 25px; height: 25px; border-radius: 7px; background: #ff2944; color: #fff; font: 700 12px/1 Orbitron,sans-serif; box-shadow: 0 0 12px rgba(255,41,68,.45); }
.admin-order-message-alert span { white-space: nowrap; }
.admin-order-message-alert i { color: #ff7586; font-size: 9px; font-style: normal; text-transform: uppercase; }
.admin-order-message-alert:hover { border-color: #ff3048; background: rgba(255,31,57,.22); transform: translateY(-1px); }
.admin-order-message-count { color: #8e97a4; font-size: 10px; }
.admin-order-card-actions { display: flex; flex-direction: column; align-items: stretch; justify-content: center; gap: 7px; min-width: 0; }
.admin-order-open, .admin-order-download { display: inline-flex; align-items: center; justify-content: space-between; gap: 10px; width: 100%; min-width: 0; min-height: 40px; padding: 9px 11px; border-radius: 10px; color: #fff; font-size: 10px; font-weight: 700; line-height: 1.15; text-decoration: none; }
.admin-order-open { border: 1px solid rgba(255,54,77,.48); background: linear-gradient(100deg, rgba(225,20,46,.18), rgba(93,12,25,.25)); }
.admin-order-download { border: 1px solid rgba(255,255,255,.15); background: rgba(255,255,255,.055); }
.admin-order-open span, .admin-order-download span { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.admin-order-open i, .admin-order-download i { flex: 0 0 auto; color: #ff4058; font-size: 16px; font-style: normal; }
.admin-order-open:hover, .admin-order-download:hover { border-color: #ff4058; background-color: rgba(255,45,68,.16); }
.admin-orders-empty-state { display: grid; place-items: center; min-height: 220px; padding: 30px; border: 1px dashed rgba(160,171,187,.28); border-radius: 13px; text-align: center; }
.admin-orders-empty-state > span { display: grid; place-items: center; width: 48px; height: 48px; border: 1px solid rgba(255,63,85,.42); border-radius: 50%; color: #ff4058; font-size: 22px; }
.admin-orders-empty-state strong { margin-top: 13px; color: #fff; font-size: 18px; }
.admin-orders-empty-state p, .admin-orders-search-empty { color: #9099a5; }
.admin-orders-search-empty { padding: 28px; text-align: center; }

@media (max-width: 1260px) {
    .admin-order-card { grid-template-columns: minmax(300px,1.5fr) minmax(170px,.75fr) minmax(180px,.8fr); }
    .admin-order-card-actions { grid-column: 1 / -1; align-items: flex-end; justify-content: flex-end; padding-block: 10px; border-top: 1px solid rgba(255,255,255,.085); border-left: 0; }
    .admin-order-card-actions .admin-order-open, .admin-order-card-actions .admin-order-download { width: min(190px, 100%); }
}

@media (max-width: 900px) {
    .admin-orders-command-hero { align-items: flex-start; flex-direction: column; min-height: 0; padding: 22px; }
    .admin-orders-workspace-head { align-items: stretch; flex-direction: column; }
    .admin-orders-search { width: 100%; }
    .admin-order-card { grid-template-columns: minmax(0,1fr) minmax(180px,.55fr); }
    .admin-order-card-client { border-left: 1px solid rgba(255,255,255,.085); }
    .admin-order-card-state { border-top: 1px solid rgba(255,255,255,.085); border-left: 0; }
    .admin-order-card-actions { grid-column: auto; border-top: 1px solid rgba(255,255,255,.085); border-left: 1px solid rgba(255,255,255,.085); }
}

@media (max-width: 620px) {
    .admin-orders-command-center { gap: 10px; }
    .admin-orders-command-hero h1 { font-size: 34px; }
    .admin-orders-tabs { grid-template-columns: 1fr; }
    .admin-orders-tabs > a { min-height: 64px; }
    .admin-orders-workspace { padding: 10px; }
    .admin-orders-search { grid-template-columns: 1fr; gap: 2px; padding: 10px 13px 0; border-radius: 12px; }
    .admin-order-card { grid-template-columns: 1fr; }
    .admin-order-card-main, .admin-order-card-client, .admin-order-card-state, .admin-order-card-actions { padding: 14px; border-top: 1px solid rgba(255,255,255,.075); border-left: 0; }
    .admin-order-card-main { border-top: 0; }
    .admin-order-card-actions { flex-direction: column; justify-content: stretch; }
    .admin-order-card-actions .admin-order-open, .admin-order-card-actions .admin-order-download { width: 100%; }
}

.order-selected-services {
    display: grid;
    gap: 0;
    margin: 10px 0 12px;
    padding: 0;
    list-style: none;
}

.order-selected-services li {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 14px;
    padding: 9px 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.order-selected-services li:last-child {
    border-bottom: 0;
}

.order-selected-services span {
    min-width: 0;
    color: #f4f5f8;
    line-height: 1.2;
}

.order-selected-services strong {
    color: #ff3547;
    font-size: 0.84rem;
    white-space: nowrap;
}

.order-selected-services strong.is-free {
    color: #39ee8a;
}

/* FINAL GUARD: recap remains sticky and independently scrollable */
@media (min-width: 721px) {
    html body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .service-summary {
        align-self: start !important;
        max-height: calc(100vh - 24px) !important;
        overscroll-behavior-y: contain !important;
        overflow-x: hidden !important;
        overflow-y: scroll !important;
        position: sticky !important;
        scrollbar-color: rgba(255, 53, 69, .62) rgba(255,255,255,.055) !important;
        scrollbar-gutter: stable !important;
        scrollbar-width: thin !important;
        top: 12px !important;
    }

    html body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .service-summary::-webkit-scrollbar {
        width: 6px !important;
    }

    html body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .service-summary::-webkit-scrollbar-track {
        background: rgba(255,255,255,.045) !important;
    }

    html body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .service-summary::-webkit-scrollbar-thumb {
        background: linear-gradient(#ff4656, #9d1322) !important;
        border-radius: 999px !important;
    }
}

/* Final services recap behavior — sticky card with its own vertical scroll */
@media (min-width: 721px) {
    body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .service-summary {
        align-self: start !important;
        box-sizing: border-box !important;
        max-height: calc(100vh - 24px) !important;
        overscroll-behavior: contain !important;
        overflow-x: hidden !important;
        overflow-y: auto !important;
        position: sticky !important;
        scrollbar-color: rgba(255, 53, 69, .55) rgba(255,255,255,.06);
        scrollbar-gutter: stable;
        scrollbar-width: thin;
        top: 12px !important;
    }

    body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .service-summary::-webkit-scrollbar {
        width: 6px;
    }

    body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .service-summary::-webkit-scrollbar-track {
        background: rgba(255,255,255,.045);
        border-radius: 999px;
    }

    body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .service-summary::-webkit-scrollbar-thumb {
        background: linear-gradient(#ff4656, #9d1322);
        border-radius: 999px;
    }
}

@media (max-width: 720px) {
    body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .service-summary {
        max-height: none !important;
        overflow: visible !important;
        position: static !important;
        top: auto !important;
    }
}

/* Closed File Service — clear pulsing alert and information access */
body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .service-file-status.is-closed {
    animation: darklab-service-alert 1.9s ease-in-out infinite;
    display: grid;
    gap: 8px;
    grid-template-columns: auto minmax(0, 1fr) 20px;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .service-file-status.is-closed > span {
    white-space: nowrap;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .service-file-status.is-closed > small {
    justify-self: end;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .service-status-info {
    align-items: center;
    appearance: none;
    background: rgba(255, 38, 52, .12);
    border: 1px solid rgba(255, 255, 255, .45);
    border-radius: 50%;
    color: #fff;
    cursor: pointer;
    display: inline-flex;
    font: 800 10px/1 var(--font-ui);
    height: 20px;
    justify-content: center;
    padding: 0;
    transition: background .18s ease, box-shadow .18s ease, transform .18s ease;
    width: 20px;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .service-status-info:hover,
body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .service-status-info:focus-visible {
    background: rgba(255, 38, 52, .28);
    box-shadow: 0 0 13px rgba(255, 45, 59, .45);
    outline: none;
    transform: scale(1.06);
}

@keyframes darklab-service-alert {
    0%, 100% {
        border-color: rgba(255, 51, 64, .34);
        box-shadow: inset 0 1px 0 rgba(255,255,255,.10), 0 0 12px rgba(255,38,52,.12);
    }
    50% {
        border-color: rgba(255, 67, 79, .76);
        box-shadow: inset 0 1px 0 rgba(255,255,255,.13), 0 0 22px rgba(255,38,52,.32);
    }
}

@media (prefers-reduced-motion: reduce) {
    body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .service-file-status.is-closed {
        animation: none;
    }
}

@media (max-width: 420px) {
    body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .service-file-status.is-closed {
        grid-template-columns: minmax(0, 1fr) 20px;
    }

    body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .service-file-status.is-closed > small {
        display: none;
    }
}

/* Closed service status — compact, aligned, no label collision */
body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .service-file-status.is-closed {
    gap: 7px !important;
    grid-template-columns: minmax(112px, auto) minmax(0, 1fr) 20px !important;
    padding-inline: 11px !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .service-file-status.is-closed > span {
    font-size: 10px !important;
    letter-spacing: .105em !important;
    min-width: 0 !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .service-file-status.is-closed > small {
    font-size: 8px !important;
    letter-spacing: .065em !important;
    text-align: right !important;
}

/* Stable two-item closed state: label + information button */
body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .service-file-status.is-closed {
    align-items: center !important;
    display: flex !important;
    justify-content: space-between !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .service-file-status.is-closed > span {
    flex: 1 1 auto !important;
    overflow: visible !important;
    text-overflow: clip !important;
    white-space: nowrap !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .service-file-status.is-closed > .service-status-info {
    flex: 0 0 20px !important;
}

/* Modal backdrop is a button: neutralize global red button styling */
html body.darklab-fixed-bg .lab-hours-modal > button.lab-hours-modal-backdrop {
    appearance: none !important;
    background: rgba(2, 4, 8, .78) !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    height: auto !important;
    inset: 0 !important;
    margin: 0 !important;
    max-width: none !important;
    min-height: 0 !important;
    opacity: 1 !important;
    padding: 0 !important;
    position: absolute !important;
    transform: none !important;
    width: auto !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .service-hours-acknowledge {
    background: linear-gradient(135deg, #ff2634, #b40017);
    border: 1px solid rgba(255,255,255,.18);
    border-radius: 8px;
    box-shadow: 0 10px 26px rgba(255,38,52,.22);
    color: #fff;
    cursor: pointer;
    font: 850 13px var(--font-ui);
    margin-top: 5px;
    padding: 13px 18px;
    width: 100%;
}

body.darklab-fixed-bg:not(.no-portal-bg) .service-hours-acknowledge:hover,
body.darklab-fixed-bg:not(.no-portal-bg) .service-hours-acknowledge:focus-visible {
    box-shadow: 0 12px 30px rgba(255,38,52,.34);
    filter: brightness(1.06);
    outline: none;
}

.auth-panel input:-webkit-autofill,
.auth-panel input:-webkit-autofill:hover,
.auth-panel input:-webkit-autofill:focus,
.auth-panel input:-webkit-autofill:active {
    -webkit-box-shadow: 0 0 0 1000px #080c12 inset !important;
    -webkit-text-fill-color: #fff !important;
    caret-color: #fff;
    border-color: rgba(255, 255, 255, .22) !important;
    transition: background-color 9999s ease-out 0s;
}

/* File service cart — concise white invoice */
body.darklab-fixed-bg:not(.no-portal-bg) .service-cart-main .service-cart-grid {
    align-items: start;
    grid-template-columns: minmax(0, 1.15fr) minmax(300px, .85fr);
}

body.darklab-fixed-bg:not(.no-portal-bg) .service-cart-main .service-cart-invoice {
    min-height: 0;
}

body.darklab-fixed-bg:not(.no-portal-bg) .service-cart-main .service-cart-table-head,
body.darklab-fixed-bg:not(.no-portal-bg) .service-cart-main .service-cart-items article {
    align-items: center;
    display: grid;
    gap: 14px;
    grid-template-columns: minmax(180px, 1fr) 105px 90px;
}

body.darklab-fixed-bg:not(.no-portal-bg) .service-cart-main .service-cart-table-head {
    background: #171c25;
    color: #fff;
    font: 750 10px var(--font-ui);
    letter-spacing: .09em;
    padding: 11px 14px;
    text-transform: uppercase;
}

body.darklab-fixed-bg:not(.no-portal-bg) .service-cart-main .service-cart-table-head span:nth-child(n+2) {
    text-align: right;
}

body.darklab-fixed-bg:not(.no-portal-bg) .service-cart-main .service-cart-items article {
    border-bottom: 1px solid #dfe3e8;
    color: #242a34;
    padding: 13px 14px;
}

body.darklab-fixed-bg:not(.no-portal-bg) .service-cart-main .service-cart-items article:last-child {
    border-bottom: 0;
}

body.darklab-fixed-bg:not(.no-portal-bg) .service-cart-main .service-cart-items article > div {
    display: grid;
    gap: 3px;
}

body.darklab-fixed-bg:not(.no-portal-bg) .service-cart-main .service-cart-items article strong {
    color: #151b25;
    font-size: 14px;
}

body.darklab-fixed-bg:not(.no-portal-bg) .service-cart-main .service-cart-items article small,
body.darklab-fixed-bg:not(.no-portal-bg) .service-cart-main .service-cart-items article > span {
    color: #68717e;
    font-size: 11px;
}

body.darklab-fixed-bg:not(.no-portal-bg) .service-cart-main .service-cart-items article > span,
body.darklab-fixed-bg:not(.no-portal-bg) .service-cart-main .service-cart-items article > b {
    text-align: right;
}

body.darklab-fixed-bg:not(.no-portal-bg) .service-cart-main .service-cart-items article > b {
    color: #e5162b;
    font-size: 13px;
}

body.darklab-fixed-bg:not(.no-portal-bg) .service-cart-main .service-cart-items article > b.is-free {
    color: #15985b;
}

body.darklab-fixed-bg:not(.no-portal-bg) .service-cart-main .service-cart-total {
    margin-top: 16px;
}

body.darklab-fixed-bg:not(.no-portal-bg) .service-cart-main .service-cart-total div {
    border-top: 2px solid #171c25;
    padding-top: 12px;
}

body.darklab-fixed-bg:not(.no-portal-bg) .service-cart-main .service-cart-total span,
body.darklab-fixed-bg:not(.no-portal-bg) .service-cart-main .service-cart-total strong {
    color: #e5162b;
    font-size: 17px;
}

body.darklab-fixed-bg:not(.no-portal-bg) .service-cart-main .service-cart-confirm {
    display: grid;
    gap: 12px;
}

body.darklab-fixed-bg:not(.no-portal-bg) .service-cart-main .service-cart-confirm h2,
body.darklab-fixed-bg:not(.no-portal-bg) .service-cart-main .service-cart-confirm p {
    margin: 0;
}

body.darklab-fixed-bg:not(.no-portal-bg) .service-cart-main .service-cart-confirm-total {
    align-items: center;
    border: 1px solid rgba(255,255,255,.13);
    border-radius: 8px;
    display: flex;
    justify-content: space-between;
    padding: 13px;
}

body.darklab-fixed-bg:not(.no-portal-bg) .service-cart-main .service-cart-confirm-total span {
    color: rgba(236,241,250,.65);
}

body.darklab-fixed-bg:not(.no-portal-bg) .service-cart-main .service-cart-confirm-total strong {
    color: #ff3b4b;
}

body.darklab-fixed-bg:not(.no-portal-bg) .service-cart-main .service-cart-back {
    color: rgba(236,241,250,.72);
    font-size: 11px;
    text-align: center;
}

@media (max-width: 980px) {
    body.darklab-fixed-bg:not(.no-portal-bg) .service-cart-main .service-cart-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 560px) {
    body.darklab-fixed-bg:not(.no-portal-bg) .service-cart-main .service-cart-table-head {
        display: none;
    }

    body.darklab-fixed-bg:not(.no-portal-bg) .service-cart-main .service-cart-items article {
        gap: 6px 12px;
        grid-template-columns: 1fr auto;
    }

    body.darklab-fixed-bg:not(.no-portal-bg) .service-cart-main .service-cart-items article > div {
        grid-column: 1 / -1;
    }
}

/* Express Tune information — contained expansion, never clipped */
body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-upsell.is-info-open {
    align-items: center !important;
    grid-template-rows: auto auto !important;
    min-height: 0 !important;
    overflow: hidden !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-upsell .express-info-panel {
    box-sizing: border-box !important;
    grid-column: 1 / -1 !important;
    grid-row: 2 !important;
    max-width: 100% !important;
    position: static !important;
    width: 100% !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-upsell .express-info-panel[hidden] {
    display: none !important;
}

.admin-nav a,
.admin-logout,
.admin-action,
.admin-mini-action,
.admin-form button,
.admin-filter button,
.admin-login-panel button {
    font-family: var(--font-main);
    letter-spacing: .06em;
}

.admin-nav-section {
    color: rgba(255, 255, 255, .38);
    font-size: 10px;
    letter-spacing: .18em;
    margin: 10px 0 2px;
    text-transform: uppercase;
}

.admin-nav a {
    border: 1px solid transparent;
    color: rgba(245, 247, 252, .64);
    padding: 12px 14px;
    text-decoration: none;
    text-transform: uppercase;
}

.admin-nav a.active,
.admin-nav a:hover {
    background: linear-gradient(90deg, rgba(255, 37, 52, .18), rgba(255, 37, 52, .04));
    border-color: rgba(255, 37, 52, .28);
    color: #fff;
    box-shadow: 0 0 28px rgba(255, 37, 52, .12);
}

.admin-logout {
    background: rgba(255, 255, 255, .04);
    border: 1px solid rgba(255, 255, 255, .14);
    color: rgba(255, 255, 255, .72);
    cursor: pointer;
    margin-top: auto;
    padding: 13px 16px;
    text-transform: uppercase;
    width: 100%;
}

.admin-main {
    padding: 42px clamp(28px, 4vw, 72px);
}
.admin-main {
    position: relative;
}

.access-neon-badge {
    align-items: center;
    background:
        radial-gradient(circle at 24% 0%, rgba(255, 255, 255, .28), transparent 42%),
        linear-gradient(135deg, rgba(255, 255, 255, .08), rgba(255, 255, 255, .025)),
        rgba(5, 8, 14, .78);
    border: 1px solid rgba(255, 255, 255, .18);
    border-radius: 999px;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, .18),
        0 0 0 1px rgba(255, 255, 255, .045),
        0 0 22px rgba(255, 38, 52, .26),
        0 16px 34px rgba(0, 0, 0, .32);
    display: inline-flex;
    gap: 10px;
    justify-content: center;
    min-height: 42px;
    padding: 9px 16px;
    pointer-events: none;
    position: fixed;
    right: clamp(18px, 3vw, 42px);
    top: 18px;
    z-index: 90;
}

.access-neon-badge::before {
    background: currentColor;
    border-radius: 999px;
    box-shadow: 0 0 12px currentColor, 0 0 24px currentColor;
    content: "";
    height: 9px;
    width: 9px;
}

.access-neon-badge span {
    color: rgba(225, 232, 242, .58);
    font-size: 10px;
    letter-spacing: .16em;
    text-transform: uppercase;
}

.access-neon-badge strong {
    color: #fff;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    text-shadow: 0 0 12px rgba(255, 255, 255, .22);
}

.access-neon-admin {
    color: #ff3342;
    border-color: rgba(255, 55, 70, .46);
}

.access-neon-client {
    color: #36a3ff;
    border-color: rgba(54, 163, 255, .42);
}

.admin-hero {
    align-items: center;
    display: flex;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 28px;
}

.admin-hero.compact {
    margin-bottom: 20px;
}

.admin-ops-hero {
    border-bottom: 1px solid rgba(180, 194, 214, .12);
    padding-bottom: 22px;
}

.admin-hero h1 {
    color: #fff;
    font-size: clamp(34px, 4vw, 68px);
    font-weight: 400;
    letter-spacing: .015em;
    line-height: .98;
    margin: 4px 0 10px;
    text-shadow: 0 0 18px rgba(255, 255, 255, .12);
}

.admin-hero span,
.admin-muted,
.admin-login-copy {
    color: rgba(225, 232, 242, .68);
}

.admin-hero-actions {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    justify-content: flex-end;
}

.admin-action,
.admin-mini-action,
.admin-form button,
.admin-filter button,
.admin-login-panel button {
    background: linear-gradient(135deg, rgba(255, 37, 52, .96), rgba(135, 0, 13, .94));
    border: 1px solid rgba(255, 80, 92, .42);
    color: #fff;
    cursor: pointer;
    display: inline-flex;
    font-weight: 500;
    justify-content: center;
    padding: 12px 18px;
    text-decoration: none;
    text-transform: uppercase;
    box-shadow: 0 12px 30px rgba(255, 37, 52, .18);
}

.admin-action.secondary,
.admin-mini-action {
    background: rgba(255, 255, 255, .05);
    border-color: rgba(215, 225, 240, .18);
    box-shadow: none;
}

.admin-mini-action.danger {
    border-color: rgba(255, 37, 52, .45);
    color: #ff6f7a;
}

.admin-metrics {
    display: grid;
    gap: 16px;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    margin-bottom: 22px;
}

.admin-metrics-ops {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.admin-metrics article,
.admin-panel,
.admin-login-panel {
    background: linear-gradient(145deg, rgba(255, 255, 255, .055), rgba(255, 255, 255, .018)), var(--admin-panel);
    border: 1px solid var(--admin-line);
    box-shadow: 0 24px 70px rgba(0, 0, 0, .34);
}

.admin-metrics article {
    padding: 22px;
}

.admin-metrics span {
    color: rgba(225, 232, 242, .56);
    display: block;
    font-size: 12px;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.admin-metrics strong {
    color: #fff;
    display: block;
    font-size: clamp(28px, 2.7vw, 46px);
    font-weight: 400;
    margin-top: 10px;
}

.admin-metrics small {
    color: rgba(225, 232, 242, .48);
    display: block;
    font-size: 12px;
    margin-top: 8px;
}

.admin-panel {
    border-radius: 10px;
    padding: 24px;
}

.admin-orders-history-panel {
    background:
        linear-gradient(118deg, rgba(255, 255, 255, .135), rgba(255, 255, 255, .065) 42%, rgba(255, 42, 56, .095)),
        radial-gradient(circle at 96% 18%, rgba(255, 38, 52, .16), transparent 38%),
        linear-gradient(135deg, rgba(28, 32, 40, .88), rgba(31, 30, 38, .86) 46%, rgba(43, 21, 31, .88));
    border-color: rgba(255, 255, 255, .24);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, .20),
        inset 0 -1px 0 rgba(255, 38, 52, .12),
        0 24px 70px rgba(0, 0, 0, .34);
}

.admin-orders-history-table {
    min-width: 960px;
}

.admin-orders-history-table tr[data-admin-order-row] {
    cursor: pointer;
}

.admin-orders-history-table tr[data-admin-order-row]:hover {
    background: rgba(255, 255, 255, .045);
}

.admin-orders-history-table th:first-child,
.admin-orders-history-table td:first-child {
    width: 48%;
}

.admin-orders-history-table th:nth-child(2),
.admin-orders-history-table td:nth-child(2) {
    width: 22%;
}

.admin-orders-history-table th:nth-child(3),
.admin-orders-history-table td:nth-child(3) {
    width: 15%;
}

.admin-orders-history-table th:nth-child(4),
.admin-orders-history-table td:nth-child(4) {
    width: 15%;
}

.admin-orders-history-table .client-order-message {
    color: #ff4654;
    font-weight: 700;
}

.admin-order-recap {
    margin-bottom: 20px;
}

.admin-order-recap-head {
    align-items: flex-start;
    display: flex;
    gap: 18px;
    justify-content: space-between;
    margin-bottom: 18px;
}

.admin-order-recap-head h2 {
    color: #fff;
    font-size: clamp(22px, 2vw, 34px);
    font-weight: 400;
    line-height: 1.08;
    margin: 4px 0 0;
}

.admin-order-recap-grid {
    display: grid;
    gap: 12px;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin-bottom: 14px;
}

.admin-order-recap-grid div,
.admin-order-services {
    background: rgba(255, 255, 255, .045);
    border: 1px solid rgba(180, 194, 214, .12);
    min-width: 0;
    padding: 14px;
}

.admin-order-recap-grid span,
.admin-order-services > span {
    color: rgba(225, 232, 242, .58);
    display: block;
    font-size: 11px;
    letter-spacing: .1em;
    margin-bottom: 8px;
    text-transform: uppercase;
}

.admin-order-recap-grid strong,
.admin-order-services strong {
    color: #fff;
    display: block;
    overflow-wrap: anywhere;
}

.admin-order-recap-grid small,
.admin-order-services small,
.admin-order-services p {
    color: rgba(225, 232, 242, .62);
}

.admin-order-services ul {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    list-style: none;
    margin: 0;
    padding: 0;
}

.admin-order-services li {
    background: rgba(3, 5, 10, .42);
    border: 1px solid rgba(255, 42, 55, .18);
    min-width: 160px;
    padding: 10px 12px;
}

.admin-ops-grid {
    display: grid;
    gap: 18px;
    grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
    margin-bottom: 22px;
}

.admin-alert-list,
.admin-priority-list,
.admin-management-list {
    display: grid;
    gap: 12px;
}

.admin-alert-list a,
.admin-priority-list a,
.admin-management-list span,
.admin-activity-grid div,
.admin-order-preview {
    background: rgba(255, 255, 255, .035);
    border: 1px solid rgba(180, 194, 214, .12);
    color: rgba(245, 247, 252, .82);
    text-decoration: none;
}

.admin-alert-list a {
    display: grid;
    gap: 6px;
    grid-template-columns: 1fr auto;
    padding: 14px 16px;
}

.admin-alert-list span,
.admin-priority-list strong,
.admin-management-list span {
    color: #fff;
}

.admin-alert-list strong {
    color: #ff3342;
    font-size: 28px;
    font-weight: 400;
    line-height: 1;
}

.admin-alert-list small {
    color: rgba(225, 232, 242, .56);
    grid-column: 1 / -1;
}

.admin-activity-grid {
    display: grid;
    gap: 12px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.admin-activity-grid div {
    padding: 16px;
}

.admin-activity-grid span {
    color: rgba(225, 232, 242, .58);
    display: block;
    font-size: 12px;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.admin-activity-grid strong {
    color: #fff;
    display: block;
    font-size: 34px;
    font-weight: 400;
    margin-top: 8px;
}

.admin-command-center {
    margin-bottom: 22px;
}

.admin-command-layout {
    display: grid;
    gap: 18px;
    grid-template-columns: minmax(0, 1fr) minmax(260px, 360px);
}

.admin-order-preview {
    align-self: stretch;
    padding: 22px;
}

.admin-order-preview span {
    color: #ff4050;
    font-size: 12px;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.admin-order-preview h3 {
    color: #fff;
    font-size: 24px;
    font-weight: 400;
    margin: 12px 0;
}

.admin-order-preview p,
.admin-order-preview li {
    color: rgba(225, 232, 242, .66);
    line-height: 1.45;
}

.admin-order-preview ul {
    display: grid;
    gap: 8px;
    list-style: none;
    margin: 18px 0 0;
    padding: 0;
}

.admin-order-preview li::before {
    color: #ff3342;
    content: "| ";
}

.admin-priority-list a,
.admin-management-list span {
    display: block;
    padding: 14px 16px;
}

.admin-priority-list span,
.admin-priority-list small {
    color: rgba(225, 232, 242, .58);
    display: block;
    margin-top: 5px;
}

.admin-panel.wide {
    grid-column: span 2;
}

.admin-panel-head {
    align-items: center;
    display: flex;
    justify-content: space-between;
    margin-bottom: 18px;
}

.admin-panel h2,
.admin-panel-head h2 {
    color: #fff;
    font-size: 22px;
    font-weight: 400;
    letter-spacing: .06em;
    margin: 0 0 18px;
    text-transform: uppercase;
}

.admin-panel-head h2 {
    margin: 0;
}

.admin-panel-head.compact {
    gap: 16px;
    margin-bottom: 16px;
}

.admin-panel-head.compact .eyebrow {
    margin-bottom: 6px;
}

.admin-panel-head a {
    color: #ff5160;
    text-decoration: none;
}

.admin-table-scroll {
    overflow-x: auto;
}

.admin-table {
    border-collapse: collapse;
    min-width: 980px;
    width: 100%;
}

.admin-table th {
    color: rgba(225, 232, 242, .52);
    font-size: 12px;
    font-weight: 500;
    letter-spacing: .11em;
    padding: 12px 10px;
    text-align: left;
    text-transform: uppercase;
}

.admin-table td {
    border-top: 1px solid rgba(180, 194, 214, .12);
    color: rgba(245, 247, 252, .86);
    padding: 16px 10px;
    vertical-align: top;
}

.admin-table strong,
.admin-table small {
    display: block;
}

.admin-table small {
    color: rgba(225, 232, 242, .54);
    margin-top: 5px;
}

.admin-status {
    border: 1px solid rgba(255, 255, 255, .16);
    color: #fff;
    display: inline-flex;
    font-size: 12px;
    letter-spacing: .08em;
    padding: 7px 10px;
    text-transform: uppercase;
}

.status-recu,
.status-manuel {
    color: #ffd3d8;
    border-color: rgba(255, 37, 52, .36);
}

.status-en_cours {
    color: #b9dcff;
    border-color: rgba(78, 160, 255, .36);
}

.status-termine {
    color: #b8ffd9;
    border-color: rgba(36, 240, 140, .36);
}

.status-probleme {
    color: #ff7b87;
    border-color: rgba(255, 37, 52, .60);
}

.admin-order-grid {
    display: grid;
    gap: 20px;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
}

.admin-dl {
    display: grid;
    gap: 12px;
    margin: 0;
}

.admin-dl div {
    border-bottom: 1px solid rgba(180, 194, 214, .10);
    display: grid;
    grid-template-columns: 150px minmax(0, 1fr);
    padding-bottom: 12px;
}

.admin-dl dt {
    color: rgba(225, 232, 242, .52);
    text-transform: uppercase;
}

.admin-dl dd {
    color: #fff;
    margin: 0;
}

.admin-file-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 20px;
}

.vehicle-registration-panel {
    border-color: rgba(78, 160, 255, .20);
}

.registration-dl div {
    grid-template-columns: 190px minmax(0, 1fr);
}

.registration-empty {
    background: rgba(255, 255, 255, .04);
    border: 1px solid rgba(180, 194, 214, .13);
    border-radius: 8px;
    color: rgba(245, 247, 252, .78);
    display: grid;
    gap: 8px;
    padding: 16px;
}

.registration-empty strong {
    color: #fff;
}

.registration-empty p,
.registration-empty small {
    margin: 0;
}

.registration-empty small {
    color: rgba(225, 232, 242, .56);
}

.registration-refresh-form {
    margin-top: 14px;
}

.admin-ecu-review {
    border: 1px solid rgba(180, 194, 214, .12);
    border-radius: 8px;
    background: rgba(255, 255, 255, .035);
    display: grid;
    gap: 10px;
    margin-bottom: 16px;
    padding: 14px;
}

.admin-ecu-review p {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    margin: 0;
}

.admin-ecu-review span {
    color: rgba(225, 232, 242, .58);
    text-transform: uppercase;
}

.admin-ecu-review strong {
    color: #fff;
    text-align: right;
}

.admin-file-expired,
.file-expired {
    display: inline-flex;
    align-items: center;
    min-height: 34px;
    border: 1px solid rgba(255, 37, 52, .28);
    border-radius: 6px;
    background: rgba(255, 37, 52, .10);
    color: #ffd9dd;
    padding: 8px 11px;
    font-size: 12px;
}

.admin-form,
.admin-filter,
.admin-login-panel form {
    display: grid;
    gap: 14px;
}

.admin-filter {
    align-items: center;
    display: flex;
}

.admin-form label,
.admin-login-panel label {
    color: rgba(225, 232, 242, .70);
    display: grid;
    gap: 7px;
}

.admin-form input,
.admin-form select,
.admin-form textarea,
.admin-filter select,
.admin-login-panel input {
    background: rgba(3, 5, 10, .82);
    border: 1px solid rgba(180, 194, 214, .18);
    color: #fff;
    padding: 13px 14px;
}

.admin-timeline {
    display: grid;
    gap: 12px;
}

.admin-timeline div {
    background: rgba(255, 255, 255, .045);
    border-left: 3px solid rgba(36, 240, 140, .56);
    padding: 14px;
}

.admin-timeline div.internal {
    border-left-color: rgba(255, 37, 52, .62);
}

.admin-timeline p {
    color: rgba(245, 247, 252, .82);
    margin: 7px 0;
}

.admin-timeline small {
    color: rgba(225, 232, 242, .46);
}

.admin-empty,
.admin-alert {
    background: rgba(255, 37, 52, .10);
    border: 1px solid rgba(255, 37, 52, .30);
    color: #ffd9dd;
    padding: 16px;
}

.admin-login-screen {
    align-items: center;
    background: linear-gradient(rgba(4, 5, 8, .78), rgba(4, 5, 8, .90)), url("/static/images/darklab-hero-v2.png") center / cover no-repeat;
    display: grid;
    min-height: 100vh;
    padding: 30px;
    place-items: center;
}

.admin-login-panel {
    max-width: 520px;
    padding: 38px;
    width: min(100%, 520px);
}

.admin-login-panel img {
    display: block;
    height: 82px;
    margin: 0 auto 12px;
    object-fit: contain;
    width: 280px;
}

.admin-login-panel h1 {
    color: #fff;
    font-size: 42px;
    font-weight: 400;
    margin: 0;
    text-align: center;
}

.admin-login-copy,
.admin-login-panel small {
    display: block;
    text-align: center;
}

@media (max-width: 980px) {
    .access-neon-badge {
        right: 12px;
        top: 12px;
        min-height: 36px;
        padding: 7px 12px;
    }

    .access-neon-badge span {
        display: none;
    }

    .admin-shell {
        grid-template-columns: 1fr;
    }

    .admin-metrics,
    .admin-metrics-ops,
    .admin-ops-grid,
    .admin-command-layout,
    .admin-order-recap-grid,
    .admin-order-grid {
        grid-template-columns: 1fr;
    }

    .admin-hero-actions {
        justify-content: flex-start;
    }

    .admin-panel.wide {
        grid-column: auto;
    }
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .latest-order-download {
    align-items: center;
    background: linear-gradient(145deg, #28b979, #087649);
    border: 1px solid rgba(112, 244, 184, .40);
    border-radius: 7px;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .16), 0 4px 12px rgba(10, 120, 74, .18);
    color: #fff;
    display: inline-flex;
    flex: 0 0 auto;
    font-size: 8px;
    gap: 5px;
    padding: 5px 7px;
    position: relative;
    text-decoration: none;
    transition: border-color .16s ease, box-shadow .16s ease, transform .16s ease;
    white-space: nowrap;
    z-index: 3;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .latest-order-download svg {
    fill: none;
    height: 12px;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 2;
    width: 12px;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .latest-order-download:hover,
body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .latest-order-download:focus-visible {
    border-color: rgba(170, 255, 216, .72);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .20), 0 0 14px rgba(45, 220, 139, .22);
    outline: 0;
    transform: translateY(-1px);
}

@media (max-width: 460px) {
    body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .latest-order-download span {
        display: none;
    }

    body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .latest-order-download {
        height: 28px;
        justify-content: center;
        padding: 0;
        width: 28px;
    }
}

/* DARKLAB DASHBOARD - preserve the complete status neon */
body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main #history .history-table {
    min-width: 1050px;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main #history .history-table th:first-child,
body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main #history .history-table td:first-child {
    width: 42% !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main #history .history-table th:nth-child(2),
body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main #history .history-table td:nth-child(2) {
    width: 12% !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main #history .history-table th:nth-child(3),
body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main #history .history-table td:nth-child(3) {
    overflow: visible !important;
    padding-right: 20px;
    width: 26% !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main #history .history-table th:nth-child(4),
body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main #history .history-table td:nth-child(4) {
    width: 20% !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main #history .client-status-stack {
    box-sizing: border-box;
    max-width: 100%;
    padding: 5px 12px 5px 0;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main #history .client-status-pill.is-processing {
    box-shadow:
        0 0 12px rgba(255, 35, 52, .22),
        0 0 22px rgba(255, 35, 52, .12),
        inset 0 1px 0 rgba(255, 255, 255, .14);
}

/* DARKLAB DASHBOARD - use the full latest-order card surface */
body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .latest-order-status-card {
    justify-content: space-between;
    padding: 9px 14px;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .latest-order-card-head > span:first-child {
    color: rgba(241, 244, 250, .72);
    font-size: 11px;
    letter-spacing: .085em;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .latest-order-status {
    font-size: 11px;
    gap: 7px;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .latest-order-status i {
    flex-basis: 7px;
    height: 7px;
    width: 7px;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .latest-order-card-main {
    margin-top: 2px;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .latest-order-card-main > div {
    gap: 7px;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .latest-order-card-main strong {
    font-size: 15px;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .latest-order-card-main small {
    font-size: 11px;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .latest-order-card-main b {
    color: rgba(255, 255, 255, .78);
    font-size: 9px;
    letter-spacing: .065em;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .latest-order-status-card > p {
    color: rgba(239, 243, 249, .72);
    font-size: 10px;
    margin: 2px 0 3px;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .latest-order-status-card footer {
    gap: 12px;
    padding-top: 5px;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .latest-order-status-card footer span,
body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .latest-order-status-card footer small,
body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .latest-order-status-card footer strong {
    font-size: 9px;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .latest-order-status-card footer span {
    max-width: 46%;
}

@media (max-width: 1180px) and (min-width: 981px) {
    body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .latest-order-card-head > span:first-child,
    body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .latest-order-status {
        font-size: 10px;
    }
}

/* DARKLAB CREDITS - premium white invoice sheet */
body.darklab-fixed-bg:not(.no-portal-bg) .equipment-checkout-main .credits-checkout-grid {
    align-items: start;
    grid-template-columns: minmax(0, 1.15fr) minmax(340px, .85fr);
}

body.darklab-fixed-bg:not(.no-portal-bg) .equipment-checkout-main .credit-invoice-sheet {
    background:
        linear-gradient(180deg, rgba(255, 255, 255, .99), rgba(244, 245, 247, .985)),
        #f7f7f5 !important;
    border: 1px solid rgba(255, 255, 255, .92) !important;
    border-radius: 8px;
    box-shadow:
        0 28px 70px rgba(0, 0, 0, .38),
        0 0 0 1px rgba(12, 19, 29, .16),
        inset 0 1px 0 #fff !important;
    color: #151922;
    overflow: hidden;
    padding: 24px 26px 18px;
    position: relative;
}

body.darklab-fixed-bg:not(.no-portal-bg) .equipment-checkout-main .credit-invoice-sheet::before {
    background: linear-gradient(90deg, #087ee7, #202a39 46%, #ec1d32);
    content: "";
    height: 3px;
    left: 0;
    position: absolute;
    right: 0;
    top: 0;
}

body.darklab-fixed-bg:not(.no-portal-bg) .equipment-checkout-main .credit-invoice-head {
    align-items: center;
    border-bottom: 1px solid rgba(18, 25, 35, .14);
    display: flex;
    gap: 22px;
    justify-content: space-between;
    padding-bottom: 18px;
}

body.darklab-fixed-bg:not(.no-portal-bg) .equipment-checkout-main .credit-invoice-head img {
    display: block;
    height: auto;
    max-width: 175px;
    object-fit: contain;
}

body.darklab-fixed-bg:not(.no-portal-bg) .equipment-checkout-main .credit-invoice-head > div {
    display: flex;
    flex-direction: column;
    gap: 5px;
    text-align: right;
}

body.darklab-fixed-bg:not(.no-portal-bg) .equipment-checkout-main .credit-invoice-head span,
body.darklab-fixed-bg:not(.no-portal-bg) .equipment-checkout-main .credit-invoice-meta span,
body.darklab-fixed-bg:not(.no-portal-bg) .equipment-checkout-main .credit-invoice-table-head {
    color: #747b86;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .095em;
    text-transform: uppercase;
}

body.darklab-fixed-bg:not(.no-portal-bg) .equipment-checkout-main .credit-invoice-head strong {
    color: #151922;
    font-size: 17px;
    line-height: 1.15;
}

body.darklab-fixed-bg:not(.no-portal-bg) .equipment-checkout-main .credit-invoice-meta {
    display: grid;
    gap: 12px;
    grid-template-columns: minmax(0, 1fr) auto;
    padding: 16px 0;
}

body.darklab-fixed-bg:not(.no-portal-bg) .equipment-checkout-main .credit-invoice-meta > div {
    display: flex;
    flex-direction: column;
    gap: 3px;
    min-width: 0;
}

body.darklab-fixed-bg:not(.no-portal-bg) .equipment-checkout-main .credit-invoice-meta > div:last-child {
    text-align: right;
}

body.darklab-fixed-bg:not(.no-portal-bg) .equipment-checkout-main .credit-invoice-meta strong {
    color: #171b23;
    font-size: 12px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

body.darklab-fixed-bg:not(.no-portal-bg) .equipment-checkout-main .credit-invoice-meta small {
    color: #858b95;
    font-size: 9px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

body.darklab-fixed-bg:not(.no-portal-bg) .equipment-checkout-main .credit-invoice-table {
    border: 1px solid rgba(20, 28, 39, .14);
    border-radius: 7px;
    overflow: hidden;
}

body.darklab-fixed-bg:not(.no-portal-bg) .equipment-checkout-main .credit-invoice-table-head,
body.darklab-fixed-bg:not(.no-portal-bg) .equipment-checkout-main .credit-invoice-items article {
    align-items: center;
    display: grid;
    gap: 12px;
    grid-template-columns: minmax(180px, 1fr) 48px 112px 100px;
}

body.darklab-fixed-bg:not(.no-portal-bg) .equipment-checkout-main .credit-invoice-table-head {
    background: #171c26;
    color: rgba(255, 255, 255, .72);
    padding: 10px 13px;
}

body.darklab-fixed-bg:not(.no-portal-bg) .equipment-checkout-main .credit-invoice-table-head span:nth-child(n+2) {
    text-align: right;
}

body.darklab-fixed-bg:not(.no-portal-bg) .equipment-checkout-main .credit-invoice-items {
    display: block;
}

body.darklab-fixed-bg:not(.no-portal-bg) .equipment-checkout-main .credit-invoice-items article {
    background: rgba(255, 255, 255, .64);
    border: 0;
    border-bottom: 1px solid rgba(20, 28, 39, .10);
    padding: 13px;
}

body.darklab-fixed-bg:not(.no-portal-bg) .equipment-checkout-main .credit-invoice-items article:last-child {
    border-bottom: 0;
}

body.darklab-fixed-bg:not(.no-portal-bg) .equipment-checkout-main .credit-invoice-designation {
    display: flex;
    flex-direction: column;
    gap: 3px;
    min-width: 0;
}

body.darklab-fixed-bg:not(.no-portal-bg) .equipment-checkout-main .credit-invoice-designation strong {
    color: #171b23;
    font-size: 12px;
    line-height: 1.2;
}

body.darklab-fixed-bg:not(.no-portal-bg) .equipment-checkout-main .credit-invoice-designation span {
    color: #7b828c;
    font-size: 9px;
}

body.darklab-fixed-bg:not(.no-portal-bg) .equipment-checkout-main .credit-invoice-items article > b,
body.darklab-fixed-bg:not(.no-portal-bg) .equipment-checkout-main .credit-invoice-items article > span,
body.darklab-fixed-bg:not(.no-portal-bg) .equipment-checkout-main .credit-invoice-items article > strong {
    color: #20242d;
    font-size: 11px;
    font-style: normal;
    text-align: right;
    white-space: nowrap;
}

body.darklab-fixed-bg:not(.no-portal-bg) .equipment-checkout-main .credit-invoice-items article > strong {
    color: #d51228;
    font-size: 12px;
}

body.darklab-fixed-bg:not(.no-portal-bg) .equipment-checkout-main .credit-invoice-totals {
    gap: 0;
    margin: 16px 0 0 auto;
    max-width: 330px;
}

body.darklab-fixed-bg:not(.no-portal-bg) .equipment-checkout-main .credit-invoice-totals div {
    border: 0;
    border-bottom: 1px solid rgba(20, 28, 39, .11);
    border-radius: 0;
    padding: 7px 3px;
}

body.darklab-fixed-bg:not(.no-portal-bg) .equipment-checkout-main .credit-invoice-totals span {
    color: #646b76;
    font-size: 10px;
}

body.darklab-fixed-bg:not(.no-portal-bg) .equipment-checkout-main .credit-invoice-totals strong {
    color: #1a1e27;
    font-size: 11px;
}

body.darklab-fixed-bg:not(.no-portal-bg) .equipment-checkout-main .credit-invoice-totals div:first-child strong {
    color: #d51228;
    font-size: 15px;
}

body.darklab-fixed-bg:not(.no-portal-bg) .equipment-checkout-main .credit-invoice-totals div:last-child {
    border-bottom: 2px solid #d51228;
    padding-block: 10px;
}

body.darklab-fixed-bg:not(.no-portal-bg) .equipment-checkout-main .credit-invoice-totals div:last-child span,
body.darklab-fixed-bg:not(.no-portal-bg) .equipment-checkout-main .credit-invoice-totals div:last-child strong {
    color: #d51228;
    font-size: 15px;
    font-weight: 900;
}

body.darklab-fixed-bg:not(.no-portal-bg) .equipment-checkout-main .credit-invoice-footer {
    align-items: center;
    border-top: 1px solid rgba(20, 28, 39, .12);
    display: flex;
    justify-content: space-between;
    margin-top: 18px;
    padding-top: 12px;
}

body.darklab-fixed-bg:not(.no-portal-bg) .equipment-checkout-main .credit-invoice-footer span {
    color: #d51228;
    font-family: "Montserrat", sans-serif;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .18em;
}

body.darklab-fixed-bg:not(.no-portal-bg) .equipment-checkout-main .credit-invoice-footer small {
    color: #8a9099;
    font-size: 8px;
    letter-spacing: .055em;
}

body.darklab-fixed-bg:not(.no-portal-bg) .equipment-checkout-main .credit-payment-panel {
    align-self: stretch;
}

@media (max-width: 1050px) {
    body.darklab-fixed-bg:not(.no-portal-bg) .equipment-checkout-main .credits-checkout-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 650px) {
    body.darklab-fixed-bg:not(.no-portal-bg) .equipment-checkout-main .credit-invoice-sheet {
        padding: 20px 14px 14px;
    }

    body.darklab-fixed-bg:not(.no-portal-bg) .equipment-checkout-main .credit-invoice-head {
        align-items: flex-start;
        flex-direction: column;
        gap: 12px;
    }

    body.darklab-fixed-bg:not(.no-portal-bg) .equipment-checkout-main .credit-invoice-head img {
        max-width: 145px;
    }

    body.darklab-fixed-bg:not(.no-portal-bg) .equipment-checkout-main .credit-invoice-head > div {
        text-align: left;
    }

    body.darklab-fixed-bg:not(.no-portal-bg) .equipment-checkout-main .credit-invoice-table-head {
        display: none;
    }

    body.darklab-fixed-bg:not(.no-portal-bg) .equipment-checkout-main .credit-invoice-items article {
        gap: 8px 12px;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    body.darklab-fixed-bg:not(.no-portal-bg) .equipment-checkout-main .credit-invoice-designation {
        grid-column: 1 / -1;
    }

    body.darklab-fixed-bg:not(.no-portal-bg) .equipment-checkout-main .credit-invoice-items article > b,
    body.darklab-fixed-bg:not(.no-portal-bg) .equipment-checkout-main .credit-invoice-items article > span,
    body.darklab-fixed-bg:not(.no-portal-bg) .equipment-checkout-main .credit-invoice-items article > strong {
        display: flex;
        flex-direction: column;
        gap: 2px;
        text-align: left;
    }

    body.darklab-fixed-bg:not(.no-portal-bg) .equipment-checkout-main .credit-invoice-items [data-label]::before {
        color: #878d96;
        content: attr(data-label);
        font-size: 7px;
        font-weight: 700;
        letter-spacing: .065em;
        text-transform: uppercase;
    }

    body.darklab-fixed-bg:not(.no-portal-bg) .equipment-checkout-main .credit-invoice-totals {
        max-width: none;
    }
}

body.darklab-fixed-bg:not(.no-portal-bg) .order-detail-main .order-conversation-panel {
    padding: 14px !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .order-detail-main .order-conversation-panel > .order-panel-head {
    margin-bottom: 12px;
}

body.darklab-fixed-bg:not(.no-portal-bg) .order-detail-main .order-conversation-panel .order-panel-head h2 {
    font-size: 19px;
    margin: 0;
}

body.darklab-fixed-bg:not(.no-portal-bg) .order-detail-main .order-chat-status {
    align-items: center;
    border: 1px solid rgba(65, 226, 135, .28);
    border-radius: 999px;
    color: rgba(224, 255, 237, .76);
    display: inline-flex;
    font-size: 9px;
    font-weight: 800;
    gap: 6px;
    letter-spacing: .06em;
    padding: 6px 9px;
    text-transform: uppercase;
}

body.darklab-fixed-bg:not(.no-portal-bg) .order-detail-main .order-chat-status i {
    background: #36df82;
    border-radius: 50%;
    box-shadow: 0 0 8px rgba(54, 223, 130, .52);
    height: 6px;
    width: 6px;
}

body.darklab-fixed-bg:not(.no-portal-bg) .order-detail-main .order-message-timeline {
    background: rgba(8, 11, 17, .24);
    border: 1px solid rgba(255, 255, 255, .10);
    border-radius: 11px;
    gap: 8px;
    margin: 0 0 10px;
    max-height: 220px;
    min-height: 82px;
    overflow-y: auto;
    padding: 10px;
}

body.darklab-fixed-bg:not(.no-portal-bg) .order-detail-main .order-message-timeline > .empty {
    align-self: center;
    color: rgba(228, 234, 244, .58);
    font-size: 12px;
    margin: auto;
    text-align: center;
}

body.darklab-fixed-bg:not(.no-portal-bg) .order-detail-main .order-message-timeline article {
    border-radius: 10px;
    max-width: min(78%, 720px);
    padding: 9px 11px;
}

body.darklab-fixed-bg:not(.no-portal-bg) .order-detail-main .order-message-timeline article.admin {
    justify-self: start;
}

body.darklab-fixed-bg:not(.no-portal-bg) .order-detail-main .order-message-timeline article.client_sav {
    justify-self: end;
}

body.darklab-fixed-bg:not(.no-portal-bg) .order-detail-main .order-message-timeline p {
    font-size: 12px;
    line-height: 1.4;
    margin: 4px 0;
}

body.darklab-fixed-bg:not(.no-portal-bg) .order-detail-main .order-chat-composer {
    border-top: 0;
    display: block;
    padding-top: 0;
}

body.darklab-fixed-bg:not(.no-portal-bg) .order-detail-main .order-chat-label {
    color: rgba(230, 236, 246, .62);
    display: block;
    font-size: 9px;
    letter-spacing: .08em;
    margin: 0 0 6px;
    text-transform: uppercase;
}

body.darklab-fixed-bg:not(.no-portal-bg) .order-detail-main .order-chat-compose-row {
    align-items: stretch;
    display: grid;
    gap: 8px;
    grid-template-columns: minmax(0, 1fr) auto;
}

body.darklab-fixed-bg:not(.no-portal-bg) .order-detail-main .order-chat-compose-row textarea {
    box-sizing: border-box;
    min-height: 44px;
    padding: 11px 13px;
    resize: none;
}

body.darklab-fixed-bg:not(.no-portal-bg) .order-detail-main .order-chat-compose-row button {
    align-items: center;
    align-self: stretch;
    background: linear-gradient(145deg, #ff2a3c, #bc0716);
    border: 1px solid rgba(255, 255, 255, .20);
    border-radius: 10px;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .20), 0 5px 14px rgba(188, 7, 22, .22);
    display: inline-flex;
    font-size: 10px;
    gap: 6px;
    justify-content: center;
    min-height: 44px;
    padding: 0 13px;
}

body.darklab-fixed-bg:not(.no-portal-bg) .order-detail-main .order-chat-compose-row button svg {
    fill: none;
    height: 15px;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.8;
    width: 15px;
}

body.darklab-fixed-bg:not(.no-portal-bg) .order-detail-main .order-chat-compose-row button:hover,
body.darklab-fixed-bg:not(.no-portal-bg) .order-detail-main .order-chat-compose-row button:focus-visible {
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .26), 0 0 17px rgba(255, 38, 55, .34);
    transform: translateY(-1px);
}

@media (max-width: 540px) {
    body.darklab-fixed-bg:not(.no-portal-bg) .order-detail-main .order-chat-status {
        display: none;
    }

    body.darklab-fixed-bg:not(.no-portal-bg) .order-detail-main .order-chat-compose-row button span {
        display: none;
    }

    body.darklab-fixed-bg:not(.no-portal-bg) .order-detail-main .order-chat-compose-row button {
        padding: 0;
        width: 44px;
    }
}

.darklab-chat,
.darklab-chat * {
    box-sizing: border-box;
    font-family: var(--font-main);
}

.darklab-chat-fab {
    position: fixed;
    right: 28px;
    bottom: 28px;
    z-index: 80;
    width: 62px;
    height: 62px;
    border: 1px solid rgba(255, 255, 255, .18);
    border-radius: 50%;
    background: radial-gradient(circle at 35% 25%, #ff5a64, #f31f28 46%, #8f0710 100%);
    box-shadow: 0 18px 42px rgba(0, 0, 0, .28), 0 0 0 1px rgba(243, 31, 40, .22);
    cursor: pointer;
    transition: transform .18s ease, box-shadow .18s ease;
}

.darklab-chat-fab:hover {
    transform: translateY(-2px);
    box-shadow: 0 22px 54px rgba(0, 0, 0, .34), 0 0 0 1px rgba(243, 31, 40, .34);
}

.darklab-chat-fab span,
.darklab-chat-fab span::before,
.darklab-chat-fab span::after {
    position: absolute;
    display: block;
    background: #fff;
    content: "";
}

.darklab-chat-fab span {
    left: 18px;
    top: 21px;
    width: 26px;
    height: 18px;
    border-radius: 6px;
}

.darklab-chat-fab span::before {
    right: 4px;
    bottom: -5px;
    width: 8px;
    height: 8px;
    clip-path: polygon(0 0, 100% 0, 100% 100%);
}

.darklab-chat-fab span::after {
    left: 7px;
    top: 8px;
    width: 12px;
    height: 2px;
    border-radius: 2px;
    background: #f31f28;
}

.darklab-chat-fab strong {
    position: absolute;
    right: -2px;
    top: -4px;
    min-width: 22px;
    height: 22px;
    padding: 0 6px;
    border-radius: 999px;
    background: #11151c;
    color: #fff;
    font-size: 11px;
    line-height: 22px;
    text-align: center;
    box-shadow: 0 0 0 2px #f31f28;
}

.darklab-chat-panel {
    position: fixed;
    right: 28px;
    bottom: 102px;
    z-index: 81;
    width: min(760px, calc(100vw - 32px));
    height: min(680px, calc(100vh - 130px));
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, .14);
    border-radius: 8px;
    background: linear-gradient(145deg, rgba(255, 255, 255, .07), rgba(255, 255, 255, .015)), #10141b;
    box-shadow: 0 28px 80px rgba(0, 0, 0, .42);
    color: #f7f8fb;
    animation: darklab-chat-rise .18s ease;
}

@keyframes darklab-chat-rise {
    from { opacity: 0; transform: translateY(10px); }
    to { opacity: 1; transform: translateY(0); }
}

.darklab-chat-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 88px;
    padding: 22px 24px;
    background: linear-gradient(135deg, #171c24, #4a4f59);
    border-bottom: 1px solid rgba(255, 255, 255, .1);
}

.darklab-chat-head small,
.chat-admin-thread header small,
.chat-admin-empty span,
.darklab-chat-empty span {
    color: rgba(238, 242, 247, .62);
    letter-spacing: .08em;
    text-transform: uppercase;
}

.darklab-chat-head h2 {
    margin: 4px 0 0;
    font-size: 24px;
    letter-spacing: 0;
}

.darklab-chat-head button,
.dialog-close {
    width: 34px;
    height: 34px;
    border: 1px solid rgba(255, 255, 255, .16);
    border-radius: 50%;
    background: rgba(255, 255, 255, .06);
    color: #fff;
    cursor: pointer;
}

.darklab-chat-body {
    display: grid;
    grid-template-columns: 250px 1fr;
    height: calc(100% - 88px);
    min-height: 0;
}

.darklab-chat-list {
    overflow-y: auto;
    border-right: 1px solid rgba(255, 255, 255, .1);
    background: rgba(7, 10, 14, .56);
}

.darklab-chat-list button {
    position: relative;
    display: grid;
    gap: 5px;
    width: 100%;
    min-height: 82px;
    padding: 16px 18px;
    border: 0;
    border-bottom: 1px solid rgba(255, 255, 255, .08);
    background: transparent;
    color: #fff;
    text-align: left;
    cursor: pointer;
}

.darklab-chat-list button.active,
.darklab-chat-list button:hover,
.chat-admin-list a.active,
.chat-admin-list a:hover {
    background: rgba(243, 31, 40, .12);
}

.darklab-chat-list strong,
.darklab-chat-list span,
.chat-admin-list span,
.chat-admin-list small {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.darklab-chat-list span,
.chat-admin-list span,
.chat-admin-list small {
    color: rgba(238, 242, 247, .64);
    font-size: 12px;
}

.darklab-chat-list em,
.chat-admin-list em {
    position: absolute;
    right: 14px;
    top: 14px;
    min-width: 20px;
    height: 20px;
    border-radius: 999px;
    background: var(--red);
    color: #fff;
    font-size: 11px;
    font-style: normal;
    line-height: 20px;
    text-align: center;
}

.darklab-chat-thread {
    display: grid;
    grid-template-rows: 1fr auto;
    min-height: 0;
}

.darklab-chat-empty {
    display: grid;
    place-content: center;
    gap: 8px;
    min-height: 240px;
    padding: 32px;
    text-align: center;
}

.darklab-chat-empty strong {
    font-size: 30px;
}

.darklab-chat-messages {
    overflow-y: auto;
    padding: 22px;
}

.darklab-chat-messages article,
.chat-admin-messages article {
    max-width: 78%;
    margin: 0 0 14px;
    padding: 14px 16px;
    border: 1px solid rgba(255, 255, 255, .11);
    border-radius: 8px;
    background: rgba(255, 255, 255, .095);
}

.darklab-chat-messages article.user,
.chat-admin-messages article.admin {
    margin-left: auto;
    background: rgba(243, 31, 40, .16);
    border-color: rgba(243, 31, 40, .32);
}

.darklab-chat-messages article.internal,
.chat-admin-messages article.internal {
    background: rgba(255, 255, 255, .035);
    border-style: dashed;
}

.darklab-chat-messages article div,
.chat-admin-messages article div {
    display: flex;
    gap: 12px;
    align-items: baseline;
    justify-content: space-between;
}

.darklab-chat-messages small,
.chat-admin-messages small {
    color: rgba(238, 242, 247, .54);
    font-size: 11px;
}

.darklab-chat-messages p,
.chat-admin-messages p {
    margin: 8px 0 0;
    color: rgba(255, 255, 255, .86);
    line-height: 1.5;
}

.darklab-chat-messages footer,
.chat-admin-messages footer {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 10px;
}

.darklab-chat-messages a,
.chat-admin-messages a {
    color: #fff;
    text-decoration: underline;
    text-decoration-color: rgba(243, 31, 40, .8);
}

.darklab-chat-form {
    display: grid;
    gap: 10px;
    padding: 16px;
    border-top: 1px solid rgba(255, 255, 255, .1);
    background: rgba(9, 12, 17, .9);
}

.darklab-chat-form input,
.darklab-chat-form textarea {
    width: 100%;
    border: 1px solid rgba(255, 255, 255, .13);
    border-radius: 6px;
    background: rgba(255, 255, 255, .06);
    color: #fff;
    padding: 11px 12px;
    resize: none;
}

.darklab-chat-form-row {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 10px;
    align-items: center;
}

.darklab-chat-form button,
.chat-admin-compose button {
    border: 0;
    border-radius: 6px;
    background: var(--red);
    color: #fff;
    padding: 11px 18px;
    cursor: pointer;
}

.chat-admin-panel,
.chat-reseller-panel {
    overflow: hidden;
}

.chat-admin-filter {
    grid-template-columns: minmax(180px, 1fr) 150px 150px minmax(160px, 1fr) auto;
    margin-bottom: 18px;
}

.chat-admin-grid {
    display: grid;
    grid-template-columns: 310px 1fr;
    min-height: 640px;
    border: 1px solid rgba(255, 255, 255, .08);
    border-radius: 8px;
    overflow: hidden;
}

.chat-admin-list {
    overflow-y: auto;
    background: rgba(255, 255, 255, .025);
    border-right: 1px solid rgba(255, 255, 255, .08);
}

.chat-admin-list a {
    position: relative;
    display: grid;
    gap: 5px;
    min-height: 96px;
    padding: 16px 18px;
    color: #fff;
    text-decoration: none;
    border-bottom: 1px solid rgba(255, 255, 255, .08);
}

.chat-admin-thread {
    display: grid;
    grid-template-rows: auto auto 1fr auto;
    min-width: 0;
}

.chat-admin-thread header,
.chat-admin-empty {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 20px;
    border-bottom: 1px solid rgba(255, 255, 255, .08);
}

.chat-admin-thread h2,
.chat-admin-empty strong {
    margin: 4px 0;
    color: #fff;
    font-size: 24px;
}

.chat-transfer-form {
    grid-template-columns: 1fr 1fr auto;
    padding: 14px 20px;
    border-bottom: 1px solid rgba(255, 255, 255, .08);
}

.chat-admin-messages {
    min-height: 0;
    overflow-y: auto;
    padding: 20px;
}

.chat-admin-compose {
    border-top: 1px solid rgba(255, 255, 255, .08);
}

.chat-internal-check {
    display: flex !important;
    flex-direction: row !important;
    align-items: center;
    gap: 10px;
}

.chat-internal-check input {
    width: auto;
}

.darklab-dialog {
    width: min(520px, calc(100vw - 36px));
    border: 1px solid rgba(255, 255, 255, .14);
    border-radius: 8px;
    background: #10141b;
    color: #fff;
    box-shadow: 0 28px 80px rgba(0, 0, 0, .44);
}

.darklab-dialog::backdrop {
    background: rgba(0, 0, 0, .58);
}

.dialog-close {
    float: right;
}

@media (max-width: 780px) {
    .darklab-chat-panel {
        right: 16px;
        bottom: 92px;
        height: min(720px, calc(100vh - 112px));
    }

    .darklab-chat-body,
    .chat-admin-grid {
        grid-template-columns: 1fr;
    }

    .darklab-chat-list,
    .chat-admin-list {
        max-height: 180px;
        border-right: 0;
        border-bottom: 1px solid rgba(255, 255, 255, .1);
    }

    .chat-admin-filter,
    .chat-transfer-form {
        grid-template-columns: 1fr;
    }
}

.order-vehicle-link {
    color: inherit;
    text-decoration: none;
}

.order-vehicle-link:hover strong {
    color: var(--red);
}

.order-detail-main {
    background:
        radial-gradient(circle at 80% 0, rgba(243, 31, 40, .08), transparent 30%),
        linear-gradient(180deg, rgba(10, 13, 18, .02), transparent 280px);
}

.order-detail-head {
    align-items: flex-start;
    gap: 22px;
    margin-bottom: 20px;
}

.order-detail-main .dashboard-head h1 {
    font-size: clamp(24px, 2.3vw, 34px);
    line-height: 1;
}

.order-detail-filename {
    color: rgba(255, 255, 255, .82);
    font-size: clamp(14px, 1.05vw, 17px);
    line-height: 1.35;
    margin: 10px 0 0;
    max-width: 880px;
    overflow-wrap: anywhere;
    text-shadow: 0 0 14px rgba(255, 255, 255, .16);
}

.order-detail-head .button-link {
    font-size: 14px;
    min-width: 0;
    padding: 12px 16px;
}

.order-detail-overview {
    display: grid;
    grid-template-columns: minmax(0, .92fr) minmax(360px, 1.08fr);
    gap: 18px;
    margin-bottom: 18px;
}

.order-detail-panel {
    border: 1px solid rgba(255, 255, 255, .20);
    border-radius: 8px;
    background:
        radial-gradient(circle at 16% 0, rgba(255, 255, 255, .15), transparent 36%),
        linear-gradient(145deg, rgba(66, 72, 82, .58), rgba(26, 29, 36, .52) 55%, rgba(16, 18, 24, .64)),
        rgba(18, 21, 28, .58);
    box-shadow:
        0 0 0 1px rgba(255, 255, 255, .035),
        0 20px 54px rgba(0, 0, 0, .28),
        inset 0 1px 0 rgba(255, 255, 255, .14);
    color: #fff;
    overflow: hidden;
    padding: 20px;
    backdrop-filter: blur(12px);
}

.order-detail-panel h2 {
    margin: 0 0 14px;
    color: #fff;
    font-size: 21px;
    font-weight: 500;
    text-shadow: 0 0 18px rgba(255, 255, 255, .18);
}

.order-detail-dl {
    display: grid;
    gap: 8px 14px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin: 0;
}

.order-detail-dl div {
    display: grid;
    gap: 5px;
    min-width: 0;
    padding: 10px 12px;
    border: 1px solid rgba(255, 255, 255, .075);
    border-radius: 8px;
    background: rgba(255, 255, 255, .045);
}

.order-detail-dl dt {
    color: rgba(229, 236, 247, .68);
    font-size: 11px;
    letter-spacing: .06em;
    line-height: 1.1;
    text-transform: uppercase;
}

.order-detail-dl dd {
    margin: 0;
    color: #ffffff;
    font-size: 14px;
    line-height: 1.25;
    overflow-wrap: anywhere;
}

.order-detail-dl a {
    color: #fff;
    text-decoration: underline;
    text-decoration-color: rgba(243, 31, 40, .75);
}

.order-file-summary {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.order-file-summary .order-panel-head {
    margin-bottom: 0;
}

.order-file-summary .order-panel-head p {
    align-items: center;
    color: rgba(229, 236, 247, .68);
    display: flex;
    gap: 10px;
    margin: 4px 0 0;
    text-transform: uppercase;
}

.order-file-summary .order-panel-head strong {
    color: rgba(255, 255, 255, .86);
    font-size: 14px;
    font-weight: 600;
    white-space: nowrap;
}

.order-file-cards {
    display: grid;
    gap: 12px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.order-file-card {
    border: 1px solid rgba(255, 255, 255, .11);
    border-radius: 8px;
    background:
        linear-gradient(145deg, rgba(255, 255, 255, .07), rgba(255, 255, 255, .028)),
        rgba(10, 13, 19, .38);
    min-width: 0;
    padding: 14px;
}

.order-file-card > span {
    color: rgba(229, 236, 247, .68);
    display: block;
    font-size: 11px;
    letter-spacing: .07em;
    margin-bottom: 8px;
    text-transform: uppercase;
}

.order-file-card strong {
    color: #ffffff;
    display: block;
    font-size: 14px;
    line-height: 1.25;
    min-height: 36px;
    overflow: hidden;
    overflow-wrap: anywhere;
}

.order-file-card a {
    align-items: center;
    border: 1px solid rgba(255, 42, 55, .36);
    border-radius: 999px;
    color: #fff;
    display: inline-flex;
    font-size: 11px;
    font-weight: 900;
    justify-content: center;
    margin-top: 12px;
    padding: 8px 12px;
    text-decoration: none;
    text-transform: uppercase;
}

.file-state {
    display: inline-flex;
    font-size: 11px;
    font-weight: 800;
    margin-top: 8px;
    text-transform: uppercase;
}

.file-state.available {
    color: #8dffbd;
    text-shadow: 0 0 12px rgba(35, 238, 128, .34);
}

.file-state.pending,
.file-expired {
    color: rgba(255, 255, 255, .68);
}

.order-meta-strip {
    border-top: 1px solid rgba(255, 255, 255, .09);
    display: flex;
    flex-wrap: wrap;
    gap: 10px 18px;
    padding-top: 12px;
}

.order-meta-strip span {
    color: rgba(229, 236, 247, .64);
    font-size: 12px;
    text-transform: uppercase;
}

.order-meta-strip strong {
    color: rgba(255, 255, 255, .92);
    margin-left: 6px;
    text-transform: none;
}

.order-panel-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 18px;
}

.order-message-timeline {
    display: grid;
    gap: 12px;
    margin-bottom: 24px;
    min-height: 180px;
}

.order-message-timeline article {
    border: 1px solid rgba(255, 255, 255, .10);
    border-left: 3px solid rgba(255, 255, 255, .34);
    border-radius: 8px;
    background: rgba(255, 255, 255, .06);
    padding: 15px 16px;
}

.order-message-timeline article.client_sav {
    border-left-color: var(--red);
    background: rgba(243, 31, 40, .10);
}

.order-message-timeline article.admin {
    border-left-color: rgba(36, 240, 140, .56);
}

.order-message-timeline p {
    margin: 7px 0;
    color: rgba(245, 247, 252, .84);
    line-height: 1.55;
}

.order-message-timeline small {
    color: rgba(225, 232, 242, .48);
}

.order-revision-form {
    display: grid;
    gap: 14px;
    border-top: 1px solid rgba(255, 255, 255, .09);
    padding-top: 18px;
}

.order-revision-form label {
    display: grid;
    gap: 8px;
    color: rgba(225, 232, 242, .64);
    text-transform: uppercase;
}

.order-revision-form textarea {
    width: 100%;
    min-height: 130px;
    border: 1px solid rgba(255, 255, 255, .13);
    border-radius: 6px;
    background: rgba(255, 255, 255, .06);
    color: #fff;
    font-family: var(--font-main);
    padding: 13px 14px;
    resize: vertical;
    text-transform: none;
}

.order-revision-form button {
    justify-self: start;
    border: 0;
    border-radius: 6px;
    background: var(--red);
    color: #fff;
    cursor: pointer;
    font-family: var(--font-main);
    padding: 12px 18px;
}

@media (max-width: 900px) {
    .order-detail-overview,
    .order-detail-dl,
    .order-file-cards {
        grid-template-columns: 1fr;
    }
}

/* Compact OLSX-style chat widget */
.darklab-chat-panel {
    right: 24px;
    bottom: 96px;
    width: min(410px, calc(100vw - 28px));
    height: min(620px, calc(100vh - 118px));
    border-radius: 26px;
    border: 1px solid rgba(17, 22, 30, .10);
    background: #f7f8fa;
    color: #141820;
    box-shadow: 0 24px 70px rgba(10, 12, 16, .22);
}

.darklab-chat-head {
    min-height: 84px;
    padding: 20px 22px 12px;
    background: linear-gradient(180deg, #4b5059 0%, #4a4f58 74%, rgba(74, 79, 88, 0) 100%);
    border-bottom: 0;
}

.darklab-chat-head button {
    background: rgba(255, 255, 255, .14);
    border-color: rgba(255, 255, 255, .22);
    color: #fff;
    font-size: 18px;
}

.darklab-chat-avatars {
    display: flex;
    align-items: center;
    padding-left: 6px;
}

.darklab-chat-avatars span,
.darklab-chat-avatar {
    display: grid;
    place-items: center;
    width: 42px;
    height: 42px;
    border: 2px solid #f7f8fa;
    border-radius: 50%;
    background: linear-gradient(145deg, #f31f28, #181c24);
    color: #fff;
    font-size: 11px;
    font-weight: 700;
}

.darklab-chat-avatars span + span {
    margin-left: -9px;
}

.darklab-chat-body {
    display: flex;
    flex-direction: column;
    height: calc(100% - 84px);
    min-height: 0;
    background: linear-gradient(180deg, #4a4f58 0, #f7f8fa 36%);
}

.darklab-chat-welcome {
    position: relative;
    z-index: 2;
    padding: 18px 24px 14px;
    color: #fff;
    pointer-events: auto;
}

.darklab-chat-welcome small,
.darklab-chat-thread-head small {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: rgba(255, 255, 255, .78);
    font-size: 11px;
    letter-spacing: .03em;
    text-transform: none;
}

.darklab-chat-welcome small i,
.darklab-chat-thread-head small i {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #28d17c;
    box-shadow: 0 0 0 3px rgba(40, 209, 124, .16);
}

.darklab-chat-welcome h2 {
    margin: 14px 0 8px;
    color: #fff;
    font-size: 31px;
    font-weight: 700;
    line-height: 1.08;
    letter-spacing: 0;
}

.darklab-chat-welcome p {
    max-width: 300px;
    margin: 0 0 18px;
    color: rgba(255, 255, 255, .78);
    font-size: 13px;
    line-height: 1.45;
}

.darklab-chat-welcome button {
    position: relative;
    z-index: 3;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    width: 100%;
    min-height: 72px;
    border: 1px solid rgba(17, 22, 30, .08);
    border-radius: 15px;
    background: #fff;
    color: #151922;
    padding: 16px 18px;
    text-align: left;
    box-shadow: 0 16px 36px rgba(11, 13, 18, .14);
    cursor: pointer;
    pointer-events: auto;
}

.darklab-chat-welcome button strong {
    display: block;
    color: #151922;
    font-size: 15px;
}

.darklab-chat-welcome button small {
    display: block;
    margin-top: 4px;
    color: #7a818b;
    font-size: 12px;
    letter-spacing: 0;
}

.darklab-chat-welcome button em {
    display: grid;
    place-items: center;
    width: 31px;
    height: 31px;
    border-radius: 50%;
    background: var(--red);
    color: #fff;
    font-size: 24px;
    font-style: normal;
    line-height: 1;
}

.darklab-chat-list {
    flex: 1;
    min-height: 0;
    max-height: none;
    margin-top: 8px;
    overflow-y: auto;
    border: 0;
    border-bottom: 0;
    background: #f7f8fa;
    padding: 14px 18px 18px;
}

.darklab-chat-list button {
    min-height: 62px;
    margin-bottom: 10px;
    border: 1px solid rgba(17, 22, 30, .07);
    border-radius: 14px;
    background: #fff;
    color: #171b23;
    padding: 13px 15px;
    box-shadow: 0 8px 22px rgba(11, 13, 18, .055);
}

.darklab-chat-list button.active,
.darklab-chat-list button:hover {
    background: #fff;
    border-color: rgba(243, 31, 40, .22);
}

.darklab-chat-list span,
.darklab-chat-list-empty {
    color: #767d87;
}

.darklab-chat-list-empty {
    margin: 0;
    padding: 10px 4px;
    font-size: 12px;
    text-align: center;
}

.darklab-chat-thread {
    display: grid;
    grid-template-rows: auto 1fr auto;
    height: 100%;
    min-height: 0;
    background: #f7f8fa;
    pointer-events: auto;
}

.darklab-chat-panel.open .darklab-chat-thread.active {
    position: relative;
    z-index: 2;
}

.darklab-chat-thread-head {
    display: grid;
    grid-template-columns: 34px 42px 1fr;
    gap: 10px;
    align-items: center;
    min-height: 74px;
    padding: 14px 16px;
    border-bottom: 1px solid rgba(17, 22, 30, .07);
    background: #fff;
}

.darklab-chat-thread-head button {
    width: 31px;
    height: 31px;
    border: 0;
    border-radius: 50%;
    background: #f0f2f5;
    color: #222832;
    cursor: pointer;
    font-size: 22px;
    line-height: 1;
}

.darklab-chat-thread-head strong {
    display: block;
    color: #141820;
    font-size: 14px;
}

.darklab-chat-thread-head small {
    margin-top: 3px;
    color: #6d747e;
    font-size: 11px;
}

.darklab-chat-messages {
    padding: 18px 16px;
    background: #f7f8fa;
}

.darklab-chat-messages article {
    max-width: 84%;
    margin-bottom: 10px;
    border: 1px solid rgba(17, 22, 30, .06);
    border-radius: 16px;
    background: #fff;
    color: #171b23;
    padding: 10px 12px;
    box-shadow: 0 8px 20px rgba(11, 13, 18, .045);
}

.darklab-chat-messages article.user {
    background: #191e27;
    color: #fff;
    border-color: rgba(25, 30, 39, .12);
}

.darklab-chat-messages p {
    color: inherit;
    font-size: 13px;
    line-height: 1.45;
}

.darklab-chat-messages small {
    color: #8a929d;
}

.darklab-chat-messages article.user small {
    color: rgba(255, 255, 255, .56);
}

.darklab-chat-form {
    gap: 8px;
    padding: 11px 12px 13px;
    border-top: 1px solid rgba(17, 22, 30, .07);
    background: #fff;
}

.darklab-chat-form input[name="subject"] {
    height: 36px;
}

.darklab-chat-form input,
.darklab-chat-form textarea {
    border-color: rgba(17, 22, 30, .08);
    border-radius: 14px;
    background: #f2f4f7;
    color: #151922;
    padding: 10px 12px;
    font-size: 13px;
}

.darklab-chat-form textarea {
    min-height: 44px;
    max-height: 92px;
}

.darklab-chat-form-row {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
}

.darklab-chat-form-row label,
.darklab-chat-emoji,
.darklab-chat-send {
    display: grid;
    place-items: center;
    width: 34px;
    height: 34px;
    border: 0;
    border-radius: 50%;
    background: #f0f2f5;
    color: #616a75;
    cursor: pointer;
    font-size: 18px;
    padding: 0;
}

.darklab-chat-form-row label input {
    display: none;
}

.darklab-chat-send {
    background: var(--red);
    color: #fff;
    font-size: 24px;
}

@media (max-width: 480px) {
    .darklab-chat-fab {
        right: 18px;
        bottom: 18px;
    }

    .darklab-chat-panel {
        right: 12px;
        bottom: 86px;
        width: calc(100vw - 24px);
        height: min(620px, calc(100vh - 100px));
        border-radius: 22px;
    }
}

.darklab-chat-head .darklab-chat-minimize svg,
.darklab-chat-form-row label svg {
    width: 18px;
    height: 18px;
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.darklab-chat-selected-files {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
}

.darklab-chat-selected-files span {
    max-width: 180px;
    overflow: hidden;
    border: 1px solid rgba(243, 31, 40, .18);
    border-radius: 999px;
    background: rgba(243, 31, 40, .07);
    color: #343b45;
    padding: 4px 8px;
    font-size: 10px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* DARKLAB - client history reading order: date, registration, vehicle, status */
body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main #history .history-table {
    min-width: 0 !important;
    width: 100% !important;
    table-layout: fixed;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main #history .history-table .history-date-plate-col {
    width: 20% !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main #history .history-table .history-vehicle-col {
    width: 35% !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main #history .history-table .history-status-col {
    overflow: visible !important;
    width: 21% !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main #history .history-table td.actions {
    width: 24% !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main #history .history-date-plate-col time,
body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main #history .history-date-plate-col .history-license {
    display: block;
    color: rgba(255, 255, 255, .96);
    font-size: 14px;
    font-weight: 800;
    line-height: 1.3;
    white-space: nowrap;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main #history .history-date-plate-col time {
    color: rgba(222, 228, 238, .88);
    font-size: 12px;
    margin-bottom: 7px;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main #history .history-date-plate-col .history-license {
    color: #fff;
    font-size: 15px;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main #history .history-table-scroll {
    overflow-x: hidden !important;
}

/* DARKLAB - open chat FAB becomes a clear minimize chevron */
.darklab-chat-fab-chevron {
    display: none;
    width: 27px;
    height: 27px;
    fill: none;
    stroke: #fff;
    stroke-width: 2.3;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.darklab-chat.is-panel-open .darklab-chat-fab span {
    display: none;
}

.darklab-chat.is-panel-open .darklab-chat-fab-chevron {
    display: block;
}

.darklab-chat.is-panel-open .darklab-chat-fab {
    box-shadow: 0 12px 32px rgba(243, 31, 40, .38), inset 0 0 18px rgba(255, 255, 255, .12);
}

/* DARKLAB - premium floating messenger, AutoTuner structure with DarkLab colors */
.darklab-chat-panel {
    background: linear-gradient(160deg, #171b23 0%, #11141b 58%, #1d1016 100%);
    border-color: rgba(255, 255, 255, .18);
    color: #f7f8fa;
}

.darklab-chat-thread {
    grid-template-rows: 76px minmax(0, 1fr) auto !important;
    background: linear-gradient(160deg, #171b23, #11141b 64%, #1b1015) !important;
}

.darklab-chat-thread-head {
    grid-template-columns: 34px 42px minmax(0, 1fr);
    min-height: 76px;
    background: rgba(18, 21, 28, .96);
    border-bottom-color: rgba(255, 255, 255, .1);
}

.darklab-chat-thread-head button {
    background: rgba(255, 255, 255, .08);
    color: #fff;
}

.darklab-chat-thread-head strong {
    color: #fff;
}

.darklab-chat-thread-head small {
    color: rgba(230, 235, 243, .65);
}

.darklab-chat-messages {
    min-height: 0;
    overflow-y: auto;
    background: transparent;
    padding: 18px 16px;
    scrollbar-color: rgba(243, 31, 40, .65) rgba(255, 255, 255, .04);
    scrollbar-width: thin;
}

.darklab-chat-messages article {
    border-color: rgba(255, 255, 255, .09);
    background: rgba(255, 255, 255, .075);
    color: #f2f4f8;
    box-shadow: 0 10px 24px rgba(0, 0, 0, .16);
}

.darklab-chat-messages article.user {
    background: linear-gradient(135deg, #e71928, #9e0010);
    border-color: rgba(255, 72, 84, .65);
    color: #fff;
}

.darklab-chat-form {
    align-self: end;
    display: grid;
    grid-template-rows: auto auto auto;
    gap: 7px;
    margin: 0 12px 12px;
    padding: 10px;
    border: 1px solid rgba(243, 31, 40, .72);
    border-radius: 17px;
    background: rgba(24, 27, 35, .98);
    box-shadow: 0 0 0 1px rgba(255, 255, 255, .025), 0 14px 30px rgba(0, 0, 0, .25);
}

.darklab-chat-form textarea {
    width: 100%;
    min-height: 54px;
    max-height: 110px;
    resize: none;
    border: 0;
    border-radius: 10px;
    background: transparent;
    color: #fff;
    padding: 7px 8px;
    line-height: 1.4;
    outline: none;
}

.darklab-chat-form textarea::placeholder {
    color: rgba(226, 232, 241, .48);
}

.darklab-chat-form-row {
    justify-content: flex-start;
}

.darklab-chat-form-row label,
.darklab-chat-emoji {
    background: rgba(255, 255, 255, .075);
    color: rgba(239, 243, 249, .75);
}

.darklab-chat-form-row .darklab-chat-send {
    margin-left: auto;
    background: linear-gradient(135deg, #ff2634, #bf0012);
    color: #fff;
    box-shadow: 0 6px 18px rgba(243, 31, 40, .28);
}

.darklab-chat-selected-files span {
    background: rgba(243, 31, 40, .12);
    color: rgba(255, 255, 255, .84);
}

/* DARKLAB - white conversation surface requested for the floating messenger */
.darklab-chat-panel,
.darklab-chat-thread,
.darklab-chat-messages {
    background: #f7f8fa !important;
    color: #161b23;
}

.darklab-chat-thread-head {
    background: #fff;
    border-bottom-color: rgba(17, 22, 30, .09);
}

.darklab-chat-thread-head button {
    background: #f0f2f5;
    color: #313842;
}

.darklab-chat-thread-head strong {
    color: #151a22;
}

.darklab-chat-thread-head small {
    color: #747c87;
}

.darklab-chat-messages article {
    background: #eef0f3;
    border-color: rgba(17, 22, 30, .07);
    color: #171c24;
    box-shadow: none;
}

.darklab-chat-messages article.user {
    background: linear-gradient(135deg, #f31f28, #b60012);
    border-color: rgba(196, 0, 19, .32);
    color: #fff;
}

.darklab-chat-form {
    background: #fff;
    border-color: rgba(243, 31, 40, .82);
    box-shadow: 0 10px 26px rgba(11, 13, 18, .09);
}

.darklab-chat-form textarea {
    color: #171c24;
}

.darklab-chat-form textarea::placeholder {
    color: #858c96;
}

.darklab-chat-form-row label,
.darklab-chat-emoji {
    background: #eef0f3;
    color: #68717d;
}

.darklab-chat-selected-files span {
    color: #343b45;
}

/* DARKLAB - exact optical centering for every messenger control */
.darklab-chat-head .darklab-chat-minimize,
.darklab-chat-form .darklab-chat-emoji,
.darklab-chat-form .darklab-chat-send,
.darklab-chat-form-row label {
    box-sizing: border-box;
    display: inline-grid !important;
    place-items: center !important;
    flex: 0 0 34px;
    width: 34px !important;
    min-width: 34px !important;
    height: 34px !important;
    min-height: 34px !important;
    margin-top: 0;
    margin-bottom: 0;
    padding: 0 !important;
    line-height: 1 !important;
    text-align: center;
}

.darklab-chat-head .darklab-chat-minimize {
    flex-basis: 38px;
    width: 38px !important;
    min-width: 38px !important;
    height: 38px !important;
    min-height: 38px !important;
}

.darklab-chat-head .darklab-chat-minimize svg,
.darklab-chat-form-row label svg,
.darklab-chat-fab-chevron {
    display: block;
    margin: 0;
    transform: none;
}

.darklab-chat-form .darklab-chat-emoji {
    font-size: 16px;
}

.darklab-chat-form .darklab-chat-send {
    font-size: 23px;
    padding-bottom: 2px !important;
}

/* CONFIGURATEUR VALIDE - NE PAS MODIFIER SANS DEMANDE EXPLICITE */
/* Touche retour DARKLAB - bloc usine 3D premium */
.configurator-layout .config-back {
    align-self: flex-start !important;
    background: transparent !important;
    border: 0 !important;
    cursor: pointer !important;
    display: inline-flex !important;
    height: 68px !important;
    margin: 32px 0 36px max(24px, calc((100% - min(var(--config-ref-strip), var(--config-ref-strip-max))) / 2)) !important;
    overflow: visible !important;
    padding: 0 !important;
    position: relative !important;
    width: 238px !important;
}

.configurator-layout .config-back[hidden] {
    display: none !important;
}

.configurator-layout .config-back::before,
.configurator-layout .config-back::after {
    content: none !important;
    display: none !important;
}

.configurator-layout .back-button {
    align-items: center !important;
    background:
        linear-gradient(180deg, rgba(255,255,255,.26), rgba(255,255,255,.08) 14%, rgba(255,255,255,0) 42%),
        radial-gradient(circle at 24% 14%, rgba(255,255,255,.13), transparent 30%),
        linear-gradient(135deg, #2f3741 0%, #151a22 19%, #05070b 52%, #171e27 100%) !important;
    border: 1px solid rgba(210, 224, 240, .45) !important;
    border-radius: 18px !important;
    box-shadow:
        0 3px 0 rgba(255,255,255,.18) inset,
        0 -5px 0 rgba(0,0,0,.50) inset,
        0 0 0 1px rgba(255,255,255,.035) inset,
        0 18px 34px rgba(0,0,0,.54),
        0 0 22px rgba(255,38,52,.09) !important;
    clip-path: polygon(14px 0, calc(100% - 14px) 0, 100% 14px, 100% calc(100% - 14px), calc(100% - 14px) 100%, 14px 100%, 0 calc(100% - 14px), 0 14px) !important;
    display: grid !important;
    grid-template-columns: 58px 1fr !important;
    height: 62px !important;
    margin: 3px 0 0 !important;
    overflow: hidden !important;
    padding: 0 20px 0 9px !important;
    position: relative !important;
    transform: translateZ(0) !important;
    transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease, filter .16s ease !important;
    width: 238px !important;
}

.configurator-layout .back-button::before {
    background:
        linear-gradient(180deg, rgba(255,255,255,.34), rgba(255,255,255,.07) 24%, transparent 56%),
        linear-gradient(90deg, transparent 0%, rgba(255,255,255,.09) 46%, transparent 100%) !important;
    border-radius: 15px !important;
    content: "" !important;
    inset: 4px !important;
    opacity: .78 !important;
    pointer-events: none !important;
    position: absolute !important;
    z-index: 1 !important;
}

.configurator-layout .back-button::after {
    background: linear-gradient(90deg, transparent, rgba(255,38,52,.30), rgba(255,116,126,.68), rgba(255,38,52,.34), transparent) !important;
    border-radius: 999px !important;
    bottom: 8px !important;
    box-shadow: 0 0 10px rgba(255,38,52,.28), 0 0 20px rgba(255,38,52,.12) !important;
    content: "" !important;
    height: 2px !important;
    left: 76px !important;
    opacity: .72 !important;
    pointer-events: none !important;
    position: absolute !important;
    right: 36px !important;
    z-index: 2 !important;
}

.configurator-layout .back-icon {
    align-items: center !important;
    background:
        linear-gradient(180deg, rgba(255,255,255,.20), rgba(255,255,255,.04) 44%, rgba(0,0,0,.18)),
        radial-gradient(circle at 50% 42%, rgba(255,255,255,.08), transparent 42%),
        linear-gradient(145deg, rgba(255,38,52,.24), #131820 44%, #030407 100%) !important;
    border: 1px solid rgba(255,72,84,.52) !important;
    border-radius: 13px !important;
    box-shadow:
        0 2px 0 rgba(255,255,255,.14) inset,
        0 -3px 0 rgba(0,0,0,.42) inset,
        0 0 14px rgba(255,38,52,.22) !important;
    clip-path: polygon(13px 0, calc(100% - 13px) 0, 100% 13px, 100% calc(100% - 13px), calc(100% - 13px) 100%, 13px 100%, 0 calc(100% - 13px), 0 13px) !important;
    color: rgba(255,255,255,.98) !important;
    display: flex !important;
    font-family: "Inter", sans-serif !important;
    font-size: 31px !important;
    font-weight: 900 !important;
    height: 46px !important;
    justify-content: center !important;
    line-height: 1 !important;
    margin: 0 !important;
    padding: 0 4px 3px 0 !important;
    position: relative !important;
    text-shadow: 0 2px 0 rgba(0,0,0,.88), 0 0 12px rgba(255,255,255,.22) !important;
    transform: none !important;
    width: 48px !important;
    z-index: 3 !important;
}

.configurator-layout .back-label {
    align-items: center !important;
    background: linear-gradient(180deg, #ffffff 0%, #e6edf4 30%, #7c8792 57%, #fbfdff 100%) !important;
    -webkit-background-clip: text !important;
    background-clip: text !important;
    color: transparent !important;
    display: flex !important;
    font-family: "Michroma", "Inter", sans-serif !important;
    font-size: 16px !important;
    font-weight: 500 !important;
    height: 100% !important;
    justify-content: center !important;
    letter-spacing: .22em !important;
    line-height: 1 !important;
    opacity: 1 !important;
    padding: 0 0 2px 1px !important;
    position: relative !important;
    text-shadow:
        0 1px 0 rgba(0,0,0,.94),
        0 -1px 0 rgba(255,255,255,.10),
        0 8px 12px rgba(0,0,0,.48) !important;
    text-transform: uppercase !important;
    transform: none !important;
    z-index: 3 !important;
}

.configurator-layout .config-back:hover .back-button,
.configurator-layout .config-back:focus-visible .back-button {
    border-color: rgba(234, 244, 255, .64) !important;
    box-shadow:
        0 3px 0 rgba(255,255,255,.22) inset,
        0 -5px 0 rgba(0,0,0,.50) inset,
        0 23px 42px rgba(0,0,0,.58),
        0 0 30px rgba(255,38,52,.18) !important;
    filter: brightness(1.08) contrast(1.04) !important;
    transform: translateY(-2px) translateZ(0) !important;
}

.configurator-layout .config-back:hover .back-icon,
.configurator-layout .config-back:focus-visible .back-icon {
    border-color: rgba(255,86,98,.70) !important;
    box-shadow:
        0 2px 0 rgba(255,255,255,.17) inset,
        0 -3px 0 rgba(0,0,0,.43) inset,
        0 0 20px rgba(255,38,52,.38) !important;
}

.configurator-layout .config-back:hover .back-button::after,
.configurator-layout .config-back:focus-visible .back-button::after {
    opacity: 1 !important;
    box-shadow: 0 0 14px rgba(255,38,52,.52), 0 0 30px rgba(255,38,52,.24) !important;
}

.configurator-layout .config-back:active .back-button {
    box-shadow:
        0 1px 0 rgba(255,255,255,.10) inset,
        0 -1px 0 rgba(0,0,0,.66) inset,
        0 8px 18px rgba(0,0,0,.52),
        0 0 14px rgba(255,38,52,.10) !important;
    filter: brightness(.88) contrast(1.08) !important;
    transform: translateY(2px) translateZ(0) !important;
}

@media (max-width: 980px) {
    .configurator-layout .config-back {
        margin-left: 24px !important;
        width: 220px !important;
    }

    .configurator-layout .back-button {
        width: 220px !important;
    }

    .configurator-layout .back-label {
        font-size: 14px !important;
    }
}

/* CONFIGURATEUR VALIDE - touche retour fine 3D, sans animation permanente */
.configurator-layout .config-back {
    height: 54px !important;
    margin: 28px 0 32px max(24px, calc((100% - min(var(--config-ref-strip), var(--config-ref-strip-max))) / 2)) !important;
    width: 214px !important;
}

.configurator-layout .back-button {
    background:
        linear-gradient(180deg, rgba(255,255,255,.22), rgba(255,255,255,.07) 18%, rgba(255,255,255,0) 48%),
        linear-gradient(135deg, #222932 0%, #10151c 24%, #05070b 58%, #141a22 100%) !important;
    border: 1px solid rgba(205, 218, 232, .38) !important;
    border-radius: 13px !important;
    box-shadow:
        0 2px 0 rgba(255,255,255,.16) inset,
        0 -3px 0 rgba(0,0,0,.52) inset,
        0 0 0 1px rgba(255,255,255,.025) inset,
        0 12px 22px rgba(0,0,0,.46) !important;
    clip-path: polygon(11px 0, calc(100% - 11px) 0, 100% 11px, 100% calc(100% - 11px), calc(100% - 11px) 100%, 11px 100%, 0 calc(100% - 11px), 0 11px) !important;
    grid-template-columns: 46px 1fr !important;
    height: 48px !important;
    margin: 2px 0 0 !important;
    padding: 0 17px 0 7px !important;
    transform: none !important;
    transition: border-color .12s ease, box-shadow .12s ease, filter .12s ease !important;
    width: 214px !important;
}

.configurator-layout .back-button::before {
    background:
        linear-gradient(180deg, rgba(255,255,255,.28), rgba(255,255,255,.06) 30%, transparent 58%),
        linear-gradient(90deg, rgba(255,255,255,0), rgba(255,255,255,.075), rgba(255,255,255,0)) !important;
    border-radius: 11px !important;
    inset: 3px !important;
    opacity: .70 !important;
}

.configurator-layout .back-button::after {
    background: linear-gradient(90deg, transparent, rgba(255,38,52,.72), rgba(255,130,138,.84), rgba(255,38,52,.72), transparent) !important;
    bottom: 5px !important;
    box-shadow: 0 0 12px rgba(255,38,52,.42), 0 0 26px rgba(255,38,52,.18) !important;
    height: 2px !important;
    left: 62px !important;
    opacity: 0 !important;
    right: 28px !important;
    transition: opacity .12s ease !important;
}

.configurator-layout .back-icon {
    background:
        linear-gradient(180deg, rgba(255,255,255,.18), rgba(255,255,255,.04) 44%, rgba(0,0,0,.28)),
        linear-gradient(145deg, #151b23 0%, #080b10 64%, #020305 100%) !important;
    border: 1px solid rgba(210, 222, 236, .25) !important;
    border-radius: 10px !important;
    box-shadow:
        0 1px 0 rgba(255,255,255,.12) inset,
        0 -2px 0 rgba(0,0,0,.48) inset !important;
    clip-path: polygon(10px 0, calc(100% - 10px) 0, 100% 10px, 100% calc(100% - 10px), calc(100% - 10px) 100%, 10px 100%, 0 calc(100% - 10px), 0 10px) !important;
    font-size: 28px !important;
    height: 36px !important;
    padding: 0 3px 3px 0 !important;
    text-shadow: 0 2px 0 rgba(0,0,0,.85) !important;
    width: 38px !important;
}

.configurator-layout .back-label {
    font-size: 13px !important;
    letter-spacing: .26em !important;
    padding: 0 0 1px 1px !important;
    text-shadow:
        0 1px 0 rgba(0,0,0,.95),
        0 -1px 0 rgba(255,255,255,.08) !important;
}

.configurator-layout .config-back:hover .back-button,
.configurator-layout .config-back:focus-visible .back-button {
    border-color: rgba(255, 72, 84, .58) !important;
    box-shadow:
        0 2px 0 rgba(255,255,255,.18) inset,
        0 -3px 0 rgba(0,0,0,.52) inset,
        0 14px 24px rgba(0,0,0,.48),
        0 0 18px rgba(255,38,52,.18) !important;
    filter: brightness(1.05) contrast(1.03) !important;
    transform: none !important;
}

.configurator-layout .config-back:hover .back-icon,
.configurator-layout .config-back:focus-visible .back-icon {
    border-color: rgba(255, 72, 84, .62) !important;
    box-shadow:
        0 1px 0 rgba(255,255,255,.14) inset,
        0 -2px 0 rgba(0,0,0,.48) inset,
        0 0 14px rgba(255,38,52,.26) !important;
}

.configurator-layout .config-back:hover .back-button::after,
.configurator-layout .config-back:focus-visible .back-button::after {
    opacity: 1 !important;
}

.configurator-layout .config-back:active .back-button {
    filter: brightness(.88) contrast(1.06) !important;
    transform: none !important;
}

@media (max-width: 980px) {
    .configurator-layout .config-back {
        width: 204px !important;
    }

    .configurator-layout .back-button {
        width: 204px !important;
    }
}

/* CONFIGURATEUR VALIDE - bouton retour capsule 3D final */
.configurator-layout .config-back {
    height: 48px !important;
    margin: 28px 0 32px max(24px, calc((100% - min(var(--config-ref-strip), var(--config-ref-strip-max))) / 2)) !important;
    overflow: visible !important;
    width: 210px !important;
}

.configurator-layout .back-button {
    align-items: center !important;
    background:
        linear-gradient(180deg, rgba(255,255,255,.24) 0%, rgba(255,255,255,.09) 16%, rgba(255,255,255,0) 48%),
        radial-gradient(circle at 20% 0%, rgba(255,255,255,.16), transparent 28%),
        linear-gradient(145deg, #252c35 0%, #111820 30%, #05070b 64%, #161d25 100%) !important;
    border: 1px solid rgba(215, 228, 242, .38) !important;
    border-radius: 15px !important;
    box-shadow:
        0 2px 0 rgba(255,255,255,.15) inset,
        0 -3px 0 rgba(0,0,0,.58) inset,
        0 0 0 1px rgba(255,255,255,.025) inset,
        0 11px 22px rgba(0,0,0,.48) !important;
    clip-path: none !important;
    display: flex !important;
    gap: 13px !important;
    height: 44px !important;
    justify-content: flex-start !important;
    margin: 2px 0 0 !important;
    overflow: hidden !important;
    padding: 0 18px 0 8px !important;
    position: relative !important;
    transform: none !important;
    transition: border-color .14s ease, box-shadow .14s ease, filter .14s ease !important;
    width: 210px !important;
}

.configurator-layout .back-button::before {
    background:
        linear-gradient(180deg, rgba(255,255,255,.30), rgba(255,255,255,.06) 34%, transparent 64%),
        linear-gradient(90deg, transparent 0%, rgba(255,255,255,.06) 46%, transparent 100%) !important;
    border-radius: 12px !important;
    content: "" !important;
    inset: 3px !important;
    opacity: .72 !important;
    pointer-events: none !important;
    position: absolute !important;
    z-index: 1 !important;
}

.configurator-layout .back-button::after {
    background: linear-gradient(90deg, transparent, rgba(255,38,52,.74), rgba(255,116,126,.88), rgba(255,38,52,.58), transparent) !important;
    border-radius: 999px !important;
    bottom: 4px !important;
    box-shadow: 0 0 11px rgba(255,38,52,.40), 0 0 24px rgba(255,38,52,.16) !important;
    content: "" !important;
    height: 2px !important;
    left: 58px !important;
    opacity: 0 !important;
    pointer-events: none !important;
    position: absolute !important;
    right: 24px !important;
    transition: opacity .14s ease !important;
    z-index: 2 !important;
}

.configurator-layout .back-icon {
    align-items: center !important;
    background:
        linear-gradient(180deg, rgba(255,255,255,.17), rgba(255,255,255,.04) 42%, rgba(0,0,0,.28)),
        linear-gradient(145deg, #181f28 0%, #080b10 68%, #020305 100%) !important;
    border: 1px solid rgba(218, 230, 242, .24) !important;
    border-radius: 10px !important;
    box-shadow:
        0 1px 0 rgba(255,255,255,.13) inset,
        0 -2px 0 rgba(0,0,0,.50) inset !important;
    clip-path: none !important;
    color: rgba(255,255,255,.96) !important;
    display: flex !important;
    flex: 0 0 34px !important;
    font-family: "Inter", sans-serif !important;
    font-size: 25px !important;
    font-weight: 900 !important;
    height: 32px !important;
    justify-content: center !important;
    line-height: 32px !important;
    margin: 0 !important;
    padding: 0 2px 2px 0 !important;
    position: relative !important;
    text-shadow: 0 2px 0 rgba(0,0,0,.86) !important;
    transform: none !important;
    width: 34px !important;
    z-index: 3 !important;
}

.configurator-layout .back-label {
    align-items: center !important;
    background: linear-gradient(180deg, #ffffff 0%, #dce6ef 36%, #818b96 61%, #f9fbff 100%) !important;
    -webkit-background-clip: text !important;
    background-clip: text !important;
    color: transparent !important;
    display: flex !important;
    flex: 1 1 auto !important;
    font-family: "Michroma", "Inter", sans-serif !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    height: 100% !important;
    justify-content: center !important;
    letter-spacing: .24em !important;
    line-height: 1 !important;
    padding: 0 0 1px !important;
    position: relative !important;
    text-shadow: 0 1px 0 rgba(0,0,0,.94), 0 -1px 0 rgba(255,255,255,.08) !important;
    transform: none !important;
    z-index: 3 !important;
}

.configurator-layout .config-back:hover .back-button,
.configurator-layout .config-back:focus-visible .back-button {
    border-color: rgba(255, 74, 86, .62) !important;
    box-shadow:
        0 2px 0 rgba(255,255,255,.17) inset,
        0 -3px 0 rgba(0,0,0,.58) inset,
        0 12px 23px rgba(0,0,0,.50),
        0 0 16px rgba(255,38,52,.18) !important;
    filter: brightness(1.04) contrast(1.03) !important;
    transform: none !important;
}

.configurator-layout .config-back:hover .back-icon,
.configurator-layout .config-back:focus-visible .back-icon {
    border-color: rgba(255, 74, 86, .58) !important;
    box-shadow:
        0 1px 0 rgba(255,255,255,.14) inset,
        0 -2px 0 rgba(0,0,0,.50) inset,
        0 0 12px rgba(255,38,52,.22) !important;
}

.configurator-layout .config-back:hover .back-button::after,
.configurator-layout .config-back:focus-visible .back-button::after {
    opacity: 1 !important;
}

.configurator-layout .config-back:active .back-button {
    box-shadow:
        0 1px 0 rgba(255,255,255,.10) inset,
        0 -1px 0 rgba(0,0,0,.66) inset,
        0 7px 16px rgba(0,0,0,.48) !important;
    filter: brightness(.90) contrast(1.05) !important;
    transform: none !important;
}

@media (max-width: 980px) {
    .configurator-layout .config-back,
    .configurator-layout .back-button {
        width: 198px !important;
    }

    .configurator-layout .back-label {
        font-size: 12px !important;
    }
}

/* CONFIGURATEUR VALIDE - correction finale icone retour integree */
.configurator-layout .back-button {
    display: flex !important;
    justify-content: center !important;
    padding: 0 18px !important;
}

.configurator-layout .back-icon {
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    clip-path: none !important;
    color: transparent !important;
    flex: 0 0 auto !important;
    font-size: 0 !important;
    height: 24px !important;
    left: 18px !important;
    line-height: 1 !important;
    margin: 0 !important;
    padding: 0 !important;
    position: absolute !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    width: 24px !important;
    z-index: 4 !important;
}

.configurator-layout .back-icon::before {
    color: rgba(255,255,255,.96) !important;
    content: "\2039" !important;
    display: block !important;
    font-family: "Inter", sans-serif !important;
    font-size: 30px !important;
    font-weight: 900 !important;
    line-height: 22px !important;
    text-shadow: 0 2px 0 rgba(0,0,0,.88), 0 0 10px rgba(255,255,255,.16) !important;
}

.configurator-layout .back-label {
    flex: 0 1 auto !important;
    justify-content: center !important;
    margin-left: 10px !important;
    padding-left: 16px !important;
}

.configurator-layout .back-button::after {
    left: 52px !important;
    opacity: 0 !important;
    right: 30px !important;
}

.configurator-layout .config-back:hover .back-icon::before,
.configurator-layout .config-back:focus-visible .back-icon::before {
    color: #fff !important;
    text-shadow: 0 2px 0 rgba(0,0,0,.88), 0 0 14px rgba(255,38,52,.36) !important;
}

/* CONFIGURATEUR VALIDE - retour cockpit 3D futuriste */
.configurator-layout .config-back {
    height: 50px !important;
    width: 218px !important;
}

.configurator-layout .back-button {
    background:
        linear-gradient(180deg, rgba(255,255,255,.28) 0%, rgba(255,255,255,.09) 13%, transparent 45%),
        linear-gradient(115deg, rgba(255,255,255,.10) 0 16%, transparent 17% 100%),
        linear-gradient(155deg, #303944 0%, #121922 28%, #05070b 62%, #18212a 100%) !important;
    border: 1px solid rgba(223, 235, 248, .40) !important;
    border-bottom-color: rgba(255, 42, 55, .34) !important;
    border-radius: 14px !important;
    box-shadow:
        0 2px 0 rgba(255,255,255,.16) inset,
        0 -4px 0 rgba(0,0,0,.58) inset,
        0 0 0 1px rgba(255,255,255,.035) inset,
        0 10px 20px rgba(0,0,0,.48),
        0 1px 0 rgba(255,38,52,.22) !important;
    height: 46px !important;
    padding: 0 18px 0 14px !important;
    width: 218px !important;
}

.configurator-layout .back-button::before {
    background:
        linear-gradient(180deg, rgba(255,255,255,.28), rgba(255,255,255,.055) 36%, transparent 64%),
        linear-gradient(100deg, transparent 0%, rgba(255,255,255,.11) 30%, transparent 31% 100%) !important;
    border: 1px solid rgba(255,255,255,.045) !important;
    border-radius: 11px !important;
    inset: 3px !important;
    opacity: .86 !important;
}

.configurator-layout .back-button::after {
    bottom: 5px !important;
    height: 2px !important;
    left: 58px !important;
    opacity: 0 !important;
    right: 26px !important;
}

.configurator-layout .back-icon {
    align-items: center !important;
    background:
        linear-gradient(180deg, rgba(255,255,255,.16), rgba(255,255,255,.035) 45%, rgba(0,0,0,.32)),
        linear-gradient(145deg, #151d26 0%, #070a0f 100%) !important;
    border: 1px solid rgba(225, 236, 248, .20) !important;
    border-right-color: rgba(255,255,255,.06) !important;
    border-radius: 9px !important;
    box-shadow:
        0 1px 0 rgba(255,255,255,.12) inset,
        0 -2px 0 rgba(0,0,0,.50) inset,
        0 0 0 1px rgba(255,255,255,.018) !important;
    display: flex !important;
    height: 31px !important;
    justify-content: center !important;
    left: 10px !important;
    overflow: hidden !important;
    top: 50% !important;
    width: 37px !important;
}

.configurator-layout .back-icon::before {
    color: rgba(255,255,255,.96) !important;
    font-size: 30px !important;
    line-height: 25px !important;
    margin-top: -1px !important;
    text-shadow: 0 2px 0 rgba(0,0,0,.90), 0 0 8px rgba(255,255,255,.14) !important;
}

.configurator-layout .back-icon::after {
    background: linear-gradient(180deg, transparent, rgba(255,38,52,.78), transparent) !important;
    content: "" !important;
    height: 20px !important;
    opacity: 0 !important;
    position: absolute !important;
    right: -1px !important;
    top: 6px !important;
    transition: opacity .14s ease !important;
    width: 1px !important;
}

.configurator-layout .back-label {
    font-size: 13px !important;
    letter-spacing: .27em !important;
    margin-left: 18px !important;
    padding-left: 20px !important;
    text-shadow:
        0 1px 0 rgba(0,0,0,.98),
        0 -1px 0 rgba(255,255,255,.12),
        0 0 12px rgba(255,255,255,.055) !important;
}

.configurator-layout .config-back:hover .back-button,
.configurator-layout .config-back:focus-visible .back-button {
    border-color: rgba(255, 76, 88, .62) !important;
    border-top-color: rgba(240, 249, 255, .48) !important;
    box-shadow:
        0 2px 0 rgba(255,255,255,.18) inset,
        0 -4px 0 rgba(0,0,0,.58) inset,
        0 13px 24px rgba(0,0,0,.52),
        0 0 18px rgba(255,38,52,.24) !important;
    filter: brightness(1.06) contrast(1.04) !important;
    transform: translateY(-1px) !important;
}

.configurator-layout .config-back:hover .back-icon,
.configurator-layout .config-back:focus-visible .back-icon {
    border-color: rgba(255, 76, 88, .42) !important;
    box-shadow:
        0 1px 0 rgba(255,255,255,.14) inset,
        0 -2px 0 rgba(0,0,0,.52) inset,
        0 0 14px rgba(255,38,52,.24) !important;
}

.configurator-layout .config-back:hover .back-icon::after,
.configurator-layout .config-back:focus-visible .back-icon::after {
    opacity: 1 !important;
}

.configurator-layout .config-back:active .back-button {
    box-shadow:
        0 1px 0 rgba(255,255,255,.10) inset,
        0 -1px 0 rgba(0,0,0,.70) inset,
        0 6px 14px rgba(0,0,0,.48) !important;
    transform: translateY(1px) !important;
}

/* CONFIGURATEUR VALIDE - retour slim premium final */
.configurator-layout .config-back {
    height: 44px !important;
    margin: 26px 0 30px max(24px, calc((100% - min(var(--config-ref-strip), var(--config-ref-strip-max))) / 2)) !important;
    width: 204px !important;
}

.configurator-layout .back-button {
    background:
        linear-gradient(180deg, rgba(255,255,255,.24) 0%, rgba(255,255,255,.075) 18%, transparent 52%),
        linear-gradient(112deg, rgba(255,255,255,.085) 0 18%, transparent 18.5% 100%),
        linear-gradient(155deg, #262f38 0%, #111820 31%, #05070b 67%, #151d25 100%) !important;
    border: 1px solid rgba(224, 236, 248, .34) !important;
    border-bottom-color: rgba(255, 45, 58, .22) !important;
    border-radius: 13px !important;
    box-shadow:
        0 1px 0 rgba(255,255,255,.15) inset,
        0 -2px 0 rgba(0,0,0,.62) inset,
        0 0 0 1px rgba(255,255,255,.025) inset,
        0 8px 17px rgba(0,0,0,.44) !important;
    height: 40px !important;
    padding: 0 16px 0 12px !important;
    transform: none !important;
    width: 204px !important;
}

.configurator-layout .back-button::before {
    background:
        linear-gradient(180deg, rgba(255,255,255,.24), rgba(255,255,255,.045) 36%, transparent 66%),
        linear-gradient(100deg, transparent 0%, rgba(255,255,255,.095) 28%, transparent 29% 100%) !important;
    border: 1px solid rgba(255,255,255,.035) !important;
    border-radius: 10px !important;
    inset: 3px !important;
    opacity: .82 !important;
}

.configurator-layout .back-button::after {
    bottom: 4px !important;
    height: 1px !important;
    left: 56px !important;
    opacity: 0 !important;
    right: 28px !important;
}

.configurator-layout .back-icon {
    background:
        linear-gradient(180deg, rgba(255,255,255,.13), rgba(255,255,255,.032) 45%, rgba(0,0,0,.30)),
        linear-gradient(145deg, #151c24 0%, #06090d 100%) !important;
    border: 1px solid rgba(229, 239, 250, .18) !important;
    border-radius: 8px !important;
    box-shadow:
        0 1px 0 rgba(255,255,255,.10) inset,
        0 -1px 0 rgba(0,0,0,.55) inset !important;
    height: 28px !important;
    left: 9px !important;
    width: 34px !important;
}

.configurator-layout .back-icon::before {
    font-size: 28px !important;
    line-height: 22px !important;
    margin-top: -1px !important;
    text-shadow: 0 1px 0 rgba(0,0,0,.92), 0 0 7px rgba(255,255,255,.12) !important;
}

.configurator-layout .back-icon::after {
    height: 16px !important;
    top: 6px !important;
}

.configurator-layout .back-label {
    font-size: 12px !important;
    letter-spacing: .29em !important;
    margin-left: 18px !important;
    padding-left: 18px !important;
    text-shadow:
        0 1px 0 rgba(0,0,0,.98),
        0 -1px 0 rgba(255,255,255,.10),
        0 0 9px rgba(255,255,255,.045) !important;
}

.configurator-layout .config-back:hover .back-button,
.configurator-layout .config-back:focus-visible .back-button {
    border-color: rgba(255, 73, 86, .52) !important;
    border-top-color: rgba(239, 248, 255, .44) !important;
    box-shadow:
        0 1px 0 rgba(255,255,255,.17) inset,
        0 -2px 0 rgba(0,0,0,.62) inset,
        0 9px 19px rgba(0,0,0,.46),
        0 0 14px rgba(255,38,52,.16) !important;
    filter: brightness(1.045) contrast(1.035) !important;
    transform: translateY(-1px) !important;
}

.configurator-layout .config-back:hover .back-button::after,
.configurator-layout .config-back:focus-visible .back-button::after {
    opacity: .9 !important;
}

.configurator-layout .config-back:hover .back-icon,
.configurator-layout .config-back:focus-visible .back-icon {
    border-color: rgba(255, 73, 86, .34) !important;
    box-shadow:
        0 1px 0 rgba(255,255,255,.12) inset,
        0 -1px 0 rgba(0,0,0,.56) inset,
        0 0 10px rgba(255,38,52,.18) !important;
}

.configurator-layout .config-back:active .back-button {
    box-shadow:
        0 1px 0 rgba(255,255,255,.08) inset,
        0 -1px 0 rgba(0,0,0,.72) inset,
        0 5px 12px rgba(0,0,0,.46) !important;
    filter: brightness(.91) contrast(1.05) !important;
    transform: translateY(1px) !important;
}

/* CONFIGURATEUR VALIDE - respiration premium autour des cartes */
.configurator-layout .vehicle-type-tabs {
    margin: 28px auto 38px !important;
    padding: 20px 0 !important;
}

.configurator-layout .config-card-grid {
    padding-top: 20px !important;
    padding-bottom: 20px !important;
    row-gap: max(32px, 20px) !important;
}

.configurator-layout .brand-logo-wall .config-card,
.configurator-layout .config-card {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

@media (max-width: 1320px) {
    .configurator-layout .vehicle-type-tabs {
        padding-top: 20px !important;
        padding-bottom: 20px !important;
    }
}

/* CONFIGURATEUR VALIDE - lisibilite premium du resultat */
.configurator-layout .config-result,
.configurator-layout .result-panel {
    color: #111827 !important;
}

.configurator-layout .result-vehicle span,
.configurator-layout .result-vehicle p,
.configurator-layout .result-ecu span,
.configurator-layout .catalog-stage-table span,
.configurator-layout .catalog-stage-table strong,
.configurator-layout .catalog-stage-table b,
.configurator-layout .result-disclaimer {
    color: #111827 !important;
    opacity: 1 !important;
    text-shadow: none !important;
}

.configurator-layout .result-vehicle span,
.configurator-layout .result-ecu span,
.configurator-layout .catalog-stage-table strong {
    color: #273241 !important;
    font-weight: 800 !important;
}

.configurator-layout .result-vehicle h3 {
    color: #080f1d !important;
    text-shadow: none !important;
}

.configurator-layout .result-vehicle p {
    color: #526071 !important;
    font-weight: 700 !important;
}

.configurator-layout .catalog-stage-table {
    background:
        linear-gradient(180deg, rgba(255,255,255,.98), rgba(248,250,252,.96)) !important;
    border: 1px solid rgba(17, 24, 39, .10) !important;
    box-shadow: 0 22px 48px rgba(17, 24, 39, .12) !important;
}

.configurator-layout .catalog-stage-table > * {
    border-color: rgba(17, 24, 39, .10) !important;
}

.configurator-layout .catalog-stage-table b {
    color: #172033 !important;
    font-weight: 900 !important;
}

.configurator-layout .catalog-stage-table .red,
.configurator-layout .catalog-stage-table b.red {
    color: #f31f28 !important;
    text-shadow: 0 0 10px rgba(243, 31, 40, .10) !important;
}

.configurator-layout .result-panel h3,
.configurator-layout .result-panel h4,
.configurator-layout .result-panel h5 {
    color: #111827 !important;
    opacity: 1 !important;
    text-shadow: none !important;
}

.configurator-layout .ecu-possibilities + h3,
.configurator-layout .result-panel .section-title {
    color: #111827 !important;
}

.configurator-layout .result-disclaimer {
    color: #64748b !important;
}

/* CONFIGURATEUR VALIDE - contraste impose sur toutes les fiches resultat */
.configurator-layout .config-stage.result-step,
.configurator-layout .config-stage.result-step .config-result,
.configurator-layout .config-stage.result-step .result-panel,
.configurator-layout .config-stage.result-step .result-panel *:not(.red):not(.service-mark):not(.service-mark *),
.configurator-layout.is-result-step .config-result,
.configurator-layout.is-result-step .config-result *:not(.red):not(.service-mark):not(.service-mark *) {
    color: #111827 !important;
    opacity: 1 !important;
    text-shadow: none !important;
}

.configurator-layout .config-stage.result-step .result-vehicle p,
.configurator-layout .config-stage.result-step .result-disclaimer,
.configurator-layout.is-result-step .result-vehicle p,
.configurator-layout.is-result-step .result-disclaimer {
    color: #526071 !important;
}

.configurator-layout .config-stage.result-step h3,
.configurator-layout .config-stage.result-step h4,
.configurator-layout .config-stage.result-step h5,
.configurator-layout.is-result-step h3,
.configurator-layout.is-result-step h4,
.configurator-layout.is-result-step h5 {
    color: #080f1d !important;
}

.configurator-layout .config-stage.result-step .catalog-stage-table .red,
.configurator-layout .config-stage.result-step .catalog-stage-table b.red,
.configurator-layout.is-result-step .catalog-stage-table .red,
.configurator-layout.is-result-step .catalog-stage-table b.red {
    color: #f31f28 !important;
    text-shadow: 0 0 10px rgba(243, 31, 40, .10) !important;
}

/* CONFIGURATEUR VALIDE - logos tarif stage premium */
.configurator-layout .sim-stage-switch {
    align-items: center !important;
}

.configurator-layout .sim-stage-switch button {
    align-items: center !important;
    color: #111827 !important;
    font-weight: 900 !important;
}

.configurator-layout .sim-stage-switch button span:not(.service-mark) {
    color: #111827 !important;
    opacity: 1 !important;
}

.configurator-layout .service-mark {
    align-items: baseline !important;
    display: inline-flex !important;
    flex: 0 0 auto !important;
    gap: 1px !important;
    justify-content: center !important;
    min-width: 24px !important;
    position: relative !important;
    text-shadow: none !important;
}

.configurator-layout .service-mark b,
.configurator-layout .service-mark i {
    background: linear-gradient(180deg, #ff9447 0%, #f31f28 64%, #a40c16 100%) !important;
    -webkit-background-clip: text !important;
    background-clip: text !important;
    color: transparent !important;
    display: inline-block !important;
    font-family: "Michroma", "Inter", sans-serif !important;
    font-style: normal !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    opacity: 1 !important;
    text-shadow: 0 1px 0 rgba(255,255,255,.36), 0 0 8px rgba(243,31,40,.16) !important;
}

.configurator-layout .service-mark b {
    font-size: 13px !important;
    letter-spacing: -.02em !important;
}

.configurator-layout .service-mark i {
    font-size: 15px !important;
    margin-left: -1px !important;
}

.configurator-layout .service-mark.stage::after {
    background: linear-gradient(90deg, rgba(243,31,40,0), rgba(243,31,40,.52), rgba(243,31,40,0)) !important;
    border-radius: 999px !important;
    bottom: -5px !important;
    content: "" !important;
    height: 1px !important;
    left: 2px !important;
    opacity: 0 !important;
    position: absolute !important;
    right: 2px !important;
}

.configurator-layout .sim-stage-switch button.active .service-mark b,
.configurator-layout .sim-stage-switch button.active .service-mark i,
.configurator-layout .sim-stage-switch button:hover .service-mark b,
.configurator-layout .sim-stage-switch button:hover .service-mark i {
    background: linear-gradient(180deg, #ffad63 0%, #ff2938 58%, #c90f1c 100%) !important;
    -webkit-background-clip: text !important;
    background-clip: text !important;
    color: transparent !important;
    text-shadow: 0 1px 0 rgba(255,255,255,.46), 0 0 10px rgba(243,31,40,.28) !important;
}

.configurator-layout .sim-stage-switch button.active .service-mark.stage::after,
.configurator-layout .sim-stage-switch button:hover .service-mark.stage::after {
    opacity: 1 !important;
}

.configurator-layout .service-mark.ethanol b,
.configurator-layout .service-mark.ethanol i {
    background: linear-gradient(180deg, #43d69b 0%, #0f8a62 66%, #07543d 100%) !important;
    -webkit-background-clip: text !important;
    background-clip: text !important;
    color: transparent !important;
}

/* CONFIGURATEUR VALIDE - logos tarif devant toutes les options */
.configurator-layout .option-chips {
    align-items: center !important;
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 12px !important;
}

.configurator-layout .option-chips .option-chip {
    align-items: center !important;
    background: linear-gradient(180deg, #ffffff 0%, #eef1f4 100%) !important;
    border: 1px solid rgba(17, 24, 39, .08) !important;
    border-radius: 999px !important;
    box-shadow: 0 10px 22px rgba(17, 24, 39, .07) !important;
    color: #111827 !important;
    display: inline-flex !important;
    gap: 10px !important;
    min-height: 48px !important;
    padding: 6px 16px 6px 7px !important;
}

.configurator-layout .option-chips .option-chip img {
    background: #fff !important;
    border: 1px solid rgba(17, 24, 39, .06) !important;
    border-radius: 999px !important;
    box-shadow: 0 6px 14px rgba(17, 24, 39, .10) !important;
    display: block !important;
    flex: 0 0 36px !important;
    height: 36px !important;
    object-fit: contain !important;
    padding: 4px !important;
    width: 36px !important;
}

.configurator-layout .option-chips .option-chip strong {
    color: #111827 !important;
    font-size: 14px !important;
    font-weight: 900 !important;
    line-height: 1.05 !important;
    text-shadow: none !important;
    white-space: nowrap !important;
}

/* DARKLAB - fond principal fixe du portail, hors login et detection */
body.darklab-fixed-bg:not(.no-portal-bg) {
    background-color: #020305 !important;
    background-image:
        linear-gradient(rgba(0, 0, 0, .12), rgba(0, 0, 0, .12)),
        url("/static/images/darklab-portal-fixed-bg.png") !important;
    background-attachment: fixed !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
    background-size: cover !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .portal-layout {
    background: transparent !important;
}

/* DARKLAB - fond fixe visible dans le configurateur */
body.darklab-fixed-bg:not(.no-portal-bg) .configurator-layout,
body.darklab-fixed-bg:not(.no-portal-bg) .configurator-main {
    background: transparent !important;
    background-image: none !important;
}

/* DARKLAB - selection outil de lecture esprit boutique premium */
body.darklab-fixed-bg:not(.no-portal-bg) .upload-flow > .reader-panel:not(.file-step) {
    background:
        linear-gradient(145deg, rgba(255, 255, 255, .10), rgba(255, 255, 255, .035)),
        radial-gradient(circle at 18% 18%, rgba(0, 102, 255, .14), transparent 34%),
        radial-gradient(circle at 84% 32%, rgba(236, 28, 36, .18), transparent 34%),
        rgba(7, 9, 14, .62) !important;
    border: 1px solid rgba(236, 28, 36, .22) !important;
    border-radius: 8px !important;
    box-shadow:
        0 26px 70px rgba(0, 0, 0, .34),
        0 0 0 1px rgba(255, 255, 255, .08) inset !important;
    overflow: hidden !important;
    position: relative !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .upload-flow > .reader-panel:not(.file-step)::before {
    background: linear-gradient(90deg, rgba(236, 28, 36, .82), rgba(255, 255, 255, .78), rgba(236, 28, 36, .46), transparent) !important;
    content: "" !important;
    height: 2px !important;
    left: 24px !important;
    position: absolute !important;
    right: 38% !important;
    top: 0 !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .upload-flow > .reader-panel:not(.file-step) h2,
body.darklab-fixed-bg:not(.no-portal-bg) .upload-flow > .reader-panel:not(.file-step) h3 {
    color: #ff2634 !important;
    text-shadow: 0 0 18px rgba(236, 28, 36, .22) !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .upload-flow > .reader-panel:not(.file-step) .hint {
    color: rgba(255, 255, 255, .78) !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .upload-flow > .reader-panel:not(.file-step) .tool-grid {
    gap: 30px !important;
    grid-template-columns: repeat(5, minmax(150px, 1fr)) !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .upload-flow > .reader-panel:not(.file-step) .tool-option {
    background:
        radial-gradient(circle at 16% 18%, rgba(0, 102, 255, .16), transparent 30%),
        radial-gradient(circle at 86% 42%, rgba(236, 28, 36, .20), transparent 30%),
        linear-gradient(145deg, #050608, #1d222a 58%, #08090d) !important;
    border: 1px solid rgba(255, 255, 255, .18) !important;
    border-radius: 8px !important;
    box-shadow:
        0 14px 26px rgba(0, 0, 0, .26),
        0 0 0 1px rgba(255, 255, 255, .04) inset !important;
    display: grid !important;
    gap: 12px !important;
    align-content: center !important;
    align-items: center !important;
    grid-template-columns: 1fr !important;
    grid-template-rows: 74px minmax(42px, auto) !important;
    justify-items: center !important;
    min-height: 166px !important;
    padding: 22px 16px 18px !important;
    position: relative !important;
    transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .upload-flow > .reader-panel:not(.file-step) .tool-option:hover,
body.darklab-fixed-bg:not(.no-portal-bg) .upload-flow > .reader-panel:not(.file-step) .tool-option:has(input:checked) {
    border-color: rgba(236, 28, 36, .46) !important;
    box-shadow:
        0 0 0 1px rgba(236, 28, 36, .10) inset,
        0 0 24px rgba(236, 28, 36, .18),
        0 18px 32px rgba(0, 0, 0, .32) !important;
    transform: translateY(-2px) !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .upload-flow > .reader-panel:not(.file-step) .radio-dot {
    background: rgba(255, 255, 255, .08) !important;
    border: 1px solid rgba(255, 255, 255, .36) !important;
    height: 18px !important;
    position: absolute !important;
    right: 14px !important;
    top: 14px !important;
    width: 18px !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .upload-flow > .reader-panel:not(.file-step) .tool-logo {
    align-items: center !important;
    align-self: end !important;
    display: flex !important;
    height: 74px !important;
    justify-content: center !important;
    justify-self: stretch !important;
    width: 100% !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .upload-flow > .reader-panel:not(.file-step) .tool-logo img {
    filter: grayscale(1) brightness(1.45) contrast(.86) !important;
    display: block !important;
    margin: 0 auto !important;
    max-height: 62px !important;
    object-fit: contain !important;
    object-position: center center !important;
    opacity: .68 !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .upload-flow > .reader-panel:not(.file-step) .tool-name {
    align-items: center !important;
    align-self: start !important;
    color: rgba(255, 255, 255, .82) !important;
    display: flex !important;
    font-weight: 700 !important;
    justify-content: center !important;
    line-height: 1.22 !important;
    min-height: 42px !important;
    text-align: center !important;
    width: 100% !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .upload-flow > .reader-panel:not(.file-step) .tool-option input:checked + .radio-dot {
    background: #ff2634 !important;
    border-color: #ff2634 !important;
    box-shadow: 0 0 0 4px rgba(255, 38, 52, .16), 0 0 18px rgba(236, 28, 36, .42) !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .upload-flow > .reader-panel:not(.file-step) .tool-option input:checked ~ .tool-logo img,
body.darklab-fixed-bg:not(.no-portal-bg) .upload-flow > .reader-panel:not(.file-step) .tool-option:hover .tool-logo img {
    filter: none !important;
    opacity: .98 !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .upload-flow > .reader-panel:not(.file-step) .tool-option input:checked ~ .tool-name {
    color: #fff !important;
    text-shadow: 0 0 14px rgba(236, 28, 36, .28) !important;
}

/* DARKLAB - cadre fichier original aligne sur le cadre outil */
body.darklab-fixed-bg:not(.no-portal-bg) .upload-flow > .reader-panel.file-step {
    background:
        linear-gradient(145deg, rgba(255, 255, 255, .10), rgba(255, 255, 255, .035)),
        radial-gradient(circle at 18% 18%, rgba(0, 102, 255, .12), transparent 34%),
        radial-gradient(circle at 84% 32%, rgba(236, 28, 36, .16), transparent 34%),
        rgba(7, 9, 14, .62) !important;
    border: 1px solid rgba(236, 28, 36, .22) !important;
    border-radius: 8px !important;
    box-shadow:
        0 26px 70px rgba(0, 0, 0, .34),
        0 0 0 1px rgba(255, 255, 255, .08) inset !important;
    overflow: hidden !important;
    position: relative !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .upload-flow > .reader-panel.file-step::before {
    background: linear-gradient(90deg, rgba(236, 28, 36, .82), rgba(255, 255, 255, .78), rgba(236, 28, 36, .46), transparent) !important;
    content: "" !important;
    height: 2px !important;
    left: 24px !important;
    position: absolute !important;
    right: 38% !important;
    top: 0 !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .upload-flow > .reader-panel.file-step h2 {
    color: #ff2634 !important;
    text-shadow: 0 0 18px rgba(236, 28, 36, .22) !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .upload-flow > .reader-panel.file-step .hint {
    color: rgba(255, 255, 255, .82) !important;
}

/* DARKLAB - fond fixe visible sur les resultats de detection */
body.darklab-fixed-bg .detect-page:not(.is-matrix-running) {
    background: transparent !important;
}

body.darklab-fixed-bg .detect-page:not(.is-matrix-running) .detect-title-row h1 {
    color: #fff !important;
    text-shadow: 0 0 18px rgba(255, 255, 255, .12), 0 0 22px rgba(236, 28, 36, .18) !important;
}

/* DARKLAB - suppression du voile rouge sur le configurateur */
body.darklab-fixed-bg:not(.no-portal-bg) .configurator-panel {
    background: transparent !important;
    background-image: none !important;
    border-color: transparent !important;
    box-shadow: none !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .configurator-panel::before {
    content: none !important;
    display: none !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .configurator-main::before,
body.darklab-fixed-bg:not(.no-portal-bg) .configurator-main::after {
    content: none !important;
    display: none !important;
}

/* DARKLAB - lisibilite premium du menu lateral */
body.darklab-fixed-bg:not(.no-portal-bg) .sidebar .side-nav a,
body.darklab-fixed-bg:not(.no-portal-bg) .configurator-layout .side-nav a {
    color: rgba(255, 255, 255, .9) !important;
    text-shadow:
        0 0 5px rgba(255, 255, 255, .34),
        0 0 14px rgba(255, 255, 255, .16),
        0 1px 0 rgba(0, 0, 0, .72) !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .sidebar .side-nav a:hover,
body.darklab-fixed-bg:not(.no-portal-bg) .sidebar .side-nav a.active,
body.darklab-fixed-bg:not(.no-portal-bg) .configurator-layout .side-nav a:hover,
body.darklab-fixed-bg:not(.no-portal-bg) .configurator-layout .side-nav a.active {
    color: #fff !important;
    text-shadow:
        0 0 7px rgba(255, 255, 255, .54),
        0 0 18px rgba(255, 255, 255, .24),
        0 0 18px rgba(255, 38, 52, .22),
        0 1px 0 rgba(0, 0, 0, .78) !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .sidebar .nav-icon,
body.darklab-fixed-bg:not(.no-portal-bg) .configurator-layout .nav-icon {
    filter:
        drop-shadow(0 0 4px rgba(255, 255, 255, .38))
        drop-shadow(0 0 12px rgba(255, 255, 255, .16)) !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .sidebar .side-nav a:hover .nav-icon,
body.darklab-fixed-bg:not(.no-portal-bg) .sidebar .side-nav a.active .nav-icon,
body.darklab-fixed-bg:not(.no-portal-bg) .configurator-layout .side-nav a:hover .nav-icon,
body.darklab-fixed-bg:not(.no-portal-bg) .configurator-layout .side-nav a.active .nav-icon {
    filter:
        drop-shadow(0 0 5px rgba(255, 255, 255, .62))
        drop-shadow(0 0 14px rgba(255, 255, 255, .22))
        drop-shadow(0 0 16px rgba(255, 38, 52, .42)) !important;
}

/* DARKLAB - cartes configurateur plus lisibles */
body.darklab-fixed-bg:not(.no-portal-bg) .configurator-layout .vehicle-type-tabs button .card-title,
body.darklab-fixed-bg:not(.no-portal-bg) .configurator-layout .vehicle-type-tabs button:not(.active) .card-title,
body.darklab-fixed-bg:not(.no-portal-bg) .configurator-layout .vehicle-type-tabs button:not(.active):focus .card-title {
    color: rgba(255, 255, 255, .98) !important;
    text-shadow:
        0 0 6px rgba(255, 255, 255, .42),
        0 0 16px rgba(255, 255, 255, .18),
        0 2px 0 rgba(0, 0, 0, .82) !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .configurator-layout .vehicle-type-tabs button .card-subtitle {
    color: rgba(255, 255, 255, .94) !important;
    text-shadow:
        0 0 5px rgba(255, 255, 255, .36),
        0 0 12px rgba(255, 255, 255, .14),
        0 1px 0 rgba(0, 0, 0, .82) !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .configurator-layout .vehicle-type-tabs button > span {
    background: #fff !important;
    filter:
        drop-shadow(0 0 5px rgba(255, 255, 255, .50))
        drop-shadow(0 0 14px rgba(255, 255, 255, .18)) !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .configurator-layout .vehicle-type-tabs button.active .card-title,
body.darklab-fixed-bg:not(.no-portal-bg) .configurator-layout .vehicle-type-tabs button:hover .card-title {
    text-shadow:
        0 0 7px rgba(255, 255, 255, .38),
        0 0 14px rgba(255, 38, 52, .66),
        0 0 24px rgba(255, 38, 52, .36),
        0 2px 0 rgba(0, 0, 0, .86) !important;
}

/* DARKLAB - cartes vehicules visibles au repos + contour neon au survol */
body.darklab-fixed-bg:not(.no-portal-bg) .configurator-layout .vehicle-type-tabs button {
    position: relative !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .configurator-layout .vehicle-type-tabs button:not(.active),
body.darklab-fixed-bg:not(.no-portal-bg) .configurator-layout .vehicle-type-tabs button:not(.active):focus {
    filter:
        grayscale(.35)
        saturate(.72)
        brightness(.78)
        contrast(1.08)
        drop-shadow(0 0 10px rgba(255, 255, 255, .08)) !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .configurator-layout .vehicle-type-tabs button::before {
    border: 1px solid rgba(255, 255, 255, .20) !important;
    box-shadow:
        inset 0 0 22px rgba(255, 255, 255, .035),
        0 0 10px rgba(255, 255, 255, .08) !important;
    clip-path: polygon(12px 0, calc(100% - 12px) 0, 100% 12px, 100% calc(100% - 22px), calc(100% - 22px) 100%, 20px 100%, 0 calc(100% - 12px), 0 12px) !important;
    content: "" !important;
    display: block !important;
    inset: 0 !important;
    opacity: 1 !important;
    pointer-events: none !important;
    position: absolute !important;
    z-index: 4 !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .configurator-layout .vehicle-type-tabs button:hover,
body.darklab-fixed-bg:not(.no-portal-bg) .configurator-layout .vehicle-type-tabs button:focus-visible,
body.darklab-fixed-bg:not(.no-portal-bg) .configurator-layout .vehicle-type-tabs button.active {
    filter:
        brightness(1.02)
        saturate(1.08)
        contrast(1.08)
        drop-shadow(0 0 12px rgba(255, 38, 52, .66))
        drop-shadow(0 0 28px rgba(255, 38, 52, .38))
        drop-shadow(0 0 48px rgba(255, 38, 52, .18)) !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .configurator-layout .vehicle-type-tabs button:hover::before,
body.darklab-fixed-bg:not(.no-portal-bg) .configurator-layout .vehicle-type-tabs button:focus-visible::before,
body.darklab-fixed-bg:not(.no-portal-bg) .configurator-layout .vehicle-type-tabs button.active::before {
    border-color: rgba(255, 38, 52, .96) !important;
    box-shadow:
        inset 0 0 26px rgba(255, 38, 52, .16),
        0 0 10px rgba(255, 38, 52, .90),
        0 0 24px rgba(255, 38, 52, .56),
        0 0 42px rgba(255, 38, 52, .26) !important;
}

/* DARKLAB - etapes configurateur plus lisibles */
body.darklab-fixed-bg:not(.no-portal-bg) .configurator-layout .config-steps button {
    color: rgba(255, 255, 255, .86) !important;
    opacity: 1 !important;
    text-shadow:
        0 0 6px rgba(255, 255, 255, .34),
        0 0 16px rgba(255, 255, 255, .16),
        0 1px 0 rgba(0, 0, 0, .86) !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .configurator-layout .config-steps button.done:not(.active) {
    color: rgba(255, 255, 255, .74) !important;
    opacity: 1 !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .configurator-layout .config-steps button.active {
    color: #fff !important;
    opacity: 1 !important;
    text-shadow:
        0 0 8px rgba(255, 255, 255, .68),
        0 0 20px rgba(255, 255, 255, .26),
        0 0 18px rgba(255, 38, 52, .36),
        0 1px 0 rgba(0, 0, 0, .9) !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .configurator-layout .config-steps button.active::after {
    box-shadow:
        0 0 9px rgba(255, 38, 52, .82),
        0 0 18px rgba(255, 38, 52, .34) !important;
    opacity: 1 !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .configurator-layout .config-steps > span {
    background:
        linear-gradient(90deg, transparent, rgba(235, 242, 250, .56) 14%, rgba(255, 38, 52, .62) 50%, rgba(235, 242, 250, .56) 86%, transparent) !important;
    box-shadow:
        0 0 10px rgba(255, 38, 52, .30),
        0 0 12px rgba(255, 255, 255, .10),
        0 1px 0 rgba(255, 255, 255, .16) inset !important;
    opacity: 1 !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .configurator-layout .config-steps > span::before {
    border-color: rgba(255, 122, 132, .86) !important;
    box-shadow:
        0 0 0 1px rgba(255, 255, 255, .18) inset,
        0 0 11px rgba(255, 38, 52, .76),
        0 0 22px rgba(255, 38, 52, .32),
        0 0 8px rgba(255, 255, 255, .18) !important;
    opacity: 1 !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .configurator-layout .config-steps > span::after {
    opacity: .92 !important;
}

/* DARKLAB - lisibilite des volets modele / version / motorisation */
body.darklab-fixed-bg:not(.no-portal-bg) .configurator-layout .config-list-context,
body.darklab-fixed-bg:not(.no-portal-bg) .configurator-layout .config-list-panel {
    background:
        linear-gradient(180deg, rgba(17, 22, 30, .72), rgba(8, 11, 16, .64)),
        linear-gradient(135deg, rgba(255, 255, 255, .10), rgba(255, 255, 255, .035)) !important;
    border-color: rgba(220, 232, 246, .24) !important;
    box-shadow:
        0 22px 54px rgba(0, 0, 0, .34),
        0 0 0 1px rgba(255, 255, 255, .07) inset,
        0 0 24px rgba(255, 255, 255, .045) !important;
    backdrop-filter: blur(6px) saturate(1.08) !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .configurator-layout .config-list-panel h3 span {
    color: #fff !important;
    text-shadow:
        0 0 7px rgba(255, 255, 255, .54),
        0 0 18px rgba(255, 255, 255, .20),
        0 2px 0 rgba(0, 0, 0, .88) !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .configurator-layout .config-list-context strong,
body.darklab-fixed-bg:not(.no-portal-bg) .configurator-layout .config-list-context small {
    color: rgba(255, 255, 255, .96) !important;
    text-shadow:
        0 0 6px rgba(255, 255, 255, .36),
        0 0 14px rgba(255, 255, 255, .14),
        0 2px 0 rgba(0, 0, 0, .86) !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .configurator-layout .config-list-context small {
    color: rgba(238, 244, 252, .82) !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .configurator-layout .config-list-row {
    background:
        linear-gradient(180deg, rgba(255, 255, 255, .16), rgba(255, 255, 255, .075)),
        linear-gradient(135deg, rgba(13, 18, 26, .68), rgba(18, 21, 27, .54)) !important;
    border-color: rgba(228, 238, 250, .24) !important;
    box-shadow:
        0 12px 28px rgba(0, 0, 0, .28),
        0 0 0 1px rgba(255, 255, 255, .065) inset,
        0 0 14px rgba(255, 255, 255, .035) !important;
    color: #fff !important;
    text-shadow:
        0 0 6px rgba(255, 255, 255, .34),
        0 1px 0 rgba(0, 0, 0, .86) !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .configurator-layout .config-list-row span {
    color: #fff !important;
    font-weight: 800 !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .configurator-layout .config-list-row em {
    color: rgba(245, 249, 255, .78) !important;
    text-shadow:
        0 0 5px rgba(255, 255, 255, .22),
        0 1px 0 rgba(0, 0, 0, .86) !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .configurator-layout .config-list-row i {
    background: #ff2634 !important;
    box-shadow:
        0 0 8px rgba(255, 38, 52, .84),
        0 0 18px rgba(255, 38, 52, .42) !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .configurator-layout .config-list-row:hover,
body.darklab-fixed-bg:not(.no-portal-bg) .configurator-layout .config-list-row:focus-visible {
    background:
        linear-gradient(180deg, rgba(255, 38, 52, .28), rgba(255, 255, 255, .09)),
        linear-gradient(135deg, rgba(24, 10, 14, .78), rgba(14, 16, 22, .64)) !important;
    border-color: rgba(255, 38, 52, .74) !important;
    box-shadow:
        0 0 12px rgba(255, 38, 52, .40),
        0 0 28px rgba(255, 38, 52, .22),
        0 16px 32px rgba(0, 0, 0, .32),
        0 0 0 1px rgba(255, 255, 255, .08) inset !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .configurator-layout .inline-back {
    color: rgba(255, 255, 255, .72) !important;
    text-shadow: 0 0 5px rgba(255, 255, 255, .20) !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .configurator-layout .inline-back:hover {
    color: #fff !important;
    text-shadow:
        0 0 7px rgba(255, 255, 255, .48),
        0 0 14px rgba(255, 38, 52, .32) !important;
}

/* DARKLAB - restauration police premium style Porsche */
body,
button,
input,
select,
textarea,
a,
h1,
h2,
h3,
h4,
h5,
h6,
.configurator-layout,
.configurator-layout * {
    font-family: var(--font-main) !important;
}

/* DARKLAB - marqueur de selection futuriste 3D */
body.darklab-fixed-bg:not(.no-portal-bg) .configurator-layout .config-list-row {
    grid-template-columns: 28px 1fr auto !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .configurator-layout .config-list-row i {
    background:
        linear-gradient(135deg, rgba(255, 255, 255, .80), rgba(255, 38, 52, .96) 42%, rgba(64, 10, 15, .98) 100%) !important;
    border: 1px solid rgba(255, 112, 124, .72) !important;
    border-radius: 2px !important;
    box-shadow:
        0 0 0 1px rgba(255, 255, 255, .10) inset,
        0 0 8px rgba(255, 38, 52, .58),
        0 0 16px rgba(255, 38, 52, .22),
        2px 2px 4px rgba(0, 0, 0, .55) !important;
    clip-path: polygon(0 0, 100% 50%, 0 100%, 26% 50%) !important;
    display: inline-block !important;
    height: 15px !important;
    margin-left: 1px !important;
    position: relative !important;
    transform: none !important;
    transition: transform .18s ease, box-shadow .18s ease, filter .18s ease !important;
    width: 18px !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .configurator-layout .config-list-row i::before {
    background: linear-gradient(90deg, rgba(255, 255, 255, .92), rgba(255, 38, 52, .0)) !important;
    border-radius: 999px !important;
    content: "" !important;
    height: 1px !important;
    left: -10px !important;
    opacity: .68 !important;
    position: absolute !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    width: 18px !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .configurator-layout .config-list-row i::after {
    background: rgba(255, 255, 255, .92) !important;
    border-radius: 999px !important;
    box-shadow:
        0 0 7px rgba(255, 255, 255, .70),
        0 0 12px rgba(255, 38, 52, .70) !important;
    content: "" !important;
    height: 3px !important;
    left: 4px !important;
    position: absolute !important;
    top: 6px !important;
    width: 3px !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .configurator-layout .config-list-row:hover i,
body.darklab-fixed-bg:not(.no-portal-bg) .configurator-layout .config-list-row:focus-visible i {
    filter: brightness(1.16) saturate(1.18) !important;
    box-shadow:
        0 0 0 1px rgba(255, 255, 255, .16) inset,
        0 0 10px rgba(255, 38, 52, .92),
        0 0 24px rgba(255, 38, 52, .46),
        2px 2px 6px rgba(0, 0, 0, .62) !important;
    transform: translateX(2px) !important;
}

/* DARKLAB - meme fleche 3D sur la touche retour */
body.darklab-fixed-bg:not(.no-portal-bg) .configurator-layout .back-icon {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    height: 28px !important;
    left: 12px !important;
    overflow: visible !important;
    width: 28px !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .configurator-layout .back-icon::before {
    background:
        linear-gradient(225deg, rgba(255, 255, 255, .88), rgba(255, 38, 52, .96) 42%, rgba(64, 10, 15, .98) 100%) !important;
    border: 1px solid rgba(255, 112, 124, .72) !important;
    border-radius: 2px !important;
    box-shadow:
        0 0 0 1px rgba(255, 255, 255, .12) inset,
        0 0 8px rgba(255, 38, 52, .62),
        0 0 16px rgba(255, 38, 52, .24),
        2px 2px 5px rgba(0, 0, 0, .58) !important;
    clip-path: polygon(100% 0, 0 50%, 100% 100%, 74% 50%) !important;
    color: transparent !important;
    content: "" !important;
    display: block !important;
    font-size: 0 !important;
    height: 16px !important;
    left: 50% !important;
    line-height: 0 !important;
    margin: 0 !important;
    position: absolute !important;
    text-shadow: none !important;
    top: 50% !important;
    transform: translate(-50%, -50%) !important;
    width: 19px !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .configurator-layout .back-icon::after {
    background: linear-gradient(270deg, rgba(255, 255, 255, .92), rgba(255, 38, 52, 0)) !important;
    border: 0 !important;
    border-radius: 999px !important;
    box-shadow: none !important;
    content: "" !important;
    height: 1px !important;
    left: 17px !important;
    opacity: .68 !important;
    position: absolute !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    width: 17px !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .configurator-layout .config-back:hover .back-icon::before,
body.darklab-fixed-bg:not(.no-portal-bg) .configurator-layout .config-back:focus-visible .back-icon::before {
    filter: brightness(1.16) saturate(1.18) !important;
    box-shadow:
        0 0 0 1px rgba(255, 255, 255, .16) inset,
        0 0 10px rgba(255, 38, 52, .92),
        0 0 24px rgba(255, 38, 52, .46),
        2px 2px 6px rgba(0, 0, 0, .62) !important;
    transform: translate(calc(-50% - 2px), -50%) !important;
}

/* DARKLAB - touche retour plus compacte */
body.darklab-fixed-bg:not(.no-portal-bg) .configurator-layout .config-back {
    height: 36px !important;
    margin-top: 20px !important;
    margin-bottom: 24px !important;
    width: 166px !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .configurator-layout .back-button {
    border-radius: 11px !important;
    height: 34px !important;
    padding: 0 12px 0 8px !important;
    width: 166px !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .configurator-layout .back-button::before {
    border-radius: 9px !important;
    inset: 3px !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .configurator-layout .back-icon {
    height: 24px !important;
    left: 8px !important;
    width: 24px !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .configurator-layout .back-icon::before {
    height: 13px !important;
    width: 16px !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .configurator-layout .back-icon::after {
    left: 15px !important;
    width: 13px !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .configurator-layout .back-label {
    font-size: 10px !important;
    letter-spacing: .27em !important;
    margin-left: 8px !important;
    padding-left: 14px !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .configurator-layout .back-button::after {
    left: 48px !important;
    right: 22px !important;
}

/* DARKLAB - logo HP Tuners detoure et centre */
body.darklab-fixed-bg:not(.no-portal-bg) .upload-flow > .reader-panel:not(.file-step) .tool-logo img[src*="HP-Tuners-darklab"],
.tool-logo img[src*="HP-Tuners-darklab"],
body.darklab-fixed-bg:not(.no-portal-bg) .upload-flow > .reader-panel:not(.file-step) .tool-logo img[alt="HP Tuners"],
.tool-logo img[alt="HP Tuners"] {
    display: block !important;
    height: auto !important;
    margin: 0 auto !important;
    max-height: 28px !important;
    max-width: 76px !important;
    object-fit: contain !important;
    object-position: center center !important;
    width: 76px !important;
}

/* DARKLAB - logos outils detoures et centres */
body.darklab-fixed-bg:not(.no-portal-bg) .upload-flow > .reader-panel:not(.file-step) .tool-logo img[src*="Autoflasher-darklab"],
body.darklab-fixed-bg:not(.no-portal-bg) .upload-flow > .reader-panel:not(.file-step) .tool-logo img[src*="Bflash-darklab"],
body.darklab-fixed-bg:not(.no-portal-bg) .upload-flow > .reader-panel:not(.file-step) .tool-logo img[src*="CMD-darklab"],
body.darklab-fixed-bg:not(.no-portal-bg) .upload-flow > .reader-panel:not(.file-step) .tool-logo img[src*="PCMFlash-darklab"],
.tool-logo img[src*="Autoflasher-darklab"],
.tool-logo img[src*="Bflash-darklab"],
.tool-logo img[src*="CMD-darklab"],
.tool-logo img[src*="PCMFlash-darklab"] {
    display: block !important;
    height: auto !important;
    margin: 0 auto !important;
    max-height: 48px !important;
    max-width: 112px !important;
    object-fit: contain !important;
    object-position: center center !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .upload-flow > .reader-panel:not(.file-step) .tool-logo img[src*="PCMFlash-darklab"],
.tool-logo img[src*="PCMFlash-darklab"] {
    max-height: 44px !important;
    max-width: 92px !important;
}

/* DARKLAB - logos detoures dans la partie Tools du compte */
.account-tool-logo img[src*="Autoflasher-darklab"],
.account-tool-logo img[src*="Bflash-darklab"],
.account-tool-logo img[src*="CMD-darklab"],
.account-tool-logo img[src*="PCMFlash-darklab"],
.account-tool-logo img[src*="HP-Tuners-darklab"] {
    display: block !important;
    filter: drop-shadow(0 8px 18px rgba(0, 0, 0, .35)) !important;
    height: auto !important;
    margin: 0 auto !important;
    max-height: 42px !important;
    max-width: 104px !important;
    object-fit: contain !important;
    object-position: center center !important;
    opacity: .9 !important;
}

/* DARKLAB - centrage strict des cartes outil dans Envoi de fichier */
body.darklab-fixed-bg:not(.no-portal-bg) .upload-flow > .reader-panel:not(.file-step) .tool-grid {
    align-items: stretch !important;
    justify-items: center !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .upload-flow > .reader-panel:not(.file-step) .tool-option {
    align-items: center !important;
    box-sizing: border-box !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
    justify-content: center !important;
    justify-items: center !important;
    min-height: 208px !important;
    padding: 28px 18px 22px !important;
    text-align: center !important;
    width: 100% !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .upload-flow > .reader-panel:not(.file-step) .tool-logo {
    align-items: center !important;
    display: flex !important;
    flex: 0 0 82px !important;
    height: 82px !important;
    justify-content: center !important;
    margin: 0 auto !important;
    width: 100% !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .upload-flow > .reader-panel:not(.file-step) .tool-logo img {
    display: block !important;
    height: auto !important;
    margin: 0 auto !important;
    object-fit: contain !important;
    object-position: center center !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .upload-flow > .reader-panel:not(.file-step) .tool-name {
    align-items: center !important;
    display: flex !important;
    flex: 0 0 44px !important;
    justify-content: center !important;
    line-height: 1.18 !important;
    margin: 0 auto !important;
    min-height: 44px !important;
    text-align: center !important;
    width: 100% !important;
}

/* DARKLAB - page Envoi de fichier plus directe et compacte */
.file-upload-main {
    padding-top: 34px !important;
}

.file-upload-head {
    margin-bottom: 16px !important;
}

.file-upload-head h1 {
    font-size: 32px !important;
}

.file-upload-head .eyebrow {
    margin-bottom: 6px !important;
}

.file-upload-dashboard-link {
    border-radius: 6px !important;
    font-size: 13px !important;
    min-height: auto !important;
    padding: 13px 18px !important;
}

.file-upload-main .upload-flow {
    gap: 20px !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-upload-main .upload-flow > .reader-panel:not(.file-step) {
    padding: 38px 68px 44px !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-upload-main .upload-flow > .reader-panel:not(.file-step) h2 {
    margin-bottom: 18px !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-upload-main .upload-flow > .reader-panel:not(.file-step) h3 {
    color: rgba(255, 255, 255, .68) !important;
    font-size: 15px !important;
    letter-spacing: .18em !important;
    margin: 0 0 18px !important;
    text-shadow: 0 0 14px rgba(255, 255, 255, .12) !important;
    text-transform: uppercase !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-upload-main .upload-flow > .reader-panel:not(.file-step) .tool-grid {
    gap: 24px !important;
    grid-template-columns: repeat(5, minmax(112px, 1fr)) !important;
    min-width: 0 !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-upload-main .upload-flow > .reader-panel:not(.file-step) .tool-option {
    gap: 10px !important;
    min-height: 178px !important;
    padding: 22px 16px 18px !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-upload-main .upload-flow > .reader-panel:not(.file-step) .tool-logo {
    flex-basis: 70px !important;
    height: 70px !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-upload-main .upload-flow > .reader-panel:not(.file-step) .tool-name {
    flex-basis: 38px !important;
    min-height: 38px !important;
}

/* DARKLAB - detection vehicule alignee sur le visuel Envoi de fichier */
body.darklab-fixed-bg:not(.no-portal-bg) .detect-page:not(.is-matrix-running) .vehicle-panel {
    background:
        linear-gradient(145deg, rgba(255, 255, 255, .10), rgba(255, 255, 255, .035)),
        radial-gradient(circle at 18% 18%, rgba(0, 102, 255, .14), transparent 34%),
        radial-gradient(circle at 84% 32%, rgba(236, 28, 36, .18), transparent 34%),
        rgba(7, 9, 14, .62) !important;
    border: 1px solid rgba(236, 28, 36, .22) !important;
    border-radius: 8px !important;
    box-shadow:
        0 26px 70px rgba(0, 0, 0, .34),
        0 0 0 1px rgba(255, 255, 255, .08) inset !important;
    color: rgba(255, 255, 255, .86) !important;
    overflow: hidden !important;
    position: relative !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .detect-page:not(.is-matrix-running) .vehicle-panel::before {
    background: linear-gradient(90deg, rgba(236, 28, 36, .82), rgba(255, 255, 255, .78), rgba(236, 28, 36, .46), transparent) !important;
    content: "" !important;
    height: 2px !important;
    left: 24px !important;
    position: absolute !important;
    right: 38% !important;
    top: 0 !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .detect-page:not(.is-matrix-running) .vehicle-summary-card {
    background:
        linear-gradient(145deg, rgba(255, 255, 255, .10), rgba(255, 255, 255, .035)),
        radial-gradient(circle at 20% 18%, rgba(0, 102, 255, .12), transparent 36%),
        radial-gradient(circle at 86% 42%, rgba(236, 28, 36, .15), transparent 34%),
        rgba(7, 9, 14, .58) !important;
    border: 1px solid rgba(236, 28, 36, .20) !important;
    box-shadow:
        0 22px 56px rgba(0, 0, 0, .32),
        0 0 0 1px rgba(255, 255, 255, .08) inset !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .detect-page:not(.is-matrix-running) .vehicle-summary-card span,
body.darklab-fixed-bg:not(.no-portal-bg) .detect-page:not(.is-matrix-running) .vehicle-summary-card strong {
    color: rgba(255, 255, 255, .86) !important;
    text-shadow: 0 0 14px rgba(255, 255, 255, .10) !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .detect-page:not(.is-matrix-running) .vehicle-summary-card strong {
    color: #fff !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .detect-page:not(.is-matrix-running) .unknown-detection {
    background:
        linear-gradient(145deg, rgba(255, 255, 255, .09), rgba(255, 255, 255, .035)),
        radial-gradient(circle at 84% 18%, rgba(236, 28, 36, .16), transparent 36%),
        rgba(7, 9, 14, .46) !important;
    border: 1px solid rgba(236, 28, 36, .26) !important;
    box-shadow:
        0 18px 42px rgba(0, 0, 0, .22),
        0 0 0 1px rgba(255, 255, 255, .06) inset !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .detect-page:not(.is-matrix-running) .unknown-detection h2,
body.darklab-fixed-bg:not(.no-portal-bg) .detect-page:not(.is-matrix-running) .vehicle-panel h2 {
    color: #ff2634 !important;
    text-shadow: 0 0 18px rgba(236, 28, 36, .24) !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .detect-page:not(.is-matrix-running) .unknown-detection p,
body.darklab-fixed-bg:not(.no-portal-bg) .detect-page:not(.is-matrix-running) .terms-check {
    color: rgba(255, 255, 255, .78) !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .detect-page:not(.is-matrix-running) .manual-warning {
    background:
        linear-gradient(135deg, rgba(255, 255, 255, .065), rgba(255, 255, 255, .025)),
        radial-gradient(circle at 86% 20%, rgba(236, 28, 36, .11), transparent 34%),
        rgba(8, 11, 17, .38) !important;
    border-color: rgba(236, 28, 36, .20) !important;
    box-shadow:
        0 12px 30px rgba(0, 0, 0, .18),
        0 0 0 1px rgba(255, 255, 255, .045) inset !important;
    margin-bottom: 22px !important;
    padding: 14px 18px !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .detect-page:not(.is-matrix-running) .manual-warning h2 {
    font-size: clamp(18px, 1.65vw, 24px) !important;
    margin-bottom: 8px !important;
    text-shadow: 0 0 12px rgba(236, 28, 36, .18) !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .detect-page:not(.is-matrix-running) .manual-warning p {
    font-size: clamp(14px, 1.1vw, 17px) !important;
    line-height: 1.38 !important;
    max-width: 980px;
}

body.darklab-fixed-bg:not(.no-portal-bg) .detect-page:not(.is-matrix-running) .vehicle-card,
body.darklab-fixed-bg:not(.no-portal-bg) .detect-page:not(.is-matrix-running) .vehicle-panel select,
body.darklab-fixed-bg:not(.no-portal-bg) .detect-page:not(.is-matrix-running) .vehicle-panel input {
    background:
        linear-gradient(180deg, rgba(255, 255, 255, .075), rgba(255, 255, 255, .035)),
        rgba(5, 8, 14, .66) !important;
    border: 1px solid rgba(255, 255, 255, .18) !important;
    box-shadow:
        0 14px 28px rgba(0, 0, 0, .26),
        0 0 0 1px rgba(255, 255, 255, .04) inset !important;
    color: rgba(255, 255, 255, .88) !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .detect-page:not(.is-matrix-running) .vehicle-panel input::placeholder {
    color: rgba(255, 255, 255, .54) !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .detect-page:not(.is-matrix-running) .vehicle-panel select:hover,
body.darklab-fixed-bg:not(.no-portal-bg) .detect-page:not(.is-matrix-running) .vehicle-panel input:hover,
body.darklab-fixed-bg:not(.no-portal-bg) .detect-page:not(.is-matrix-running) .vehicle-panel select:focus,
body.darklab-fixed-bg:not(.no-portal-bg) .detect-page:not(.is-matrix-running) .vehicle-panel input:focus {
    border-color: rgba(255, 42, 56, .58) !important;
    box-shadow:
        0 0 0 1px rgba(236, 28, 36, .16),
        0 18px 38px rgba(0, 0, 0, .30),
        0 0 28px rgba(236, 28, 36, .14) !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .detect-page:not(.is-matrix-running) .vehicle-card strong,
body.darklab-fixed-bg:not(.no-portal-bg) .detect-page:not(.is-matrix-running) .vehicle-card small,
body.darklab-fixed-bg:not(.no-portal-bg) .detect-page:not(.is-matrix-running) .vehicle-card em {
    color: rgba(255, 255, 255, .82) !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .detect-page:not(.is-matrix-running) .vehicle-card span {
    color: #ff2634 !important;
}

/* DARKLAB - detection manuelle plus lumineuse, alignee sur le cockpit dashboard */
body.darklab-fixed-bg:not(.no-portal-bg) .detect-page:not(.is-matrix-running) .vehicle-panel,
body.darklab-fixed-bg:not(.no-portal-bg) .detect-page:not(.is-matrix-running) .vehicle-summary-card {
    background:
        linear-gradient(118deg, rgba(255, 255, 255, .145), rgba(255, 255, 255, .075) 42%, rgba(255, 255, 255, .035)),
        radial-gradient(circle at 12% 10%, rgba(0, 112, 255, .18), transparent 36%),
        radial-gradient(circle at 88% 18%, rgba(236, 28, 36, .10), transparent 34%),
        rgba(18, 22, 29, .70) !important;
    border-color: rgba(255, 255, 255, .20) !important;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, .18),
        inset 0 -1px 0 rgba(236, 28, 36, .08),
        0 24px 56px rgba(0, 0, 0, .28) !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .detect-page:not(.is-matrix-running) .vehicle-panel::before {
    background: linear-gradient(90deg, rgba(236, 28, 36, .72), rgba(255, 255, 255, .72), rgba(0, 112, 255, .26), transparent) !important;
    opacity: .86 !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .detect-page:not(.is-matrix-running) .unknown-detection,
body.darklab-fixed-bg:not(.no-portal-bg) .detect-page:not(.is-matrix-running) .manual-warning {
    background:
        linear-gradient(118deg, rgba(255, 255, 255, .13), rgba(255, 255, 255, .055) 50%, rgba(236, 28, 36, .045)),
        rgba(20, 24, 31, .56) !important;
    border-color: rgba(255, 255, 255, .18) !important;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, .16),
        0 16px 36px rgba(0, 0, 0, .20) !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .detect-page:not(.is-matrix-running) .vehicle-card,
body.darklab-fixed-bg:not(.no-portal-bg) .detect-page:not(.is-matrix-running) .vehicle-panel select,
body.darklab-fixed-bg:not(.no-portal-bg) .detect-page:not(.is-matrix-running) .vehicle-panel input {
    background:
        linear-gradient(180deg, rgba(255, 255, 255, .105), rgba(255, 255, 255, .055)),
        rgba(18, 22, 29, .72) !important;
    border-color: rgba(255, 255, 255, .22) !important;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, .13),
        0 12px 26px rgba(0, 0, 0, .22) !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .detect-page:not(.is-matrix-running) .vehicle-panel input:-webkit-autofill,
body.darklab-fixed-bg:not(.no-portal-bg) .detect-page:not(.is-matrix-running) .vehicle-panel input:-webkit-autofill:hover,
body.darklab-fixed-bg:not(.no-portal-bg) .detect-page:not(.is-matrix-running) .vehicle-panel input:-webkit-autofill:focus,
body.darklab-fixed-bg:not(.no-portal-bg) .detect-page:not(.is-matrix-running) .vehicle-panel input:-webkit-autofill:active {
    -webkit-box-shadow:
        0 0 0 1000px rgba(18, 22, 29, .96) inset,
        0 12px 26px rgba(0, 0, 0, .22) !important;
    -webkit-text-fill-color: rgba(255, 255, 255, .9) !important;
    caret-color: #fff;
    transition: background-color 9999s ease-in-out 0s;
}

body.darklab-fixed-bg:not(.no-portal-bg) .detect-page:not(.is-matrix-running) .vehicle-form input:focus,
body.darklab-fixed-bg:not(.no-portal-bg) .detect-page:not(.is-matrix-running) .vehicle-form select:focus,
body.darklab-fixed-bg:not(.no-portal-bg) .detect-page:not(.is-matrix-running) .vehicle-form input:hover,
body.darklab-fixed-bg:not(.no-portal-bg) .detect-page:not(.is-matrix-running) .vehicle-form select:hover,
body.darklab-fixed-bg:not(.no-portal-bg) .detect-page:not(.is-matrix-running) .vehicle-form .field-error,
body.darklab-fixed-bg:not(.no-portal-bg) .detect-page:not(.is-matrix-running) .vehicle-form .custom-select-field.field-error,
body.darklab-fixed-bg:not(.no-portal-bg) .detect-page:not(.is-matrix-running) .vehicle-form .custom-select-field.field-error select,
body.darklab-fixed-bg:not(.no-portal-bg) .detect-page:not(.is-matrix-running) .vehicle-form .custom-select-field.field-error input {
    background:
        linear-gradient(180deg, rgba(255, 255, 255, .105), rgba(255, 255, 255, .055)),
        rgba(18, 22, 29, .72) !important;
    border-color: rgba(255, 255, 255, .24) !important;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, .13),
        0 12px 26px rgba(0, 0, 0, .22),
        0 0 0 1px rgba(255, 38, 52, .10) !important;
    outline: none !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .detect-page:not(.is-matrix-running) .vehicle-form input:focus,
body.darklab-fixed-bg:not(.no-portal-bg) .detect-page:not(.is-matrix-running) .vehicle-form select:focus {
    border-color: rgba(255, 255, 255, .30) !important;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, .15),
        0 12px 26px rgba(0, 0, 0, .24),
        0 0 18px rgba(255, 38, 52, .12) !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .detect-page:not(.is-matrix-running) .vehicle-panel :is(.vehicle-catalog-selects, .vehicle-form) :is(select, input),
body.darklab-fixed-bg:not(.no-portal-bg) .detect-page:not(.is-matrix-running) .vehicle-panel :is(.vehicle-catalog-selects, .vehicle-form) :is(select, input):hover,
body.darklab-fixed-bg:not(.no-portal-bg) .detect-page:not(.is-matrix-running) .vehicle-panel :is(.vehicle-catalog-selects, .vehicle-form) :is(select, input):focus,
body.darklab-fixed-bg:not(.no-portal-bg) .detect-page:not(.is-matrix-running) .vehicle-panel :is(.vehicle-catalog-selects, .vehicle-form) .field-error,
body.darklab-fixed-bg:not(.no-portal-bg) .detect-page:not(.is-matrix-running) .vehicle-panel :is(.vehicle-catalog-selects, .vehicle-form) .custom-select-field.field-error :is(select, input) {
    background:
        linear-gradient(180deg, rgba(255, 255, 255, .082), rgba(255, 255, 255, .038)),
        rgba(13, 17, 25, .74) !important;
    border-color: rgba(255, 255, 255, .22) !important;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, .12),
        0 12px 24px rgba(0, 0, 0, .22) !important;
    color: rgba(255, 255, 255, .92) !important;
    outline: none !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .detect-page:not(.is-matrix-running) .vehicle-panel :is(.vehicle-catalog-selects, .vehicle-form) :is(select, input):focus {
    border-color: rgba(255, 255, 255, .30) !important;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, .14),
        0 12px 24px rgba(0, 0, 0, .24),
        0 0 18px rgba(255, 38, 52, .10) !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .detect-page:not(.is-matrix-running) .vehicle-panel :is(.vehicle-catalog-selects, .vehicle-form) :is(select, input)::placeholder {
    color: rgba(255, 255, 255, .62) !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .detect-page:not(.is-matrix-running) #vehicle-info-fields :is(input, select),
body.darklab-fixed-bg:not(.no-portal-bg) .detect-page:not(.is-matrix-running) #vehicle-info-fields :is(input, select):hover,
body.darklab-fixed-bg:not(.no-portal-bg) .detect-page:not(.is-matrix-running) #vehicle-info-fields :is(input, select):focus,
body.darklab-fixed-bg:not(.no-portal-bg) .detect-page:not(.is-matrix-running) #vehicle-info-fields .custom-select-field.field-error :is(input, select),
body.darklab-fixed-bg:not(.no-portal-bg) .detect-page:not(.is-matrix-running) #vehicle-info-fields :is(input, select):-webkit-autofill,
body.darklab-fixed-bg:not(.no-portal-bg) .detect-page:not(.is-matrix-running) #vehicle-info-fields :is(input, select):-webkit-autofill:hover,
body.darklab-fixed-bg:not(.no-portal-bg) .detect-page:not(.is-matrix-running) #vehicle-info-fields :is(input, select):-webkit-autofill:focus,
body.darklab-fixed-bg:not(.no-portal-bg) .detect-page:not(.is-matrix-running) #vehicle-info-fields :is(input, select):-webkit-autofill:active {
    background:
        linear-gradient(180deg, rgba(255, 255, 255, .075), rgba(255, 255, 255, .034)),
        rgba(11, 15, 22, .82) !important;
    border-color: rgba(255, 255, 255, .22) !important;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, .12),
        0 12px 24px rgba(0, 0, 0, .22) !important;
    color: rgba(255, 255, 255, .92) !important;
    -webkit-box-shadow:
        0 0 0 1000px rgba(11, 15, 22, .96) inset,
        0 12px 24px rgba(0, 0, 0, .22) !important;
    -webkit-text-fill-color: rgba(255, 255, 255, .92) !important;
    outline: none !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .detect-page:not(.is-matrix-running) #vehicle-info-fields :is(input, select):focus {
    border-color: rgba(255, 255, 255, .30) !important;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, .14),
        0 12px 24px rgba(0, 0, 0, .24),
        0 0 14px rgba(255, 38, 52, .08) !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .detect-page:not(.is-matrix-running) .manual-warning.validation-banner {
    align-items: center;
    background:
        linear-gradient(118deg, rgba(255, 255, 255, .115), rgba(255, 255, 255, .048) 52%, rgba(236, 28, 36, .038)),
        rgba(18, 22, 29, .54) !important;
    border: 1px solid rgba(255, 255, 255, .18) !important;
    border-radius: 10px !important;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, .16),
        inset 0 -1px 0 rgba(236, 28, 36, .07),
        0 12px 30px rgba(0, 0, 0, .18) !important;
    display: grid;
    gap: 14px;
    grid-template-columns: 42px minmax(0, 1fr);
    margin-bottom: 16px !important;
    min-height: 0;
    overflow: hidden;
    padding: 13px 16px !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .detect-page:not(.is-matrix-running) .validation-banner-icon {
    align-items: center;
    aspect-ratio: 1;
    background:
        linear-gradient(145deg, rgba(255, 255, 255, .16), rgba(255, 255, 255, .045)),
        radial-gradient(circle at 50% 50%, rgba(255, 38, 52, .20), transparent 64%);
    border: 1px solid rgba(255, 255, 255, .18);
    border-radius: 12px;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, .22),
        0 0 20px rgba(236, 28, 36, .16);
    color: #fff;
    display: inline-flex;
    font-size: 10px;
    font-weight: 900;
    justify-content: center;
    letter-spacing: .08em;
    position: relative;
    text-shadow: 0 0 10px rgba(255, 255, 255, .34);
}

body.darklab-fixed-bg:not(.no-portal-bg) .detect-page:not(.is-matrix-running) .validation-banner-icon::before,
body.darklab-fixed-bg:not(.no-portal-bg) .detect-page:not(.is-matrix-running) .validation-banner-icon::after {
    background: rgba(255, 38, 52, .46);
    border-radius: 999px;
    content: "";
    height: 1px;
    left: 8px;
    position: absolute;
    right: 8px;
}

body.darklab-fixed-bg:not(.no-portal-bg) .detect-page:not(.is-matrix-running) .validation-banner-icon::before {
    top: 10px;
}

body.darklab-fixed-bg:not(.no-portal-bg) .detect-page:not(.is-matrix-running) .validation-banner-icon::after {
    bottom: 10px;
}

body.darklab-fixed-bg:not(.no-portal-bg) .detect-page:not(.is-matrix-running) .validation-banner-copy {
    min-width: 0;
}

body.darklab-fixed-bg:not(.no-portal-bg) .detect-page:not(.is-matrix-running) .validation-banner-title {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 9px 12px;
}

body.darklab-fixed-bg:not(.no-portal-bg) .detect-page:not(.is-matrix-running) .validation-banner-title h2 {
    color: rgba(255, 255, 255, .96) !important;
    font-size: clamp(15px, 1.08vw, 18px) !important;
    line-height: 1.1;
    margin: 0 !important;
    text-shadow: 0 0 16px rgba(255, 255, 255, .14) !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .detect-page:not(.is-matrix-running) .validation-banner-badge {
    align-items: center;
    background:
        linear-gradient(180deg, rgba(255, 163, 43, .16), rgba(255, 255, 255, .045)),
        rgba(255, 255, 255, .045);
    border: 1px solid rgba(255, 163, 43, .28);
    border-radius: 999px;
    color: rgba(255, 218, 174, .94);
    display: inline-flex;
    font-size: 10px;
    font-weight: 850;
    gap: 6px;
    letter-spacing: .08em;
    line-height: 1;
    padding: 6px 9px;
    white-space: nowrap;
}

body.darklab-fixed-bg:not(.no-portal-bg) .detect-page:not(.is-matrix-running) .validation-banner-badge::before {
    background: #ff9a22;
    border-radius: 999px;
    box-shadow: 0 0 12px rgba(255, 154, 34, .52);
    content: "";
    height: 7px;
    width: 7px;
}

body.darklab-fixed-bg:not(.no-portal-bg) .detect-page:not(.is-matrix-running) .validation-banner p {
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    color: rgba(255, 255, 255, .70) !important;
    display: -webkit-box;
    font-size: clamp(12px, .82vw, 13px) !important;
    line-height: 1.35 !important;
    margin: 5px 0 0 !important;
    max-width: 1120px;
    overflow: hidden;
}

@media (max-width: 720px) {
    body.darklab-fixed-bg:not(.no-portal-bg) .detect-page:not(.is-matrix-running) .manual-warning.validation-banner {
        grid-template-columns: 34px minmax(0, 1fr);
        padding: 12px !important;
    }

    body.darklab-fixed-bg:not(.no-portal-bg) .detect-page:not(.is-matrix-running) .validation-banner-title h2 {
        font-size: 14px !important;
    }

    body.darklab-fixed-bg:not(.no-portal-bg) .detect-page:not(.is-matrix-running) .validation-banner-badge {
        font-size: 9px;
        padding: 5px 8px;
    }
}

/* DARKLAB - page CGV premium */
.terms-page {
    color: #f7f8fb;
    font-family: var(--font-main);
    min-height: 100vh;
    padding: 54px clamp(24px, 5vw, 88px) 88px;
}

.terms-hero {
    align-items: center;
    display: grid;
    justify-items: center;
    margin: 0 auto 34px;
    max-width: 1160px;
    position: relative;
    text-align: center;
}

.terms-back {
    align-items: center;
    background: rgba(7, 10, 15, .68);
    border: 1px solid rgba(255, 255, 255, .14);
    border-radius: 999px;
    box-shadow: 0 18px 48px rgba(0, 0, 0, .34), inset 0 1px 0 rgba(255, 255, 255, .12);
    color: #fff;
    display: inline-flex;
    font-size: 13px;
    font-weight: 800;
    gap: 8px;
    left: 0;
    letter-spacing: .14em;
    padding: 12px 18px;
    position: absolute;
    text-decoration: none;
    text-transform: uppercase;
    top: 8px;
    transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

.terms-back:hover {
    border-color: rgba(255, 38, 52, .62);
    box-shadow: 0 22px 56px rgba(0, 0, 0, .42), 0 0 24px rgba(255, 38, 52, .22);
    transform: translateY(-1px);
}

.terms-hero img {
    filter: drop-shadow(0 20px 36px rgba(0, 0, 0, .42));
    height: auto;
    margin-bottom: 18px;
    max-width: 268px;
    width: 34vw;
}

.terms-hero p {
    color: rgba(255, 255, 255, .72);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .52em;
    margin: 0 0 20px;
}

.terms-hero h1 {
    color: #fff;
    font-family: var(--font-main);
    font-size: clamp(34px, 5vw, 72px);
    font-weight: 500;
    letter-spacing: 0;
    line-height: 1;
    margin: 0 0 14px;
    text-shadow: 0 0 18px rgba(255, 255, 255, .22), 0 14px 42px rgba(0, 0, 0, .62);
}

.terms-hero span {
    color: rgba(255, 255, 255, .78);
    font-size: 16px;
    font-weight: 650;
}

.terms-shell {
    display: grid;
    gap: 28px;
    grid-template-columns: 250px minmax(0, 1fr);
    margin: 0 auto;
    max-width: 1320px;
}

.terms-index {
    align-self: start;
    background: linear-gradient(145deg, rgba(10, 14, 21, .84), rgba(24, 29, 38, .68));
    border: 1px solid rgba(255, 255, 255, .20);
    border-radius: 18px;
    box-shadow: 0 28px 70px rgba(0, 0, 0, .36), inset 0 1px 0 rgba(255, 255, 255, .08);
    display: grid;
    gap: 4px;
    padding: 22px;
    position: sticky;
    top: 28px;
}

.terms-index strong {
    color: #ff2634;
    font-size: 13px;
    letter-spacing: .2em;
    margin-bottom: 10px;
    text-transform: uppercase;
}

.terms-index a {
    border-radius: 10px;
    color: rgba(255, 255, 255, .78);
    font-size: 13px;
    font-weight: 750;
    padding: 10px 12px;
    text-decoration: none;
    transition: background .18s ease, color .18s ease, transform .18s ease;
}

.terms-index a:hover {
    background: rgba(255, 38, 52, .18);
    color: #fff;
    transform: translateX(3px);
}

.terms-document {
    background:
        linear-gradient(145deg, rgba(255, 255, 255, .97), rgba(246, 248, 252, .94)),
        rgba(255, 255, 255, .96);
    border: 1px solid rgba(255, 255, 255, .72);
    border-radius: 22px;
    box-shadow: 0 34px 90px rgba(0, 0, 0, .36), 0 0 0 1px rgba(255, 38, 52, .08);
    color: #111827;
    overflow: hidden;
    padding: clamp(34px, 5vw, 72px);
    position: relative;
}

.terms-document::before {
    background: linear-gradient(90deg, transparent, rgba(255, 38, 52, .95), transparent);
    content: "";
    height: 2px;
    left: 44px;
    position: absolute;
    right: 44px;
    top: 0;
}

.terms-document header {
    border-bottom: 1px solid rgba(17, 24, 39, .12);
    margin-bottom: 34px;
    padding-bottom: 28px;
}

.terms-document header p:first-child {
    color: #ff2634;
    font-size: 12px;
    font-weight: 850;
    letter-spacing: .18em;
    margin: 0 0 12px;
    text-transform: uppercase;
}

.terms-document header p:last-child {
    color: #374151;
    font-size: 17px;
    font-weight: 550;
    line-height: 1.75;
    margin: 0;
    max-width: 900px;
}

.terms-document section {
    border-bottom: 1px solid rgba(17, 24, 39, .08);
    padding: 24px 0;
}

.terms-document section:last-child {
    border-bottom: 0;
}

.terms-document h2 {
    color: #0d1421;
    font-family: var(--font-main);
    font-size: clamp(22px, 2.2vw, 31px);
    font-weight: 500;
    line-height: 1.22;
    margin: 0 0 16px;
}

.terms-document p,
.terms-document li,
.terms-document dd {
    color: #3c4655;
    font-size: 15.5px;
    font-weight: 500;
    line-height: 1.82;
}

.terms-document p {
    margin: 0 0 14px;
}

.terms-document p:last-child {
    margin-bottom: 0;
}

.terms-document ul {
    display: grid;
    gap: 10px;
    list-style: none;
    margin: 16px 0 0;
    padding: 0;
}

.terms-document li {
    padding-left: 28px;
    position: relative;
}

.terms-document li::before {
    background: linear-gradient(135deg, #ff2634, #7e060b);
    border-radius: 3px;
    box-shadow: 0 0 14px rgba(255, 38, 52, .34);
    content: "";
    height: 9px;
    left: 2px;
    position: absolute;
    top: 10px;
    transform: rotate(45deg);
    width: 9px;
}

.terms-identity {
    display: grid;
    gap: 12px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-top: 18px;
}

.terms-identity p {
    background: rgba(13, 20, 33, .04);
    border: 1px solid rgba(13, 20, 33, .08);
    border-radius: 14px;
    display: grid;
    gap: 6px;
    margin: 0;
    padding: 16px;
}

.terms-identity span {
    color: #ff2634;
    font-size: 11px;
    font-weight: 850;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.terms-identity strong {
    color: #111827;
    font-size: 14px;
    line-height: 1.45;
}

.terms-definitions {
    display: grid;
    gap: 12px 18px;
    grid-template-columns: minmax(140px, 220px) 1fr;
    margin: 0;
}

.terms-definitions dt {
    color: #ff2634;
    font-size: 14px;
    font-weight: 900;
    padding-top: 2px;
}

.terms-definitions dd {
    margin: 0;
}

.darklab-language-menu {
    background:
        linear-gradient(145deg, rgba(21, 26, 35, .96), rgba(7, 9, 14, .98)),
        radial-gradient(circle at 18% 0%, rgba(255, 38, 52, .22), transparent 46%);
    border: 1px solid rgba(255, 255, 255, .16);
    border-radius: 14px;
    box-shadow:
        0 22px 60px rgba(0, 0, 0, .46),
        inset 0 1px 0 rgba(255, 255, 255, .14),
        0 0 24px rgba(255, 38, 52, .14);
    display: grid;
    gap: 7px;
    min-width: 178px;
    padding: 9px;
    position: fixed;
    z-index: 12000;
}

.darklab-language-menu[hidden] {
    display: none;
}

.darklab-language-menu button {
    align-items: center;
    background: rgba(255, 255, 255, .055);
    border: 1px solid rgba(255, 255, 255, .09);
    border-radius: 10px;
    color: rgba(255, 255, 255, .88);
    cursor: pointer;
    display: flex;
    font: 800 13px/1 var(--font-display);
    gap: 10px;
    justify-content: flex-start;
    letter-spacing: .02em;
    padding: 11px 12px;
    text-align: left;
    transition: background .18s ease, border-color .18s ease, color .18s ease, transform .18s ease, box-shadow .18s ease;
    width: 100%;
}

.darklab-language-menu button:hover,
.darklab-language-menu button.active {
    background: rgba(255, 38, 52, .15);
    border-color: rgba(255, 38, 52, .58);
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .05), 0 0 20px rgba(255, 38, 52, .16);
    color: #fff;
    transform: translateY(-1px);
}

.darklab-language-menu span {
    font-family: "Segoe UI Emoji", "Apple Color Emoji", sans-serif;
    font-size: 16px;
    line-height: 1;
}

@media (max-width: 980px) {
    .terms-page {
        padding: 34px 18px 72px;
    }

    .terms-back {
        justify-self: start;
        margin-bottom: 18px;
        position: static;
    }

    .terms-hero img {
        width: 220px;
    }

    .terms-hero p {
        letter-spacing: .28em;
    }

    .terms-shell {
        grid-template-columns: 1fr;
    }

    .terms-index {
        position: static;
    }

    .terms-identity,
    .terms-definitions {
        grid-template-columns: 1fr;
    }
}

/* DARKLAB dashboard cockpit - version fine et competition */
body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-cockpit {
    align-items: stretch;
    gap: 16px;
    grid-template-columns: minmax(260px, .82fr) minmax(440px, 1.32fr) minmax(260px, .74fr);
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-cockpit > *,
body.darklab-fixed-bg:not(.no-portal-bg) .metric-grid article,
body.darklab-fixed-bg:not(.no-portal-bg) .credit-alert,
body.darklab-fixed-bg:not(.no-portal-bg) .upload-card,
body.darklab-fixed-bg:not(.no-portal-bg) .table-wrap {
    background:
        linear-gradient(115deg, rgba(255, 255, 255, .065), rgba(255, 255, 255, .018) 42%, rgba(236, 28, 36, .035)),
        radial-gradient(circle at 12% 0%, rgba(0, 118, 255, .105), transparent 34%),
        radial-gradient(circle at 98% 22%, rgba(236, 28, 36, .095), transparent 36%),
        rgba(8, 12, 18, .76) !important;
    border: 1px solid rgba(255, 255, 255, .14) !important;
    border-radius: 8px !important;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, .13),
        inset 0 -1px 0 rgba(236, 28, 36, .10),
        0 18px 44px rgba(0, 0, 0, .26) !important;
    color: rgba(255, 255, 255, .92);
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-cockpit > * {
    min-height: 246px;
    padding: 18px 20px !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-cockpit > *::before {
    background:
        linear-gradient(90deg, rgba(255, 37, 52, .78), transparent 22%),
        linear-gradient(90deg, transparent, rgba(0, 140, 255, .4), transparent);
    height: 2px;
    left: 20px;
    right: 20px;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-cockpit > *::after {
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .18), transparent);
    bottom: 14px;
    height: 1px;
    opacity: .45;
}

body.darklab-fixed-bg:not(.no-portal-bg) .panel-title {
    border-bottom-color: rgba(255, 255, 255, .12);
    margin-bottom: 14px;
    padding-bottom: 12px;
}

body.darklab-fixed-bg:not(.no-portal-bg) .panel-title h2 {
    color: rgba(255, 255, 255, .96);
    font-size: 17px;
    letter-spacing: .02em;
    text-shadow: 0 0 14px rgba(255, 255, 255, .18);
}

body.darklab-fixed-bg:not(.no-portal-bg) .panel-title > span:not(.lab-status) {
    color: rgba(255, 255, 255, .72);
    font-size: 12px;
}

body.darklab-fixed-bg:not(.no-portal-bg) .latest-file-card > strong {
    border-bottom: 1px solid rgba(255, 255, 255, .08);
    color: #fff;
    font-size: 15px;
    letter-spacing: .02em;
    margin-bottom: 10px;
    padding-bottom: 10px;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-latest-panel .latest-file-card dl {
    gap: 0;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-latest-panel .latest-file-card div {
    background: transparent;
    border: 0;
    border-bottom: 1px solid rgba(255, 255, 255, .075);
    border-radius: 0;
    grid-template-columns: 104px minmax(0, 1fr);
    min-height: 31px;
    padding: 6px 0;
}

body.darklab-fixed-bg:not(.no-portal-bg) .latest-file-card dt {
    color: rgba(255, 255, 255, .54);
    font-size: 10px;
    letter-spacing: .11em;
}

body.darklab-fixed-bg:not(.no-portal-bg) .latest-file-card dd {
    color: #ffffff;
    font-size: 13px;
}

body.darklab-fixed-bg:not(.no-portal-bg) .real-chart {
    align-items: end;
    gap: 8px;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    min-height: 134px;
    overflow: hidden;
    padding: 2px 0 0;
}

body.darklab-fixed-bg:not(.no-portal-bg) .real-chart-month {
    gap: 6px;
    min-width: 0;
}

body.darklab-fixed-bg:not(.no-portal-bg) .real-chart-track {
    background:
        linear-gradient(180deg, rgba(255, 255, 255, .16), rgba(255, 255, 255, .02)),
        rgba(255, 255, 255, .035);
    border-color: rgba(255, 255, 255, .16);
    height: 86px;
    padding: 3px;
    width: 14px;
}

body.darklab-fixed-bg:not(.no-portal-bg) .real-chart-month strong {
    font-size: 12px;
}

body.darklab-fixed-bg:not(.no-portal-bg) .real-chart-month small {
    color: rgba(255, 255, 255, .58);
    font-size: 9px;
}

body.darklab-fixed-bg:not(.no-portal-bg) .lab-hours-card > strong {
    color: #ffffff;
    font-size: 14px;
}

body.darklab-fixed-bg:not(.no-portal-bg) .lab-hours-card > p {
    font-size: 23px;
    margin: 10px 0 12px;
}

body.darklab-fixed-bg:not(.no-portal-bg) .lab-time-grid,
body.darklab-fixed-bg:not(.no-portal-bg) .lab-info-message {
    background:
        linear-gradient(135deg, rgba(255, 255, 255, .075), rgba(255, 255, 255, .02)),
        rgba(6, 9, 14, .38);
    border-color: rgba(255, 255, 255, .13);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .08);
}

body.darklab-fixed-bg:not(.no-portal-bg) .lab-time-grid {
    padding: 9px 11px;
}

body.darklab-fixed-bg:not(.no-portal-bg) .lab-info-message {
    color: rgba(255, 255, 255, .72);
    font-size: 11px;
    line-height: 1.38;
    padding: 10px 11px;
}

body.darklab-fixed-bg:not(.no-portal-bg) .metric-grid {
    gap: 16px;
}

body.darklab-fixed-bg:not(.no-portal-bg) .metric-grid article {
    padding: 16px 18px !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .metric-grid h3 {
    font-size: 13px;
    margin-bottom: 12px;
    padding-bottom: 10px;
}

body.darklab-fixed-bg:not(.no-portal-bg) .metric-grid p {
    font-size: 24px;
    margin-bottom: 12px;
}

@media (max-width: 1280px) {
    body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-cockpit {
        grid-template-columns: 1fr;
    }

    body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-cockpit > * {
        min-height: auto;
    }
}

/* DARKLAB dashboard telemetry - epure, cadre verrouille */
body.darklab-fixed-bg:not(.no-portal-bg) .portal-main {
    max-width: 1380px;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main {
    box-sizing: border-box;
    margin-left: auto;
    margin-right: auto;
    max-width: none;
    padding-left: 0;
    padding-right: 0;
    width: min(1330px, calc(100% - 96px));
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .credit-alert,
body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .credit-counter-card,
body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .upload-launch-card,
body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .dashboard-cockpit > *,
body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .metric-grid article,
body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .upload-card,
body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .table-wrap {
    background:
        linear-gradient(118deg, rgba(255, 255, 255, .16), rgba(255, 255, 255, .075) 44%, rgba(255, 42, 56, .075)),
        radial-gradient(circle at 12% 0%, rgba(40, 142, 255, .18), transparent 34%),
        radial-gradient(circle at 98% 24%, rgba(255, 38, 52, .14), transparent 38%),
        rgba(22, 28, 38, .82) !important;
    border-color: rgba(255, 255, 255, .26) !important;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, .22),
        inset 0 -1px 0 rgba(255, 38, 52, .12),
        0 18px 44px rgba(0, 0, 0, .22),
        0 0 26px rgba(255, 255, 255, .035) !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .panel-title,
body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .metric-grid h3,
body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .latest-file-card > strong {
    border-bottom-color: rgba(255, 255, 255, .18) !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .lab-time-grid,
body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .lab-info-message {
    background:
        linear-gradient(135deg, rgba(255, 255, 255, .13), rgba(255, 255, 255, .045)),
        rgba(16, 21, 30, .62) !important;
    border-color: rgba(255, 255, 255, .22) !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-command-row {
    display: grid;
    gap: 14px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: stretch;
    margin-bottom: 18px;
}

body.darklab-fixed-bg:not(.no-portal-bg) .credit-counter-card,
body.darklab-fixed-bg:not(.no-portal-bg) .upload-launch-card {
    border-radius: 8px;
    min-height: 112px;
    overflow: hidden;
    position: relative;
}

body.darklab-fixed-bg:not(.no-portal-bg) .credit-counter-card {
    align-items: center;
    display: grid;
    gap: 18px;
    grid-template-columns: minmax(0, 1fr) 88px;
    padding: 8px 16px;
}

body.darklab-fixed-bg:not(.no-portal-bg) .credit-counter-card::before,
body.darklab-fixed-bg:not(.no-portal-bg) .upload-launch-card::before {
    background: linear-gradient(90deg, rgba(255, 38, 52, .86), rgba(255, 255, 255, .58), rgba(0, 133, 255, .42), transparent);
    content: "";
    height: 2px;
    left: 18px;
    position: absolute;
    right: 24%;
    top: 0;
}

body.darklab-fixed-bg:not(.no-portal-bg) .credit-counter-copy span,
body.darklab-fixed-bg:not(.no-portal-bg) .credit-counter-copy small {
    color: rgba(255, 255, 255, .68);
    display: block;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

body.darklab-fixed-bg:not(.no-portal-bg) .credit-counter-copy strong {
    color: #fff;
    display: block;
    font-size: 54px;
    line-height: .95;
    margin: 9px 0 8px;
    text-shadow: 0 0 24px rgba(255, 255, 255, .22), 0 0 18px rgba(255, 38, 52, .18);
}

body.darklab-fixed-bg:not(.no-portal-bg) .credit-counter-copy small {
    color: rgba(255, 255, 255, .76);
    letter-spacing: .03em;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

body.darklab-fixed-bg:not(.no-portal-bg) .credit-counter-copy .credit-counter-help {
    font-size: 12px;
    line-height: 1.35;
    overflow: visible;
    text-overflow: clip;
    text-transform: none;
    white-space: normal;
}

body.darklab-fixed-bg:not(.no-portal-bg) .credit-counter-help a {
    color: #ff3442;
    cursor: pointer;
    display: inline-block;
    font-weight: 900;
    position: relative;
    text-decoration: none;
    text-shadow: 0 0 14px rgba(255, 38, 52, .34);
}

body.darklab-fixed-bg:not(.no-portal-bg) .credit-counter-help a::before {
    background: linear-gradient(90deg, rgba(255, 52, 66, .92), rgba(255, 255, 255, .78));
    bottom: -2px;
    content: "";
    height: 1px;
    left: 0;
    position: absolute;
    transform: scaleX(.72);
    transform-origin: left center;
    transition: transform .18s ease, box-shadow .18s ease;
    width: 100%;
}

body.darklab-fixed-bg:not(.no-portal-bg) .credit-counter-help a::after {
    background:
        linear-gradient(135deg, rgba(255, 255, 255, .15), rgba(255, 255, 255, .055)),
        rgba(13, 17, 25, .96);
    border: 1px solid rgba(255, 52, 66, .34);
    border-radius: 6px;
    bottom: calc(100% + 10px);
    box-shadow: 0 14px 34px rgba(0, 0, 0, .34), 0 0 20px rgba(255, 38, 52, .13);
    color: rgba(255, 255, 255, .92);
    content: attr(data-credit-tooltip);
    font-size: 11px;
    font-weight: 800;
    left: 50%;
    letter-spacing: .02em;
    opacity: 0;
    padding: 8px 10px;
    pointer-events: none;
    position: absolute;
    text-shadow: none;
    transform: translate(-50%, 5px);
    transition: opacity .18s ease, transform .18s ease;
    white-space: nowrap;
    z-index: 4;
}

body.darklab-fixed-bg:not(.no-portal-bg) .credit-counter-help a:hover,
body.darklab-fixed-bg:not(.no-portal-bg) .credit-counter-help a:focus-visible {
    color: #ff5964;
    outline: none;
}

body.darklab-fixed-bg:not(.no-portal-bg) .credit-counter-help a:hover::before,
body.darklab-fixed-bg:not(.no-portal-bg) .credit-counter-help a:focus-visible::before {
    box-shadow: 0 0 16px rgba(255, 38, 52, .38);
    transform: scaleX(1);
}

body.darklab-fixed-bg:not(.no-portal-bg) .credit-counter-help a:hover::after,
body.darklab-fixed-bg:not(.no-portal-bg) .credit-counter-help a:focus-visible::after {
    opacity: 1;
    transform: translate(-50%, 0);
}

body.darklab-fixed-bg:not(.no-portal-bg) .credit-counter-orbit {
    align-items: center;
    aspect-ratio: 1;
    background:
        radial-gradient(circle, rgba(255, 255, 255, .16) 0 28%, transparent 29%),
        conic-gradient(from 220deg, rgba(255, 38, 52, .95), rgba(255, 255, 255, .72), rgba(0, 133, 255, .55), rgba(255, 38, 52, .95));
    border-radius: 50%;
    display: flex;
    justify-content: center;
    max-width: 82px;
    padding: 3px;
    position: relative;
}

body.darklab-fixed-bg:not(.no-portal-bg) .credit-counter-card.is-empty .credit-counter-orbit {
    box-shadow:
        0 0 0 1px rgba(255, 52, 66, .2),
        0 0 34px rgba(255, 38, 52, .32),
        0 0 72px rgba(255, 38, 52, .14);
}

body.darklab-fixed-bg:not(.no-portal-bg) .credit-counter-orbit::before {
    background: rgba(13, 17, 25, .92);
    border-radius: inherit;
    content: "";
    inset: 7px;
    position: absolute;
}

body.darklab-fixed-bg:not(.no-portal-bg) .credit-counter-card.is-empty .credit-counter-orbit::after {
    animation: credit-empty-halo 2.6s ease-in-out infinite;
    border: 1px solid rgba(255, 52, 66, .34);
    border-radius: inherit;
    content: "";
    inset: -7px;
    opacity: .7;
    position: absolute;
}

body.darklab-fixed-bg:not(.no-portal-bg) .credit-counter-orbit b {
    color: #fff;
    font-size: 32px;
    line-height: 1;
    position: relative;
    text-shadow: 0 0 18px rgba(255, 255, 255, .26);
}

@keyframes credit-empty-halo {
    0%,
    100% {
        opacity: .28;
        transform: scale(.98);
    }

    50% {
        opacity: .72;
        transform: scale(1.035);
    }
}

body.darklab-fixed-bg:not(.no-portal-bg) .upload-launch-card {
    align-items: center;
    align-self: stretch;
    color: #fff;
    display: grid;
    gap: 16px;
    grid-template-columns: 58px minmax(0, 1fr) auto;
    min-height: 112px;
    overflow: visible;
    padding: 8px 16px;
    text-decoration: none;
}

body.darklab-fixed-bg:not(.no-portal-bg) .upload-launch-card::after {
    background:
        linear-gradient(115deg, transparent 0 38%, rgba(255, 255, 255, .12) 39% 42%, transparent 43% 100%),
        radial-gradient(circle at 82% 52%, rgba(255, 38, 52, .28), transparent 34%);
    content: "";
    inset: 0;
    opacity: .75;
    pointer-events: none;
    position: absolute;
}

body.darklab-fixed-bg:not(.no-portal-bg) .upload-launch-icon {
    align-items: center;
    aspect-ratio: 1.08;
    background:
        linear-gradient(145deg, rgba(255, 255, 255, .18), rgba(255, 255, 255, .045)),
        radial-gradient(circle at 50% 50%, rgba(255, 38, 52, .24), transparent 58%),
        rgba(8, 12, 18, .54);
    border: 1px solid rgba(255, 255, 255, .24);
    border-radius: 6px;
    box-shadow:
        inset 0 0 20px rgba(255, 255, 255, .08),
        inset 0 0 0 1px rgba(255, 38, 52, .12),
        0 0 24px rgba(255, 38, 52, .18);
    clip-path: polygon(19% 0, 81% 0, 100% 50%, 81% 100%, 19% 100%, 0 50%);
    display: flex;
    justify-content: center;
    overflow: hidden;
    position: relative;
    z-index: 1;
}

body.darklab-fixed-bg:not(.no-portal-bg) .upload-launch-icon::before {
    align-items: center;
    border: 1px solid rgba(255, 255, 255, .34);
    border-radius: 4px;
    box-shadow:
        inset 0 0 14px rgba(255, 255, 255, .08),
        0 0 18px rgba(255, 38, 52, .28);
    color: #fff;
    content: "ECU";
    display: flex;
    font-size: 9px;
    font-weight: 900;
    height: 22px;
    justify-content: center;
    letter-spacing: .12em;
    line-height: 1;
    position: relative;
    text-shadow: 0 0 18px rgba(255, 255, 255, .34);
    width: 28px;
    z-index: 2;
}

body.darklab-fixed-bg:not(.no-portal-bg) .upload-launch-icon::after {
    background:
        linear-gradient(90deg, transparent, rgba(255, 255, 255, .9), rgba(255, 38, 52, .78), transparent),
        repeating-linear-gradient(90deg, transparent 0 8px, rgba(255, 255, 255, .16) 8px 9px, transparent 9px 17px);
    content: "";
    height: 1px;
    left: 9px;
    position: absolute;
    right: 9px;
    top: 50%;
    transform: translateY(-50%);
    z-index: 1;
}

body.darklab-fixed-bg:not(.no-portal-bg) .upload-launch-card div,
body.darklab-fixed-bg:not(.no-portal-bg) .upload-launch-action {
    min-width: 0;
    position: relative;
    z-index: 1;
}

body.darklab-fixed-bg:not(.no-portal-bg) .upload-launch-card h2 {
    color: #fff;
    font-size: 28px;
    line-height: 1;
    margin: 0 0 7px;
    text-shadow: 0 0 20px rgba(255, 255, 255, .18);
}

body.darklab-fixed-bg:not(.no-portal-bg) .upload-launch-card p {
    color: rgba(255, 255, 255, .72);
    font-size: 13px;
    font-weight: 600;
    line-height: 1.35;
    margin: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

body.darklab-fixed-bg:not(.no-portal-bg) .upload-launch-action {
    align-items: center;
    aspect-ratio: 1;
    background:
        linear-gradient(145deg, rgba(255, 255, 255, .14), rgba(255, 255, 255, .045)),
        linear-gradient(135deg, rgba(255, 38, 52, .86), rgba(128, 8, 16, .82));
    border: 1px solid rgba(255, 84, 96, .42);
    border-radius: 50%;
    box-shadow:
        0 0 18px rgba(255, 38, 52, .2),
        inset 0 1px 0 rgba(255, 255, 255, .24);
    color: #fff;
    display: inline-flex;
    font-size: 24px;
    font-weight: 800;
    justify-content: center;
    justify-self: end;
    line-height: 1;
    padding: 0;
    text-decoration: none;
    transition: border-color .18s ease, box-shadow .18s ease, transform .16s ease, background .18s ease;
    white-space: nowrap;
    width: 42px;
}

body.darklab-fixed-bg:not(.no-portal-bg) .upload-launch-action::after {
    background:
        linear-gradient(135deg, rgba(255, 255, 255, .15), rgba(255, 255, 255, .055)),
        rgba(13, 17, 25, .96);
    border: 1px solid rgba(255, 52, 66, .34);
    border-radius: 6px;
    bottom: auto;
    box-shadow: 0 14px 34px rgba(0, 0, 0, .34), 0 0 20px rgba(255, 38, 52, .13);
    color: rgba(255, 255, 255, .92);
    content: attr(data-upload-tooltip);
    font-size: 11px;
    font-weight: 800;
    left: auto;
    letter-spacing: .02em;
    opacity: 0;
    padding: 8px 10px;
    pointer-events: none;
    position: absolute;
    text-shadow: none;
    right: calc(100% + 10px);
    top: 50%;
    transform: translate(6px, -50%);
    transition: opacity .18s ease, transform .18s ease;
    white-space: nowrap;
    z-index: 4;
}

body.darklab-fixed-bg:not(.no-portal-bg) .upload-launch-action:hover,
body.darklab-fixed-bg:not(.no-portal-bg) .upload-launch-action:focus-visible {
    background:
        linear-gradient(145deg, rgba(255, 255, 255, .18), rgba(255, 255, 255, .055)),
        linear-gradient(135deg, rgba(255, 51, 64, .96), rgba(178, 12, 24, .9));
    border-color: rgba(255, 255, 255, .38);
    box-shadow: 0 0 28px rgba(255, 38, 52, .3), inset 0 1px 0 rgba(255, 255, 255, .3);
    outline: none;
    transform: translateY(-1px) scale(1.04);
}

body.darklab-fixed-bg:not(.no-portal-bg) .upload-launch-action:hover::after,
body.darklab-fixed-bg:not(.no-portal-bg) .upload-launch-action:focus-visible::after {
    opacity: 1;
    transform: translate(0, -50%);
}

body.darklab-fixed-bg:not(.no-portal-bg) .upload-launch-action:active {
    transform: translateY(0) scale(.96);
}

body.darklab-fixed-bg:not(.no-portal-bg) .upload-launch-card:hover {
    border-color: rgba(255, 52, 66, .48) !important;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, .24),
        0 0 34px rgba(255, 38, 52, .18),
        0 22px 54px rgba(0, 0, 0, .28) !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-head {
    margin-bottom: 24px;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-head h1 {
    font-size: 38px;
    line-height: 1;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-head .secondary {
    min-width: 154px;
    padding-inline: 20px;
}

body.darklab-fixed-bg:not(.no-portal-bg) .credit-alert {
    color: rgba(255, 255, 255, .88);
    font-size: 14px;
    line-height: 1.3;
    margin-bottom: 18px;
    overflow: hidden;
    padding: 16px 22px !important;
    text-overflow: ellipsis;
    white-space: nowrap;
}

body.darklab-fixed-bg:not(.no-portal-bg) .credit-alert strong {
    color: #fff;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-cockpit {
    gap: 14px;
    grid-template-columns: minmax(300px, .82fr) minmax(470px, 1.34fr) minmax(300px, .76fr);
    margin-bottom: 14px;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-cockpit > * {
    min-height: 232px;
    min-width: 0;
    padding: 16px 18px !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .panel-title {
    gap: 12px;
    min-width: 0;
}

body.darklab-fixed-bg:not(.no-portal-bg) .panel-title h2,
body.darklab-fixed-bg:not(.no-portal-bg) .panel-title > span {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

body.darklab-fixed-bg:not(.no-portal-bg) .panel-title h2 {
    font-size: 16px;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-latest-panel .latest-file-card div {
    grid-template-columns: minmax(58px, 22%) minmax(0, 1fr);
    min-height: 29px;
    padding: 5px 0;
}

body.darklab-fixed-bg:not(.no-portal-bg) .latest-file-card dt,
body.darklab-fixed-bg:not(.no-portal-bg) .latest-file-card dd {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

body.darklab-fixed-bg:not(.no-portal-bg) .latest-file-card .pill {
    font-size: 10px;
    letter-spacing: .04em;
    max-width: 100%;
    overflow: hidden;
    padding: 6px 10px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

body.darklab-fixed-bg:not(.no-portal-bg) .chart-panel-compact {
    display: flex;
    flex-direction: column;
}

body.darklab-fixed-bg:not(.no-portal-bg) .real-chart {
    align-content: end;
    flex: 1;
    gap: 7px;
    min-height: 126px;
}

body.darklab-fixed-bg:not(.no-portal-bg) .real-chart-track {
    height: 82px;
    width: 13px;
}

body.darklab-fixed-bg:not(.no-portal-bg) .real-chart-month strong,
body.darklab-fixed-bg:not(.no-portal-bg) .real-chart-month small {
    line-height: 1;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

body.darklab-fixed-bg:not(.no-portal-bg) .lab-hours-card {
    min-width: 0;
}

body.darklab-fixed-bg:not(.no-portal-bg) .lab-hours-card .panel-title {
    align-items: start;
}

body.darklab-fixed-bg:not(.no-portal-bg) .lab-status {
    flex: 0 0 auto;
    font-size: 11px;
    gap: 7px;
    max-width: 132px;
    padding: 7px 10px;
}

body.darklab-fixed-bg:not(.no-portal-bg) .lab-status i {
    flex: 0 0 auto;
    height: 9px;
    width: 9px;
}

body.darklab-fixed-bg:not(.no-portal-bg) .lab-hours-card > p {
    font-size: 22px;
    line-height: 1;
    margin: 9px 0 11px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

body.darklab-fixed-bg:not(.no-portal-bg) .lab-time-grid {
    gap: 6px 10px;
    grid-template-columns: minmax(0, 1fr) auto;
}

body.darklab-fixed-bg:not(.no-portal-bg) .lab-time-grid span {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

body.darklab-fixed-bg:not(.no-portal-bg) .lab-time-grid strong {
    font-size: 14px;
    white-space: nowrap;
}

body.darklab-fixed-bg:not(.no-portal-bg) .lab-info-message:not(.lab-hours-modal-trigger) {
    display: -webkit-box;
    line-height: 1.35;
    max-height: 47px;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

body.darklab-fixed-bg:not(.no-portal-bg) .lab-hours-modal-trigger {
    display: grid;
    line-height: 1.35;
    max-height: none;
    overflow: visible;
}

body.darklab-fixed-bg:not(.no-portal-bg) .lab-hours-modal-trigger span {
    display: inline-flex;
    margin-left: 0;
}

body.darklab-fixed-bg:not(.no-portal-bg) .metric-grid {
    gap: 14px;
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

body.darklab-fixed-bg:not(.no-portal-bg) .metric-grid article {
    min-width: 0;
    overflow: hidden;
    padding: 14px 16px !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .metric-grid h3,
body.darklab-fixed-bg:not(.no-portal-bg) .metric-grid p,
body.darklab-fixed-bg:not(.no-portal-bg) .metric-grid footer span,
body.darklab-fixed-bg:not(.no-portal-bg) .metric-grid footer strong {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

body.darklab-fixed-bg:not(.no-portal-bg) .metric-grid h3 {
    font-size: 12px;
    letter-spacing: .08em;
}

body.darklab-fixed-bg:not(.no-portal-bg) .metric-grid p {
    font-size: 25px;
    line-height: 1.05;
}

body.darklab-fixed-bg:not(.no-portal-bg) .metric-grid footer {
    gap: 10px;
}

/* Shared bright DARKLAB frame theme, intentionally excluding the configurator. */
body.darklab-fixed-bg:not(.no-portal-bg) .portal-layout:not(.configurator-layout) :is(
    .account-panel,
    .reading-tool-section,
    .account-tool-card,
    .reader-panel,
    .drop-area,
    .upload-progress,
    .signature-panel,
    .signature-result,
    .signature-stats article,
    .signature-note,
    .table-wrap,
    .upload-card,
    .pricing-category-tabs,
    .pricing-sheet,
    .pricing-empty-category,
    .pricing-item,
    .credit-pack-card,
    .bosch-tool-panel,
    .bosch-card,
    .service-summary,
    .service-choice,
    .selected-vehicle-strip,
    .order-detail-panel,
    .order-file-card,
    .order-message-timeline article,
    .file-info-card,
    .vehicle-summary-card,
    .vehicle-panel,
    .vehicle-card,
    .terms-consent-panel,
    .ori-check-panel
),
body.darklab-fixed-bg:not(.no-portal-bg) :is(
    .auth-panel,
    .idea-panel,
    .terms-index,
    .terms-document,
    .terms-identity p,
    .terms-definitions dd,
    .admin-metrics article,
    .admin-stat-grid article,
    .admin-panel,
    .admin-login-panel,
    .admin-ecu-review,
    .admin-timeline div,
    .admin-empty,
    .chat-admin-panel,
    .chat-reseller-panel,
    .chat-admin-list,
    .chat-admin-thread,
    .chat-admin-empty,
    .chat-admin-messages article,
    .chat-admin-compose
) {
    background:
        linear-gradient(118deg, rgba(255, 255, 255, .16), rgba(255, 255, 255, .075) 44%, rgba(255, 42, 56, .075)),
        radial-gradient(circle at 12% 0%, rgba(40, 142, 255, .18), transparent 34%),
        radial-gradient(circle at 98% 24%, rgba(255, 38, 52, .14), transparent 38%),
        rgba(22, 28, 38, .82) !important;
    border-color: rgba(255, 255, 255, .26) !important;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, .22),
        inset 0 -1px 0 rgba(255, 38, 52, .12),
        0 18px 44px rgba(0, 0, 0, .22),
        0 0 26px rgba(255, 255, 255, .035) !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .portal-layout:not(.configurator-layout) :is(
    .lab-time-grid,
    .lab-info-message,
    .latest-file-card div,
    .order-detail-dl div,
    .order-meta-strip span,
    .order-file-card,
    .service-summary li,
    .pricing-row,
    .bosch-grid,
    .contact-panel,
    .account-tool-preview
),
body.darklab-fixed-bg:not(.no-portal-bg) :is(
    .admin-table-scroll,
    .admin-filter,
    .admin-alert,
    .darklab-dialog,
    .chat-admin-filter,
    .chat-transfer-form
) {
    background:
        linear-gradient(120deg, rgba(255, 255, 255, .105), rgba(255, 255, 255, .045)),
        rgba(14, 18, 27, .66) !important;
    border-color: rgba(255, 255, 255, .2) !important;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, .14),
        0 12px 30px rgba(0, 0, 0, .18) !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .service-choice {
    background:
        linear-gradient(118deg, rgba(255, 255, 255, .28), rgba(255, 255, 255, .14) 46%, rgba(255, 42, 56, .09)),
        radial-gradient(circle at 10% 50%, rgba(114, 174, 255, .24), transparent 34%),
        radial-gradient(circle at 92% 50%, rgba(255, 38, 52, .16), transparent 36%),
        rgba(36, 43, 55, .84) !important;
    border-color: rgba(255, 255, 255, .38) !important;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, .3),
        inset 0 -1px 0 rgba(255, 38, 52, .12),
        0 18px 42px rgba(0, 0, 0, .22) !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .service-choice:hover,
body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .service-choice.is-selected {
    background:
        linear-gradient(118deg, rgba(255, 255, 255, .34), rgba(255, 255, 255, .17) 46%, rgba(255, 42, 56, .12)),
        radial-gradient(circle at 10% 50%, rgba(132, 190, 255, .28), transparent 34%),
        radial-gradient(circle at 92% 50%, rgba(255, 38, 52, .2), transparent 36%),
        rgba(42, 49, 62, .88) !important;
    border-color: rgba(255, 86, 98, .58) !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .service-choice-express {
    border-color: rgba(255, 38, 52, .50) !important;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, .32),
        inset 0 -1px 0 rgba(255, 38, 52, .18),
        0 18px 42px rgba(0, 0, 0, .24),
        0 0 28px rgba(255, 38, 52, .16) !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .service-choice-express .service-meta small {
    background: rgba(255, 38, 52, .16);
    border-color: rgba(255, 38, 52, .36);
    color: rgba(255, 232, 234, .94);
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .service-logo-cell {
    background: transparent;
    border: 1px solid transparent;
    border-radius: 8px;
    box-shadow: none;
    min-height: 54px;
    padding: 6px 8px;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .service-choice img {
    filter: invert(1) hue-rotate(180deg) saturate(1.05) contrast(1.08) brightness(1.08) !important;
    max-height: 44px;
    opacity: 1;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .service-choice img.service-logo-raw {
    filter: none !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .service-choice img.service-logo-dkb-cut {
    max-height: 34px;
    max-width: 96px;
    object-fit: contain;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .service-fallback-logo {
    background: rgba(255, 255, 255, .86);
    border-color: rgba(12, 16, 24, .08);
    color: #ff2634;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .selected-vehicle-strip,
body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .summary-vehicle,
body.darklab-fixed-bg:not(.no-portal-bg) .order-vehicle-summary {
    position: relative;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .selected-vehicle-strip {
    padding-right: 104px;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .summary-vehicle {
    min-height: 68px;
    padding-right: 72px;
}

body.darklab-fixed-bg:not(.no-portal-bg) .order-vehicle-summary {
    padding-top: 72px;
}

body.darklab-fixed-bg:not(.no-portal-bg) .vehicle-brand-logo {
    background:
        linear-gradient(145deg, rgba(255, 255, 255, .96), rgba(232, 238, 247, .82)),
        #fff !important;
    border-color: rgba(255, 255, 255, .76) !important;
    color: #111827 !important;
}

/* DARKLAB - page Tarif exclusivement en cadres blancs */
body.darklab-fixed-bg:not(.no-portal-bg) .pricing-layout .pricing-category-tabs,
body.darklab-fixed-bg:not(.no-portal-bg) .pricing-layout .pricing-sheet,
body.darklab-fixed-bg:not(.no-portal-bg) .pricing-layout .pricing-empty-category {
    background:
        radial-gradient(circle at 12% 0%, rgba(236, 28, 36, .045), transparent 28%),
        linear-gradient(145deg, #ffffff, #f7f9fc 58%, #ffffff) !important;
    border-color: rgba(18, 27, 39, .10) !important;
    box-shadow:
        0 2px 12px rgba(18, 27, 39, .10),
        0 0 0 1px rgba(255, 255, 255, .92) inset !important;
    color: #253143 !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .pricing-layout .pricing-category-tabs a {
    background: #fff !important;
    border-color: rgba(18, 27, 39, .08) !important;
    color: #253143 !important;
    box-shadow: 0 1px 5px rgba(18, 27, 39, .08) !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .pricing-layout .pricing-category-tabs a:hover,
body.darklab-fixed-bg:not(.no-portal-bg) .pricing-layout .pricing-category-tabs a.active {
    background:
        linear-gradient(135deg, #ffffff, #fff4f5 62%, #ffffff) !important;
    border-color: rgba(236, 28, 36, .26) !important;
    box-shadow:
        0 0 0 1px rgba(236, 28, 36, .08) inset,
        0 8px 18px rgba(18, 27, 39, .12),
        0 0 18px rgba(236, 28, 36, .10) !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .pricing-layout .pricing-category-tabs span,
body.darklab-fixed-bg:not(.no-portal-bg) .pricing-layout .pricing-category-tabs strong,
body.darklab-fixed-bg:not(.no-portal-bg) .pricing-layout .pricing-column h2 {
    color: #101622 !important;
    text-shadow: none !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .pricing-layout .pricing-category-tabs a.active span,
body.darklab-fixed-bg:not(.no-portal-bg) .pricing-layout .pricing-category-tabs a:hover span {
    color: #ec1c24 !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .pricing-layout .pricing-category-tabs em {
    background: #fff !important;
    border-color: rgba(18, 27, 39, .12) !important;
    color: rgba(37, 49, 67, .62) !important;
    box-shadow: none !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .pricing-layout .pricing-category-tabs a.active em,
body.darklab-fixed-bg:not(.no-portal-bg) .pricing-layout .pricing-category-tabs a:hover em {
    border-color: rgba(236, 28, 36, .28) !important;
    color: #ec1c24 !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .pricing-layout .pricing-item,
body.darklab-fixed-bg:not(.no-portal-bg) .pricing-layout .pricing-row,
body.darklab-fixed-bg:not(.no-portal-bg) .pricing-layout .pricing-description {
    background:
        linear-gradient(135deg, #ffffff, #fbfcfe) !important;
    border-color: rgba(18, 27, 39, .10) !important;
    box-shadow:
        0 1px 0 rgba(255, 255, 255, .9) inset,
        0 2px 8px rgba(18, 27, 39, .14) !important;
    color: #253143 !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .pricing-layout .pricing-row span {
    color: #253143 !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .pricing-layout .pricing-row strong {
    color: #ff1018 !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .pricing-layout .pricing-item:hover .pricing-row,
body.darklab-fixed-bg:not(.no-portal-bg) .pricing-layout .pricing-item:focus-within .pricing-row {
    border-color: rgba(236, 28, 36, .34) !important;
    box-shadow:
        0 1px 0 rgba(255, 255, 255, .92) inset,
        0 0 0 1px rgba(236, 28, 36, .08),
        0 8px 20px rgba(18, 27, 39, .14),
        0 0 16px rgba(236, 28, 36, .12) !important;
}

@media (max-width: 1360px) {
    body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-command-row {
        grid-template-columns: 1fr;
    }

    body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-cockpit {
        grid-template-columns: minmax(290px, .9fr) minmax(420px, 1.2fr);
    }

    body.darklab-fixed-bg:not(.no-portal-bg) .lab-hours-card {
        grid-column: 1 / -1;
    }
}

@media (max-width: 980px) {
    body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main {
        width: calc(100% - 36px);
    }

    body.darklab-fixed-bg:not(.no-portal-bg) .portal-main {
        padding-inline: 18px;
    }

    body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-cockpit,
    body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-command-row,
    body.darklab-fixed-bg:not(.no-portal-bg) .metric-grid {
        grid-template-columns: 1fr;
    }

    body.darklab-fixed-bg:not(.no-portal-bg) .credit-counter-card,
    body.darklab-fixed-bg:not(.no-portal-bg) .upload-launch-card {
        grid-template-columns: 1fr;
    }

    body.darklab-fixed-bg:not(.no-portal-bg) .credit-counter-orbit {
        display: none;
    }

    body.darklab-fixed-bg:not(.no-portal-bg) .upload-launch-action {
        justify-self: end;
    }

    body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-head {
        align-items: stretch;
        gap: 16px;
    }

    body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-head .secondary {
        width: 100%;
    }
}


/* DARKLAB - Tarif OLSX: toutes les cartes stages/options restent blanches */
.pricing-layout .pricing-list .pricing-item,
body.darklab-fixed-bg:not(.no-portal-bg) .pricing-layout .pricing-list .pricing-item {
    background: #fff !important;
    border-radius: 7px !important;
    color: #172033 !important;
    filter: none !important;
    isolation: isolate;
    mix-blend-mode: normal !important;
    opacity: 1 !important;
}

.pricing-layout .pricing-list .pricing-row,
.pricing-layout .pricing-list .pricing-item:hover .pricing-row,
.pricing-layout .pricing-list .pricing-item:focus-within .pricing-row,
body.darklab-fixed-bg:not(.no-portal-bg) .pricing-layout .pricing-list .pricing-row,
body.darklab-fixed-bg:not(.no-portal-bg) .pricing-layout .pricing-list .pricing-item:hover .pricing-row,
body.darklab-fixed-bg:not(.no-portal-bg) .pricing-layout .pricing-list .pricing-item:focus-within .pricing-row {
    background: #fff !important;
    background-color: #fff !important;
    background-image: none !important;
    border: 1px solid rgba(18, 27, 39, .16) !important;
    box-shadow:
        0 1px 0 rgba(255, 255, 255, .95) inset,
        0 2px 8px rgba(18, 27, 39, .13) !important;
    color: #172033 !important;
    filter: none !important;
    mix-blend-mode: normal !important;
    opacity: 1 !important;
}

.pricing-layout .pricing-list .pricing-description,
body.darklab-fixed-bg:not(.no-portal-bg) .pricing-layout .pricing-list .pricing-description {
    background: #fff !important;
    background-color: #fff !important;
    background-image: none !important;
    border-color: rgba(236, 28, 36, .22) !important;
    color: #172033 !important;
}

.pricing-layout .pricing-list .pricing-row img,
body.darklab-fixed-bg:not(.no-portal-bg) .pricing-layout .pricing-list .pricing-row img {
    filter: none !important;
    mix-blend-mode: normal !important;
    opacity: 1 !important;
}

.pricing-layout .pricing-list .pricing-row span,
body.darklab-fixed-bg:not(.no-portal-bg) .pricing-layout .pricing-list .pricing-row span {
    color: #172033 !important;
    opacity: 1 !important;
    text-shadow: none !important;
}

.pricing-layout .pricing-list .pricing-row strong,
body.darklab-fixed-bg:not(.no-portal-bg) .pricing-layout .pricing-list .pricing-row strong {
    color: #ff1018 !important;
    opacity: 1 !important;
    text-shadow: none !important;
}

.pricing-layout .pricing-list .pricing-item:hover::before,
.pricing-layout .pricing-list .pricing-item:focus-within::before,
body.darklab-fixed-bg:not(.no-portal-bg) .pricing-layout .pricing-list .pricing-item:hover::before,
body.darklab-fixed-bg:not(.no-portal-bg) .pricing-layout .pricing-list .pricing-item:focus-within::before {
    opacity: .55 !important;
}

/* DARKLAB - Tarif OLSX strict: aucun cadre sombre */
.pricing-layout .pricing-main,
body.darklab-fixed-bg:not(.no-portal-bg) .pricing-layout .pricing-main {
    isolation: isolate;
}

.pricing-layout .pricing-sheet,
.pricing-layout .pricing-column,
.pricing-layout .pricing-list,
.pricing-layout .pricing-empty-category,
body.darklab-fixed-bg:not(.no-portal-bg) .pricing-layout .pricing-sheet,
body.darklab-fixed-bg:not(.no-portal-bg) .pricing-layout .pricing-column,
body.darklab-fixed-bg:not(.no-portal-bg) .pricing-layout .pricing-list,
body.darklab-fixed-bg:not(.no-portal-bg) .pricing-layout .pricing-empty-category {
    backdrop-filter: none !important;
    background: #fff !important;
    background-color: #fff !important;
    background-image: none !important;
    border-color: rgba(18, 27, 39, .12) !important;
    color: #172033 !important;
    filter: none !important;
    mix-blend-mode: normal !important;
    opacity: 1 !important;
}

.pricing-layout .pricing-sheet,
body.darklab-fixed-bg:not(.no-portal-bg) .pricing-layout .pricing-sheet {
    box-shadow:
        0 16px 44px rgba(18, 27, 39, .16),
        0 0 0 1px rgba(255, 255, 255, .95) inset !important;
}

.pricing-layout .pricing-column,
body.darklab-fixed-bg:not(.no-portal-bg) .pricing-layout .pricing-column {
    border-radius: 8px;
}

.pricing-layout .pricing-main::before,
.pricing-layout .pricing-sheet::before,
body.darklab-fixed-bg:not(.no-portal-bg) .pricing-layout .pricing-main::before,
body.darklab-fixed-bg:not(.no-portal-bg) .pricing-layout .pricing-sheet::before {
    display: none !important;
}

.pricing-layout .pricing-column h2,
body.darklab-fixed-bg:not(.no-portal-bg) .pricing-layout .pricing-column h2 {
    color: #101622 !important;
    text-shadow: none !important;
}

.pricing-layout .pricing-list .pricing-item::before,
body.darklab-fixed-bg:not(.no-portal-bg) .pricing-layout .pricing-list .pricing-item::before {
    display: none !important;
}

.pricing-layout .pricing-list .pricing-item,
.pricing-layout .pricing-list .pricing-row,
.pricing-layout .pricing-list .pricing-description,
body.darklab-fixed-bg:not(.no-portal-bg) .pricing-layout .pricing-list .pricing-item,
body.darklab-fixed-bg:not(.no-portal-bg) .pricing-layout .pricing-list .pricing-row,
body.darklab-fixed-bg:not(.no-portal-bg) .pricing-layout .pricing-list .pricing-description {
    background: #fff !important;
    background-color: #fff !important;
    background-image: none !important;
}

/* DARKLAB - restauration Tarif avant: panneau sombre + lignes blanches OLSX */
body.darklab-fixed-bg:not(.no-portal-bg) .pricing-layout {
    background:
        radial-gradient(circle at 17% 16%, rgba(0, 92, 255, .16), transparent 30%),
        radial-gradient(circle at 82% 18%, rgba(236, 28, 36, .18), transparent 30%),
        linear-gradient(180deg, rgba(2, 2, 4, .82), rgba(2, 2, 4, .94)),
        url("/static/images/darklab-hero-v2.png") center bottom / cover no-repeat fixed !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .pricing-layout .pricing-main {
    isolation: isolate !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .pricing-layout .pricing-main::before {
    display: block !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .pricing-layout .pricing-category-tabs {
    backdrop-filter: blur(16px) saturate(125%) !important;
    background:
        radial-gradient(circle at 18% 0%, rgba(0, 102, 255, .12), transparent 30%),
        radial-gradient(circle at 82% 12%, rgba(236, 28, 36, .14), transparent 34%),
        linear-gradient(145deg, rgba(255, 255, 255, .08), rgba(255, 255, 255, .025)),
        rgba(7, 8, 12, .34) !important;
    border-color: rgba(255, 255, 255, .11) !important;
    box-shadow:
        0 18px 45px rgba(0, 0, 0, .22),
        0 0 0 1px rgba(236, 28, 36, .10) inset !important;
    color: rgba(255, 255, 255, .86) !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .pricing-layout .pricing-category-tabs a {
    background:
        linear-gradient(135deg, rgba(255, 255, 255, .055), rgba(255, 255, 255, .018)),
        rgba(8, 9, 14, .32) !important;
    border-color: rgba(255, 255, 255, .10) !important;
    box-shadow: none !important;
    color: rgba(255, 255, 255, .76) !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .pricing-layout .pricing-category-tabs a:hover,
body.darklab-fixed-bg:not(.no-portal-bg) .pricing-layout .pricing-category-tabs a.active {
    background:
        radial-gradient(circle at 50% 0%, rgba(236, 28, 36, .18), transparent 42%),
        linear-gradient(135deg, rgba(255, 255, 255, .10), rgba(255, 255, 255, .035)),
        rgba(44, 14, 20, .44) !important;
    border-color: rgba(236, 28, 36, .28) !important;
    box-shadow:
        0 0 0 1px rgba(236, 28, 36, .10) inset,
        0 12px 28px rgba(236, 28, 36, .10) !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .pricing-layout .pricing-category-tabs span,
body.darklab-fixed-bg:not(.no-portal-bg) .pricing-layout .pricing-category-tabs strong {
    color: rgba(255, 255, 255, .88) !important;
    text-shadow: 0 0 14px rgba(255, 255, 255, .08) !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .pricing-layout .pricing-category-tabs a.active span,
body.darklab-fixed-bg:not(.no-portal-bg) .pricing-layout .pricing-category-tabs a:hover span,
body.darklab-fixed-bg:not(.no-portal-bg) .pricing-layout .pricing-category-tabs a.active em,
body.darklab-fixed-bg:not(.no-portal-bg) .pricing-layout .pricing-category-tabs a:hover em {
    color: #ff2634 !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .pricing-layout .pricing-category-tabs em {
    background: rgba(8, 9, 14, .34) !important;
    border-color: rgba(255, 255, 255, .13) !important;
    color: rgba(255, 255, 255, .42) !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .pricing-layout .pricing-sheet {
    backdrop-filter: blur(14px) saturate(118%) !important;
    background:
        radial-gradient(circle at 19% 13%, rgba(0, 102, 255, .11), transparent 29%),
        radial-gradient(circle at 82% 16%, rgba(236, 28, 36, .13), transparent 32%),
        linear-gradient(180deg, rgba(255, 255, 255, .075), rgba(255, 255, 255, .026)),
        rgba(8, 9, 14, .34) !important;
    border-color: rgba(255, 255, 255, .09) !important;
    box-shadow:
        0 24px 62px rgba(0, 0, 0, .30),
        0 0 0 1px rgba(255, 255, 255, .035) inset !important;
    color: rgba(255, 255, 255, .86) !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .pricing-layout .pricing-sheet::before {
    display: block !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .pricing-layout .pricing-column,
body.darklab-fixed-bg:not(.no-portal-bg) .pricing-layout .pricing-list {
    backdrop-filter: none !important;
    background: transparent !important;
    border-color: transparent !important;
    box-shadow: none !important;
    color: inherit !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .pricing-layout .pricing-column h2 {
    color: #fff !important;
    font-size: 29px !important;
    margin: 4px 0 24px !important;
    text-shadow:
        0 0 18px rgba(255, 255, 255, .12),
        0 0 24px rgba(236, 28, 36, .10) !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .pricing-layout .pricing-list {
    gap: 8px !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .pricing-layout .pricing-list .pricing-item {
    background: transparent !important;
    border-radius: 7px !important;
    box-shadow: none !important;
    color: #253143 !important;
    filter: none !important;
    mix-blend-mode: normal !important;
    opacity: 1 !important;
    position: relative !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .pricing-layout .pricing-list .pricing-item::before {
    display: block !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .pricing-layout .pricing-list .pricing-row,
body.darklab-fixed-bg:not(.no-portal-bg) .pricing-layout .pricing-list .pricing-item:hover .pricing-row,
body.darklab-fixed-bg:not(.no-portal-bg) .pricing-layout .pricing-list .pricing-item:focus-within .pricing-row {
    background: #fff !important;
    background-color: #fff !important;
    background-image: none !important;
    border: 1px solid rgba(225, 229, 235, .98) !important;
    border-radius: 7px !important;
    box-shadow:
        0 1px 0 rgba(255, 255, 255, .94) inset,
        0 2px 8px rgba(18, 27, 39, .18) !important;
    color: #253143 !important;
    filter: none !important;
    min-height: 36px !important;
    mix-blend-mode: normal !important;
    opacity: 1 !important;
    padding: 3px 10px !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .pricing-layout .pricing-list .pricing-row img {
    filter: none !important;
    mix-blend-mode: normal !important;
    opacity: 1 !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .pricing-layout .pricing-list .pricing-row span {
    color: #253143 !important;
    opacity: 1 !important;
    text-shadow: none !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .pricing-layout .pricing-list .pricing-row strong {
    color: #ff1018 !important;
    font-weight: 900 !important;
    opacity: 1 !important;
    text-shadow: none !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .pricing-layout .pricing-list .pricing-description {
    background: #fff !important;
    background-color: #fff !important;
    background-image: none !important;
    border: 1px solid rgba(236, 28, 36, .16) !important;
    border-radius: 0 0 6px 6px !important;
    box-shadow:
        0 0 0 1px rgba(255, 255, 255, .92) inset,
        0 12px 24px rgba(18, 27, 39, .12) !important;
    color: #253143 !important;
    filter: none !important;
    mix-blend-mode: normal !important;
    opacity: 0;
}

body.darklab-fixed-bg:not(.no-portal-bg) .pricing-layout .pricing-list .pricing-item:hover .pricing-description,
body.darklab-fixed-bg:not(.no-portal-bg) .pricing-layout .pricing-list .pricing-item:focus-within .pricing-description {
    opacity: 1 !important;
}


/* DARKLAB - Tarif avant final: les lignes restent blanches meme sans survol */
.pricing-layout .pricing-sheet {
    background:
        radial-gradient(circle at 19% 13%, rgba(0, 102, 255, .11), transparent 29%),
        radial-gradient(circle at 82% 16%, rgba(236, 28, 36, .13), transparent 32%),
        linear-gradient(180deg, rgba(255, 255, 255, .075), rgba(255, 255, 255, .026)),
        rgba(8, 9, 14, .34) !important;
    border-color: rgba(255, 255, 255, .09) !important;
    color: rgba(255, 255, 255, .86) !important;
}

.pricing-layout .pricing-column,
.pricing-layout .pricing-list {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}

.pricing-layout .pricing-column h2 {
    color: #fff !important;
    text-shadow:
        0 0 18px rgba(255, 255, 255, .12),
        0 0 24px rgba(236, 28, 36, .10) !important;
}

.pricing-layout .pricing-list .pricing-item {
    background: transparent !important;
    box-shadow: none !important;
    filter: none !important;
    mix-blend-mode: normal !important;
    opacity: 1 !important;
}

.pricing-layout .pricing-list .pricing-row,
.pricing-layout .pricing-list .pricing-item:hover .pricing-row,
.pricing-layout .pricing-list .pricing-item:focus-within .pricing-row {
    background: #ffffff !important;
    background-color: #ffffff !important;
    background-image: none !important;
    border: 1px solid rgba(225, 229, 235, .98) !important;
    border-radius: 7px !important;
    box-shadow:
        0 1px 0 rgba(255, 255, 255, .94) inset,
        0 2px 8px rgba(18, 27, 39, .18) !important;
    color: #253143 !important;
    filter: none !important;
    mix-blend-mode: normal !important;
    opacity: 1 !important;
    transform: none !important;
}

.pricing-layout .pricing-list .pricing-row img,
.pricing-layout .pricing-list .pricing-row span,
.pricing-layout .pricing-list .pricing-row strong {
    filter: none !important;
    mix-blend-mode: normal !important;
    opacity: 1 !important;
    text-shadow: none !important;
}

.pricing-layout .pricing-list .pricing-row span {
    color: #253143 !important;
}

.pricing-layout .pricing-list .pricing-row strong {
    color: #ff1018 !important;
}

.pricing-layout .pricing-list .pricing-description {
    background: #ffffff !important;
    background-color: #ffffff !important;
    background-image: none !important;
    color: #253143 !important;
}

/* DARKLAB - FIX DEFINITIF TARIF: cartes blanches permanentes, aucun blanc uniquement au survol */
html body.darklab-fixed-bg .pricing-layout .pricing-sheet .pricing-list > .pricing-item {
    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;
    box-shadow: none !important;
    filter: none !important;
    mix-blend-mode: normal !important;
    opacity: 1 !important;
}

html body.darklab-fixed-bg .pricing-layout .pricing-sheet .pricing-list > .pricing-item > article.pricing-row,
html body.darklab-fixed-bg .pricing-layout .pricing-sheet .pricing-list > .pricing-item:hover > article.pricing-row,
html body.darklab-fixed-bg .pricing-layout .pricing-sheet .pricing-list > .pricing-item:focus-within > article.pricing-row {
    background: #ffffff !important;
    background-color: #ffffff !important;
    background-image: none !important;
    border: 1px solid rgba(226, 232, 240, .98) !important;
    border-radius: 7px !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, .16) !important;
    color: #202b3c !important;
    filter: none !important;
    mix-blend-mode: normal !important;
    opacity: 1 !important;
    transform: none !important;
}

html body.darklab-fixed-bg .pricing-layout .pricing-sheet .pricing-list > .pricing-item > article.pricing-row *,
html body.darklab-fixed-bg .pricing-layout .pricing-sheet .pricing-list > .pricing-item:hover > article.pricing-row * {
    filter: none !important;
    mix-blend-mode: normal !important;
    opacity: 1 !important;
    text-shadow: none !important;
}

html body.darklab-fixed-bg .pricing-layout .pricing-sheet .pricing-list > .pricing-item > article.pricing-row span {
    color: #202b3c !important;
}

html body.darklab-fixed-bg .pricing-layout .pricing-sheet .pricing-list > .pricing-item > article.pricing-row strong {
    color: #ff1018 !important;
}

html body.darklab-fixed-bg .pricing-layout .pricing-sheet .pricing-list > .pricing-item > .pricing-description,
html body.darklab-fixed-bg .pricing-layout .pricing-sheet .pricing-list > .pricing-item:hover > .pricing-description,
html body.darklab-fixed-bg .pricing-layout .pricing-sheet .pricing-list > .pricing-item:focus-within > .pricing-description {
    display: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
}

/* DARKLAB - Tarif: explication premium au survol sans modifier la carte blanche */
html body.darklab-fixed-bg .pricing-layout .pricing-sheet .pricing-list > .pricing-item {
    isolation: isolate !important;
    position: relative !important;
}

html body.darklab-fixed-bg .pricing-layout .pricing-sheet .pricing-list > .pricing-item > .pricing-description {
    background: #ffffff !important;
    background-color: #ffffff !important;
    background-image: none !important;
    border: 1px solid rgba(236, 28, 36, .18) !important;
    border-radius: 7px !important;
    box-shadow:
        0 14px 28px rgba(0, 0, 0, .20),
        0 0 0 1px rgba(255, 255, 255, .96) inset !important;
    color: #202b3c !important;
    display: block !important;
    filter: none !important;
    font-size: 13px !important;
    left: 0 !important;
    line-height: 1.42 !important;
    margin: 4px 0 0 !important;
    max-width: 100% !important;
    mix-blend-mode: normal !important;
    opacity: 0 !important;
    padding: 14px 16px !important;
    pointer-events: none !important;
    position: absolute !important;
    right: 0 !important;
    text-shadow: none !important;
    top: calc(100% + 2px) !important;
    transform: translateY(-4px) !important;
    transition: opacity .14s ease, transform .14s ease, visibility .14s ease !important;
    visibility: hidden !important;
    width: auto !important;
    z-index: 50 !important;
}

html body.darklab-fixed-bg .pricing-layout .pricing-sheet .pricing-list > .pricing-item:hover > .pricing-description,
html body.darklab-fixed-bg .pricing-layout .pricing-sheet .pricing-list > .pricing-item:focus-within > .pricing-description {
    opacity: 1 !important;
    transform: translateY(0) !important;
    visibility: visible !important;
}

html body.darklab-fixed-bg .pricing-layout .pricing-sheet .pricing-list > .pricing-item:hover > article.pricing-row,
html body.darklab-fixed-bg .pricing-layout .pricing-sheet .pricing-list > .pricing-item:focus-within > article.pricing-row {
    background: #ffffff !important;
    background-color: #ffffff !important;
    color: #202b3c !important;
}

/* DARKLAB - Tarif: onglets categories plus blancs */
html body.darklab-fixed-bg .pricing-layout .pricing-category-tabs {
    background:
        radial-gradient(circle at 14% 0%, rgba(255, 255, 255, .26), transparent 30%),
        radial-gradient(circle at 82% 18%, rgba(236, 28, 36, .14), transparent 36%),
        linear-gradient(135deg, rgba(255, 255, 255, .24), rgba(255, 255, 255, .10) 54%, rgba(255, 255, 255, .16)),
        rgba(238, 242, 248, .18) !important;
    border-color: rgba(255, 255, 255, .28) !important;
    box-shadow:
        0 18px 44px rgba(0, 0, 0, .22),
        0 0 0 1px rgba(255, 255, 255, .16) inset !important;
}

html body.darklab-fixed-bg .pricing-layout .pricing-category-tabs a {
    background:
        radial-gradient(circle at 18% 0%, rgba(255, 255, 255, .20), transparent 32%),
        linear-gradient(135deg, rgba(255, 255, 255, .20), rgba(255, 255, 255, .075)) !important;
    border-color: rgba(255, 255, 255, .20) !important;
    color: rgba(255, 255, 255, .92) !important;
}

html body.darklab-fixed-bg .pricing-layout .pricing-category-tabs a.active,
html body.darklab-fixed-bg .pricing-layout .pricing-category-tabs a:hover {
    background:
        radial-gradient(circle at 16% 0%, rgba(255, 255, 255, .38), transparent 36%),
        radial-gradient(circle at 90% 18%, rgba(236, 28, 36, .18), transparent 42%),
        linear-gradient(135deg, rgba(255, 255, 255, .34), rgba(255, 255, 255, .14)) !important;
    border-color: rgba(255, 255, 255, .34) !important;
    box-shadow:
        0 0 0 1px rgba(255, 255, 255, .14) inset,
        0 14px 34px rgba(0, 0, 0, .18),
        0 0 24px rgba(236, 28, 36, .10) !important;
}

html body.darklab-fixed-bg .pricing-layout .pricing-category-tabs span,
html body.darklab-fixed-bg .pricing-layout .pricing-category-tabs strong {
    color: rgba(255, 255, 255, .96) !important;
    text-shadow: 0 0 14px rgba(255, 255, 255, .16) !important;
}

html body.darklab-fixed-bg .pricing-layout .pricing-category-tabs a.active span,
html body.darklab-fixed-bg .pricing-layout .pricing-category-tabs a:hover span {
    color: #ff2634 !important;
}

/* DARKLAB - Detection: les 4 volets informations vehicule reprennent le gris des selections */
html body.darklab-fixed-bg .detect-page:not(.is-matrix-running) #vehicle-info-fields :is(input, select),
html body.darklab-fixed-bg .detect-page:not(.is-matrix-running) #vehicle-info-fields :is(input, select):hover,
html body.darklab-fixed-bg .detect-page:not(.is-matrix-running) #vehicle-info-fields :is(input, select):focus,
html body.darklab-fixed-bg .detect-page:not(.is-matrix-running) #vehicle-info-fields :is(input, select):disabled,
html body.darklab-fixed-bg .detect-page:not(.is-matrix-running) #vehicle-info-fields .custom-select-field :is(input, select),
html body.darklab-fixed-bg .detect-page:not(.is-matrix-running) #vehicle-info-fields .custom-select-field :is(input, select):hover,
html body.darklab-fixed-bg .detect-page:not(.is-matrix-running) #vehicle-info-fields .custom-select-field :is(input, select):focus {
    background:
        linear-gradient(180deg, rgba(255, 255, 255, .125), rgba(255, 255, 255, .058)),
        rgba(28, 32, 40, .74) !important;
    border-color: rgba(255, 255, 255, .24) !important;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, .16),
        0 12px 24px rgba(0, 0, 0, .20),
        0 0 0 1px rgba(255, 255, 255, .035) !important;
    color: rgba(255, 255, 255, .94) !important;
    filter: none !important;
    opacity: 1 !important;
    outline: none !important;
    -webkit-text-fill-color: rgba(255, 255, 255, .94) !important;
}

html body.darklab-fixed-bg .detect-page:not(.is-matrix-running) #vehicle-info-fields :is(input, select)::placeholder {
    color: rgba(255, 255, 255, .72) !important;
    opacity: 1 !important;
}

html body.darklab-fixed-bg .detect-page:not(.is-matrix-running) #vehicle-info-fields :is(input, select):focus {
    border-color: rgba(255, 255, 255, .34) !important;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, .18),
        0 12px 24px rgba(0, 0, 0, .20),
        0 0 18px rgba(255, 38, 52, .10) !important;
}

html body.darklab-fixed-bg .detect-page:not(.is-matrix-running) #vehicle-info-fields :is(input, select):-webkit-autofill,
html body.darklab-fixed-bg .detect-page:not(.is-matrix-running) #vehicle-info-fields :is(input, select):-webkit-autofill:hover,
html body.darklab-fixed-bg .detect-page:not(.is-matrix-running) #vehicle-info-fields :is(input, select):-webkit-autofill:focus,
html body.darklab-fixed-bg .detect-page:not(.is-matrix-running) #vehicle-info-fields :is(input, select):-webkit-autofill:active {
    -webkit-box-shadow:
        0 0 0 1000px rgba(38, 43, 52, .96) inset,
        0 12px 24px rgba(0, 0, 0, .20) !important;
    -webkit-text-fill-color: rgba(255, 255, 255, .94) !important;
}

/* DARKLAB - Detection: carte resume propre avant selection de marque */
html body.darklab-fixed-bg .detect-page:not(.is-matrix-running) .vehicle-summary-card.is-empty {
    min-height: 176px !important;
    padding: 26px 24px !important;
}

html body.darklab-fixed-bg .detect-page:not(.is-matrix-running) .vehicle-summary-empty {
    align-content: center !important;
    display: grid !important;
    gap: 10px !important;
    min-height: 118px !important;
}

html body.darklab-fixed-bg .detect-page:not(.is-matrix-running) .vehicle-summary-empty[hidden] {
    display: none !important;
}

html body.darklab-fixed-bg .detect-page:not(.is-matrix-running) .vehicle-summary-empty strong {
    color: #fff !important;
    font-size: 20px !important;
    letter-spacing: .02em !important;
    line-height: 1.12 !important;
}

html body.darklab-fixed-bg .detect-page:not(.is-matrix-running) .vehicle-summary-empty span {
    color: rgba(255, 255, 255, .70) !important;
    font-size: 14px !important;
    line-height: 1.45 !important;
    max-width: 250px !important;
    white-space: normal !important;
}

/* DARKLAB - Tarif: restauration definitive des explications au survol type OLSX */
html body.darklab-fixed-bg .pricing-layout .pricing-sheet .pricing-list > .pricing-item {
    overflow: visible !important;
    position: relative !important;
    z-index: 1 !important;
}

html body.darklab-fixed-bg .pricing-layout .pricing-sheet .pricing-list > .pricing-item:hover,
html body.darklab-fixed-bg .pricing-layout .pricing-sheet .pricing-list > .pricing-item:focus-within {
    z-index: 80 !important;
}

html body.darklab-fixed-bg .pricing-layout .pricing-sheet .pricing-list > .pricing-item > .pricing-description {
    background: #ffffff !important;
    background-color: #ffffff !important;
    background-image: none !important;
    border: 1px solid rgba(226, 232, 240, .98) !important;
    border-radius: 7px !important;
    box-shadow:
        0 14px 30px rgba(0, 0, 0, .22),
        0 0 0 1px rgba(255, 255, 255, .96) inset !important;
    color: #202b3c !important;
    display: block !important;
    filter: none !important;
    font-size: 13px !important;
    left: 52px !important;
    line-height: 1.42 !important;
    margin: 0 !important;
    max-width: min(440px, calc(100% - 52px)) !important;
    min-width: 260px !important;
    mix-blend-mode: normal !important;
    opacity: 0 !important;
    padding: 13px 15px !important;
    pointer-events: none !important;
    position: absolute !important;
    right: auto !important;
    text-shadow: none !important;
    top: calc(100% + 6px) !important;
    transform: translateY(-4px) !important;
    transition: opacity .14s ease, transform .14s ease, visibility .14s ease !important;
    visibility: hidden !important;
    white-space: normal !important;
    width: auto !important;
    z-index: 120 !important;
}

html body.darklab-fixed-bg .pricing-layout .pricing-sheet .pricing-list > .pricing-item > .pricing-description::before {
    background: #ffffff !important;
    border-left: 1px solid rgba(226, 232, 240, .98) !important;
    border-top: 1px solid rgba(226, 232, 240, .98) !important;
    content: "" !important;
    height: 10px !important;
    left: 20px !important;
    position: absolute !important;
    top: -6px !important;
    transform: rotate(45deg) !important;
    width: 10px !important;
}

html body.darklab-fixed-bg .pricing-layout .pricing-sheet .pricing-list > .pricing-item:hover > .pricing-description,
html body.darklab-fixed-bg .pricing-layout .pricing-sheet .pricing-list > .pricing-item:focus-within > .pricing-description {
    opacity: 1 !important;
    transform: translateY(0) !important;
    visibility: visible !important;
}

/* DARKLAB - Detection: forcer les 4 cartes informations vehicule en gris uniforme */
html body.darklab-fixed-bg .detect-page:not(.is-matrix-running) .vehicle-panel #vehicle-info-fields > input,
html body.darklab-fixed-bg .detect-page:not(.is-matrix-running) .vehicle-panel #vehicle-info-fields > select,
html body.darklab-fixed-bg .detect-page:not(.is-matrix-running) .vehicle-panel #vehicle-info-fields > .ecu-field > select,
html body.darklab-fixed-bg .detect-page:not(.is-matrix-running) .vehicle-panel #vehicle-info-fields > .ecu-field > input,
html body.darklab-fixed-bg .detect-page:not(.is-matrix-running) .vehicle-panel #vehicle-info-fields > input:hover,
html body.darklab-fixed-bg .detect-page:not(.is-matrix-running) .vehicle-panel #vehicle-info-fields > select:hover,
html body.darklab-fixed-bg .detect-page:not(.is-matrix-running) .vehicle-panel #vehicle-info-fields > .ecu-field > select:hover,
html body.darklab-fixed-bg .detect-page:not(.is-matrix-running) .vehicle-panel #vehicle-info-fields > .ecu-field > input:hover,
html body.darklab-fixed-bg .detect-page:not(.is-matrix-running) .vehicle-panel #vehicle-info-fields > input:focus,
html body.darklab-fixed-bg .detect-page:not(.is-matrix-running) .vehicle-panel #vehicle-info-fields > select:focus,
html body.darklab-fixed-bg .detect-page:not(.is-matrix-running) .vehicle-panel #vehicle-info-fields > .ecu-field > select:focus,
html body.darklab-fixed-bg .detect-page:not(.is-matrix-running) .vehicle-panel #vehicle-info-fields > .ecu-field > input:focus {
    background:
        linear-gradient(180deg, rgba(255, 255, 255, .155), rgba(255, 255, 255, .072)),
        rgba(42, 46, 55, .76) !important;
    border: 1px solid rgba(255, 255, 255, .28) !important;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, .18),
        0 12px 24px rgba(0, 0, 0, .19),
        0 0 0 1px rgba(255, 255, 255, .045) !important;
    color: rgba(255, 255, 255, .95) !important;
    filter: none !important;
    opacity: 1 !important;
    -webkit-text-fill-color: rgba(255, 255, 255, .95) !important;
}

html body.darklab-fixed-bg .detect-page:not(.is-matrix-running) .vehicle-panel #vehicle-info-fields > input::placeholder {
    color: rgba(255, 255, 255, .76) !important;
    opacity: 1 !important;
}

html body.darklab-fixed-bg .detect-page:not(.is-matrix-running) .vehicle-panel #vehicle-info-fields > input:-webkit-autofill,
html body.darklab-fixed-bg .detect-page:not(.is-matrix-running) .vehicle-panel #vehicle-info-fields > input:-webkit-autofill:hover,
html body.darklab-fixed-bg .detect-page:not(.is-matrix-running) .vehicle-panel #vehicle-info-fields > input:-webkit-autofill:focus {
    -webkit-box-shadow:
        0 0 0 1000px rgba(48, 53, 63, .98) inset,
        0 12px 24px rgba(0, 0, 0, .19) !important;
    -webkit-text-fill-color: rgba(255, 255, 255, .95) !important;
}

/* DARKLAB - Detection: aucune ligne A confirmer avant selection */
html body.darklab-fixed-bg .detect-page:not(.is-matrix-running) .vehicle-summary-card.is-empty > p,
html body.darklab-fixed-bg .detect-page:not(.is-matrix-running) .vehicle-summary-card > p[hidden],
html body.darklab-fixed-bg .detect-page:not(.is-matrix-running) .vehicle-brand-logo[hidden] {
    display: none !important;
}

html body.darklab-fixed-bg .detect-page:not(.is-matrix-running) .vehicle-summary-card.is-empty .vehicle-brand-logo {
    display: none !important;
}

/* DARKLAB - Detection: fleche custom identique aux volets */
html body.darklab-fixed-bg .detect-page:not(.is-matrix-running) .custom-select-field .custom-select-input:not(.is-hidden) {
    padding-right: 62px !important;
}

html body.darklab-fixed-bg .detect-page:not(.is-matrix-running) .custom-select-field .custom-select-reset {
    align-items: center !important;
    background:
        linear-gradient(145deg, rgba(255, 255, 255, .16), rgba(255, 255, 255, .05)),
        linear-gradient(180deg, rgba(40, 45, 55, .88), rgba(24, 27, 34, .94)) !important;
    border: 1px solid rgba(255, 255, 255, .26) !important;
    border-radius: 7px !important;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, .18),
        0 10px 22px rgba(0, 0, 0, .24),
        0 0 14px rgba(236, 28, 36, .14) !important;
    color: transparent !important;
    cursor: pointer !important;
    display: inline-flex !important;
    font-size: 0 !important;
    height: 42px !important;
    justify-content: center !important;
    line-height: 0 !important;
    padding: 0 !important;
    position: absolute !important;
    right: 7px !important;
    text-shadow: none !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease, background .18s ease !important;
    width: 48px !important;
}

html body.darklab-fixed-bg .detect-page:not(.is-matrix-running) .custom-select-field .custom-select-reset::before {
    border-bottom: 2px solid rgba(255, 255, 255, .92);
    border-right: 2px solid rgba(255, 255, 255, .92);
    content: "";
    display: block;
    height: 9px;
    margin-top: -4px;
    transform: rotate(45deg);
    width: 9px;
}

html body.darklab-fixed-bg .detect-page:not(.is-matrix-running) .custom-select-field .custom-select-reset:hover {
    background:
        linear-gradient(145deg, rgba(255, 255, 255, .22), rgba(255, 255, 255, .06)),
        linear-gradient(180deg, rgba(58, 62, 72, .92), rgba(28, 31, 39, .96)) !important;
    border-color: rgba(255, 255, 255, .44) !important;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, .24),
        0 12px 26px rgba(0, 0, 0, .30),
        0 0 22px rgba(236, 28, 36, .28) !important;
    transform: translateY(-50%) translateY(-1px) !important;
}

html body.darklab-fixed-bg .detect-page:not(.is-matrix-running) .custom-select-field .custom-select-reset.is-hidden {
    display: none !important;
}

/* DARKLAB - Detection: couleur unique pour tous les volets du formulaire */
html body.darklab-fixed-bg .detect-page:not(.is-matrix-running) .vehicle-panel .manual-category-select select,
html body.darklab-fixed-bg .detect-page:not(.is-matrix-running) .vehicle-panel .vehicle-catalog-selects :is(select, input),
html body.darklab-fixed-bg .detect-page:not(.is-matrix-running) .vehicle-panel #vehicle-info-fields :is(input, select),
html body.darklab-fixed-bg .detect-page:not(.is-matrix-running) .vehicle-panel #vehicle-info-fields .custom-select-field :is(input, select) {
    background:
        linear-gradient(180deg, rgba(255, 255, 255, .15), rgba(255, 255, 255, .065)),
        rgba(31, 36, 45, .84) !important;
    border: 1px solid rgba(255, 255, 255, .26) !important;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, .17),
        0 12px 24px rgba(0, 0, 0, .20),
        0 0 0 1px rgba(255, 255, 255, .04) !important;
    color: rgba(255, 255, 255, .94) !important;
    filter: none !important;
    opacity: 1 !important;
    outline: none !important;
    -webkit-text-fill-color: rgba(255, 255, 255, .94) !important;
}

html body.darklab-fixed-bg .detect-page:not(.is-matrix-running) .vehicle-panel .manual-category-select select:hover,
html body.darklab-fixed-bg .detect-page:not(.is-matrix-running) .vehicle-panel .manual-category-select select:focus,
html body.darklab-fixed-bg .detect-page:not(.is-matrix-running) .vehicle-panel .vehicle-catalog-selects :is(select, input):hover,
html body.darklab-fixed-bg .detect-page:not(.is-matrix-running) .vehicle-panel .vehicle-catalog-selects :is(select, input):focus,
html body.darklab-fixed-bg .detect-page:not(.is-matrix-running) .vehicle-panel #vehicle-info-fields :is(input, select):hover,
html body.darklab-fixed-bg .detect-page:not(.is-matrix-running) .vehicle-panel #vehicle-info-fields :is(input, select):focus,
html body.darklab-fixed-bg .detect-page:not(.is-matrix-running) .vehicle-panel #vehicle-info-fields .custom-select-field :is(input, select):hover,
html body.darklab-fixed-bg .detect-page:not(.is-matrix-running) .vehicle-panel #vehicle-info-fields .custom-select-field :is(input, select):focus {
    background:
        linear-gradient(180deg, rgba(255, 255, 255, .18), rgba(255, 255, 255, .075)),
        rgba(34, 39, 49, .88) !important;
    border-color: rgba(255, 255, 255, .36) !important;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, .20),
        0 14px 28px rgba(0, 0, 0, .22),
        0 0 18px rgba(255, 38, 52, .10) !important;
}

html body.darklab-fixed-bg .detect-page:not(.is-matrix-running) .vehicle-panel :is(.manual-category-select, .vehicle-catalog-selects, #vehicle-info-fields) :is(input, select)::placeholder {
    color: rgba(255, 255, 255, .72) !important;
    opacity: 1 !important;
}

html body.darklab-fixed-bg .detect-page:not(.is-matrix-running) .vehicle-panel :is(.manual-category-select, .vehicle-catalog-selects, #vehicle-info-fields) :is(input, select):-webkit-autofill,
html body.darklab-fixed-bg .detect-page:not(.is-matrix-running) .vehicle-panel :is(.manual-category-select, .vehicle-catalog-selects, #vehicle-info-fields) :is(input, select):-webkit-autofill:hover,
html body.darklab-fixed-bg .detect-page:not(.is-matrix-running) .vehicle-panel :is(.manual-category-select, .vehicle-catalog-selects, #vehicle-info-fields) :is(input, select):-webkit-autofill:focus {
    -webkit-box-shadow:
        0 0 0 1000px rgba(31, 36, 45, .98) inset,
        0 12px 24px rgba(0, 0, 0, .20) !important;
    -webkit-text-fill-color: rgba(255, 255, 255, .94) !important;
}

/* DARKLAB - Detection: volets gris opaques uniformes, sans influence du fond */
html body.darklab-fixed-bg .detect-page:not(.is-matrix-running) .vehicle-panel :is(.manual-category-select, .vehicle-catalog-selects, #vehicle-info-fields) :is(input, select),
html body.darklab-fixed-bg .detect-page:not(.is-matrix-running) .vehicle-panel :is(.manual-category-select, .vehicle-catalog-selects, #vehicle-info-fields) :is(input, select):disabled,
html body.darklab-fixed-bg .detect-page:not(.is-matrix-running) .vehicle-panel .custom-select-field :is(input, select),
html body.darklab-fixed-bg .detect-page:not(.is-matrix-running) .vehicle-panel .custom-select-field :is(input, select):disabled {
    background: linear-gradient(180deg, #3e444f 0%, #2d323b 100%) !important;
    background-color: #343a45 !important;
    background-image: linear-gradient(180deg, #3e444f 0%, #2d323b 100%) !important;
    border-color: rgba(208, 218, 232, .38) !important;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, .18),
        0 12px 24px rgba(0, 0, 0, .20) !important;
    color: rgba(255, 255, 255, .94) !important;
    filter: none !important;
    opacity: 1 !important;
    -webkit-text-fill-color: rgba(255, 255, 255, .94) !important;
}

html body.darklab-fixed-bg .detect-page:not(.is-matrix-running) .vehicle-panel :is(.manual-category-select, .vehicle-catalog-selects, #vehicle-info-fields) :is(input, select):hover,
html body.darklab-fixed-bg .detect-page:not(.is-matrix-running) .vehicle-panel :is(.manual-category-select, .vehicle-catalog-selects, #vehicle-info-fields) :is(input, select):focus,
html body.darklab-fixed-bg .detect-page:not(.is-matrix-running) .vehicle-panel .custom-select-field :is(input, select):hover,
html body.darklab-fixed-bg .detect-page:not(.is-matrix-running) .vehicle-panel .custom-select-field :is(input, select):focus {
    background: linear-gradient(180deg, #444b57 0%, #303641 100%) !important;
    background-color: #383f4a !important;
    background-image: linear-gradient(180deg, #444b57 0%, #303641 100%) !important;
    border-color: rgba(226, 234, 246, .46) !important;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, .22),
        0 14px 28px rgba(0, 0, 0, .22),
        0 0 18px rgba(255, 38, 52, .10) !important;
}

html body.darklab-fixed-bg .detect-page:not(.is-matrix-running) .vehicle-panel :is(.manual-category-select, .vehicle-catalog-selects, #vehicle-info-fields) :is(input, select):-webkit-autofill,
html body.darklab-fixed-bg .detect-page:not(.is-matrix-running) .vehicle-panel :is(.manual-category-select, .vehicle-catalog-selects, #vehicle-info-fields) :is(input, select):-webkit-autofill:hover,
html body.darklab-fixed-bg .detect-page:not(.is-matrix-running) .vehicle-panel :is(.manual-category-select, .vehicle-catalog-selects, #vehicle-info-fields) :is(input, select):-webkit-autofill:focus {
    -webkit-box-shadow:
        0 0 0 1000px #343a45 inset,
        0 12px 24px rgba(0, 0, 0, .20) !important;
    -webkit-text-fill-color: rgba(255, 255, 255, .94) !important;
}


/* DARKLAB - Recap services: origine, stage, gain et neon Express Tune */
body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .summary-stage-performance {
    grid-template-columns: 1fr !important;
    gap: 9px !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .summary-stage-performance .performance-row {
    align-items: end;
    background: linear-gradient(90deg, rgba(255, 255, 255, .06), rgba(255, 255, 255, .025)) !important;
    border: 1px solid rgba(255, 255, 255, .10);
    border-radius: 9px;
    display: grid;
    gap: 8px;
    grid-template-columns: 1fr minmax(72px, auto) minmax(72px, auto);
    padding: 9px 10px;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .summary-stage-performance .performance-stage {
    border-color: rgba(255, 38, 52, .24);
    box-shadow: 0 0 18px rgba(255, 38, 52, .08) inset;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .summary-stage-performance .performance-row > small {
    color: rgba(255, 255, 255, .66) !important;
    font-size: 10px !important;
    letter-spacing: .10em;
    text-transform: uppercase;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .summary-stage-performance .performance-row strong {
    display: grid;
    gap: 3px;
    justify-items: end;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .summary-stage-performance .performance-row b {
    color: #fff;
    font-family: var(--font-main);
    font-size: 18px;
    line-height: 1;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .summary-stage-performance .performance-row em {
    color: rgba(255, 255, 255, .52);
    font-family: var(--font-ui);
    font-size: 9px;
    font-style: normal;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .summary-stage-performance [data-stage-gain] {
    background: rgba(255, 38, 52, .10);
    border: 1px solid rgba(255, 38, 52, .22);
    border-radius: 999px;
    color: #ff4250 !important;
    display: inline-flex;
    font-size: 11px !important;
    justify-self: start;
    line-height: 1.1 !important;
    padding: 6px 9px;
    text-shadow: 0 0 14px rgba(255, 38, 52, .20);
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-upsell {
    border-color: rgba(255, 38, 52, .34) !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .13) !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-upsell::before {
    animation: expressTuneBorderNeon 2.45s ease-in-out infinite !important;
    border: 1px solid rgba(255, 38, 52, .74) !important;
    box-shadow: 0 0 0 rgba(255, 38, 52, 0), inset 0 0 0 rgba(255, 38, 52, 0);
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-upsell.is-active {
    border-color: rgba(121, 255, 178, .62) !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .13) !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-upsell.is-active::before {
    animation: none !important;
    border-color: rgba(121, 255, 178, .78) !important;
    box-shadow:
        0 0 18px rgba(121, 255, 178, .32),
        inset 0 0 14px rgba(121, 255, 178, .10) !important;
}

@keyframes expressTuneBorderNeon {
    0%, 100% {
        box-shadow: 0 0 8px rgba(255, 38, 52, .10), inset 0 0 0 rgba(255, 38, 52, 0);
        opacity: .72;
    }
    50% {
        box-shadow: 0 0 22px rgba(255, 38, 52, .44), inset 0 0 16px rgba(255, 38, 52, .10);
        opacity: 1;
    }
}


/* DARKLAB - Panneau recap premium type configurateur supercar */
body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .service-summary {
    background:
        linear-gradient(145deg, rgba(255, 255, 255, .105), rgba(255, 255, 255, .035) 46%, rgba(255, 38, 52, .045)),
        radial-gradient(circle at 14% 6%, rgba(105, 170, 255, .13), transparent 34%),
        rgba(5, 8, 13, .88) !important;
    border: 1px solid rgba(230, 238, 250, .18) !important;
    border-right-color: rgba(255, 52, 64, .24) !important;
    border-radius: 22px !important;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, .14),
        0 26px 60px rgba(0, 0, 0, .34) !important;
    display: grid !important;
    gap: 14px !important;
    overflow: hidden !important;
    padding: 24px 28px !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .summary-vehicle {
    border-bottom: 1px solid rgba(255, 255, 255, .14) !important;
    margin: 0 !important;
    min-height: 92px !important;
    padding: 0 118px 20px 0 !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .summary-brand-logo {
    background: linear-gradient(145deg, rgba(255, 255, 255, .10), rgba(255, 255, 255, .025)) !important;
    border-color: rgba(255, 255, 255, .18) !important;
    border-radius: 17px !important;
    box-shadow: 0 16px 32px rgba(0, 0, 0, .20), inset 0 1px 0 rgba(255, 255, 255, .12) !important;
    height: 74px !important;
    right: 0 !important;
    top: 2px !important;
    width: 74px !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .summary-vehicle span {
    color: #ff2634 !important;
    font-family: var(--font-ui) !important;
    font-size: 12px !important;
    font-weight: 900 !important;
    letter-spacing: .22em !important;
    text-transform: uppercase !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .summary-vehicle strong {
    color: #fff !important;
    font-family: var(--font-main) !important;
    font-size: 38px !important;
    font-weight: 500 !important;
    letter-spacing: .01em !important;
    line-height: 1 !important;
    margin-top: 10px !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .summary-vehicle small {
    color: rgba(240, 244, 252, .72) !important;
    font-size: 15px !important;
    margin-top: 10px !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .summary-items {
    border-bottom: 1px solid rgba(255, 255, 255, .14) !important;
    gap: 0 !important;
    min-height: 0 !important;
    padding: 2px 0 10px !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .summary-items::before,
body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .summary-stage-performance > span {
    border-left: 2px solid #ff2634 !important;
    color: rgba(255, 255, 255, .78) !important;
    content: "Services selectionnes";
    display: block !important;
    font-family: var(--font-ui) !important;
    font-size: 11px !important;
    font-weight: 850 !important;
    letter-spacing: .13em !important;
    line-height: 1 !important;
    margin-bottom: 10px !important;
    padding-left: 11px !important;
    text-transform: uppercase !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .summary-stage-performance > span {
    content: none !important;
    margin-bottom: 14px !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .summary-service-line,
body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .summary-items div {
    align-items: center !important;
    background: transparent !important;
    border: 0 !important;
    border-bottom: 1px solid rgba(255, 255, 255, .08) !important;
    border-radius: 0 !important;
    display: flex !important;
    gap: 12px !important;
    justify-content: space-between !important;
    padding: 10px 0 !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .summary-service-line:last-child,
body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .summary-items div:last-child {
    border-bottom: 0 !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .summary-items span {
    color: rgba(255, 255, 255, .88) !important;
    font-size: 15px !important;
    font-weight: 650 !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .summary-items strong {
    color: #ff2634 !important;
    font-size: 14px !important;
    font-weight: 850 !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .summary-items strong.is-free,
body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .summary-items em {
    color: #39f083 !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .summary-stage-performance {
    background: transparent !important;
    border: 0 !important;
    border-bottom: 1px solid rgba(255, 255, 255, .14) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    gap: 0 !important;
    margin: 0 !important;
    padding: 2px 0 16px !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .summary-stage-performance::before {
    display: none !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .performance-dashboard {
    align-items: center !important;
    display: grid !important;
    gap: 10px !important;
    grid-template-columns: minmax(0, 1fr) 24px minmax(0, 1fr) !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .performance-column {
    display: grid !important;
    gap: 11px !important;
    min-width: 0 !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .performance-column > small {
    color: rgba(255, 255, 255, .66) !important;
    font-size: 11px !important;
    font-weight: 850 !important;
    letter-spacing: .13em !important;
    text-transform: uppercase !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .performance-stage > small {
    color: #ff2634 !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .performance-column strong {
    display: grid !important;
    gap: 5px !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .performance-column b {
    color: #fff !important;
    font-family: var(--font-ui) !important;
    font-size: 22px !important;
    font-weight: 500 !important;
    line-height: 1 !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .performance-column em {
    color: rgba(255, 255, 255, .58) !important;
    font-family: var(--font-ui) !important;
    font-size: 10px !important;
    font-style: normal !important;
    font-weight: 760 !important;
    letter-spacing: .09em !important;
    text-transform: uppercase !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .perf-bar {
    background: rgba(255, 255, 255, .12) !important;
    border-radius: 999px !important;
    display: block !important;
    height: 7px !important;
    overflow: hidden !important;
    width: 100% !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .perf-bar span {
    background: linear-gradient(90deg, rgba(255, 255, 255, .92), rgba(255, 255, 255, .52)) !important;
    border-radius: inherit !important;
    display: block !important;
    height: 100% !important;
    min-width: 12% !important;
    transition: width .28s ease !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .performance-stage .perf-bar span {
    background: linear-gradient(90deg, #ff2634, #ff6973) !important;
    box-shadow: 0 0 12px rgba(255, 38, 52, .28) !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .performance-arrow {
    color: rgba(255, 255, 255, .48) !important;
    font-family: var(--font-main) !important;
    font-size: 26px !important;
    justify-self: center !important;
    letter-spacing: -.10em !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .performance-gain {
    align-self: stretch !important;
    background: linear-gradient(145deg, rgba(255, 38, 52, .10), rgba(255, 255, 255, .025)) !important;
    border: 1px solid rgba(255, 255, 255, .14) !important;
    border-radius: 13px !important;
    display: grid !important;
    gap: 5px !important;
    grid-column: 1 / -1 !important;
    grid-template-columns: 1fr auto auto !important;
    margin-top: 5px !important;
    padding: 10px 12px !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .performance-gain[hidden] {
    display: none !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .performance-gain small {
    color: rgba(255, 255, 255, .70) !important;
    font-size: 10px !important;
    letter-spacing: .12em !important;
    text-transform: uppercase !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .performance-gain b {
    color: #ff3846 !important;
    font-size: 18px !important;
    font-weight: 800 !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .summary-total {
    align-items: center !important;
    background: linear-gradient(100deg, rgba(255, 255, 255, .055), rgba(255, 38, 52, .12)) !important;
    border: 1px solid rgba(255, 255, 255, .16) !important;
    border-right-color: rgba(255, 38, 52, .34) !important;
    border-radius: 17px !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .12) !important;
    display: grid !important;
    grid-template-columns: 1fr 1.2fr !important;
    margin: 0 !important;
    min-height: 82px !important;
    padding: 16px 20px !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .summary-total span {
    color: rgba(255, 255, 255, .86) !important;
    font-family: var(--font-ui) !important;
    font-size: 17px !important;
    letter-spacing: .35em !important;
    text-transform: uppercase !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .summary-total strong {
    color: rgba(255, 255, 255, .82) !important;
    display: grid !important;
    font-size: 12px !important;
    font-weight: 650 !important;
    justify-items: center !important;
    letter-spacing: .16em !important;
    text-transform: uppercase !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .summary-total b {
    color: #fff !important;
    font-family: var(--font-main) !important;
    font-size: 58px !important;
    font-weight: 500 !important;
    letter-spacing: 0 !important;
    line-height: .88 !important;
    text-shadow: 0 0 18px rgba(255, 255, 255, .18) !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-upsell {
    align-items: center !important;
    background: linear-gradient(130deg, rgba(255, 255, 255, .07), rgba(255, 255, 255, .025)) !important;
    border: 1px solid rgba(255, 255, 255, .15) !important;
    border-radius: 16px !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .10) !important;
    display: grid !important;
    gap: 14px !important;
    grid-template-columns: minmax(0, 1fr) 104px !important;
    margin: 0 !important;
    min-height: 86px !important;
    padding: 14px 14px 14px 64px !important;
    position: relative !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-upsell::before {
    animation: expressTunePremiumBorder 2.5s ease-in-out infinite !important;
    border: 1px solid rgba(255, 38, 52, .68) !important;
    border-radius: inherit !important;
    box-shadow: 0 0 0 rgba(255, 38, 52, 0) !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-upsell > div {
    display: grid !important;
    gap: 4px !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-icon {
    background: radial-gradient(circle, rgba(255, 38, 52, .92), rgba(255, 38, 52, .12) 62%, transparent 64%) !important;
    border: 1px solid rgba(255, 38, 52, .44) !important;
    border-radius: 999px !important;
    box-shadow: 0 0 22px rgba(255, 38, 52, .18) !important;
    height: 42px !important;
    left: 14px !important;
    position: absolute !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    width: 42px !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-upsell strong {
    color: #fff !important;
    font-size: 16px !important;
    letter-spacing: .09em !important;
    text-transform: uppercase !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-upsell em {
    border: 1px solid rgba(255, 38, 52, .40) !important;
    border-radius: 999px !important;
    color: #ff3846 !important;
    font-size: 10px !important;
    font-style: normal !important;
    font-weight: 900 !important;
    justify-self: start !important;
    letter-spacing: .10em !important;
    padding: 4px 8px !important;
    text-transform: uppercase !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-upsell p {
    color: rgba(245, 247, 252, .70) !important;
    font-size: 12px !important;
    line-height: 1.35 !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-upsell button {
    align-self: center !important;
    border-radius: 9px !important;
    font-size: 12px !important;
    min-height: 44px !important;
    width: 100% !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-upsell.is-active::before {
    animation: none !important;
    border-color: rgba(57, 240, 131, .72) !important;
    box-shadow: 0 0 18px rgba(57, 240, 131, .26) !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .summary-note {
    background: transparent !important;
    border: 1px solid rgba(57, 240, 131, .20) !important;
    border-radius: 14px !important;
    margin: 0 !important;
    padding: 11px 12px !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .service-continue {
    border-radius: 13px !important;
    margin-top: 0 !important;
    min-height: 50px !important;
}

@keyframes expressTunePremiumBorder {
    0%, 100% { box-shadow: 0 0 8px rgba(255, 38, 52, .10); opacity: .62; }
    50% { box-shadow: 0 0 24px rgba(255, 38, 52, .42); opacity: 1; }
}

/* DARKLAB - Detection result compact premium layout */
body.darklab-fixed-bg .detect-page:not(.is-matrix-running) .detect-header {
    min-height: 86px !important;
    margin: 28px auto 28px !important;
    padding: 14px 30px !important;
    overflow: visible !important;
}

body.darklab-fixed-bg .detect-page:not(.is-matrix-running) .detect-logo {
    min-height: 58px !important;
}

body.darklab-fixed-bg .detect-page:not(.is-matrix-running) .detect-logo img {
    height: 58px !important;
    width: 218px !important;
}

body.darklab-fixed-bg .detect-page:not(.is-matrix-running) .detect-header strong {
    color: rgba(255, 255, 255, .88) !important;
    display: block !important;
    flex: 0 0 auto !important;
    font-size: 14px !important;
    line-height: 1.2 !important;
    max-width: none !important;
    overflow: visible !important;
    padding-left: 28px !important;
    text-align: right !important;
    text-overflow: clip !important;
    white-space: nowrap !important;
}

body.darklab-fixed-bg .detect-page:not(.is-matrix-running) .detect-title-row {
    gap: 34px !important;
    margin: 6px auto 18px !important;
}

body.darklab-fixed-bg .detect-page:not(.is-matrix-running) .detect-title-row h1 {
    font-size: clamp(32px, 2.25vw, 42px) !important;
    line-height: 1.08 !important;
}

body.darklab-fixed-bg .detect-page:not(.is-matrix-running) .detect-grid {
    gap: 34px !important;
    margin-top: 0 !important;
}

body.darklab-fixed-bg .detect-page:not(.is-matrix-running) .vehicle-summary-card {
    margin-top: 0 !important;
    padding: 64px 30px 26px !important;
}

body.darklab-fixed-bg .detect-page:not(.is-matrix-running) .vehicle-panel {
    margin-top: 0 !important;
    padding: 36px 40px 44px !important;
}

body.darklab-fixed-bg .detect-page:not(.is-matrix-running) #manual-validation-box {
    margin-bottom: 34px !important;
    padding: 20px 22px !important;
}

body.darklab-fixed-bg .detect-page:not(.is-matrix-running) #manual-validation-box h2 {
    font-size: 22px !important;
    line-height: 1.15 !important;
}

body.darklab-fixed-bg .detect-page:not(.is-matrix-running) #manual-validation-box p {
    line-height: 1.35 !important;
}

@media (max-width: 900px) {
    body.darklab-fixed-bg .detect-page:not(.is-matrix-running) .detect-header {
        margin-top: 18px !important;
        padding: 14px 18px !important;
    }

    body.darklab-fixed-bg .detect-page:not(.is-matrix-running) .detect-header strong {
        font-size: 12px !important;
        padding-left: 14px !important;
        white-space: normal !important;
    }
}

/* DARKLAB - Dashboard plus button aligned with credit counter */
body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .upload-launch-card {
    grid-template-columns: 54px minmax(0, 1fr) 82px !important;
}

.darklab-chat-feedback {
    margin: 0;
    color: #c3131c;
    font-size: 11px;
    line-height: 1.35;
}

.darklab-chat-send:disabled {
    cursor: wait;
    opacity: .55;
}

/* DARKLAB - choix Master / Slave obligatoire avant l'outil de lecture */
.file-upload-main .reader-mode-block {
    margin: 24px 0 30px;
}

.file-upload-main .reader-mode-block h3,
.file-upload-main .reader-tools-heading h3 {
    margin: 0 !important;
}

.file-upload-main .reader-mode-help {
    color: rgba(255, 255, 255, .72);
    font-size: 14px;
    margin: 8px 0 16px;
}

.file-upload-main .reader-mode-selector {
    display: grid;
    gap: 14px;
    grid-template-columns: repeat(2, minmax(180px, 280px));
}

.file-upload-main .reader-mode-option {
    align-items: center;
    background: linear-gradient(145deg, rgba(9, 18, 32, .92), rgba(38, 15, 21, .88));
    border: 1px solid rgba(255, 255, 255, .2);
    border-radius: 9px;
    cursor: pointer;
    display: grid;
    gap: 2px 12px;
    grid-template-columns: 22px 1fr;
    padding: 14px 16px;
    transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

.file-upload-main .reader-mode-option:hover,
.file-upload-main .reader-mode-option:has(input:checked) {
    border-color: #ff2634;
    box-shadow: 0 0 22px rgba(236, 28, 36, .2), inset 0 0 18px rgba(236, 28, 36, .08);
    transform: translateY(-1px);
}

.file-upload-main .reader-mode-option input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.file-upload-main .reader-mode-check {
    border: 1px solid rgba(255, 255, 255, .48);
    border-radius: 50%;
    grid-row: span 2;
    height: 18px;
    width: 18px;
}

.file-upload-main .reader-mode-option input:checked + .reader-mode-check {
    background: #ff2634;
    border-color: #ff2634;
    box-shadow: inset 0 0 0 4px #151820, 0 0 14px rgba(255, 38, 52, .55);
}

.file-upload-main .reader-mode-option strong {
    color: #fff;
    font-size: 16px;
}

.file-upload-main .reader-mode-option small {
    color: rgba(255, 255, 255, .6);
    font-size: 12px;
}

.file-upload-main .reader-tools-heading {
    align-items: center;
    display: flex;
    gap: 18px;
    justify-content: space-between;
    margin-bottom: 24px;
}

.file-upload-main .reader-tools-heading span {
    border: 1px solid rgba(73, 170, 255, .36);
    border-radius: 999px;
    color: #75bcff;
    font-size: 12px;
    padding: 7px 12px;
}

.file-upload-main .reader-tools-block {
    transition: filter .2s ease, opacity .2s ease;
}

.file-upload-main .reader-tools-block.is-locked .tool-grid {
    filter: grayscale(1);
    opacity: .34;
    pointer-events: none;
    user-select: none;
}

.file-upload-main .reader-tools-block.is-locked .tool-option {
    cursor: not-allowed !important;
}

@media (max-width: 700px) {
    .file-upload-main .reader-mode-selector {
        grid-template-columns: 1fr;
    }

    .file-upload-main .reader-tools-heading {
        align-items: flex-start;
        flex-direction: column;
    }
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .upload-launch-action {
    align-self: center !important;
    aspect-ratio: 1 !important;
    border-radius: 50% !important;
    font-size: 34px !important;
    height: auto !important;
    justify-self: end !important;
    max-width: 82px !important;
    min-height: 0 !important;
    width: 82px !important;
}

/* DARKLAB - envoi fichier compact premium, visible sur un seul ecran */
body.darklab-fixed-bg:not(.no-portal-bg) .file-upload-main {
    padding-top: 14px !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-upload-main .file-upload-head {
    margin-bottom: 10px !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-upload-main .upload-flow > .reader-panel:not(.file-step) {
    padding: 18px 42px 21px !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-upload-main .upload-flow > .reader-panel:not(.file-step) h2 {
    font-size: 25px !important;
    margin-bottom: 8px !important;
}

.file-upload-main .reader-mode-block {
    align-items: center;
    display: grid;
    gap: 4px 24px;
    grid-template-columns: minmax(270px, 1fr) minmax(420px, 1.35fr);
    margin: 0 0 10px !important;
}

.file-upload-main .reader-mode-block h3 {
    align-self: end;
    grid-column: 1;
    grid-row: 1;
}

.file-upload-main .reader-mode-help {
    align-self: start;
    font-size: 12px !important;
    grid-column: 1;
    grid-row: 2;
    line-height: 1.4;
    margin: 3px 0 0 !important;
    max-width: 390px;
}

.file-upload-main .reader-mode-selector {
    align-self: center;
    gap: 10px !important;
    grid-column: 2;
    grid-row: 1 / span 2;
    grid-template-columns: repeat(2, minmax(170px, 1fr)) !important;
}

.file-upload-main .reader-mode-option {
    border-radius: 7px !important;
    gap: 1px 10px !important;
    grid-template-columns: 18px 1fr !important;
    min-height: 50px;
    padding: 8px 13px !important;
}

.file-upload-main .reader-mode-check {
    height: 14px !important;
    width: 14px !important;
}

.file-upload-main .reader-mode-option input:checked + .reader-mode-check {
    box-shadow: inset 0 0 0 3px #151820, 0 0 11px rgba(255, 38, 52, .52) !important;
}

.file-upload-main .reader-mode-option strong {
    font-size: 14px !important;
    letter-spacing: .04em;
}

.file-upload-main .reader-mode-option small {
    font-size: 10px !important;
}

.file-upload-main .reader-tools-heading {
    margin-bottom: 8px !important;
}

.file-upload-main .reader-tools-heading span {
    font-size: 10px !important;
    padding: 5px 10px !important;
}

@media (max-width: 900px) {
    .file-upload-main .reader-mode-block {
        grid-template-columns: 1fr;
    }

    .file-upload-main .reader-mode-block h3,
    .file-upload-main .reader-mode-help,
    .file-upload-main .reader-mode-selector {
        grid-column: 1;
        grid-row: auto;
    }

    .file-upload-main .reader-mode-selector {
        margin-top: 8px;
    }
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .upload-launch-action:hover,
body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .upload-launch-action:focus-visible {
    transform: translateY(-1px) scale(1.025) !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .upload-launch-action:active {
    transform: translateY(0) scale(.97) !important;
}

@media (max-width: 980px) {
    body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .upload-launch-card {
        grid-template-columns: 58px minmax(0, 1fr) 76px !important;
    }

    body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .upload-launch-action {
        font-size: 28px !important;
        width: 76px !important;
    }
}

/* DARKLAB - Account tools restored premium dark cards and live recap */
body.darklab-fixed-bg:not(.no-portal-bg) .account-tools-panel .reading-tool-section,
body.darklab-fixed-bg:not(.no-portal-bg) .account-tools-panel .account-tool-summary {
    background:
        radial-gradient(circle at 13% 5%, rgba(74, 146, 225, .18), transparent 32%),
        radial-gradient(circle at 100% 18%, rgba(255, 38, 52, .16), transparent 38%),
        linear-gradient(124deg, rgba(17, 24, 34, .86), rgba(28, 31, 39, .74) 48%, rgba(48, 20, 30, .76)) !important;
    border: 1px solid rgba(255, 255, 255, .22) !important;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, .18),
        inset 0 -1px 0 rgba(255, 38, 52, .12),
        0 22px 54px rgba(0, 0, 0, .24) !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .account-tools-panel .account-tool-card {
    background:
        linear-gradient(150deg, rgba(255, 255, 255, .08), rgba(255, 255, 255, .025) 42%, rgba(255, 38, 52, .055)),
        radial-gradient(circle at 18% 0%, rgba(72, 153, 255, .12), transparent 42%),
        rgba(8, 11, 18, .76) !important;
    border-color: rgba(255, 255, 255, .18) !important;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, .14),
        inset 0 0 28px rgba(0, 0, 0, .2),
        0 16px 38px rgba(0, 0, 0, .22) !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .account-tools-panel .account-tool-card:hover,
body.darklab-fixed-bg:not(.no-portal-bg) .account-tools-panel .account-tool-card:has(input:checked) {
    background:
        linear-gradient(150deg, rgba(255, 255, 255, .12), rgba(255, 255, 255, .04) 42%, rgba(255, 38, 52, .1)),
        radial-gradient(circle at 18% 0%, rgba(72, 153, 255, .2), transparent 42%),
        rgba(10, 14, 22, .82) !important;
    border-color: rgba(255, 48, 62, .62) !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .account-tools-panel .account-tool-logo img {
    filter: grayscale(.25) brightness(1.18) contrast(1.02) !important;
    opacity: .76 !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .account-tools-panel .account-tool-card:hover .account-tool-logo img,
body.darklab-fixed-bg:not(.no-portal-bg) .account-tools-panel .account-tool-card:has(input:checked) .account-tool-logo img {
    filter: none !important;
    opacity: 1 !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .account-tool-summary {
    border-radius: 8px;
    display: grid;
    gap: 18px;
    margin-top: 24px;
    padding: 24px 30px;
}

body.darklab-fixed-bg:not(.no-portal-bg) .account-tool-summary h3 {
    color: #fff;
    font-size: 24px;
    line-height: 1;
    margin: 6px 0 0;
}

body.darklab-fixed-bg:not(.no-portal-bg) .account-tool-summary-grid {
    display: grid;
    gap: 16px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

body.darklab-fixed-bg:not(.no-portal-bg) .account-tool-summary-grid > div {
    background: rgba(5, 8, 14, .34);
    border: 1px solid rgba(255, 255, 255, .13);
    border-radius: 7px;
    padding: 16px 18px;
}

body.darklab-fixed-bg:not(.no-portal-bg) .account-tool-summary-grid span {
    color: #ff2634;
    display: block;
    font-size: 13px;
    font-weight: 900;
    letter-spacing: .1em;
    margin-bottom: 12px;
    text-transform: uppercase;
}

body.darklab-fixed-bg:not(.no-portal-bg) .account-tool-summary-grid ul {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    list-style: none;
    margin: 0;
    padding: 0;
}

body.darklab-fixed-bg:not(.no-portal-bg) .account-tool-summary-grid li {
    background: rgba(255, 255, 255, .08);
    border: 1px solid rgba(255, 255, 255, .14);
    border-radius: 999px;
    color: rgba(255, 255, 255, .9);
    font-size: 12px;
    font-weight: 800;
    padding: 8px 11px;
}

body.darklab-fixed-bg:not(.no-portal-bg) .account-tool-summary-grid li.is-empty {
    color: rgba(255, 255, 255, .52);
}

@media (max-width: 780px) {
    body.darklab-fixed-bg:not(.no-portal-bg) .account-tool-summary-grid {
        grid-template-columns: 1fr;
    }
}

/* DARKLAB - Detection custom fields small chevron only */
html body.darklab-fixed-bg .detect-page:not(.is-matrix-running) .vehicle-panel .custom-select-field .custom-select-input:not(.is-hidden) {
    padding-right: 48px !important;
}

html body.darklab-fixed-bg .detect-page:not(.is-matrix-running) .vehicle-panel .custom-select-field .custom-select-reset {
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    color: transparent !important;
    display: inline-flex !important;
    font-size: 0 !important;
    height: 28px !important;
    line-height: 0 !important;
    min-height: 0 !important;
    opacity: .95 !important;
    padding: 0 !important;
    right: 15px !important;
    text-shadow: none !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    width: 28px !important;
}

html body.darklab-fixed-bg .detect-page:not(.is-matrix-running) .vehicle-panel .custom-select-field .custom-select-reset::before {
    border-bottom: 2px solid rgba(255, 255, 255, .92) !important;
    border-right: 2px solid rgba(255, 255, 255, .92) !important;
    content: "" !important;
    display: block !important;
    height: 8px !important;
    margin: -4px 0 0 !important;
    transform: rotate(45deg) !important;
    width: 8px !important;
}

html body.darklab-fixed-bg .detect-page:not(.is-matrix-running) .vehicle-panel .custom-select-field .custom-select-reset:hover,
html body.darklab-fixed-bg .detect-page:not(.is-matrix-running) .vehicle-panel .custom-select-field .custom-select-reset:focus-visible {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    opacity: 1 !important;
    outline: none !important;
    transform: translateY(-50%) scale(1.08) !important;
}

html body.darklab-fixed-bg .detect-page:not(.is-matrix-running) .vehicle-panel .custom-select-field .custom-select-reset.is-hidden {
    display: none !important;
}

/* DARKLAB - CGV lisibilite premium restauree */
html body.darklab-fixed-bg .terms-page .terms-index,
html body.darklab-fixed-bg .terms-page .terms-document {
    background:
        radial-gradient(circle at 12% 0%, rgba(62, 141, 255, .16), transparent 34%),
        radial-gradient(circle at 100% 14%, rgba(255, 38, 52, .13), transparent 38%),
        linear-gradient(135deg, rgba(14, 19, 28, .94), rgba(22, 27, 36, .90) 52%, rgba(32, 18, 25, .92)) !important;
    border-color: rgba(255, 255, 255, .20) !important;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, .16),
        inset 0 -1px 0 rgba(255, 38, 52, .10),
        0 30px 78px rgba(0, 0, 0, .38) !important;
    color: rgba(245, 248, 252, .94) !important;
}

html body.darklab-fixed-bg .terms-page .terms-document header {
    border-bottom-color: rgba(255, 255, 255, .14) !important;
}

html body.darklab-fixed-bg .terms-page .terms-document h2 {
    color: #ffffff !important;
    text-shadow: 0 0 18px rgba(255, 255, 255, .14) !important;
}

html body.darklab-fixed-bg .terms-page .terms-document header p:last-child,
html body.darklab-fixed-bg .terms-page .terms-document p,
html body.darklab-fixed-bg .terms-page .terms-document li,
html body.darklab-fixed-bg .terms-page .terms-document dd {
    color: rgba(239, 244, 250, .84) !important;
    text-shadow: 0 1px 0 rgba(0, 0, 0, .35) !important;
}

html body.darklab-fixed-bg .terms-page .terms-document section {
    border-bottom-color: rgba(255, 255, 255, .10) !important;
}

html body.darklab-fixed-bg .terms-page .terms-index a {
    color: rgba(255, 255, 255, .84) !important;
}

html body.darklab-fixed-bg .terms-page .terms-index a:hover {
    color: #ffffff !important;
}

html body.darklab-fixed-bg .terms-page .terms-identity p,
html body.darklab-fixed-bg .terms-page .terms-definitions dd {
    background:
        linear-gradient(135deg, rgba(255, 255, 255, .09), rgba(255, 255, 255, .035)) !important;
    border-color: rgba(255, 255, 255, .16) !important;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, .12),
        0 12px 26px rgba(0, 0, 0, .18) !important;
}

html body.darklab-fixed-bg .terms-page .terms-identity strong {
    color: rgba(255, 255, 255, .90) !important;
}

html body.darklab-fixed-bg .terms-page .terms-definitions dt,
html body.darklab-fixed-bg .terms-page .terms-identity span,
html body.darklab-fixed-bg .terms-page .terms-document header p:first-child,
html body.darklab-fixed-bg .terms-page .terms-index strong {
    color: #ff2634 !important;
    text-shadow: 0 0 14px rgba(255, 38, 52, .22) !important;
}

/* DARKLAB - Dashboard historique meme couleur que cartes */
body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main #history.table-wrap {
    background:
        linear-gradient(118deg, rgba(255, 255, 255, .16), rgba(255, 255, 255, .075) 44%, rgba(255, 42, 56, .075)),
        radial-gradient(circle at 12% 0%, rgba(40, 142, 255, .18), transparent 34%),
        radial-gradient(circle at 98% 24%, rgba(255, 38, 52, .14), transparent 38%),
        rgba(22, 28, 38, .82) !important;
    border-color: rgba(255, 255, 255, .26) !important;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, .22),
        inset 0 -1px 0 rgba(255, 38, 52, .12),
        0 18px 44px rgba(0, 0, 0, .22),
        0 0 26px rgba(255, 255, 255, .035) !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main #history.table-wrap::before {
    background: linear-gradient(90deg, rgba(255, 38, 52, .86), rgba(255, 255, 255, .58), rgba(0, 133, 255, .42), transparent) !important;
    content: "" !important;
    height: 2px !important;
    left: 18px !important;
    position: absolute !important;
    right: 24% !important;
    top: 0 !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main #history .history-table-scroll,
body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main #history .history-table tbody tr {
    background: transparent !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main #history .history-table th,
body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main #history .history-table td {
    border-bottom-color: rgba(255, 255, 255, .14) !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main #history .history-search {
    background:
        linear-gradient(135deg, rgba(255, 255, 255, .10), rgba(255, 255, 255, .045)),
        rgba(16, 21, 30, .58) !important;
    border-color: rgba(255, 255, 255, .22) !important;
}

/* DARKLAB - Dashboard historique neutralise le bleu */
body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main #history.table-wrap {
    background:
        linear-gradient(118deg, rgba(255, 255, 255, .135), rgba(255, 255, 255, .065) 42%, rgba(255, 42, 56, .095)),
        radial-gradient(circle at 96% 18%, rgba(255, 38, 52, .16), transparent 38%),
        linear-gradient(135deg, rgba(28, 32, 40, .88), rgba(31, 30, 38, .86) 46%, rgba(43, 21, 31, .88)) !important;
    border-color: rgba(255, 255, 255, .24) !important;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, .20),
        inset 0 -1px 0 rgba(255, 38, 52, .12),
        0 18px 44px rgba(0, 0, 0, .22),
        0 0 24px rgba(255, 38, 52, .045) !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main #history .history-table-scroll,
body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main #history .history-table,
body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main #history .history-table thead,
body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main #history .history-table tbody,
body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main #history .history-table tr,
body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main #history .history-table th,
body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main #history .history-table td {
    background: transparent !important;
}

/* DARKLAB - Dashboard plus button futurist 3D */
body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .upload-launch-action {
    background:
        radial-gradient(circle at 34% 24%, rgba(255, 255, 255, .42), rgba(255, 255, 255, .12) 18%, transparent 36%),
        radial-gradient(circle at 58% 62%, rgba(255, 38, 52, .68), transparent 56%),
        linear-gradient(145deg, #ff5662 0%, #d7202d 45%, #8f0611 100%) !important;
    border: 1px solid rgba(255, 122, 132, .58) !important;
    box-shadow:
        inset 0 2px 0 rgba(255, 255, 255, .32),
        inset 0 -18px 28px rgba(80, 0, 8, .44),
        inset 0 0 0 8px rgba(255, 255, 255, .055),
        0 16px 32px rgba(0, 0, 0, .34),
        0 0 34px rgba(255, 38, 52, .34),
        0 0 0 1px rgba(255, 255, 255, .10) !important;
    font-size: 39px !important;
    font-weight: 950 !important;
    text-shadow:
        0 1px 0 rgba(255, 255, 255, .28),
        0 0 16px rgba(255, 255, 255, .42) !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .upload-launch-action::before {
    background:
        linear-gradient(135deg, rgba(255, 255, 255, .34), transparent 34%),
        radial-gradient(circle at 50% 50%, transparent 56%, rgba(255, 255, 255, .20) 57%, transparent 66%);
    border-radius: inherit;
    content: "";
    inset: 9px;
    opacity: .72;
    pointer-events: none;
    position: absolute;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .upload-launch-action:hover,
body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .upload-launch-action:focus-visible {
    box-shadow:
        inset 0 2px 0 rgba(255, 255, 255, .38),
        inset 0 -16px 28px rgba(80, 0, 8, .38),
        inset 0 0 0 8px rgba(255, 255, 255, .07),
        0 20px 38px rgba(0, 0, 0, .38),
        0 0 46px rgba(255, 38, 52, .46),
        0 0 0 1px rgba(255, 255, 255, .16) !important;
    transform: translateY(-2px) scale(1.035) !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .upload-launch-action:active {
    box-shadow:
        inset 0 8px 18px rgba(72, 0, 8, .46),
        inset 0 0 0 8px rgba(255, 255, 255, .045),
        0 10px 20px rgba(0, 0, 0, .28),
        0 0 24px rgba(255, 38, 52, .28) !important;
    transform: translateY(1px) scale(.975) !important;
}

@media (max-width: 980px) {
    body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .upload-launch-action {
        font-size: 32px !important;
    }
}

/* DARKLAB - Dashboard historique actions contraste */
body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main #history .history-table td.actions a,
body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main #history .history-table td.actions button {
    background:
        linear-gradient(145deg, rgba(255, 255, 255, .08), rgba(255, 255, 255, .025)),
        rgba(9, 12, 18, .74) !important;
    border-color: rgba(255, 65, 78, .52) !important;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, .13),
        0 8px 18px rgba(0, 0, 0, .28),
        0 0 0 1px rgba(255, 255, 255, .045) !important;
    color: #ff3542 !important;
    text-shadow: 0 0 10px rgba(255, 38, 52, .30) !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main #history .history-table td.actions a:hover,
body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main #history .history-table td.actions button:hover,
body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main #history .history-table td.actions a:focus-visible,
body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main #history .history-table td.actions button:focus-visible {
    background:
        linear-gradient(145deg, rgba(255, 255, 255, .12), rgba(255, 255, 255, .035)),
        rgba(15, 18, 26, .92) !important;
    border-color: rgba(255, 112, 122, .82) !important;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, .18),
        0 10px 22px rgba(0, 0, 0, .34),
        0 0 22px rgba(255, 38, 52, .28) !important;
    color: #ff6b74 !important;
    outline: none !important;
}

/* DARKLAB - Detection custom chevron alignment */
html body.darklab-fixed-bg .detect-page:not(.is-matrix-running) .vehicle-panel .custom-select-field .custom-select-reset {
    right: 4px !important;
    width: 28px !important;
}



/* DARKLAB - categories vehicule eclaircies */
body.darklab-fixed-bg:not(.no-portal-bg) .configurator-layout .vehicle-type-tabs button,
body.darklab-fixed-bg:not(.no-portal-bg) .configurator-layout .vehicle-type-tabs button:not(.active),
body.darklab-fixed-bg:not(.no-portal-bg) .configurator-layout .vehicle-type-tabs button:not(.active):focus {
    filter:
        grayscale(.08)
        saturate(1.05)
        brightness(1.13)
        contrast(1.08)
        drop-shadow(0 0 12px rgba(255, 255, 255, .12)) !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .configurator-layout .vehicle-type-tabs button::before {
    background:
        linear-gradient(180deg, rgba(255, 255, 255, .10), rgba(255, 255, 255, .03) 42%, rgba(0, 0, 0, .12)),
        linear-gradient(115deg, rgba(168, 194, 218, .16), rgba(255, 38, 52, .06) 58%, rgba(255, 255, 255, .08)) !important;
    border-color: rgba(255, 255, 255, .34) !important;
    box-shadow:
        inset 0 0 28px rgba(255, 255, 255, .075),
        inset 0 -34px 48px rgba(255, 255, 255, .055),
        0 0 12px rgba(255, 255, 255, .12) !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .configurator-layout .vehicle-type-tabs button .card-footer::before {
    background: linear-gradient(180deg, rgba(2, 3, 7, 0), rgba(2, 3, 7, .44) 22%, rgba(2, 3, 7, .82)) !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .configurator-layout .vehicle-type-tabs button .card-title,
body.darklab-fixed-bg:not(.no-portal-bg) .configurator-layout .vehicle-type-tabs button:not(.active) .card-title,
body.darklab-fixed-bg:not(.no-portal-bg) .configurator-layout .vehicle-type-tabs button:not(.active):focus .card-title {
    color: #ffffff !important;
    text-shadow:
        0 0 8px rgba(255, 255, 255, .54),
        0 0 18px rgba(255, 255, 255, .22),
        0 2px 2px rgba(0, 0, 0, .86) !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .configurator-layout .vehicle-type-tabs button .card-subtitle,
body.darklab-fixed-bg:not(.no-portal-bg) .configurator-layout .vehicle-type-tabs button:not(.active) .card-subtitle {
    color: rgba(255, 255, 255, .96) !important;
    text-shadow:
        0 0 6px rgba(255, 255, 255, .42),
        0 1px 2px rgba(0, 0, 0, .88) !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .configurator-layout .vehicle-type-tabs button:hover,
body.darklab-fixed-bg:not(.no-portal-bg) .configurator-layout .vehicle-type-tabs button:focus-visible,
body.darklab-fixed-bg:not(.no-portal-bg) .configurator-layout .vehicle-type-tabs button.active {
    filter:
        saturate(1.14)
        brightness(1.20)
        contrast(1.10)
        drop-shadow(0 0 14px rgba(255, 38, 52, .64))
        drop-shadow(0 0 32px rgba(255, 38, 52, .32)) !important;
}


/* DARKLAB - Express Tune neon compact */
body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-upsell {
    align-items: center !important;
    background:
        linear-gradient(115deg, rgba(255, 255, 255, .085), rgba(255, 38, 52, .055) 48%, rgba(8, 10, 16, .34)) !important;
    border: 1px solid rgba(255, 38, 52, .52) !important;
    border-radius: 14px !important;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, .14),
        inset 0 -18px 30px rgba(255, 38, 52, .035),
        0 0 0 rgba(255, 38, 52, 0) !important;
    display: grid !important;
    grid-template-columns: 38px minmax(0, 1fr) auto !important;
    grid-template-areas:
        "icon title action"
        "icon copy action" !important;
    column-gap: 12px !important;
    row-gap: 2px !important;
    margin: 0 !important;
    min-height: 0 !important;
    overflow: visible !important;
    padding: 12px 13px !important;
    position: relative !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-upsell::before {
    animation: expressTuneNewYorkNeon 1.55s ease-in-out infinite !important;
    border: 1px solid rgba(255, 38, 52, .92) !important;
    border-radius: inherit !important;
    bottom: -1px !important;
    content: "" !important;
    left: -1px !important;
    opacity: 1 !important;
    pointer-events: none !important;
    position: absolute !important;
    right: -1px !important;
    top: -1px !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-upsell > div {
    align-items: center !important;
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 7px !important;
    grid-area: title !important;
    min-width: 0 !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-icon {
    align-items: center !important;
    background:
        radial-gradient(circle at 38% 28%, rgba(255,255,255,.92), rgba(255,255,255,.16) 19%, transparent 20%),
        radial-gradient(circle, rgba(255, 38, 52, .94), rgba(255, 38, 52, .28) 48%, rgba(255, 38, 52, .06) 70%) !important;
    border: 1px solid rgba(255, 255, 255, .28) !important;
    border-radius: 999px !important;
    box-shadow:
        0 0 14px rgba(255, 38, 52, .58),
        inset 0 1px 5px rgba(255,255,255,.34),
        inset 0 -8px 14px rgba(90,0,8,.40) !important;
    color: #fff !important;
    display: flex !important;
    font-size: 16px !important;
    grid-area: icon !important;
    height: 36px !important;
    justify-content: center !important;
    left: auto !important;
    line-height: 1 !important;
    position: static !important;
    text-shadow: 0 0 10px rgba(255,255,255,.60) !important;
    top: auto !important;
    transform: none !important;
    width: 36px !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-upsell strong {
    color: #fff !important;
    font-size: 15px !important;
    letter-spacing: .075em !important;
    line-height: 1 !important;
    text-shadow: 0 0 10px rgba(255,255,255,.22) !important;
    text-transform: uppercase !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-upsell em {
    background: rgba(255, 38, 52, .10) !important;
    border: 1px solid rgba(255, 38, 52, .56) !important;
    border-radius: 999px !important;
    color: #ff5b66 !important;
    font-size: 10px !important;
    font-style: normal !important;
    font-weight: 900 !important;
    letter-spacing: .09em !important;
    padding: 3px 7px !important;
    text-transform: uppercase !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-upsell p {
    color: rgba(246, 248, 252, .76) !important;
    font-size: 11px !important;
    grid-area: copy !important;
    line-height: 1.24 !important;
    margin: 0 !important;
    max-width: 210px !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-upsell button {
    align-self: center !important;
    background: linear-gradient(145deg, #ff3442, #b70814) !important;
    border: 1px solid rgba(255,255,255,.18) !important;
    border-radius: 10px !important;
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.22),
        0 0 14px rgba(255, 38, 52, .24) !important;
    color: #fff !important;
    font-size: 11px !important;
    grid-area: action !important;
    min-height: 32px !important;
    padding: 0 12px !important;
    width: auto !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-upsell button:hover {
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.28),
        0 0 20px rgba(255, 38, 52, .48) !important;
    transform: translateY(-1px) !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-upsell.is-active {
    border-color: rgba(57, 240, 131, .72) !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-upsell.is-active::before {
    animation: none !important;
    border-color: rgba(57, 240, 131, .86) !important;
    box-shadow:
        0 0 8px rgba(57, 240, 131, .54),
        0 0 22px rgba(57, 240, 131, .30),
        inset 0 0 16px rgba(57, 240, 131, .12) !important;
}

@keyframes expressTuneNewYorkNeon {
    0%, 100% {
        box-shadow:
            0 0 5px rgba(255, 38, 52, .74),
            0 0 14px rgba(255, 38, 52, .44),
            0 0 28px rgba(255, 38, 52, .18),
            inset 0 0 10px rgba(255, 38, 52, .08);
        opacity: .72;
    }
    42% {
        box-shadow:
            0 0 9px rgba(255, 255, 255, .72),
            0 0 22px rgba(255, 38, 52, .88),
            0 0 42px rgba(255, 38, 52, .46),
            0 0 68px rgba(255, 38, 52, .22),
            inset 0 0 18px rgba(255, 38, 52, .18);
        opacity: 1;
    }
    48% { opacity: .42; }
    54% { opacity: 1; }
}


/* DARKLAB - Express Tune horaire 07h-00h neon actif */
body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .service-choice-express.is-express-open {
    animation: expressTuneOptionOpenNeon 1.7s ease-in-out infinite !important;
    background:
        linear-gradient(118deg, rgba(255, 255, 255, .32), rgba(255, 255, 255, .17) 42%, rgba(255, 38, 52, .18)),
        radial-gradient(circle at 10% 50%, rgba(150, 205, 255, .30), transparent 34%),
        radial-gradient(circle at 92% 50%, rgba(255, 38, 52, .32), transparent 38%),
        rgba(45, 52, 66, .90) !important;
    border-color: rgba(255, 38, 52, .88) !important;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, .34),
        inset 0 -1px 0 rgba(255, 38, 52, .28),
        0 0 8px rgba(255, 38, 52, .50),
        0 0 26px rgba(255, 38, 52, .28),
        0 18px 42px rgba(0, 0, 0, .24) !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .service-choice-express.is-express-open .service-meta small {
    background: rgba(255, 38, 52, .22) !important;
    border-color: rgba(255, 38, 52, .78) !important;
    box-shadow:
        0 0 8px rgba(255, 38, 52, .58),
        0 0 18px rgba(255, 38, 52, .24) !important;
    color: #fff !important;
    text-shadow: 0 0 8px rgba(255, 255, 255, .35) !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .service-choice-express.is-express-open input {
    border-color: rgba(255, 38, 52, .95) !important;
    box-shadow:
        0 0 8px rgba(255, 38, 52, .72),
        0 0 22px rgba(255, 38, 52, .34),
        inset 0 0 10px rgba(255, 38, 52, .18) !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-upsell.is-express-open:not(.is-active)::before {
    animation: expressTuneNewYorkNeon 1.25s ease-in-out infinite !important;
    border-color: rgba(255, 38, 52, .96) !important;
}

@keyframes expressTuneOptionOpenNeon {
    0%, 100% {
        filter: brightness(1);
        box-shadow:
            inset 0 1px 0 rgba(255, 255, 255, .34),
            0 0 6px rgba(255, 38, 52, .44),
            0 0 18px rgba(255, 38, 52, .20),
            0 18px 42px rgba(0, 0, 0, .24);
    }
    45% {
        filter: brightness(1.10);
        box-shadow:
            inset 0 1px 0 rgba(255, 255, 255, .42),
            0 0 10px rgba(255, 255, 255, .42),
            0 0 26px rgba(255, 38, 52, .72),
            0 0 52px rgba(255, 38, 52, .34),
            0 18px 42px rgba(0, 0, 0, .24);
    }
    50% { opacity: .82; }
    56% { opacity: 1; }
}


/* DARKLAB - Dashboard volume annuel espace optimise */
body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-cockpit .chart-panel-compact {
    display: flex !important;
    flex-direction: column !important;
    min-height: 0 !important;
    padding-bottom: 14px !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-cockpit .chart-panel-compact .panel-title {
    margin-bottom: 6px !important;
    padding-bottom: 10px !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-cockpit .chart-panel-compact .real-chart {
    align-content: end !important;
    align-items: end !important;
    flex: 1 1 auto !important;
    gap: 7px !important;
    min-height: 108px !important;
    padding: 0 4px 0 !important;
    transform: translateY(-2px) !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-cockpit .chart-panel-compact .real-chart-month {
    gap: 4px !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-cockpit .chart-panel-compact .real-chart-track {
    height: 96px !important;
    width: 13px !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-cockpit .chart-panel-compact .real-chart-month strong {
    font-size: 11px !important;
    line-height: 1 !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-cockpit .chart-panel-compact .real-chart-month small {
    font-size: 8px !important;
    line-height: 1 !important;
}


/* DARKLAB - Configurateur options disponibles plus visibles */
body.darklab-fixed-bg:not(.no-portal-bg) .configurator-layout .sim-details section[data-options-section] {
    position: relative !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .configurator-layout .sim-details section[data-options-section] h3,
body.darklab-fixed-bg:not(.no-portal-bg) .configurator-layout .sim-details section h3:has(+ .option-chips) {
    color: #0f1724 !important;
    text-shadow: 0 1px 0 rgba(255, 255, 255, .65) !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .configurator-layout .option-chips {
    gap: 14px 16px !important;
    padding-top: 4px !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .configurator-layout .option-chips .option-chip,
body.darklab-fixed-bg:not(.no-portal-bg) .configurator-layout .option-chips > span {
    background:
        linear-gradient(180deg, #ffffff 0%, #f7f9fc 44%, #e7edf4 100%) !important;
    border: 1px solid rgba(9, 18, 32, .14) !important;
    border-bottom-color: rgba(9, 18, 32, .22) !important;
    border-radius: 999px !important;
    box-shadow:
        0 12px 26px rgba(15, 23, 42, .13),
        0 2px 5px rgba(15, 23, 42, .09),
        inset 0 1px 0 rgba(255, 255, 255, .94) !important;
    color: #0b1320 !important;
    min-height: 52px !important;
    padding: 7px 18px 7px 8px !important;
    transform: translateZ(0) !important;
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease, background .18s ease !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .configurator-layout .option-chips .option-chip:hover,
body.darklab-fixed-bg:not(.no-portal-bg) .configurator-layout .option-chips > span:hover {
    background:
        linear-gradient(180deg, #ffffff 0%, #fbfcff 42%, #eef3f8 100%) !important;
    border-color: rgba(255, 38, 52, .40) !important;
    box-shadow:
        0 16px 34px rgba(15, 23, 42, .18),
        0 0 22px rgba(255, 38, 52, .12),
        inset 0 1px 0 rgba(255, 255, 255, .98) !important;
    transform: translateY(-2px) !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .configurator-layout .option-chips .option-chip img {
    background:
        radial-gradient(circle at 36% 28%, #ffffff 0%, #ffffff 42%, #eef3f9 100%) !important;
    border: 1px solid rgba(12, 20, 34, .09) !important;
    box-shadow:
        0 8px 16px rgba(15, 23, 42, .14),
        0 0 0 1px rgba(255, 255, 255, .92),
        inset 0 1px 0 rgba(255, 255, 255, .95) !important;
    flex-basis: 40px !important;
    height: 40px !important;
    padding: 4px !important;
    width: 40px !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .configurator-layout .option-chips em {
    background:
        radial-gradient(circle at 36% 28%, #ffffff 0%, #ffffff 42%, #eef3f9 100%) !important;
    border: 1px solid rgba(12, 20, 34, .10) !important;
    box-shadow:
        0 8px 16px rgba(15, 23, 42, .13),
        inset 0 1px 0 rgba(255, 255, 255, .95) !important;
    color: #172033 !important;
    height: 34px !important;
    min-width: 40px !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .configurator-layout .option-chips .option-chip strong,
body.darklab-fixed-bg:not(.no-portal-bg) .configurator-layout .option-chips > span strong,
body.darklab-fixed-bg:not(.no-portal-bg) .configurator-layout .option-chips > span:not(.option-chip) {
    color: #0b1320 !important;
    font-size: 15px !important;
    font-weight: 950 !important;
    letter-spacing: 0 !important;
    text-shadow: 0 1px 0 rgba(255, 255, 255, .75) !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .configurator-layout .result-disclaimer {
    color: rgba(16, 24, 39, .82) !important;
    font-weight: 650 !important;
}

/* DARKLAB - Dashboard volume annuel jauges etendues */
body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-cockpit .chart-panel-compact {
    min-height: 342px !important;
    padding: 18px 22px 16px !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-cockpit .chart-panel-compact .panel-title {
    margin-bottom: 4px !important;
    padding-bottom: 12px !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-cockpit .chart-panel-compact .real-chart {
    align-content: stretch !important;
    align-items: end !important;
    display: grid !important;
    flex: 1 1 auto !important;
    gap: clamp(10px, 1.8vw, 22px) !important;
    grid-template-columns: repeat(12, minmax(24px, 1fr)) !important;
    min-height: 218px !important;
    padding: 18px 2px 0 !important;
    transform: none !important;
    width: 100% !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-cockpit .chart-panel-compact .real-chart-month {
    align-self: end !important;
    gap: 7px !important;
    width: 100% !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-cockpit .chart-panel-compact .real-chart-track {
    height: clamp(118px, 15vw, 156px) !important;
    padding: 4px !important;
    width: clamp(16px, 2.2vw, 23px) !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-cockpit .chart-panel-compact .real-chart-month strong {
    font-size: 13px !important;
    line-height: 1 !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-cockpit .chart-panel-compact .real-chart-month small {
    font-size: 9px !important;
    line-height: 1 !important;
}

/* DARKLAB - Upload sound toggle */
.upload-sound-toggle {
    align-items: center;
    background:
        linear-gradient(145deg, rgba(255, 255, 255, .14), rgba(255, 255, 255, .04)),
        rgba(7, 9, 14, .56);
    border: 1px solid rgba(255, 255, 255, .18);
    border-radius: 999px;
    box-shadow:
        0 10px 24px rgba(0, 0, 0, .26),
        inset 0 1px 0 rgba(255, 255, 255, .18),
        0 0 18px rgba(236, 28, 36, .12);
    color: #fff;
    cursor: pointer;
    display: inline-flex;
    height: 36px;
    justify-content: center;
    position: absolute;
    right: 18px;
    top: 16px;
    transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease, background .2s ease;
    width: 36px;
    z-index: 8;
}

.upload-sound-toggle:hover,
.upload-sound-toggle:focus-visible {
    border-color: rgba(255, 63, 72, .56);
    box-shadow:
        0 12px 28px rgba(0, 0, 0, .3),
        inset 0 1px 0 rgba(255, 255, 255, .22),
        0 0 22px rgba(236, 28, 36, .28);
    outline: none;
    transform: translateY(-1px);
}

.upload-sound-toggle:active {
    transform: translateY(0) scale(.96);
}

.upload-sound-toggle span {
    color: #fff;
    display: block;
    font-size: 15px;
    line-height: 1;
    text-shadow: 0 0 12px rgba(255, 255, 255, .2);
}

.upload-sound-toggle .sound-off,
.upload-sound-toggle.is-muted .sound-on {
    display: none;
}

.upload-sound-toggle.is-muted .sound-off {
    display: block;
}

.upload-sound-toggle.is-muted {
    background:
        linear-gradient(145deg, rgba(236, 28, 36, .2), rgba(255, 255, 255, .04)),
        rgba(7, 9, 14, .62);
    border-color: rgba(236, 28, 36, .38);
}

/* DARKLAB - Recap compact HT TTC */
body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .service-summary {
    gap: 9px !important;
    padding: 16px 20px !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .summary-vehicle {
    min-height: 72px !important;
    padding: 0 88px 12px 0 !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .summary-brand-logo {
    border-radius: 14px !important;
    height: 58px !important;
    width: 58px !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .summary-vehicle span {
    font-size: 10px !important;
    letter-spacing: .18em !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .summary-vehicle strong {
    font-size: 30px !important;
    margin-top: 6px !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .summary-vehicle small {
    font-size: 12px !important;
    margin-top: 5px !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .summary-items {
    padding: 0 0 6px !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .summary-items::before,
body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .summary-stage-performance > span {
    font-size: 9px !important;
    margin-bottom: 7px !important;
    padding-left: 8px !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .summary-service-line,
body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .summary-items div {
    padding: 7px 0 !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .summary-items span {
    font-size: 13px !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .summary-items strong {
    font-size: 12px !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .summary-stage-performance {
    padding: 0 0 10px !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .performance-dashboard {
    gap: 7px !important;
    grid-template-columns: minmax(0, 1fr) 18px minmax(0, 1fr) !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .performance-column {
    gap: 7px !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .performance-column > small {
    font-size: 9px !important;
    letter-spacing: .10em !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .performance-column strong {
    gap: 3px !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .performance-column b {
    font-size: 17px !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .performance-column em {
    font-size: 8px !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .perf-bar {
    height: 5px !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .performance-arrow {
    font-size: 20px !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .performance-gain {
    border-radius: 10px !important;
    gap: 3px !important;
    margin-top: 2px !important;
    padding: 7px 9px !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .performance-gain small {
    font-size: 8px !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .performance-gain b {
    font-size: 14px !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .summary-total {
    align-items: center !important;
    border-radius: 13px !important;
    grid-template-columns: .78fr .95fr !important;
    min-height: 64px !important;
    padding: 10px 14px !important;
    row-gap: 6px !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .summary-total > span {
    font-size: 13px !important;
    letter-spacing: .28em !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .summary-total > strong {
    font-size: 9px !important;
    letter-spacing: .11em !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .summary-total > strong b {
    font-size: 38px !important;
    line-height: .9 !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .summary-total-details {
    border-top: 1px solid rgba(255, 255, 255, .10) !important;
    display: grid !important;
    gap: 4px !important;
    grid-column: 1 / -1 !important;
    padding-top: 7px !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .summary-total-details small {
    align-items: center !important;
    color: rgba(245, 247, 252, .66) !important;
    display: flex !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    justify-content: space-between !important;
    letter-spacing: .06em !important;
    text-transform: uppercase !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .summary-total-details b {
    color: #fff !important;
    font-size: 11px !important;
    font-weight: 850 !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .summary-note {
    border-radius: 10px !important;
    font-size: 10px !important;
    padding: 8px 10px !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .service-continue {
    border-radius: 10px !important;
    min-height: 42px !important;
}

/* DARKLAB - Express Tune option same availability style */
body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .service-choice-express,
body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .service-choice-express.is-express-open {
    animation: none !important;
    background:
        linear-gradient(118deg, rgba(255, 255, 255, .32), rgba(255, 255, 255, .17) 42%, rgba(255, 38, 52, .18)),
        radial-gradient(circle at 10% 50%, rgba(150, 205, 255, .30), transparent 34%),
        radial-gradient(circle at 92% 50%, rgba(255, 38, 52, .28), transparent 38%),
        rgba(45, 52, 66, .90) !important;
    border-color: rgba(255, 255, 255, .24) !important;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, .34),
        0 18px 42px rgba(0, 0, 0, .24) !important;
    filter: none !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .service-choice-express:hover,
body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .service-choice-express.is-selected {
    border-color: rgba(255, 38, 52, .72) !important;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, .36),
        0 0 24px rgba(255, 38, 52, .18),
        0 18px 42px rgba(0, 0, 0, .24) !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .service-choice-express .service-meta small,
body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .service-choice-express.is-express-open .service-meta small {
    background: rgba(58, 96, 72, .56) !important;
    border-color: rgba(100, 236, 155, .42) !important;
    box-shadow: none !important;
    color: rgba(224, 255, 234, .95) !important;
    text-shadow: none !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .service-choice-express input,
body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .service-choice-express.is-express-open input {
    border-color: rgba(255, 255, 255, .28) !important;
    box-shadow: none !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .service-choice-express input:checked,
body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .service-choice-express.is-express-open input:checked {
    border-color: rgba(255, 38, 52, .95) !important;
    box-shadow:
        0 0 8px rgba(255, 38, 52, .72),
        inset 0 0 10px rgba(255, 38, 52, .18) !important;
}

/* DARKLAB - Hide manual suggestion cards */
.manual-candidates,
.vehicle-suggestions.manual-candidates,
#manual-candidates {
    display: none !important;
    height: 0 !important;
    margin: 0 !important;
    min-height: 0 !important;
    overflow: hidden !important;
    padding: 0 !important;
}



/* DARKLAB - Express Tune premium single-line recap */
body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-upsell {
    align-items: center !important;
    background:
        linear-gradient(115deg, rgba(255, 255, 255, .07), rgba(255, 38, 52, .035) 48%, rgba(8, 10, 16, .36)) !important;
    border: 1px solid rgba(255, 255, 255, .13) !important;
    border-radius: 14px !important;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, .11),
        0 12px 28px rgba(0, 0, 0, .20) !important;
    column-gap: 12px !important;
    display: grid !important;
    grid-template-areas: "icon title action" !important;
    grid-template-columns: 34px minmax(0, 1fr) auto !important;
    margin: 0 !important;
    min-height: 58px !important;
    overflow: visible !important;
    padding: 10px 12px !important;
    position: relative !important;
    transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-upsell:hover {
    border-color: rgba(255, 38, 52, .34) !important;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, .13),
        0 0 16px rgba(255, 38, 52, .13),
        0 14px 32px rgba(0, 0, 0, .22) !important;
    transform: translateY(-1px) !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-upsell::before {
    animation: expressTunePremiumSoft 2.9s ease-in-out infinite !important;
    border: 1px solid rgba(255, 38, 52, .36) !important;
    border-radius: inherit !important;
    bottom: -1px !important;
    box-shadow: 0 0 0 rgba(255, 38, 52, 0) !important;
    content: "" !important;
    left: -1px !important;
    pointer-events: none !important;
    position: absolute !important;
    right: -1px !important;
    top: -1px !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-upsell > div {
    align-items: center !important;
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 7px !important;
    grid-area: title !important;
    min-width: 0 !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-icon {
    align-items: center !important;
    background:
        radial-gradient(circle at 38% 26%, rgba(255, 255, 255, .72), rgba(255, 255, 255, .10) 18%, transparent 19%),
        radial-gradient(circle, rgba(255, 38, 52, .82), rgba(255, 38, 52, .20) 54%, rgba(255, 38, 52, .04) 72%) !important;
    border: 1px solid rgba(255, 255, 255, .22) !important;
    border-radius: 999px !important;
    box-shadow:
        0 0 10px rgba(255, 38, 52, .28),
        inset 0 1px 5px rgba(255, 255, 255, .26),
        inset 0 -7px 12px rgba(90, 0, 8, .34) !important;
    color: #fff !important;
    display: flex !important;
    font-size: 14px !important;
    grid-area: icon !important;
    height: 32px !important;
    justify-content: center !important;
    left: auto !important;
    line-height: 1 !important;
    position: static !important;
    text-shadow: 0 0 8px rgba(255, 255, 255, .45) !important;
    top: auto !important;
    transform: none !important;
    width: 32px !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-upsell strong {
    color: #fff !important;
    font-size: 14px !important;
    letter-spacing: .075em !important;
    line-height: 1 !important;
    text-shadow: 0 0 10px rgba(255, 255, 255, .18) !important;
    text-transform: uppercase !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-upsell em {
    background: rgba(255, 38, 52, .10) !important;
    border: 1px solid rgba(255, 38, 52, .44) !important;
    border-radius: 999px !important;
    color: #ff5260 !important;
    font-size: 9px !important;
    font-style: normal !important;
    font-weight: 900 !important;
    letter-spacing: .08em !important;
    padding: 3px 7px !important;
    text-transform: uppercase !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-upsell p {
    display: none !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-upsell button[data-express-toggle] {
    align-self: center !important;
    background: linear-gradient(145deg, #ff3341, #b90814) !important;
    border: 1px solid rgba(255, 255, 255, .16) !important;
    border-radius: 10px !important;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, .20),
        0 0 12px rgba(255, 38, 52, .22) !important;
    color: #fff !important;
    font-size: 11px !important;
    grid-area: action !important;
    min-height: 34px !important;
    padding: 0 14px !important;
    transition: box-shadow .18s ease, transform .18s ease, filter .18s ease !important;
    width: auto !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-upsell button[data-express-toggle]:hover {
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, .28),
        0 0 18px rgba(255, 38, 52, .36) !important;
    filter: brightness(1.05) !important;
    transform: translateY(-1px) !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-info-wrap {
    align-items: center !important;
    display: inline-flex !important;
    position: relative !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-info-button {
    align-items: center !important;
    background: rgba(255, 255, 255, .055) !important;
    border: 1px solid rgba(255, 255, 255, .18) !important;
    border-radius: 999px !important;
    color: rgba(245, 247, 252, .78) !important;
    cursor: help !important;
    display: inline-flex !important;
    font-size: 11px !important;
    height: 18px !important;
    justify-content: center !important;
    min-height: 18px !important;
    padding: 0 !important;
    width: 18px !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-info-button:hover {
    border-color: rgba(255, 38, 52, .42) !important;
    box-shadow: 0 0 12px rgba(255, 38, 52, .22) !important;
    color: #fff !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tooltip {
    background: linear-gradient(145deg, rgba(9, 12, 18, .96), rgba(25, 12, 18, .92)) !important;
    border: 1px solid rgba(255, 38, 52, .30) !important;
    border-radius: 12px !important;
    bottom: calc(100% + 12px) !important;
    box-shadow:
        0 0 18px rgba(255, 38, 52, .16),
        0 18px 40px rgba(0, 0, 0, .42) !important;
    color: rgba(245, 247, 252, .78) !important;
    font-size: 12px !important;
    left: 50% !important;
    line-height: 1.45 !important;
    opacity: 0 !important;
    padding: 13px 14px !important;
    pointer-events: none !important;
    position: absolute !important;
    text-transform: none !important;
    transform: translate(-50%, 6px) !important;
    transition: opacity .18s ease, transform .18s ease !important;
    visibility: hidden !important;
    width: 320px !important;
    z-index: 30 !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tooltip b {
    color: #fff !important;
    display: block !important;
    font-size: 12px !important;
    letter-spacing: .08em !important;
    margin-bottom: 7px !important;
    text-transform: uppercase !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-info-wrap:hover .express-tooltip,
body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-info-button:focus + .express-tooltip {
    opacity: 1 !important;
    transform: translate(-50%, 0) !important;
    visibility: visible !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-upsell.is-active {
    border-color: rgba(57, 240, 131, .48) !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-upsell.is-active::before {
    animation: none !important;
    border-color: rgba(57, 240, 131, .68) !important;
    box-shadow:
        0 0 10px rgba(57, 240, 131, .30),
        inset 0 0 14px rgba(57, 240, 131, .08) !important;
}

@keyframes expressTunePremiumSoft {
    0%, 100% {
        box-shadow: 0 0 4px rgba(255, 38, 52, .18), inset 0 0 8px rgba(255, 38, 52, .04);
        opacity: .55;
    }
    50% {
        box-shadow: 0 0 12px rgba(255, 38, 52, .30), inset 0 0 12px rgba(255, 38, 52, .08);
        opacity: .92;
    }
}

/* DARKLAB - Express Tune compact premium alignment */
body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-upsell {
    align-items: center !important;
    background:
        radial-gradient(circle at 9% 50%, rgba(255, 255, 255, .10), transparent 34%),
        linear-gradient(115deg, rgba(22, 27, 36, .78), rgba(54, 28, 36, .66) 58%, rgba(18, 10, 16, .82)) !important;
    border: 1px solid rgba(255, 52, 66, .38) !important;
    border-radius: 16px !important;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, .12),
        0 0 16px rgba(255, 38, 52, .10),
        0 12px 26px rgba(0, 0, 0, .24) !important;
    display: flex !important;
    gap: 12px !important;
    justify-content: space-between !important;
    min-height: 54px !important;
    padding: 10px 14px !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-upsell > div {
    align-items: center !important;
    display: flex !important;
    flex: 1 1 auto !important;
    flex-wrap: nowrap !important;
    gap: 9px !important;
    min-width: 0 !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-icon {
    flex: 0 0 30px !important;
    font-size: 13px !important;
    height: 30px !important;
    margin: 0 !important;
    width: 30px !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-upsell strong {
    flex: 0 1 auto !important;
    font-size: 15px !important;
    letter-spacing: .055em !important;
    line-height: 1 !important;
    max-width: none !important;
    min-width: 0 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-upsell em {
    flex: 0 0 auto !important;
    font-size: 9px !important;
    margin: 0 !important;
    padding: 3px 8px !important;
    white-space: nowrap !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-info-wrap {
    flex: 0 0 auto !important;
    order: 3 !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-info-button {
    box-shadow: none !important;
    font-size: 10px !important;
    height: 17px !important;
    min-height: 17px !important;
    width: 17px !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-upsell button[data-express-toggle] {
    flex: 0 0 auto !important;
    font-size: 11px !important;
    min-height: 32px !important;
    padding: 0 16px !important;
}
/* DARKLAB - Custom option drawer */
body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .custom-option-entry {
    cursor: pointer !important;
    text-align: left !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .custom-option-entry .service-copy em {
    max-width: 660px !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .custom-option-symbol {
    align-items: center !important;
    background:
        radial-gradient(circle at 34% 24%, rgba(255,255,255,.88), rgba(255,255,255,.12) 24%, transparent 25%),
        linear-gradient(145deg, rgba(255,255,255,.96), rgba(236,241,248,.88)) !important;
    border: 1px solid rgba(255,255,255,.65) !important;
    border-radius: 12px !important;
    box-shadow: 0 12px 28px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.7) !important;
    color: #e51625 !important;
    display: flex !important;
    font-size: 30px !important;
    font-weight: 900 !important;
    justify-content: center !important;
}

.custom-options-backdrop {
    background: rgba(1, 3, 8, .64);
    backdrop-filter: blur(7px);
    bottom: 0;
    left: 0;
    opacity: 0;
    position: fixed;
    right: 0;
    top: 0;
    transition: opacity .18s ease;
    z-index: 80;
}

.custom-options-backdrop.is-open {
    opacity: 1;
}

.custom-options-drawer {
    background:
        linear-gradient(135deg, rgba(55, 70, 88, .94), rgba(38, 34, 44, .94) 46%, rgba(73, 23, 35, .92)),
        rgba(18, 21, 28, .96);
    border-left: 1px solid rgba(255, 255, 255, .20);
    box-shadow: -24px 0 70px rgba(0, 0, 0, .52), inset 1px 0 0 rgba(255,255,255,.10);
    color: #f7f8fb;
    display: grid;
    gap: 18px;
    height: 100vh;
    max-width: min(560px, calc(100vw - 22px));
    overflow-y: auto;
    padding: 24px;
    position: fixed;
    right: 0;
    top: 0;
    transform: translateX(104%);
    transition: transform .22s ease;
    width: 560px;
    z-index: 90;
}

.custom-options-drawer.is-open {
    transform: translateX(0);
}

.custom-options-drawer-head {
    align-items: start;
    border-bottom: 1px solid rgba(255,255,255,.12);
    display: flex;
    gap: 18px;
    justify-content: space-between;
    padding-bottom: 18px;
}

.custom-options-drawer-head span,
.custom-options-section-title span {
    color: #ff2a3a;
    display: block;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .18em;
    text-transform: uppercase;
}

.custom-options-drawer-head strong {
    display: block;
    font-size: 30px;
    line-height: 1.08;
    margin-top: 6px;
}

.custom-options-drawer-head p,
.custom-request-section p {
    color: rgba(245,247,252,.72);
    font-size: 13px;
    line-height: 1.55;
    margin: 10px 0 0;
}

.custom-options-drawer-head button {
    align-items: center;
    background: rgba(255,255,255,.08);
    border: 1px solid rgba(255,255,255,.18);
    border-radius: 12px;
    color: #fff;
    cursor: pointer;
    display: flex;
    flex: 0 0 42px;
    font-size: 28px;
    height: 42px;
    justify-content: center;
    line-height: 1;
}

.custom-options-drawer-section {
    background: linear-gradient(135deg, rgba(255,255,255,.07), rgba(255,255,255,.025));
    border: 1px solid rgba(255,255,255,.14);
    border-radius: 16px;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.10);
    padding: 16px;
}

.custom-options-section-title {
    align-items: center;
    display: flex;
    gap: 10px;
    margin-bottom: 14px;
}

.custom-options-section-title strong {
    font-size: 15px;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.custom-options-catalog {
    display: grid;
    gap: 10px;
}

.custom-catalog-option {
    align-items: center;
    background: rgba(255,255,255,.07);
    border: 1px solid rgba(255,255,255,.14);
    border-radius: 13px;
    cursor: pointer;
    display: grid;
    gap: 12px;
    grid-template-columns: 22px 56px minmax(0, 1fr) auto;
    min-height: 70px;
    padding: 10px 12px;
    transition: background .18s ease, border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

.custom-catalog-option:hover,
.custom-catalog-option:focus-within,
.custom-catalog-option.is-selected {
    background:
        linear-gradient(105deg, rgba(255,255,255,.16), rgba(255,255,255,.09) 62%, rgba(255,38,52,.13)),
        rgba(28,31,41,.92);
    border-color: rgba(255,45,58,.92);
    box-shadow:
        0 10px 30px rgba(0,0,0,.28),
        0 0 0 1px rgba(255,38,52,.16),
        0 0 26px rgba(255,38,52,.30),
        inset 0 1px 0 rgba(255,255,255,.22);
    transform: translateY(-2px) scale(1.006);
}

.custom-catalog-option:hover span:nth-child(3) strong,
.custom-catalog-option:focus-within span:nth-child(3) strong,
.custom-catalog-option.is-selected span:nth-child(3) strong {
    color: #fff;
    text-shadow: 0 0 12px rgba(255,255,255,.28);
}

.custom-catalog-option:hover span:nth-child(3) em,
.custom-catalog-option:focus-within span:nth-child(3) em,
.custom-catalog-option.is-selected span:nth-child(3) em {
    color: rgba(255,255,255,.92);
}

.custom-catalog-option:hover .custom-catalog-logo,
.custom-catalog-option:focus-within .custom-catalog-logo,
.custom-catalog-option.is-selected .custom-catalog-logo {
    box-shadow: 0 0 0 1px rgba(255,255,255,.42), 0 0 20px rgba(255,255,255,.22);
}

.custom-catalog-option:hover > b,
.custom-catalog-option:focus-within > b,
.custom-catalog-option.is-selected > b {
    color: #ff3544;
    text-shadow: 0 0 14px rgba(255,38,52,.48);
}

.custom-catalog-option input {
    appearance: none;
    border: 2px solid rgba(255,255,255,.25);
    border-radius: 999px;
    height: 20px;
    width: 20px;
}

.custom-catalog-option input:checked {
    border-color: #ff2a3a;
    box-shadow: inset 0 0 0 5px rgba(255,42,58,.95), 0 0 12px rgba(255,42,58,.42);
}

.custom-catalog-logo {
    align-items: center;
    background: rgba(255,255,255,.94);
    border-radius: 10px;
    display: flex;
    height: 44px;
    justify-content: center;
    overflow: hidden;
    width: 56px;
}

.custom-catalog-logo img {
    max-height: 38px;
    max-width: 50px;
    object-fit: contain;
}

.custom-catalog-option span:nth-child(3) strong {
    display: block;
    font-size: 14px;
}

.custom-catalog-option span:nth-child(3) em {
    color: rgba(245,247,252,.62);
    display: block;
    font-size: 11px;
    font-style: normal;
    line-height: 1.35;
    margin-top: 3px;
}

.custom-catalog-option > b {
    color: #ff2a3a;
    font-size: 13px;
    white-space: nowrap;
}

.custom-request-toggle {
    background: linear-gradient(145deg, rgba(255,38,52,.95), rgba(174,8,20,.95));
    border: 1px solid rgba(255,255,255,.18);
    border-radius: 12px;
    color: #fff;
    cursor: pointer;
    font-weight: 900;
    margin-top: 14px;
    min-height: 36px;
    padding: 0 18px;
}

.custom-request-field {
    margin-top: 12px;
}

.custom-request-field textarea {
    background: rgba(6,9,15,.56);
    border: 1px solid rgba(255,255,255,.16);
    border-radius: 12px;
    color: #fff;
    font: inherit;
    line-height: 1.45;
    min-height: 118px;
    padding: 14px;
    resize: vertical;
    width: 100%;
}

.custom-request-field textarea:focus {
    border-color: rgba(255,38,52,.48);
    box-shadow: 0 0 18px rgba(255,38,52,.14);
    outline: none;
}

@media (max-width: 720px) {
    .custom-options-drawer {
        padding: 18px;
        width: calc(100vw - 12px);
    }

    .custom-catalog-option {
        grid-template-columns: 22px 50px minmax(0, 1fr);
    }

    .custom-catalog-option > b {
        grid-column: 3;
    }
}

/* DARKLAB - Logos vehicule sur fond blanc permanent */
body.darklab-fixed-bg:not(.no-portal-bg) :is(.vehicle-summary-card, .service-summary, .order-card, .admin-card) .vehicle-brand-logo,
body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .summary-brand-logo,
html body.darklab-fixed-bg .detect-page:not(.is-matrix-running) .vehicle-summary-card .vehicle-brand-logo {
    background: #fff !important;
    border: 1px solid #e5e7eb !important;
    box-shadow: 0 8px 20px rgba(0, 0, 0, .18) !important;
    backdrop-filter: none !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) :is(.vehicle-summary-card, .service-summary, .order-card, .admin-card) .vehicle-brand-logo img,
body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .summary-brand-logo img,
html body.darklab-fixed-bg .detect-page:not(.is-matrix-running) .vehicle-summary-card .vehicle-brand-logo img {
    filter: none !important;
    mix-blend-mode: normal;
    opacity: 1;
}

body.darklab-fixed-bg:not(.no-portal-bg) :is(.vehicle-summary-card, .service-summary, .order-card, .admin-card) .vehicle-brand-logo span,
body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .summary-brand-logo span,
html body.darklab-fixed-bg .detect-page:not(.is-matrix-running) .vehicle-summary-card .vehicle-brand-logo span {
    color: #171a20 !important;
    text-shadow: none !important;
}

/* DARKLAB - Option personnalisee identique aux cartes options */
body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .custom-option-entry {
    cursor: pointer !important;
    display: grid !important;
    text-align: left !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .custom-option-entry input {
    display: block !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .custom-option-entry .service-logo-cell {
    background:
        radial-gradient(circle at 50% 50%, rgba(255, 38, 52, .20), transparent 58%),
        linear-gradient(145deg, rgba(255, 255, 255, .075), rgba(255, 255, 255, .025)) !important;
    border: 1px solid rgba(255, 255, 255, .13) !important;
    border-radius: 10px !important;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, .08),
        0 12px 26px rgba(0, 0, 0, .22) !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .custom-option-entry .custom-option-symbol {
    align-items: center !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    color: #ff2634 !important;
    display: flex !important;
    font-size: 28px !important;
    font-weight: 900 !important;
    height: 100% !important;
    justify-content: center !important;
    line-height: 1 !important;
    width: 100% !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .custom-option-entry .service-meta small {
    background: rgba(58, 96, 72, .56) !important;
    border-color: rgba(100, 236, 155, .42) !important;
    color: rgba(224, 255, 234, .95) !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .custom-option-entry.is-selected {
    border-color: rgba(255, 38, 52, .72) !important;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, .36),
        0 0 24px rgba(255, 38, 52, .18),
        0 18px 42px rgba(0, 0, 0, .24) !important;
}

/* DARKLAB - Boutique/Tarif: restauration definitive du cadre explicatif au survol */
html body.darklab-fixed-bg .pricing-layout .pricing-sheet .pricing-list > .pricing-item {
    overflow: visible !important;
    position: relative !important;
    z-index: 1 !important;
}

html body.darklab-fixed-bg .pricing-layout .pricing-sheet .pricing-list > .pricing-item:hover,
html body.darklab-fixed-bg .pricing-layout .pricing-sheet .pricing-list > .pricing-item:focus-within {
    z-index: 300 !important;
}

html body.darklab-fixed-bg .pricing-layout .pricing-sheet .pricing-list > .pricing-item > .pricing-description {
    background: linear-gradient(180deg, rgba(255, 255, 255, .98), rgba(244, 247, 251, .98)) !important;
    border: 1px solid rgba(255, 20, 35, .18) !important;
    border-radius: 8px !important;
    box-shadow: 0 18px 34px rgba(0, 0, 0, .25), 0 0 0 1px rgba(255, 255, 255, .9) inset !important;
    color: #202b3c !important;
    display: block !important;
    font-size: 13px !important;
    left: 54px !important;
    line-height: 1.42 !important;
    margin: 0 !important;
    min-width: 260px !important;
    opacity: 0 !important;
    padding: 13px 15px !important;
    pointer-events: none !important;
    position: absolute !important;
    right: auto !important;
    text-shadow: none !important;
    top: calc(100% + 8px) !important;
    transform: translateY(-5px) !important;
    transition: opacity .16s ease, transform .16s ease, visibility .16s ease !important;
    visibility: hidden !important;
    white-space: normal !important;
    width: min(440px, calc(100% - 54px)) !important;
    z-index: 320 !important;
}

html body.darklab-fixed-bg .pricing-layout .pricing-sheet .pricing-list > .pricing-item > .pricing-description::before {
    background: rgba(255, 255, 255, .98) !important;
    border-left: 1px solid rgba(255, 20, 35, .18) !important;
    border-top: 1px solid rgba(255, 20, 35, .18) !important;
    content: "" !important;
    height: 11px !important;
    left: 22px !important;
    position: absolute !important;
    top: -6px !important;
    transform: rotate(45deg) !important;
    width: 11px !important;
}

html body.darklab-fixed-bg .pricing-layout .pricing-sheet .pricing-list > .pricing-item:hover > .pricing-description,
html body.darklab-fixed-bg .pricing-layout .pricing-sheet .pricing-list > .pricing-item:focus-within > .pricing-description {
    opacity: 1 !important;
    transform: translateY(0) !important;
    visibility: visible !important;
}

/* DARKLAB - Boutique/Tarif: tooltip reconstruit depuis la description de la carte */
html body.darklab-fixed-bg .pricing-layout .pricing-sheet .pricing-list > .pricing-item[data-pricing-tooltip]::after {
    background: linear-gradient(180deg, rgba(255, 255, 255, .99), rgba(244, 247, 251, .99)) !important;
    border: 1px solid rgba(255, 20, 35, .20) !important;
    border-radius: 8px !important;
    box-shadow: 0 18px 34px rgba(0, 0, 0, .28), 0 0 0 1px rgba(255, 255, 255, .92) inset !important;
    color: #202b3c !important;
    content: attr(data-pricing-tooltip) !important;
    display: block !important;
    font-size: 13px !important;
    left: 54px !important;
    line-height: 1.42 !important;
    max-width: 440px !important;
    min-width: 260px !important;
    opacity: 0 !important;
    padding: 13px 15px !important;
    pointer-events: none !important;
    position: absolute !important;
    text-align: left !important;
    text-shadow: none !important;
    top: calc(100% + 8px) !important;
    transform: translateY(-5px) !important;
    transition: opacity .16s ease, transform .16s ease, visibility .16s ease !important;
    visibility: hidden !important;
    white-space: normal !important;
    width: min(440px, calc(100% - 54px)) !important;
    z-index: 700 !important;
}

html body.darklab-fixed-bg .pricing-layout .pricing-sheet .pricing-list > .pricing-item[data-pricing-tooltip]::before {
    background: rgba(255, 255, 255, .99) !important;
    border-left: 1px solid rgba(255, 20, 35, .20) !important;
    border-top: 1px solid rgba(255, 20, 35, .20) !important;
    content: "" !important;
    height: 11px !important;
    left: 76px !important;
    opacity: 0 !important;
    position: absolute !important;
    top: calc(100% + 3px) !important;
    transform: rotate(45deg) translateY(-5px) !important;
    transition: opacity .16s ease, transform .16s ease, visibility .16s ease !important;
    visibility: hidden !important;
    width: 11px !important;
    z-index: 701 !important;
}

html body.darklab-fixed-bg .pricing-layout .pricing-sheet .pricing-list > .pricing-item[data-pricing-tooltip]:hover::after,
html body.darklab-fixed-bg .pricing-layout .pricing-sheet .pricing-list > .pricing-item[data-pricing-tooltip]:focus-within::after,
html body.darklab-fixed-bg .pricing-layout .pricing-sheet .pricing-list > .pricing-item[data-pricing-tooltip]:hover::before,
html body.darklab-fixed-bg .pricing-layout .pricing-sheet .pricing-list > .pricing-item[data-pricing-tooltip]:focus-within::before {
    opacity: 1 !important;
    transform: translateY(0) !important;
    visibility: visible !important;
}

/* DARKLAB - Boutique Equipements Pro */
.pro-equipment-layout {
    min-height: 100vh;
}

.pro-equipment-main {
    padding: 28px clamp(24px, 4vw, 72px) 72px;
}

.pro-equipment-head {
    align-items: flex-end;
    display: flex;
    justify-content: space-between;
    margin-bottom: 18px;
    max-width: 1260px;
    padding: 0 0 4px;
}

.pro-equipment-head h1 {
    color: #f7f9ff;
    font-family: var(--font-display);
    font-size: clamp(30px, 3vw, 46px);
    line-height: 1;
    margin: 4px 0 8px;
    text-shadow: 0 0 16px rgba(255, 255, 255, .12);
}

.pro-equipment-head p:not(.eyebrow) {
    color: rgba(230, 235, 246, .66);
    font-size: 13px;
    line-height: 1.35;
    max-width: 620px;
}

.pro-equipment-grid {
    display: grid;
    gap: 18px;
    grid-template-columns: repeat(auto-fill, minmax(235px, 1fr));
    max-width: 1260px;
}

.pro-equipment-card {
    background:
        linear-gradient(145deg, rgba(67, 82, 101, .70), rgba(21, 21, 27, .76) 48%, rgba(88, 25, 36, .72)),
        rgba(14, 16, 22, .86);
    border: 1px solid rgba(255, 255, 255, .16);
    border-radius: 10px;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.18), 0 18px 38px rgba(0,0,0,.26);
    cursor: pointer;
    overflow: hidden;
    padding: 10px;
    transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

.pro-equipment-card:hover,
.pro-equipment-card:focus-visible {
    border-color: rgba(255, 38, 52, .58);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.22), 0 20px 46px rgba(0,0,0,.34), 0 0 26px rgba(255, 38, 52, .16);
    outline: none;
    transform: translateY(-3px);
}

.pro-equipment-media {
    aspect-ratio: 1 / .82;
    background: rgba(5, 7, 11, .72);
    border: 1px solid rgba(255, 255, 255, .10);
    border-radius: 8px;
    overflow: hidden;
    position: relative;
}

.pro-equipment-media img {
    height: 100%;
    object-fit: cover;
    opacity: .92;
    transition: opacity .18s ease, transform .22s ease;
    width: 100%;
}

.pro-equipment-card:hover .pro-equipment-media img {
    opacity: 1;
    transform: scale(1.035);
}

.pro-equipment-card.is-best-seller {
    border-color: rgba(255, 38, 52, .54);
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.22),
        0 20px 48px rgba(0,0,0,.34),
        0 0 30px rgba(255, 38, 52, .16);
}

.pro-equipment-card.is-best-seller .pro-equipment-media::before {
    background: radial-gradient(circle at 50% 55%, rgba(255, 38, 52, .22), transparent 58%);
    content: "";
    inset: 0;
    pointer-events: none;
    position: absolute;
    z-index: 1;
}

.pro-equipment-bestseller {
    align-items: center;
    background: linear-gradient(135deg, rgba(255, 38, 52, .96), rgba(122, 0, 14, .88));
    border: 1px solid rgba(255,255,255,.22);
    border-radius: 999px;
    box-shadow: 0 0 18px rgba(255, 38, 52, .34);
    color: #fff;
    display: inline-flex;
    font: 800 10px var(--font-ui);
    letter-spacing: .12em;
    padding: 7px 10px 6px;
    position: absolute;
    right: 10px;
    text-transform: uppercase;
    top: 10px;
    z-index: 2;
}

.pro-equipment-actions {
    display: grid;
    gap: 8px;
    grid-template-columns: 1fr 1fr;
    margin-top: 10px;
}

.pro-equipment-actions button {
    background: rgba(255, 255, 255, .10);
    border: 1px solid rgba(255, 255, 255, .18);
    border-radius: 7px;
    color: rgba(255, 255, 255, .86);
    cursor: pointer;
    font-family: inherit;
    min-height: 36px;
    padding: 6px 8px;
    text-align: left;
    transition: background .18s ease, border-color .18s ease, box-shadow .18s ease;
}

.pro-equipment-actions button:hover {
    background: rgba(255, 38, 52, .18);
    border-color: rgba(255, 38, 52, .46);
    box-shadow: 0 0 16px rgba(255, 38, 52, .18);
}

.pro-equipment-actions span,
.pro-equipment-actions strong {
    display: block;
    line-height: 1.05;
}

.pro-equipment-actions span {
    color: rgba(232, 237, 247, .68);
    font-size: 10px;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.pro-equipment-actions strong {
    color: #ffffff;
    font-size: 12px;
    margin-top: 4px;
}

.pro-equipment-card h2 {
    color: #f7f9ff;
    font-family: var(--font-display);
    font-size: 17px;
    line-height: 1.18;
    margin: 12px 4px 4px;
    min-height: 40px;
}

.equipment-drawer-backdrop {
    background: rgba(0, 0, 0, .58);
    inset: 0;
    position: fixed;
    z-index: 900;
}

.equipment-drawer {
    background:
        linear-gradient(145deg, rgba(61, 76, 96, .88), rgba(14, 15, 21, .95) 44%, rgba(70, 18, 30, .88)),
        rgba(10, 12, 18, .94);
    border-left: 1px solid rgba(255, 38, 52, .32);
    box-shadow: -24px 0 70px rgba(0, 0, 0, .48), 0 0 30px rgba(255, 38, 52, .08);
    color: #f6f8ff;
    display: grid;
    grid-template-rows: minmax(220px, 34vh) 1fr;
    height: 100vh;
    max-width: min(560px, 92vw);
    overflow: auto;
    position: fixed;
    right: 0;
    top: 0;
    transform: translateX(104%);
    transition: transform .22s ease;
    width: 560px;
    z-index: 910;
}

.equipment-drawer.is-open {
    transform: translateX(0);
}

.equipment-drawer-close {
    align-items: center;
    background: rgba(255, 255, 255, .10);
    border: 1px solid rgba(255, 255, 255, .16);
    border-radius: 8px;
    color: #fff;
    cursor: pointer;
    display: flex;
    font-size: 24px;
    height: 42px;
    justify-content: center;
    position: absolute;
    right: 18px;
    top: 18px;
    width: 42px;
    z-index: 2;
}

.equipment-drawer-media {
    background: #07090d;
    overflow: hidden;
}

.equipment-drawer-media img {
    height: 100%;
    object-fit: cover;
    opacity: .94;
    width: 100%;
}

.equipment-drawer-body {
    padding: 28px;
}

.equipment-drawer-body h2 {
    font-family: var(--font-display);
    font-size: 34px;
    line-height: 1.02;
    margin: 4px 0 12px;
}

.equipment-drawer-body p {
    color: rgba(236, 241, 250, .76);
    line-height: 1.5;
}

.equipment-price-strip {
    display: grid;
    gap: 10px;
    grid-template-columns: repeat(3, 1fr);
    margin: 22px 0;
}

.equipment-price-strip span {
    background: rgba(255, 255, 255, .08);
    border: 1px solid rgba(255, 255, 255, .14);
    border-radius: 8px;
    padding: 12px;
}

.equipment-price-strip small {
    color: rgba(232, 237, 247, .58);
    display: block;
    font-size: 10px;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.equipment-price-strip strong {
    color: #ff3040;
    display: block;
    font-size: 15px;
    margin-top: 5px;
}

.equipment-drawer-body h3 {
    border-top: 1px solid rgba(255, 255, 255, .12);
    color: #fff;
    font-size: 14px;
    letter-spacing: .12em;
    margin: 22px 0 10px;
    padding-top: 18px;
    text-transform: uppercase;
}

.equipment-drawer-body ul {
    color: rgba(236, 241, 250, .74);
    line-height: 1.55;
    margin: 0;
    padding-left: 18px;
}

@media (max-width: 780px) {
    .pro-equipment-main {
        padding: 34px 16px 54px;
    }

    .equipment-price-strip {
        grid-template-columns: 1fr;
    }
}

/* DARKLAB - Express Tune safe compact recap */
body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-upsell {
    align-items: center !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 78px !important;
    gap: 8px !important;
    min-height: 50px !important;
    overflow: visible !important;
    padding: 8px 10px !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-upsell > div {
    align-items: center !important;
    display: grid !important;
    grid-template-areas:
        "icon title info"
        "icon badge badge" !important;
    grid-template-columns: 30px minmax(0, max-content) auto !important;
    gap: 3px 7px !important;
    min-width: 0 !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-icon {
    flex: none !important;
    grid-area: icon !important;
    height: 28px !important;
    width: 28px !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-upsell strong {
    grid-area: title !important;
    font-size: 12px !important;
    letter-spacing: .05em !important;
    line-height: 1 !important;
    max-width: 145px !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-info-wrap {
    grid-area: info !important;
    justify-self: start !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-info-button {
    height: 15px !important;
    min-height: 15px !important;
    width: 15px !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-upsell em {
    align-self: start !important;
    grid-area: badge !important;
    justify-self: start !important;
    font-size: 8px !important;
    line-height: 1 !important;
    padding: 3px 7px !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-upsell button[data-express-toggle] {
    justify-self: stretch !important;
    min-height: 30px !important;
    padding: 0 8px !important;
    width: 78px !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .summary-total {
    grid-template-columns: minmax(0, 1fr) auto !important;
    min-height: 54px !important;
    overflow: hidden !important;
    padding: 9px 12px !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .summary-total > strong {
    min-width: 92px !important;
    text-align: right !important;
    white-space: nowrap !important;
}
/* DARKLAB - Express Tune clean final layout */
body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-upsell {
    align-items: center !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 86px !important;
    gap: 10px !important;
    min-height: 58px !important;
    overflow: visible !important;
    padding: 10px 12px !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-content,
body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-upsell > .express-tune-content {
    align-items: center !important;
    display: grid !important;
    grid-template-columns: 30px minmax(0, 1fr) !important;
    gap: 10px !important;
    min-width: 0 !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-copy {
    align-items: flex-start !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 5px !important;
    min-width: 0 !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-line {
    align-items: center !important;
    display: flex !important;
    gap: 6px !important;
    min-width: 0 !important;
    width: 100% !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-icon {
    grid-area: auto !important;
    height: 30px !important;
    width: 30px !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-upsell strong {
    grid-area: auto !important;
    max-width: 100% !important;
    min-width: 0 !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-info-wrap {
    grid-area: auto !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-upsell em {
    grid-area: auto !important;
    justify-self: start !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-upsell button[data-express-toggle] {
    justify-self: stretch !important;
    width: 86px !important;
}
/* DARKLAB - Express Tune final no-overlap fix */
body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-upsell {
    align-items: center !important;
    display: flex !important;
    gap: 10px !important;
    justify-content: space-between !important;
    min-height: 54px !important;
    overflow: visible !important;
    padding: 9px 10px !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-content,
body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-upsell > .express-tune-content {
    align-items: center !important;
    display: flex !important;
    flex: 1 1 auto !important;
    gap: 9px !important;
    min-width: 0 !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-icon {
    flex: 0 0 28px !important;
    height: 28px !important;
    width: 28px !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-copy {
    align-items: center !important;
    display: flex !important;
    flex: 1 1 auto !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    gap: 4px 7px !important;
    min-width: 0 !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-line {
    align-items: center !important;
    display: flex !important;
    flex: 0 1 auto !important;
    gap: 5px !important;
    min-width: 0 !important;
    width: auto !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-upsell strong {
    display: inline-block !important;
    flex: 0 0 auto !important;
    font-size: 12px !important;
    line-height: 1 !important;
    max-width: none !important;
    min-width: 92px !important;
    overflow: visible !important;
    white-space: nowrap !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-upsell em {
    align-self: center !important;
    flex: 0 0 auto !important;
    font-size: 8px !important;
    grid-area: auto !important;
    line-height: 1 !important;
    margin: 0 !important;
    padding: 3px 7px !important;
    white-space: nowrap !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-info-wrap {
    display: inline-flex !important;
    flex: 0 0 auto !important;
    grid-area: auto !important;
    line-height: 1 !important;
    position: relative !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-info-button {
    align-items: center !important;
    background: rgba(255,255,255,.055) !important;
    border: 1px solid rgba(255,255,255,.18) !important;
    border-radius: 999px !important;
    box-shadow: none !important;
    color: rgba(245,247,252,.82) !important;
    cursor: help !important;
    display: inline-flex !important;
    font-size: 10px !important;
    height: 16px !important;
    justify-content: center !important;
    min-height: 16px !important;
    padding: 0 !important;
    width: 16px !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-info-button::before {
    content: none !important;
    display: none !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-upsell button[data-express-toggle] {
    flex: 0 0 78px !important;
    min-height: 31px !important;
    padding: 0 9px !important;
    width: 78px !important;
}
/* DARKLAB - Equipements Pro section logo */
.pro-equipment-logo {
    align-items: center;
    background: radial-gradient(circle, rgba(255, 38, 52, .13), transparent 62%);
    display: flex;
    flex: 0 0 clamp(120px, 15vw, 190px);
    justify-content: center;
    margin-left: 24px;
    min-height: 92px;
    pointer-events: none;
}

.pro-equipment-logo img {
    display: block;
    filter: drop-shadow(0 0 22px rgba(255, 38, 52, .30));
    height: auto;
    max-height: 118px;
    object-fit: contain;
    opacity: .94;
    width: min(100%, 170px);
}

@media (max-width: 780px) {
    .pro-equipment-head {
        align-items: flex-start;
    }

    .pro-equipment-logo {
        flex-basis: 92px;
        margin-left: 12px;
        min-height: 72px;
    }

    .pro-equipment-logo img {
        max-height: 78px;
        width: 92px;
    }
}
/* DARKLAB - Sidebar Equipements Pro icon */
.icon-pro-equipment {
    background-color: currentColor !important;
    border-radius: 0 !important;
    color: rgba(255, 255, 255, .92) !important;
    filter: none !important;
    height: 24px !important;
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='7' width='16' height='12' rx='2'/%3E%3Cpath d='M8 7V5a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2'/%3E%3Cpath d='M9 12h6'/%3E%3Cpath d='M12 9v6'/%3E%3Cpath d='M7 19v2'/%3E%3Cpath d='M17 19v2'/%3E%3C/svg%3E") !important;
    mask-position: center !important;
    mask-repeat: no-repeat !important;
    mask-size: contain !important;
    width: 24px !important;
}

.side-nav a:hover .icon-pro-equipment,
.side-nav a.active .icon-pro-equipment {
    color: #ff3340 !important;
    filter: drop-shadow(0 0 12px rgba(236, 28, 36, .55)) !important;
}

/* DARKLAB - V371 portal layout lock */
html body.darklab-fixed-bg:not(.no-portal-bg) > .portal-layout:not(.configurator-layout) {
    display: grid !important;
    grid-template-columns: 242px minmax(0, 1fr) !important;
    align-items: start !important;
    min-height: 100vh !important;
    overflow-x: clip !important;
}

html body.darklab-fixed-bg:not(.no-portal-bg) > .portal-layout:not(.configurator-layout) > .sidebar {
    grid-column: 1 !important;
    grid-row: 1 !important;
    width: 242px !important;
    min-width: 242px !important;
    max-width: 242px !important;
    height: 100vh !important;
    max-height: 100vh !important;
    position: sticky !important;
    top: 0 !important;
    left: auto !important;
    right: auto !important;
    transform: none !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    z-index: 20 !important;
}

html body.darklab-fixed-bg:not(.no-portal-bg) > .portal-layout:not(.configurator-layout) > .sidebar .sidebar-logo,
html body.darklab-fixed-bg:not(.no-portal-bg) > .portal-layout:not(.configurator-layout) > .sidebar .quickbar,
html body.darklab-fixed-bg:not(.no-portal-bg) > .portal-layout:not(.configurator-layout) > .sidebar .side-nav {
    width: 242px !important;
    min-width: 0 !important;
    max-width: 242px !important;
    box-sizing: border-box !important;
}

html body.darklab-fixed-bg:not(.no-portal-bg) > .portal-layout:not(.configurator-layout) > .portal-main {
    grid-column: 2 !important;
    grid-row: 1 !important;
    min-width: 0 !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    position: relative !important;
    z-index: 1 !important;
}

html body.darklab-fixed-bg:not(.no-portal-bg) > .portal-layout:not(.configurator-layout) > .portal-main.dashboard-main {
    box-sizing: border-box !important;
    padding: 40px clamp(24px, 3vw, 56px) 56px !important;
}
/* DARKLAB - Dashboard equipment carousel */
html body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .dashboard-equipment-panel {
    display: flex !important;
    flex-direction: column !important;
    gap: 9px !important;
    isolation: isolate !important;
    min-height: 0 !important;
    overflow: hidden !important;
    padding: 14px 16px 12px !important;
    position: relative !important;
}

html body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .dashboard-equipment-panel::before {
    background: linear-gradient(145deg, rgba(255,255,255,.08), rgba(255,255,255,.015) 48%, rgba(255,38,52,.055)) !important;
    border-radius: inherit !important;
    content: "" !important;
    inset: 0 !important;
    pointer-events: none !important;
    position: absolute !important;
    z-index: 0 !important;
}

html body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .dashboard-equipment-panel::after {
    background:
        radial-gradient(circle at 50% 42%, rgba(255, 38, 52, .26), transparent 34%),
        radial-gradient(circle at 50% 60%, rgba(255, 255, 255, .075), transparent 36%) !important;
    content: "" !important;
    inset: 54px 38px 104px !important;
    opacity: .72 !important;
    pointer-events: none !important;
    position: absolute !important;
    z-index: 0 !important;
}

html body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .dashboard-equipment-title {
    align-items: center !important;
    border-bottom: 1px solid rgba(255, 255, 255, .12) !important;
    display: grid !important;
    gap: 10px !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    margin: 0 !important;
    padding: 0 0 8px !important;
    position: relative !important;
    z-index: 3 !important;
}

html body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .dashboard-equipment-title h2 {
    color: #fff !important;
    font-size: 18px !important;
    letter-spacing: 0 !important;
    line-height: 1.05 !important;
    margin: 0 !important;
    min-width: 0 !important;
    overflow: visible !important;
    text-shadow: 0 0 14px rgba(255,255,255,.16) !important;
    white-space: nowrap !important;
}

html body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .dashboard-equipment-title a {
    color: #ff3340 !important;
    font-family: "Michroma", "Orbitron", sans-serif !important;
    font-size: 8px !important;
    font-weight: 900 !important;
    letter-spacing: .07em !important;
    line-height: 1.15 !important;
    max-width: 160px !important;
    overflow: visible !important;
    text-align: right !important;
    text-decoration: none !important;
    text-shadow: 0 0 10px rgba(255, 38, 52, .26) !important;
    text-transform: uppercase !important;
    white-space: nowrap !important;
}

html body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .dashboard-equipment-title a:hover {
    color: #ff6872 !important;
    text-shadow: 0 0 14px rgba(255, 38, 52, .45) !important;
}

html body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .dashboard-equipment-stage {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    position: relative !important;
    z-index: 2 !important;
}

html body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .dashboard-equipment-slide {
    color: inherit !important;
    display: grid !important;
    gap: 7px !important;
    grid-template-rows: minmax(126px, 1fr) auto !important;
    inset: 0 !important;
    opacity: 0 !important;
    pointer-events: none !important;
    position: absolute !important;
    text-decoration: none !important;
    transform: translateX(12px) scale(.988) !important;
    transition: opacity .36s ease, transform .36s ease, filter .36s ease !important;
}

html body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .dashboard-equipment-slide.is-active {
    filter: saturate(1.03) !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    transform: translateX(0) scale(1) !important;
}

html body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .dashboard-equipment-photo {
    align-items: center !important;
    backdrop-filter: blur(12px) saturate(1.12) !important;
    background:
        linear-gradient(135deg, rgba(255, 255, 255, .075), rgba(255, 255, 255, .018)),
        radial-gradient(circle at 50% 62%, rgba(255, 38, 52, .16), transparent 43%),
        rgba(4, 6, 10, .42) !important;
    border: 1px solid rgba(255, 255, 255, .13) !important;
    border-radius: 8px !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .13), 0 14px 28px rgba(0, 0, 0, .23) !important;
    display: flex !important;
    justify-content: center !important;
    min-height: 0 !important;
    overflow: hidden !important;
    position: relative !important;
}

html body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .dashboard-equipment-photo::before {
    background: radial-gradient(ellipse at center, rgba(255, 38, 52, .30), transparent 61%) !important;
    bottom: -16px !important;
    content: "" !important;
    height: 54px !important;
    left: 14% !important;
    pointer-events: none !important;
    position: absolute !important;
    right: 14% !important;
}

html body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .dashboard-equipment-photo img {
    display: block !important;
    height: 100% !important;
    max-height: 150px !important;
    max-width: 106% !important;
    object-fit: contain !important;
    padding: 0 4px !important;
    position: relative !important;
    transform: scale(1.06) !important;
    transition: transform .45s ease !important;
    width: 100% !important;
    z-index: 1 !important;
}

html body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .dashboard-equipment-slide.is-active:hover .dashboard-equipment-photo img {
    transform: scale(1.085) translateY(-1px) !important;
}

html body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .dashboard-equipment-copy {
    display: grid !important;
    gap: 6px !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    min-width: 0 !important;
}

html body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .dashboard-equipment-copy strong {
    color: #fff !important;
    display: block !important;
    font-size: 18px !important;
    font-weight: 900 !important;
    grid-column: 1 / -1 !important;
    letter-spacing: 0 !important;
    line-height: 1.05 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    text-shadow: 0 0 16px rgba(255, 255, 255, .16) !important;
    white-space: nowrap !important;
}

html body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .dashboard-equipment-copy span {
    align-items: center !important;
    backdrop-filter: blur(10px) !important;
    background: linear-gradient(135deg, rgba(255, 255, 255, .09), rgba(255, 255, 255, .025)), rgba(8, 11, 17, .30) !important;
    border: 1px solid rgba(255, 255, 255, .14) !important;
    border-radius: 7px !important;
    color: #fff !important;
    display: grid !important;
    font-size: 12px !important;
    font-weight: 950 !important;
    gap: 2px !important;
    line-height: 1.05 !important;
    min-height: 33px !important;
    min-width: 0 !important;
    padding: 5px 8px !important;
    text-shadow: 0 0 10px rgba(255,255,255,.10) !important;
}

html body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .dashboard-equipment-copy b {
    align-items: center !important;
    color: rgba(255, 255, 255, .63) !important;
    display: inline-flex !important;
    font-size: 8px !important;
    gap: 5px !important;
    letter-spacing: .08em !important;
    text-transform: uppercase !important;
}

html body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .dashboard-equipment-copy span:nth-of-type(1) b::before {
    content: "\1F4B3" !important;
    font-size: 10px !important;
    line-height: 1 !important;
}

html body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .dashboard-equipment-copy span:nth-of-type(2) b::before {
    content: "\1F4C5" !important;
    font-size: 10px !important;
    line-height: 1 !important;
}

html body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .dashboard-equipment-controls {
    align-items: center !important;
    bottom: 10px !important;
    display: grid !important;
    gap: 8px !important;
    grid-template-columns: 24px minmax(42px, 1fr) auto 24px !important;
    left: 16px !important;
    pointer-events: none !important;
    position: absolute !important;
    right: 16px !important;
    z-index: 5 !important;
}

html body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .dashboard-equipment-controls > button {
    align-items: center !important;
    background: rgba(255, 255, 255, .085) !important;
    border: 1px solid rgba(255, 255, 255, .18) !important;
    border-radius: 999px !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .10) !important;
    color: #fff !important;
    cursor: pointer !important;
    display: inline-flex !important;
    font-size: 15px !important;
    height: 24px !important;
    justify-content: center !important;
    line-height: 1 !important;
    opacity: 0 !important;
    padding: 0 !important;
    pointer-events: auto !important;
    transform: translateY(4px) scale(.94) !important;
    transition: opacity .22s ease, transform .22s ease, background .22s ease, box-shadow .22s ease !important;
    width: 24px !important;
}

html body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .dashboard-equipment-panel:hover .dashboard-equipment-controls > button,
html body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .dashboard-equipment-panel:focus-within .dashboard-equipment-controls > button {
    opacity: 1 !important;
    transform: translateY(0) scale(1) !important;
}

html body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .dashboard-equipment-controls > button:hover {
    background: rgba(255, 38, 52, .26) !important;
    border-color: rgba(255, 95, 106, .46) !important;
    box-shadow: 0 0 14px rgba(255, 38, 52, .30), inset 0 1px 0 rgba(255, 255, 255, .14) !important;
}

html body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .dashboard-equipment-progress {
    align-items: center !important;
    background: rgba(255, 255, 255, .09) !important;
    border-radius: 999px !important;
    display: flex !important;
    height: 3px !important;
    min-width: 0 !important;
    overflow: hidden !important;
    pointer-events: none !important;
}

html body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .dashboard-equipment-progress span {
    background: linear-gradient(90deg, #ff2634, #ff7480) !important;
    border-radius: inherit !important;
    box-shadow: 0 0 10px rgba(255, 38, 52, .58) !important;
    display: block !important;
    height: 100% !important;
    transition: width .36s ease !important;
    width: 0% !important;
}

html body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .dashboard-equipment-count {
    color: rgba(255, 255, 255, .72) !important;
    font-family: "Michroma", "Orbitron", sans-serif !important;
    font-size: 8px !important;
    letter-spacing: .08em !important;
    line-height: 1 !important;
    white-space: nowrap !important;
}

html body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .dashboard-equipment-dots {
    display: none !important;
}
/* DARKLAB - Dashboard equipment carousel overlap fix */
html body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .dashboard-equipment-panel {
    gap: 8px !important;
    padding: 14px 16px 11px !important;
}

html body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .dashboard-equipment-panel::after {
    inset: 50px 42px 116px !important;
}

html body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .dashboard-equipment-title {
    gap: 8px !important;
    grid-template-columns: minmax(0, 1fr) max-content !important;
    padding-bottom: 8px !important;
}

html body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .dashboard-equipment-title h2 {
    font-size: 17px !important;
    max-width: 100% !important;
    min-width: 0 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

html body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .dashboard-equipment-title a {
    font-size: 7.5px !important;
    max-width: none !important;
    overflow: visible !important;
}

html body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .dashboard-equipment-stage {
    flex: 1 1 auto !important;
    min-height: 0 !important;
}

html body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .dashboard-equipment-slide {
    gap: 7px !important;
    grid-template-rows: minmax(112px, 1fr) auto !important;
}

html body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .dashboard-equipment-photo img {
    max-height: 132px !important;
    transform: scale(1.03) !important;
}

html body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .dashboard-equipment-slide.is-active:hover .dashboard-equipment-photo img {
    transform: scale(1.055) translateY(-1px) !important;
}

html body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .dashboard-equipment-copy {
    gap: 5px !important;
}

html body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .dashboard-equipment-copy strong {
    font-size: 17px !important;
    line-height: 1 !important;
}

html body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .dashboard-equipment-copy span {
    font-size: 10.5px !important;
    min-height: 30px !important;
    padding: 4px 7px !important;
}

html body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .dashboard-equipment-copy b {
    font-size: 7.5px !important;
}

html body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .dashboard-equipment-controls {
    display: grid !important;
    flex: 0 0 auto !important;
    gap: 7px !important;
    grid-template-columns: 22px minmax(48px, 1fr) auto 22px !important;
    left: auto !important;
    margin-top: 1px !important;
    pointer-events: none !important;
    position: relative !important;
    right: auto !important;
    bottom: auto !important;
    width: 100% !important;
}

html body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .dashboard-equipment-controls > button {
    font-size: 14px !important;
    height: 22px !important;
    width: 22px !important;
}

html body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .dashboard-equipment-count {
    font-size: 7.5px !important;
}
/* DARKLAB - Sidebar fixed clean scroll */
html body.darklab-fixed-bg:not(.no-portal-bg) > .portal-layout:not(.configurator-layout) > .sidebar {
    -ms-overflow-style: none !important;
    overscroll-behavior: contain !important;
    position: sticky !important;
    scrollbar-width: none !important;
    top: 0 !important;
}

html body.darklab-fixed-bg:not(.no-portal-bg) > .portal-layout:not(.configurator-layout) > .sidebar::-webkit-scrollbar {
    display: none !important;
    height: 0 !important;
    width: 0 !important;
}

html body.darklab-fixed-bg:not(.no-portal-bg) > .portal-layout:not(.configurator-layout) > .sidebar .side-nav {
    padding-bottom: 18px !important;
}

/* DARKLAB - File service opening status on services summary */
body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .service-file-status {
    align-items: center;
    background: linear-gradient(110deg, rgba(255,255,255,.07), rgba(255,255,255,.035));
    border: 1px solid rgba(255,255,255,.14);
    border-radius: 12px;
    display: flex;
    justify-content: space-between;
    margin-top: 8px;
    padding: 9px 11px;
    text-transform: uppercase;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .service-file-status span {
    align-items: center;
    display: inline-flex;
    gap: 7px;
    font-family: var(--font-ui);
    font-size: 11px;
    font-weight: 850;
    letter-spacing: .12em;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .service-file-status i {
    border-radius: 50%;
    display: inline-block;
    height: 9px;
    width: 9px;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .service-file-status small {
    color: rgba(245,247,252,.68);
    font-size: 10px;
    font-weight: 750;
    letter-spacing: .08em;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .service-file-status.is-open {
    border-color: rgba(67,255,138,.30);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.12), 0 0 18px rgba(42,210,92,.12);
    color: #72ff98;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .service-file-status.is-open i {
    background: #62ff87;
    box-shadow: 0 0 12px rgba(98,255,135,.85);
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .service-file-status.is-closed {
    border-color: rgba(255,51,64,.34);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.10), 0 0 18px rgba(255,38,52,.16);
    color: #ff6069;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .service-file-status.is-closed i {
    background: #ff3340;
    box-shadow: 0 0 12px rgba(255,51,64,.9);
}


/* DARKLAB - Equipements Pro sidebar flush + slim scrollbar */
html body.darklab-fixed-bg:not(.no-portal-bg) > .portal-layout.pro-equipment-layout {
    align-items: stretch !important;
}

html body.darklab-fixed-bg:not(.no-portal-bg) > .portal-layout.pro-equipment-layout > .sidebar {
    align-self: start !important;
    margin-top: 0 !important;
    top: 0 !important;
    scrollbar-color: rgba(255, 38, 52, .55) rgba(255, 255, 255, .055) !important;
    scrollbar-width: thin !important;
}

html body.darklab-fixed-bg:not(.no-portal-bg) > .portal-layout.pro-equipment-layout > .sidebar::-webkit-scrollbar {
    display: block !important;
    width: 5px !important;
}

html body.darklab-fixed-bg:not(.no-portal-bg) > .portal-layout.pro-equipment-layout > .sidebar::-webkit-scrollbar-track {
    background: linear-gradient(180deg, rgba(255,255,255,.035), rgba(255,38,52,.055)) !important;
    border-left: 1px solid rgba(255,255,255,.04) !important;
}

html body.darklab-fixed-bg:not(.no-portal-bg) > .portal-layout.pro-equipment-layout > .sidebar::-webkit-scrollbar-thumb {
    background: linear-gradient(180deg, rgba(255,255,255,.34), rgba(255,38,52,.62)) !important;
    border-radius: 999px !important;
    box-shadow: 0 0 10px rgba(255,38,52,.24) !important;
}

html body.darklab-fixed-bg:not(.no-portal-bg) > .portal-layout.pro-equipment-layout > .sidebar::-webkit-scrollbar-thumb:hover {
    background: linear-gradient(180deg, rgba(255,255,255,.48), rgba(255,38,52,.86)) !important;
}

html body.darklab-fixed-bg:not(.no-portal-bg) > .portal-layout.pro-equipment-layout > .pro-equipment-main {
    padding-top: 28px !important;
}


/* DARKLAB - Dashboard plus glyph size only */
body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .upload-launch-action {
    font-size: 42px !important;
    line-height: 1 !important;
}

@media (max-width: 980px) {
    body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .upload-launch-action {
        font-size: 36px !important;
    }
}

/* DARKLAB - Equipements Pro cart and checkout */
body.darklab-fixed-bg:not(.no-portal-bg) .equipment-cart-fab {
    align-items: center; background: linear-gradient(145deg, rgba(255,38,52,.92), rgba(119,0,15,.90));
    border: 1px solid rgba(255,115,125,.48); border-radius: 999px; box-shadow: inset 0 1px 0 rgba(255,255,255,.22), 0 0 26px rgba(255,38,52,.26), 0 16px 34px rgba(0,0,0,.38);
    color: #fff; cursor: pointer; display: inline-flex; height: 52px; justify-content: center; position: fixed; right: 32px; top: 28px; transition: transform .18s ease, box-shadow .18s ease; width: 52px; z-index: 90;
}
body.darklab-fixed-bg:not(.no-portal-bg) .equipment-cart-fab:hover { box-shadow: inset 0 1px 0 rgba(255,255,255,.28), 0 0 34px rgba(255,38,52,.42), 0 20px 42px rgba(0,0,0,.46); transform: translateY(-2px); }
body.darklab-fixed-bg:not(.no-portal-bg) .equipment-cart-fab span { font-size: 21px; line-height: 1; }
body.darklab-fixed-bg:not(.no-portal-bg) .equipment-cart-fab strong { align-items: center; background: #fff; border-radius: 999px; color: #ec1c28; display: flex; font: 800 11px var(--font-ui); height: 20px; justify-content: center; position: absolute; right: -5px; top: -5px; width: 20px; }
body.darklab-fixed-bg:not(.no-portal-bg) .pro-equipment-actions button.is-active { background: linear-gradient(135deg, rgba(255,38,52,.28), rgba(255,255,255,.10)); border-color: rgba(255,80,94,.78); box-shadow: inset 0 1px 0 rgba(255,255,255,.18), 0 0 18px rgba(255,38,52,.22); }
body.darklab-fixed-bg:not(.no-portal-bg) .pro-equipment-add { background: rgba(255,255,255,.055); border: 1px solid rgba(255,255,255,.14); border-radius: 7px; color: rgba(247,249,255,.58); cursor: not-allowed; font: 800 10px var(--font-ui); letter-spacing: .12em; margin-top: 8px; opacity: .58; padding: 9px 10px; text-transform: uppercase; transition: all .18s ease; width: 100%; }
body.darklab-fixed-bg:not(.no-portal-bg) .pro-equipment-add:not(:disabled) { background: linear-gradient(135deg, rgba(255,38,52,.92), rgba(122,0,14,.88)); border-color: rgba(255,89,101,.48); box-shadow: 0 0 16px rgba(255,38,52,.18); color: #fff; cursor: pointer; opacity: 1; }
body.darklab-fixed-bg:not(.no-portal-bg) .equipment-cart-backdrop { background: rgba(0,0,0,.54); inset: 0; position: fixed; z-index: 96; }
body.darklab-fixed-bg:not(.no-portal-bg) .equipment-cart-drawer { background: linear-gradient(145deg, rgba(49,63,82,.92), rgba(9,10,15,.97) 46%, rgba(63,18,29,.92)); border-left: 1px solid rgba(255,255,255,.14); box-shadow: -30px 0 80px rgba(0,0,0,.54), -1px 0 0 rgba(255,38,52,.16); color: #fff; display: grid; gap: 14px; grid-template-rows: auto minmax(0,1fr) auto auto auto; height: 100vh; max-width: min(440px, 92vw); padding: 24px; position: fixed; right: 0; top: 0; transform: translateX(105%); transition: transform .25s ease; width: 440px; z-index: 97; }
body.darklab-fixed-bg:not(.no-portal-bg) .equipment-cart-drawer.is-open { transform: translateX(0); }
body.darklab-fixed-bg:not(.no-portal-bg) .equipment-cart-drawer header { align-items: center; border-bottom: 1px solid rgba(255,255,255,.12); display: flex; justify-content: space-between; padding-bottom: 14px; }
body.darklab-fixed-bg:not(.no-portal-bg) .equipment-cart-drawer h2 { font-size: 23px; margin: 0; }
body.darklab-fixed-bg:not(.no-portal-bg) .equipment-cart-drawer header button, body.darklab-fixed-bg:not(.no-portal-bg) .equipment-cart-continue { background: rgba(255,255,255,.07); border: 1px solid rgba(255,255,255,.16); border-radius: 8px; color: #fff; cursor: pointer; padding: 10px 13px; }
body.darklab-fixed-bg:not(.no-portal-bg) .equipment-cart-items { display: grid; gap: 10px; overflow-y: auto; padding-right: 4px; }
body.darklab-fixed-bg:not(.no-portal-bg) .equipment-cart-item { align-items: center; background: rgba(255,255,255,.055); border: 1px solid rgba(255,255,255,.12); border-radius: 10px; display: grid; gap: 10px; grid-template-columns: 54px minmax(0,1fr) auto; padding: 10px; }
body.darklab-fixed-bg:not(.no-portal-bg) .equipment-cart-item img { border-radius: 7px; height: 48px; object-fit: cover; width: 54px; }
body.darklab-fixed-bg:not(.no-portal-bg) .equipment-cart-item strong, body.darklab-fixed-bg:not(.no-portal-bg) .equipment-cart-item span, body.darklab-fixed-bg:not(.no-portal-bg) .equipment-cart-item small { display: block; }
body.darklab-fixed-bg:not(.no-portal-bg) .equipment-cart-item span, body.darklab-fixed-bg:not(.no-portal-bg) .equipment-cart-item small { color: rgba(236,241,250,.62); font-size: 11px; }
body.darklab-fixed-bg:not(.no-portal-bg) .equipment-cart-qty { align-items: center; display: flex; gap: 6px; grid-column: 3; grid-row: 1; }
body.darklab-fixed-bg:not(.no-portal-bg) .equipment-cart-qty button, body.darklab-fixed-bg:not(.no-portal-bg) .equipment-cart-remove { background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.14); border-radius: 7px; color: #fff; cursor: pointer; height: 25px; min-width: 25px; }
body.darklab-fixed-bg:not(.no-portal-bg) .equipment-cart-remove { color: #ff6d78; font-size: 10px; grid-column: 2 / 4; height: auto; padding: 7px 10px; text-transform: uppercase; }
body.darklab-fixed-bg:not(.no-portal-bg) .equipment-cart-empty { color: rgba(236,241,250,.68); padding: 28px 0; text-align: center; }
body.darklab-fixed-bg:not(.no-portal-bg) .equipment-cart-totals { background: rgba(0,0,0,.20); border: 1px solid rgba(255,255,255,.12); border-radius: 11px; display: grid; gap: 8px; padding: 12px; }
body.darklab-fixed-bg:not(.no-portal-bg) .equipment-cart-totals div { display: flex; gap: 12px; justify-content: space-between; }
body.darklab-fixed-bg:not(.no-portal-bg) .equipment-cart-totals span, body.darklab-fixed-bg:not(.no-portal-bg) .equipment-cart-totals small { color: rgba(236,241,250,.62); font-size: 11px; }
body.darklab-fixed-bg:not(.no-portal-bg) .equipment-cart-totals strong { color: #fff; }
body.darklab-fixed-bg:not(.no-portal-bg) .equipment-cart-checkout, body.darklab-fixed-bg:not(.no-portal-bg) .equipment-checkout-submit { background: linear-gradient(135deg, #ff2634, #9c0011); border: 1px solid rgba(255,255,255,.18); border-radius: 9px; box-shadow: 0 0 24px rgba(255,38,52,.22); color: #fff; cursor: pointer; font: 800 13px var(--font-ui); letter-spacing: .08em; padding: 14px 18px; text-transform: uppercase; width: 100%; }
body.darklab-fixed-bg:not(.no-portal-bg) .equipment-checkout-main { padding: 44px clamp(22px,4vw,70px) 70px; }
body.darklab-fixed-bg:not(.no-portal-bg) .equipment-checkout-hero h1 { color: #fff; font-size: clamp(38px,5vw,76px); margin: 0; }
body.darklab-fixed-bg:not(.no-portal-bg) .equipment-checkout-hero p:not(.eyebrow) { color: rgba(236,241,250,.68); }
body.darklab-fixed-bg:not(.no-portal-bg) .equipment-checkout-grid { display: grid; gap: 22px; grid-template-columns: minmax(0,.86fr) minmax(0,1.14fr); }
body.darklab-fixed-bg:not(.no-portal-bg) .equipment-checkout-panel, body.darklab-fixed-bg:not(.no-portal-bg) .equipment-confirmation-panel, body.darklab-fixed-bg:not(.no-portal-bg) .equipment-checkout-alert { background: linear-gradient(125deg, rgba(255,255,255,.14), rgba(255,255,255,.065) 45%, rgba(255,38,52,.08)), rgba(15,18,25,.82); border: 1px solid rgba(255,255,255,.16); border-radius: 10px; box-shadow: 0 24px 70px rgba(0,0,0,.32); padding: 24px; }
body.darklab-fixed-bg:not(.no-portal-bg) .equipment-checkout-alert { border-color: rgba(255,38,52,.45); color: #ffd7dc; margin: 16px 0; }
body.darklab-fixed-bg:not(.no-portal-bg) .equipment-checkout-panel h2 { color: #fff; margin-top: 0; }
body.darklab-fixed-bg:not(.no-portal-bg) .equipment-checkout-panel label { color: rgba(236,241,250,.76); display: grid; gap: 7px; margin-bottom: 13px; }
body.darklab-fixed-bg:not(.no-portal-bg) .equipment-checkout-panel input, body.darklab-fixed-bg:not(.no-portal-bg) .equipment-checkout-panel textarea, body.darklab-fixed-bg:not(.no-portal-bg) .equipment-checkout-panel select { background: rgba(5,7,12,.68); border: 1px solid rgba(255,255,255,.14); border-radius: 8px; color: #fff; padding: 12px 13px; }
body.darklab-fixed-bg:not(.no-portal-bg) .equipment-checkout-items { display: grid; gap: 10px; }
body.darklab-fixed-bg:not(.no-portal-bg) .equipment-checkout-items article { align-items: center; border-bottom: 1px solid rgba(255,255,255,.10); display: grid; gap: 12px; grid-template-columns: 60px 1fr auto auto; padding: 10px 0; }
body.darklab-fixed-bg:not(.no-portal-bg) .equipment-checkout-items img { border-radius: 7px; height: 52px; object-fit: cover; width: 60px; }
body.darklab-fixed-bg:not(.no-portal-bg) .equipment-checkout-items span, body.darklab-fixed-bg:not(.no-portal-bg) .equipment-rental-note { color: rgba(236,241,250,.62); }
body.darklab-fixed-bg:not(.no-portal-bg) .equipment-checkout-totals { display: grid; gap: 9px; margin-top: 16px; }
body.darklab-fixed-bg:not(.no-portal-bg) .equipment-checkout-totals div { align-items: center; border: 1px solid rgba(255,255,255,.12); border-radius: 8px; display: flex; justify-content: space-between; padding: 10px 12px; }
body.darklab-fixed-bg:not(.no-portal-bg) .equipment-checkout-totals span { color: rgba(236,241,250,.62); }
body.darklab-fixed-bg:not(.no-portal-bg) .equipment-terms { align-items: center; display: flex !important; gap: 10px; margin: 18px 0 !important; }
body.darklab-fixed-bg:not(.no-portal-bg) .equipment-return-link { color: #ff5160; display: inline-block; margin-top: 22px; }
@media (max-width: 900px) { body.darklab-fixed-bg:not(.no-portal-bg) .equipment-checkout-grid { grid-template-columns: 1fr; } body.darklab-fixed-bg:not(.no-portal-bg) .equipment-cart-fab { right: 18px; top: 18px; } }

body.darklab-admin .equipment-admin-update {
    display: grid;
    gap: 8px;
    min-width: 210px;
}
body.darklab-admin .equipment-admin-update select,
body.darklab-admin .equipment-admin-update input {
    background: rgba(255,255,255,.055);
    border: 1px solid rgba(255,255,255,.14);
    border-radius: 8px;
    color: rgba(247,249,255,.92);
    font: 700 11px var(--font-ui);
    padding: 8px 9px;
}
body.darklab-admin .equipment-admin-update button {
    background: linear-gradient(135deg, #ec1c28, #9b0612);
    border: 1px solid rgba(255,115,125,.42);
    border-radius: 999px;
    color: #fff;
    cursor: pointer;
    font: 800 10px var(--font-ui);
    letter-spacing: .08em;
    padding: 8px 10px;
    text-transform: uppercase;
}

/* DARKLAB - fiche premium Equipements Pro */
body.darklab-fixed-bg:not(.no-portal-bg) .equipment-drawer-backdrop {
    background: radial-gradient(circle at 68% 28%, rgba(255, 38, 52, .14), transparent 34%), rgba(0, 0, 0, .72);
    backdrop-filter: blur(6px);
}
body.darklab-fixed-bg:not(.no-portal-bg) .equipment-drawer {
    background:
        linear-gradient(145deg, rgba(48, 62, 82, .90), rgba(8, 10, 15, .98) 42%, rgba(58, 14, 26, .92)),
        rgba(8, 10, 14, .96);
    border: 1px solid rgba(255, 255, 255, .16);
    border-radius: 18px;
    box-shadow: 0 30px 90px rgba(0, 0, 0, .62), 0 0 0 1px rgba(255, 38, 52, .10), 0 0 42px rgba(255, 38, 52, .12);
    display: grid;
    grid-template-columns: minmax(330px, .88fr) minmax(420px, 1.12fr);
    grid-template-rows: 1fr;
    height: min(760px, calc(100vh - 58px));
    left: 50%;
    max-width: none;
    opacity: 0;
    overflow: hidden;
    pointer-events: none;
    right: auto;
    top: 50%;
    transform: translate(-50%, -48%) scale(.965);
    transition: opacity .18s ease, transform .22s ease;
    width: min(1120px, calc(100vw - 58px));
}
body.darklab-fixed-bg:not(.no-portal-bg) .equipment-drawer.is-open {
    opacity: 1;
    pointer-events: auto;
    transform: translate(-50%, -50%) scale(1);
}
body.darklab-fixed-bg:not(.no-portal-bg) .equipment-drawer-close {
    background: rgba(255,255,255,.08);
    border-color: rgba(255,255,255,.20);
    border-radius: 12px;
    right: 20px;
    top: 20px;
}
body.darklab-fixed-bg:not(.no-portal-bg) .equipment-drawer-media {
    align-items: center;
    background: radial-gradient(circle at 52% 55%, rgba(255, 38, 52, .20), transparent 38%), linear-gradient(145deg, rgba(255,255,255,.08), rgba(0,0,0,.34));
    display: flex;
    justify-content: center;
    min-height: 0;
    padding: 34px;
    position: relative;
}
body.darklab-fixed-bg:not(.no-portal-bg) .equipment-drawer-media::after {
    background: linear-gradient(90deg, transparent, rgba(255,255,255,.11), transparent);
    content: "";
    height: 100%;
    left: 18%;
    opacity: .45;
    position: absolute;
    top: 0;
    transform: skewX(-18deg);
    width: 18%;
}
body.darklab-fixed-bg:not(.no-portal-bg) .equipment-drawer-media img {
    border-radius: 14px;
    box-shadow: 0 26px 54px rgba(0,0,0,.46), 0 0 34px rgba(255,38,52,.12);
    height: auto;
    max-height: 74%;
    object-fit: contain;
    position: relative;
    width: min(100%, 430px);
    z-index: 1;
}
body.darklab-fixed-bg:not(.no-portal-bg) .equipment-drawer-badge {
    background: rgba(8, 12, 18, .72);
    border: 1px solid rgba(255, 255, 255, .16);
    border-radius: 999px;
    bottom: 30px;
    color: rgba(245, 248, 255, .86);
    font: 800 10px var(--font-ui);
    left: 34px;
    letter-spacing: .12em;
    padding: 9px 12px;
    position: absolute;
    text-transform: uppercase;
    z-index: 2;
}
body.darklab-fixed-bg:not(.no-portal-bg) .equipment-drawer-body {
    display: flex;
    flex-direction: column;
    gap: 18px;
    min-height: 0;
    overflow: auto;
    padding: 40px 40px 34px;
}
body.darklab-fixed-bg:not(.no-portal-bg) .equipment-drawer-body h2 {
    color: #fff;
    font-size: clamp(34px, 4vw, 58px);
    margin: 4px 0 10px;
    text-shadow: 0 0 18px rgba(255,255,255,.12);
}
body.darklab-fixed-bg:not(.no-portal-bg) .equipment-drawer-body p {
    color: rgba(238, 242, 250, .78);
    font-size: 15px;
    line-height: 1.5;
    margin: 0;
}
body.darklab-fixed-bg:not(.no-portal-bg) .equipment-detail-actions {
    display: grid;
    gap: 10px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}
body.darklab-fixed-bg:not(.no-portal-bg) .equipment-detail-actions button {
    background: rgba(255,255,255,.06);
    border: 1px solid rgba(255,255,255,.14);
    border-radius: 11px;
    color: #fff;
    cursor: pointer;
    padding: 13px 14px;
    text-align: left;
    transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease, background .18s ease;
}
body.darklab-fixed-bg:not(.no-portal-bg) .equipment-detail-actions button:hover,
body.darklab-fixed-bg:not(.no-portal-bg) .equipment-detail-actions button.is-active {
    background: linear-gradient(135deg, rgba(255, 38, 52, .22), rgba(255,255,255,.09));
    border-color: rgba(255, 75, 90, .72);
    box-shadow: 0 0 22px rgba(255,38,52,.18), inset 0 1px 0 rgba(255,255,255,.13);
    transform: translateY(-1px);
}
body.darklab-fixed-bg:not(.no-portal-bg) .equipment-detail-actions span,
body.darklab-fixed-bg:not(.no-portal-bg) .equipment-detail-actions strong {
    display: block;
    font-family: var(--font-ui);
}
body.darklab-fixed-bg:not(.no-portal-bg) .equipment-detail-actions span {
    color: rgba(236,241,250,.60);
    font-size: 10px;
    letter-spacing: .10em;
    text-transform: uppercase;
}
body.darklab-fixed-bg:not(.no-portal-bg) .equipment-detail-actions strong {
    color: #ff3142;
    font-size: 16px;
    margin-top: 6px;
}
body.darklab-fixed-bg:not(.no-portal-bg) .equipment-detail-add {
    background: linear-gradient(135deg, #ff2634, #9c0011);
    border: 1px solid rgba(255, 255, 255, .18);
    border-radius: 10px;
    box-shadow: 0 0 24px rgba(255,38,52,.20);
    color: #fff;
    cursor: pointer;
    font: 900 12px var(--font-ui);
    letter-spacing: .10em;
    padding: 15px 18px;
    text-transform: uppercase;
    transition: opacity .18s ease, transform .18s ease, box-shadow .18s ease;
}
body.darklab-fixed-bg:not(.no-portal-bg) .equipment-detail-add:disabled {
    background: rgba(255,255,255,.055);
    box-shadow: none;
    color: rgba(236,241,250,.44);
    cursor: not-allowed;
    opacity: .75;
}
body.darklab-fixed-bg:not(.no-portal-bg) .equipment-detail-add:not(:disabled):hover {
    box-shadow: 0 0 32px rgba(255,38,52,.34);
    transform: translateY(-1px);
}
body.darklab-fixed-bg:not(.no-portal-bg) .equipment-feature-grid {
    display: grid;
    gap: 10px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}
body.darklab-fixed-bg:not(.no-portal-bg) .equipment-feature-grid article {
    background: rgba(255,255,255,.045);
    border: 1px solid rgba(255,255,255,.10);
    border-radius: 12px;
    min-height: 96px;
    padding: 14px;
}
body.darklab-fixed-bg:not(.no-portal-bg) .equipment-feature-grid span {
    color: #ff3040;
    display: block;
    font: 900 11px var(--font-ui);
    letter-spacing: .14em;
    margin-bottom: 8px;
}
body.darklab-fixed-bg:not(.no-portal-bg) .equipment-feature-grid p {
    color: rgba(242,245,252,.76);
    font-size: 13px;
    line-height: 1.35;
}
body.darklab-fixed-bg:not(.no-portal-bg) .equipment-detail-columns {
    display: grid;
    gap: 16px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}
body.darklab-fixed-bg:not(.no-portal-bg) .equipment-detail-columns section {
    border-top: 1px solid rgba(255,255,255,.12);
    padding-top: 16px;
}
body.darklab-fixed-bg:not(.no-portal-bg) .equipment-detail-columns h3 {
    border: 0;
    margin: 0 0 10px;
    padding: 0;
}
body.darklab-fixed-bg:not(.no-portal-bg) .equipment-detail-columns ul {
    color: rgba(236,241,250,.72);
    font-size: 13px;
    line-height: 1.45;
}
@media (max-width: 920px) {
    body.darklab-fixed-bg:not(.no-portal-bg) .equipment-drawer {
        grid-template-columns: 1fr;
        height: min(92vh, 900px);
        overflow: auto;
        width: min(94vw, 680px);
    }
    body.darklab-fixed-bg:not(.no-portal-bg) .equipment-drawer-media {
        min-height: 260px;
    }
    body.darklab-fixed-bg:not(.no-portal-bg) .equipment-detail-actions,
    body.darklab-fixed-bg:not(.no-portal-bg) .equipment-feature-grid,
    body.darklab-fixed-bg:not(.no-portal-bg) .equipment-detail-columns {
        grid-template-columns: 1fr;
    }
}

/* DARKLAB - fix historique readability + equipment top alignment */
html body.darklab-fixed-bg:not(.no-portal-bg) > .portal-layout.pro-equipment-layout {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

html body.darklab-fixed-bg:not(.no-portal-bg) > .portal-layout.pro-equipment-layout > .sidebar,
html body.darklab-fixed-bg:not(.no-portal-bg) > .portal-layout.pro-equipment-layout > .pro-equipment-main {
    margin-top: 0 !important;
}

html body.darklab-fixed-bg:not(.no-portal-bg) > .portal-layout.pro-equipment-layout > .pro-equipment-main {
    padding-top: 0 !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) #history .history-table th:first-child,
body.darklab-fixed-bg:not(.no-portal-bg) #history .history-table td:first-child {
    width: 50% !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) #history .history-table th:nth-child(3),
body.darklab-fixed-bg:not(.no-portal-bg) #history .history-table td:nth-child(3) {
    width: 18% !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) #history .history-table th:nth-child(4),
body.darklab-fixed-bg:not(.no-portal-bg) #history .history-table td:nth-child(4) {
    width: 20% !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) #history .history-table td:first-child strong {
    color: rgba(255, 255, 255, .98) !important;
    font-size: clamp(16px, 1.15vw, 19px) !important;
    font-weight: 900 !important;
    letter-spacing: .01em !important;
    text-shadow: 0 0 12px rgba(255, 255, 255, .12) !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) #history .history-table td:first-child small {
    color: rgba(221, 230, 244, .88) !important;
}

/* DARKLAB - unified sidebar color across all client pages */
html body.darklab-fixed-bg:not(.no-portal-bg) > .portal-layout.configurator-layout > .sidebar {
    background:
        radial-gradient(circle at 34% 8%, rgba(255, 255, 255, .12), transparent 32%),
        linear-gradient(180deg, rgba(35, 38, 48, .9), rgba(24, 22, 30, .88) 48%, rgba(20, 12, 20, .9)),
        rgba(18, 18, 24, .86) !important;
    border-right: 1px solid rgba(255, 255, 255, .13) !important;
    box-shadow:
        14px 0 46px rgba(0, 0, 0, .28),
        inset -1px 0 0 rgba(236, 28, 36, .22),
        inset 0 1px 0 rgba(255, 255, 255, .08) !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    overscroll-behavior-y: contain;
    scrollbar-color: rgba(236, 28, 36, .78) rgba(255, 255, 255, .05);
    scrollbar-width: thin;
}

html body.darklab-fixed-bg:not(.no-portal-bg) > .portal-layout.configurator-layout > .sidebar::-webkit-scrollbar {
    width: 5px;
}

html body.darklab-fixed-bg:not(.no-portal-bg) > .portal-layout.configurator-layout > .sidebar::-webkit-scrollbar-track {
    background: rgba(255, 255, 255, .035);
}

html body.darklab-fixed-bg:not(.no-portal-bg) > .portal-layout.configurator-layout > .sidebar::-webkit-scrollbar-thumb {
    border-radius: 999px;
    background: linear-gradient(180deg, #ff2a38, #8f0010);
}

html body.darklab-fixed-bg:not(.no-portal-bg) > .portal-layout.configurator-layout > .sidebar:hover,
html body.darklab-fixed-bg:not(.no-portal-bg) > .portal-layout.configurator-layout > .sidebar:focus-within {
    background:
        radial-gradient(circle at 34% 8%, rgba(255, 255, 255, .12), transparent 32%),
        linear-gradient(180deg, rgba(35, 38, 48, .9), rgba(24, 22, 30, .88) 48%, rgba(20, 12, 20, .9)),
        rgba(18, 18, 24, .86) !important;
    border-right-color: rgba(255, 255, 255, .13) !important;
    box-shadow:
        14px 0 46px rgba(0, 0, 0, .28),
        inset -1px 0 0 rgba(236, 28, 36, .22),
        inset 0 1px 0 rgba(255, 255, 255, .08) !important;
}

/* DARKLAB - compact equipment cart drawer */
body.darklab-fixed-bg:not(.no-portal-bg) .equipment-cart-drawer {
    gap: 10px !important;
    padding: 18px 18px 16px !important;
    width: 410px !important;
    max-width: min(410px, 92vw) !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .equipment-cart-drawer header {
    padding-bottom: 10px !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .equipment-cart-drawer h2 {
    font-size: 20px !important;
    line-height: 1.1 !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .equipment-cart-drawer .eyebrow {
    font-size: 10px !important;
    margin-bottom: 6px !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .equipment-cart-drawer header button {
    align-items: center !important;
    display: inline-flex !important;
    height: 36px !important;
    justify-content: center !important;
    padding: 0 !important;
    width: 36px !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .equipment-cart-items {
    gap: 8px !important;
    padding-right: 2px !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .equipment-cart-item {
    align-items: center !important;
    gap: 9px !important;
    grid-template-columns: 48px minmax(0, 1fr) 92px !important;
    min-height: 78px !important;
    padding: 9px !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .equipment-cart-item img {
    border-radius: 7px !important;
    height: 44px !important;
    width: 48px !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .equipment-cart-item strong {
    font-size: 14px !important;
    line-height: 1.05 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .equipment-cart-item span,
body.darklab-fixed-bg:not(.no-portal-bg) .equipment-cart-item small {
    font-size: 10px !important;
    line-height: 1.15 !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .equipment-cart-qty {
    align-items: center !important;
    gap: 5px !important;
    grid-column: 3 !important;
    justify-content: end !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .equipment-cart-qty b {
    font-size: 13px !important;
    min-width: 14px !important;
    text-align: center !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .equipment-cart-qty button {
    border-radius: 7px !important;
    height: 28px !important;
    min-width: 28px !important;
    width: 28px !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .equipment-cart-remove {
    align-self: end !important;
    font-size: 9px !important;
    grid-column: 2 / 4 !important;
    height: 26px !important;
    justify-self: stretch !important;
    line-height: 1 !important;
    padding: 0 10px !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .equipment-cart-totals {
    gap: 5px !important;
    padding: 10px 12px !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .equipment-cart-totals div {
    align-items: baseline !important;
    gap: 10px !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .equipment-cart-totals span,
body.darklab-fixed-bg:not(.no-portal-bg) .equipment-cart-totals small {
    font-size: 10px !important;
    line-height: 1.2 !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .equipment-cart-totals strong {
    font-size: 13px !important;
    white-space: nowrap !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .equipment-cart-checkout,
body.darklab-fixed-bg:not(.no-portal-bg) .equipment-cart-continue {
    min-height: 44px !important;
    padding: 10px 14px !important;
}

/* DARKLAB - compact equipment cart items */
body.darklab-fixed-bg:not(.no-portal-bg) .equipment-cart-drawer {
    grid-template-rows: auto minmax(0, 1fr) auto auto auto !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .equipment-cart-item {
    align-items: center !important;
    background:
        linear-gradient(135deg, rgba(255, 255, 255, .075), rgba(255, 255, 255, .03) 52%, rgba(255, 38, 52, .05)),
        rgba(9, 11, 17, .58) !important;
    border-color: rgba(255, 255, 255, .14) !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .06), 0 12px 28px rgba(0, 0, 0, .20) !important;
    grid-template-columns: 56px minmax(0, 1fr) auto !important;
    min-height: 0 !important;
    padding: 8px 9px !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .equipment-cart-item img {
    aspect-ratio: 1 / 1 !important;
    background: rgba(0, 0, 0, .28) !important;
    border: 1px solid rgba(255, 255, 255, .08) !important;
    border-radius: 8px !important;
    height: 52px !important;
    object-fit: cover !important;
    width: 52px !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .equipment-cart-meta {
    min-width: 0 !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .equipment-cart-meta strong {
    color: #fff !important;
    display: block !important;
    font-size: 14px !important;
    line-height: 1.05 !important;
    margin-bottom: 3px !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .equipment-cart-meta span,
body.darklab-fixed-bg:not(.no-portal-bg) .equipment-cart-meta small {
    display: block !important;
    line-height: 1.1 !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .equipment-cart-meta span {
    color: rgba(236, 241, 250, .68) !important;
    font-size: 10px !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .equipment-cart-meta small {
    color: #fff !important;
    font-size: 11px !important;
    margin-top: 2px !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .equipment-cart-actions {
    align-items: flex-end !important;
    display: grid !important;
    gap: 6px !important;
    justify-items: end !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .equipment-cart-qty {
    background: rgba(255, 255, 255, .045) !important;
    border: 1px solid rgba(255, 255, 255, .10) !important;
    border-radius: 999px !important;
    display: grid !important;
    gap: 2px !important;
    grid-column: auto !important;
    grid-template-columns: 24px 18px 24px !important;
    grid-row: auto !important;
    justify-content: center !important;
    padding: 2px !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .equipment-cart-qty button {
    align-items: center !important;
    background: rgba(255, 255, 255, .075) !important;
    border: 1px solid rgba(255, 255, 255, .12) !important;
    border-radius: 999px !important;
    color: #fff !important;
    display: inline-flex !important;
    font: 900 13px/1 var(--font-ui) !important;
    height: 24px !important;
    justify-content: center !important;
    min-width: 24px !important;
    padding: 0 !important;
    transition: border-color .16s ease, box-shadow .16s ease, transform .16s ease !important;
    width: 24px !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .equipment-cart-qty button:hover {
    border-color: rgba(255, 82, 96, .72) !important;
    box-shadow: 0 0 13px rgba(255, 38, 52, .22) !important;
    transform: translateY(-1px) !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .equipment-cart-qty b {
    align-self: center !important;
    color: #fff !important;
    font-size: 12px !important;
    line-height: 1 !important;
    min-width: 18px !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .equipment-cart-remove {
    align-items: center !important;
    background: rgba(255, 38, 52, .08) !important;
    border: 1px solid rgba(255, 74, 88, .28) !important;
    border-radius: 999px !important;
    color: #ff7380 !important;
    display: inline-flex !important;
    font-size: 0 !important;
    grid-column: auto !important;
    height: 26px !important;
    justify-content: center !important;
    justify-self: end !important;
    line-height: 1 !important;
    min-width: 26px !important;
    padding: 0 !important;
    position: relative !important;
    width: 26px !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .equipment-cart-remove::before {
    border: 2px solid currentColor !important;
    border-top: 0 !important;
    border-radius: 0 0 3px 3px !important;
    content: "" !important;
    height: 11px !important;
    margin-top: 3px !important;
    width: 10px !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .equipment-cart-remove::after {
    background: currentColor !important;
    border-radius: 999px !important;
    box-shadow: 0 -3px 0 -1px currentColor !important;
    content: "" !important;
    height: 2px !important;
    left: 50% !important;
    position: absolute !important;
    top: 7px !important;
    transform: translateX(-50%) !important;
    width: 13px !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .equipment-cart-remove:hover {
    background: rgba(255, 38, 52, .16) !important;
    border-color: rgba(255, 92, 104, .62) !important;
    box-shadow: 0 0 14px rgba(255, 38, 52, .22) !important;
}

@media (max-width: 520px) {
    body.darklab-fixed-bg:not(.no-portal-bg) .equipment-cart-drawer {
        max-width: 100vw !important;
        padding: 14px 12px !important;
        width: 100vw !important;
    }

    body.darklab-fixed-bg:not(.no-portal-bg) .equipment-cart-item {
        grid-template-columns: 50px minmax(0, 1fr) auto !important;
        padding: 7px !important;
    }

    body.darklab-fixed-bg:not(.no-portal-bg) .equipment-cart-item img {
        height: 48px !important;
        width: 48px !important;
    }
}
/* DARKLAB - Equipements Pro header breathing room */
html body.darklab-fixed-bg:not(.no-portal-bg) > .portal-layout.pro-equipment-layout > .pro-equipment-main {
    padding-top: clamp(46px, 5.2vh, 72px) !important;
}

html body.darklab-fixed-bg:not(.no-portal-bg) .pro-equipment-head {
    margin-bottom: 22px !important;
}

html body.darklab-fixed-bg:not(.no-portal-bg) .pro-equipment-head .eyebrow {
    color: #ff3340 !important;
    display: inline-block !important;
    font-size: 12px !important;
    letter-spacing: .18em !important;
    margin: 0 0 8px !important;
    padding-left: 2px !important;
    text-shadow: 0 0 12px rgba(255, 38, 52, .42), 0 0 2px rgba(255, 255, 255, .24) !important;
}

html body.darklab-fixed-bg:not(.no-portal-bg) .pro-equipment-head h1 {
    margin-top: 0 !important;
}

@media (max-width: 700px) {
    html body.darklab-fixed-bg:not(.no-portal-bg) > .portal-layout.pro-equipment-layout > .pro-equipment-main {
        padding-top: 38px !important;
    }
}
/* DARKLAB - equipment cart row stretch fix */
body.darklab-fixed-bg:not(.no-portal-bg) .equipment-cart-items {
    align-content: start !important;
    align-items: start !important;
    grid-auto-rows: max-content !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .equipment-cart-item {
    align-self: start !important;
    box-sizing: border-box !important;
    height: auto !important;
    max-height: 76px !important;
    min-height: 66px !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .equipment-cart-item img {
    height: 48px !important;
    width: 48px !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .equipment-cart-actions {
    align-self: center !important;
}

@media (max-width: 520px) {
    body.darklab-fixed-bg:not(.no-portal-bg) .equipment-cart-item {
        max-height: 72px !important;
        min-height: 62px !important;
    }
}
/* DARKLAB - equipment cart drawer content flow */
body.darklab-fixed-bg:not(.no-portal-bg) .equipment-cart-drawer {
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
    height: auto !important;
    max-height: calc(100vh - 18px) !important;
    min-height: 0 !important;
    overflow: hidden !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .equipment-cart-drawer header,
body.darklab-fixed-bg:not(.no-portal-bg) .equipment-cart-empty,
body.darklab-fixed-bg:not(.no-portal-bg) .equipment-cart-totals,
body.darklab-fixed-bg:not(.no-portal-bg) .equipment-cart-drawer form,
body.darklab-fixed-bg:not(.no-portal-bg) .equipment-cart-continue {
    flex: 0 0 auto !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .equipment-cart-items {
    align-content: start !important;
    align-items: start !important;
    display: grid !important;
    flex: 0 1 auto !important;
    gap: 8px !important;
    grid-auto-rows: max-content !important;
    max-height: clamp(78px, 36vh, 310px) !important;
    min-height: 0 !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    padding: 0 3px 0 0 !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .equipment-cart-items:empty {
    display: none !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .equipment-cart-totals {
    margin-top: 0 !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .equipment-cart-drawer form {
    margin: 0 !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .equipment-cart-checkout,
body.darklab-fixed-bg:not(.no-portal-bg) .equipment-cart-continue {
    flex-shrink: 0 !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .equipment-cart-items::-webkit-scrollbar {
    width: 4px !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .equipment-cart-items::-webkit-scrollbar-track {
    background: rgba(255, 255, 255, .04) !important;
    border-radius: 999px !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .equipment-cart-items::-webkit-scrollbar-thumb {
    background: linear-gradient(180deg, rgba(255, 255, 255, .28), rgba(255, 38, 52, .54)) !important;
    border-radius: 999px !important;
}

@media (max-width: 520px) {
    body.darklab-fixed-bg:not(.no-portal-bg) .equipment-cart-drawer {
        max-height: 100dvh !important;
    }

    body.darklab-fixed-bg:not(.no-portal-bg) .equipment-cart-items {
        max-height: clamp(72px, 32vh, 260px) !important;
    }
}

/* ECU Lab */
.ecu-lab-main { padding-bottom: 80px; }

.ecu-lab-tool-grid,
.ecu-lab-step-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
    margin: 22px 0;
}

.ecu-lab-tool-card,
.ecu-lab-info-card,
.ecu-lab-upload-card,
.ecu-lab-summary,
.ecu-lab-confirmation,
.admin-solution-card {
    position: relative;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, .11);
    border-radius: 8px;
    background: linear-gradient(145deg, rgba(255, 255, 255, .07), rgba(255, 255, 255, .018)), rgba(8, 10, 16, .78);
    box-shadow: 0 24px 60px rgba(0, 0, 0, .34), inset 0 1px 0 rgba(255, 255, 255, .08);
    backdrop-filter: blur(16px) saturate(128%);
}

.ecu-lab-tool-card {
    min-height: 190px;
    padding: 26px;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease;
}

.ecu-lab-tool-card::before,
.ecu-lab-info-card::before,
.ecu-lab-summary::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background: radial-gradient(circle at 18% 20%, rgba(255, 38, 52, .22), transparent 28%), radial-gradient(circle at 86% 16%, rgba(63, 139, 255, .18), transparent 26%);
}

.ecu-lab-tool-card.is-active { border-color: rgba(255, 38, 52, .44); }
.ecu-lab-tool-card.is-active:hover { transform: translateY(-4px); box-shadow: 0 28px 70px rgba(0, 0, 0, .42), 0 0 36px rgba(255, 38, 52, .14); }
.ecu-lab-tool-card.is-disabled { opacity: .52; filter: grayscale(.45); }

.ecu-lab-tool-card span,
.ecu-lab-step-number {
    width: fit-content;
    border: 1px solid rgba(255, 255, 255, .14);
    border-radius: 999px;
    padding: 6px 10px;
    color: rgba(255, 255, 255, .72);
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .08em;
}

.ecu-lab-tool-card h2,
.ecu-lab-info-card h2,
.ecu-lab-summary h2,
.ecu-lab-confirmation h2 {
    position: relative;
    margin: 16px 0 8px;
    color: #fff;
    font-family: Orbitron, Montserrat, sans-serif;
    font-size: 24px;
    letter-spacing: 0;
}

.ecu-lab-tool-card p,
.ecu-lab-info-card p,
.ecu-lab-confirmation p {
    position: relative;
    margin: 0;
    color: rgba(255, 255, 255, .68);
    line-height: 1.65;
}

.ecu-lab-step { padding: 24px; }
.ecu-lab-step h2 { margin: 14px 0; }

.ecu-lab-field,
.ecu-lab-comment {
    display: grid;
    gap: 9px;
    color: rgba(255, 255, 255, .72);
    font-weight: 800;
}

.ecu-lab-field select,
.ecu-lab-comment textarea,
.admin-solution-card input,
.admin-solution-card textarea {
    width: 100%;
    border: 1px solid rgba(255, 255, 255, .13);
    border-radius: 8px;
    background: rgba(0, 0, 0, .34);
    color: #fff;
    padding: 12px 14px;
    font: inherit;
}

.ecu-lab-info-card,
.ecu-lab-summary {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(280px, .95fr);
    gap: 22px;
    padding: 26px;
    margin: 22px 0;
}

.ecu-lab-info-card dl,
.ecu-lab-summary dl {
    position: relative;
    display: grid;
    gap: 10px;
    margin: 0;
}

.ecu-lab-info-card dl div,
.ecu-lab-summary dl div {
    display: flex;
    justify-content: space-between;
    gap: 18px;
    border-bottom: 1px solid rgba(255, 255, 255, .08);
    padding-bottom: 10px;
}

.ecu-lab-info-card dt,
.ecu-lab-summary dt {
    color: rgba(255, 255, 255, .52);
    font-size: 12px;
    text-transform: uppercase;
}

.ecu-lab-info-card dd,
.ecu-lab-summary dd {
    margin: 0;
    color: #fff;
    text-align: right;
    font-weight: 800;
}

.ecu-lab-upload-card {
    display: grid;
    gap: 16px;
    padding: 22px;
    margin: 22px 0;
}

.ecu-lab-drop { min-height: 280px; }

.ecu-lab-file-pill {
    display: inline-flex;
    width: fit-content;
    max-width: 100%;
    margin: 12px auto 0;
    border: 1px solid rgba(48, 255, 160, .3);
    border-radius: 999px;
    padding: 8px 12px;
    background: rgba(48, 255, 160, .08);
    color: #d7ffe9 !important;
    font-weight: 800;
}

.ecu-lab-replace { justify-self: end; }
.ecu-lab-credit-line { position: relative; margin: 0; color: rgba(255, 255, 255, .72); }

.ecu-lab-confirmation {
    padding: 28px;
    margin: 18px 0 24px;
    border-color: rgba(48, 255, 160, .24);
}

.admin-solution-list {
    display: grid;
    gap: 14px;
    max-height: 720px;
    overflow: auto;
    padding-right: 6px;
}

.admin-solution-card { padding: 16px; }

.admin-solution-title {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 12px;
}

.admin-solution-title strong { color: #fff; }
.admin-solution-title label { display: inline-flex; align-items: center; gap: 8px; color: rgba(255, 255, 255, .72); }

.admin-solution-fields {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 10px;
    margin-bottom: 10px;
}

@media (max-width: 980px) {
    .ecu-lab-tool-grid,
    .ecu-lab-step-grid,
    .ecu-lab-info-card,
    .ecu-lab-summary {
        grid-template-columns: 1fr;
    }

    .admin-solution-fields {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 620px) {
    .ecu-lab-tool-card,
    .ecu-lab-info-card,
    .ecu-lab-upload-card,
    .ecu-lab-summary,
    .ecu-lab-confirmation {
        padding: 18px;
    }

    .ecu-lab-info-card dl div,
    .ecu-lab-summary dl div {
        display: grid;
        gap: 4px;
    }

    .ecu-lab-info-card dd,
    .ecu-lab-summary dd {
        text-align: left;
    }

    .admin-solution-fields {
        grid-template-columns: 1fr;
    }
}

/* ECU Lab cockpit redesign */
.ecu-lab-layout .portal-main.ecu-lab-main {
    min-height: 100vh;
    padding: clamp(18px, 2.4vw, 34px);
}

.ecu-lab-flow {
    max-width: 1540px;
    margin: 0 auto;
}

.ecu-lab-console {
    position: relative;
    overflow: hidden;
    min-height: calc(100vh - 72px);
    border: 1px solid rgba(255, 255, 255, .10);
    border-radius: 8px;
    background:
        linear-gradient(120deg, rgba(255, 255, 255, .055), rgba(255, 255, 255, .012)),
        linear-gradient(180deg, rgba(6, 8, 13, .94), rgba(10, 12, 18, .82));
    box-shadow: 0 32px 90px rgba(0, 0, 0, .45), inset 0 1px 0 rgba(255, 255, 255, .08);
    backdrop-filter: blur(18px) saturate(128%);
}

.ecu-lab-console::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background:
        linear-gradient(90deg, rgba(255, 255, 255, .035) 1px, transparent 1px),
        linear-gradient(180deg, rgba(255, 255, 255, .025) 1px, transparent 1px);
    background-size: 54px 54px;
    mask-image: radial-gradient(circle at 50% 12%, #000, transparent 68%);
    opacity: .38;
}

.ecu-lab-console::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background:
        radial-gradient(circle at 18% 8%, rgba(255, 38, 52, .18), transparent 30%),
        radial-gradient(circle at 96% 18%, rgba(42, 130, 255, .18), transparent 32%),
        linear-gradient(180deg, transparent 0, rgba(255, 38, 52, .055) 100%);
}

.ecu-lab-console-head {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: start;
    justify-content: space-between;
    gap: 24px;
    padding: clamp(20px, 2.8vw, 34px) clamp(20px, 3vw, 38px) 18px;
    border-bottom: 1px solid rgba(255, 255, 255, .075);
}

.ecu-lab-console-head .eyebrow {
    margin: 0 0 8px;
}

.ecu-lab-console-head h1 {
    margin: 0;
    color: #fff;
    font-family: Orbitron, Montserrat, sans-serif;
    font-size: clamp(34px, 4.4vw, 68px);
    font-weight: 800;
    letter-spacing: 0;
    line-height: .95;
    text-shadow: 0 0 28px rgba(255, 38, 52, .18);
}

.ecu-lab-console-head span {
    display: block;
    margin-top: 10px;
    color: rgba(255, 255, 255, .58);
    font-size: 13px;
}

.ecu-lab-console-status {
    min-width: 150px;
    border: 1px solid rgba(255, 255, 255, .10);
    border-radius: 8px;
    padding: 13px 16px;
    background: rgba(0, 0, 0, .24);
    text-align: right;
}

.ecu-lab-console-status span {
    margin: 0 0 4px;
    color: rgba(255, 255, 255, .52);
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .10em;
}

.ecu-lab-console-status strong {
    color: #fff;
    font-family: Orbitron, Montserrat, sans-serif;
    font-size: 15px;
}

.ecu-lab-console-grid {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: minmax(148px, .55fr) minmax(235px, .82fr) minmax(0, 2.15fr);
    gap: 14px;
    padding: 14px;
}

.ecu-lab-module-rail,
.ecu-lab-selector-panel,
.ecu-lab-workbench {
    border: 1px solid rgba(255, 255, 255, .085);
    border-radius: 8px;
    background: rgba(3, 5, 9, .48);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .055);
}

.ecu-lab-module-rail {
    display: grid;
    gap: 10px;
    align-content: start;
    padding: 12px;
}

.ecu-lab-module-chip {
    position: relative;
    display: grid;
    gap: 7px;
    min-height: 112px;
    border: 1px solid rgba(255, 255, 255, .09);
    border-radius: 8px;
    padding: 14px;
    background: rgba(255, 255, 255, .025);
}

.ecu-lab-module-chip.is-active {
    border-color: rgba(255, 38, 52, .45);
    background: linear-gradient(145deg, rgba(255, 38, 52, .14), rgba(255, 255, 255, .02));
}

.ecu-lab-module-chip.is-active::after {
    content: "";
    position: absolute;
    left: -1px;
    top: 16px;
    bottom: 16px;
    width: 2px;
    background: #ff2634;
    box-shadow: 0 0 18px rgba(255, 38, 52, .78);
}

.ecu-lab-module-chip.is-disabled {
    opacity: .42;
    filter: grayscale(.45);
}

.ecu-lab-module-chip span {
    width: fit-content;
    border: 1px solid rgba(255, 255, 255, .20);
    border-radius: 999px;
    padding: 4px 8px;
    color: rgba(255, 255, 255, .68);
    font-size: 10px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .10em;
}

.ecu-lab-module-chip strong {
    color: #fff;
    font-size: 15px;
    line-height: 1.15;
}

.ecu-lab-module-chip small {
    color: rgba(255, 255, 255, .50);
    font-size: 12px;
    line-height: 1.35;
}

.ecu-lab-selector-panel {
    display: grid;
    align-content: start;
    gap: 16px;
    padding: 18px;
}

.ecu-lab-panel-title {
    display: flex;
    align-items: center;
    gap: 11px;
}

.ecu-lab-panel-title span {
    display: grid;
    place-items: center;
    width: 34px;
    height: 34px;
    border: 1px solid rgba(255, 38, 52, .34);
    border-radius: 50%;
    color: #fff;
    font-family: Orbitron, Montserrat, sans-serif;
    font-size: 12px;
    box-shadow: inset 0 0 16px rgba(255, 38, 52, .12);
}

.ecu-lab-panel-title h2 {
    margin: 0;
    color: #fff;
    font-family: Orbitron, Montserrat, sans-serif;
    font-size: 18px;
    letter-spacing: 0;
}

.ecu-lab-console .ecu-lab-field {
    gap: 8px;
}

.ecu-lab-console .ecu-lab-field > span,
.ecu-lab-console .ecu-lab-comment > span {
    color: rgba(255, 255, 255, .52);
    font-size: 11px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .08em;
}

.ecu-lab-console .ecu-lab-field select,
.ecu-lab-console .ecu-lab-comment textarea {
    min-height: 44px;
    border-color: rgba(255, 255, 255, .10);
    border-radius: 6px;
    background: rgba(0, 0, 0, .30);
    outline: none;
    transition: border-color .18s ease, box-shadow .18s ease, background .18s ease;
}

.ecu-lab-console .ecu-lab-field select:focus,
.ecu-lab-console .ecu-lab-comment textarea:focus {
    border-color: rgba(255, 38, 52, .46);
    background: rgba(0, 0, 0, .40);
    box-shadow: 0 0 0 3px rgba(255, 38, 52, .08);
}

.ecu-lab-workbench {
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(270px, .92fr);
    gap: 12px;
    padding: 12px;
}

.ecu-lab-workbench .ecu-lab-info-card,
.ecu-lab-workbench .ecu-lab-empty-state,
.ecu-lab-workbench .ecu-lab-upload-card,
.ecu-lab-workbench .ecu-lab-summary {
    margin: 0;
    border-radius: 8px;
    background: rgba(255, 255, 255, .026);
    box-shadow: none;
}

.ecu-lab-workbench .ecu-lab-info-card,
.ecu-lab-workbench .ecu-lab-empty-state {
    grid-column: 1 / 2;
}

.ecu-lab-workbench .ecu-lab-upload-card {
    grid-column: 2 / 3;
    grid-row: 1 / 3;
}

.ecu-lab-workbench .ecu-lab-summary {
    grid-column: 1 / 2;
}

.ecu-lab-empty-state {
    display: grid;
    align-content: center;
    min-height: 262px;
    padding: 26px;
    border: 1px dashed rgba(255, 255, 255, .13);
}

.ecu-lab-empty-state span {
    width: fit-content;
    border: 1px solid rgba(255, 255, 255, .20);
    border-radius: 999px;
    padding: 5px 9px;
    color: rgba(255, 255, 255, .56);
    font-size: 10px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .12em;
}

.ecu-lab-empty-state strong {
    margin-top: 14px;
    color: #fff;
    font-size: 21px;
    line-height: 1.2;
}

.ecu-lab-empty-state small {
    margin-top: 8px;
    color: rgba(255, 255, 255, .52);
    line-height: 1.55;
}

.ecu-lab-workbench .ecu-lab-info-card {
    grid-template-columns: 1fr;
    min-height: 262px;
    padding: 22px;
}

.ecu-lab-workbench .ecu-lab-info-card h2,
.ecu-lab-workbench .ecu-lab-summary h2 {
    font-size: 22px;
}

.ecu-lab-workbench .ecu-lab-info-card dl,
.ecu-lab-workbench .ecu-lab-summary dl {
    gap: 7px;
}

.ecu-lab-workbench .ecu-lab-info-card dl div,
.ecu-lab-workbench .ecu-lab-summary dl div {
    gap: 14px;
    padding-bottom: 7px;
}

.ecu-lab-workbench .ecu-lab-upload-card {
    align-content: start;
    padding: 14px;
}

.ecu-lab-workbench .ecu-lab-drop {
    min-height: 236px;
    border-radius: 8px;
}

.ecu-lab-upload-actions {
    display: flex;
    justify-content: flex-end;
}

.ecu-lab-workbench .ecu-lab-summary {
    padding: 18px;
}

.ecu-lab-workbench .button-link {
    width: 100%;
    justify-content: center;
}

@media (max-width: 1200px) {
    .ecu-lab-console-grid {
        grid-template-columns: 1fr;
    }

    .ecu-lab-module-rail {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .ecu-lab-workbench {
        grid-template-columns: 1fr;
    }

    .ecu-lab-workbench .ecu-lab-info-card,
    .ecu-lab-workbench .ecu-lab-empty-state,
    .ecu-lab-workbench .ecu-lab-upload-card,
    .ecu-lab-workbench .ecu-lab-summary {
        grid-column: auto;
        grid-row: auto;
    }
}

@media (max-width: 680px) {
    .ecu-lab-layout .portal-main.ecu-lab-main {
        padding: 12px;
    }

    .ecu-lab-console {
        min-height: auto;
    }

    .ecu-lab-console-head {
        display: grid;
    }

    .ecu-lab-console-status {
        width: 100%;
        text-align: left;
    }

    .ecu-lab-module-rail {
        grid-template-columns: 1fr;
    }
}

/* ECU Lab clean professional redesign */
.ecu-lab-clean-main {
    padding: clamp(18px, 2.6vw, 34px) !important;
}

.ecu-lab-clean {
    max-width: 1440px;
    margin: 0 auto;
    border: 1px solid rgba(255, 255, 255, .095);
    border-radius: 8px;
    background:
        linear-gradient(145deg, rgba(255, 255, 255, .052), rgba(255, 255, 255, .016)),
        rgba(8, 10, 15, .84);
    box-shadow: 0 28px 80px rgba(0, 0, 0, .38), inset 0 1px 0 rgba(255, 255, 255, .075);
    backdrop-filter: blur(16px) saturate(116%);
    overflow: hidden;
}

.ecu-lab-clean-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 22px;
    padding: clamp(22px, 3vw, 34px);
    border-bottom: 1px solid rgba(255, 255, 255, .075);
}

.ecu-lab-clean-header .eyebrow {
    margin: 0 0 7px;
}

.ecu-lab-clean-header h1 {
    margin: 0;
    color: #fff;
    font-family: Orbitron, Montserrat, sans-serif;
    font-size: clamp(34px, 4vw, 56px);
    line-height: 1;
    letter-spacing: 0;
}

.ecu-lab-clean-header span {
    display: block;
    max-width: 620px;
    margin-top: 10px;
    color: rgba(255, 255, 255, .60);
    font-size: 13px;
    line-height: 1.55;
}

.ecu-lab-credit-badge {
    min-width: 148px;
    border: 1px solid rgba(255, 255, 255, .10);
    border-radius: 8px;
    padding: 12px 14px;
    background: rgba(255, 255, 255, .035);
    text-align: right;
}

.ecu-lab-credit-badge span {
    margin: 0 0 5px;
    color: rgba(255, 255, 255, .50);
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .08em;
}

.ecu-lab-credit-badge strong {
    color: #fff;
    font-size: 15px;
}

.ecu-lab-tabs {
    display: flex;
    gap: 8px;
    padding: 14px clamp(18px, 3vw, 34px);
    border-bottom: 1px solid rgba(255, 255, 255, .07);
    background: rgba(0, 0, 0, .16);
}

.ecu-lab-tabs button {
    min-height: 40px;
    border: 1px solid rgba(255, 255, 255, .10);
    border-radius: 8px;
    padding: 8px 14px;
    background: rgba(255, 255, 255, .026);
    color: rgba(255, 255, 255, .72);
    font: inherit;
    font-weight: 800;
    cursor: default;
}

.ecu-lab-tabs button span {
    display: block;
    margin-bottom: 2px;
    color: rgba(255, 255, 255, .45);
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: .10em;
}

.ecu-lab-tabs button.is-active {
    border-color: rgba(255, 38, 52, .42);
    background: rgba(255, 38, 52, .10);
    color: #fff;
}

.ecu-lab-tabs button:disabled {
    opacity: .45;
}

.ecu-lab-clean-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.25fr) minmax(320px, .88fr) minmax(260px, .62fr);
    gap: 14px;
    padding: clamp(18px, 2.4vw, 28px);
}

.ecu-lab-clean-panel {
    border: 1px solid rgba(255, 255, 255, .085);
    border-radius: 8px;
    background: rgba(0, 0, 0, .22);
    padding: 18px;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .045);
}

.ecu-lab-section-title {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 16px;
}

.ecu-lab-section-title > span {
    display: grid;
    place-items: center;
    width: 30px;
    height: 30px;
    border: 1px solid rgba(255, 38, 52, .48);
    border-radius: 50%;
    color: #fff;
    font-size: 12px;
    font-weight: 900;
}

.ecu-lab-section-title h2 {
    margin: 0;
    color: #fff;
    font-size: 17px;
    letter-spacing: 0;
}

.ecu-lab-select-row {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.ecu-lab-clean .ecu-lab-field,
.ecu-lab-clean .ecu-lab-comment {
    display: grid;
    gap: 8px;
}

.ecu-lab-clean .ecu-lab-field > span,
.ecu-lab-clean .ecu-lab-comment > span {
    color: rgba(255, 255, 255, .54);
    font-size: 11px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .08em;
}

.ecu-lab-clean .ecu-lab-field select,
.ecu-lab-clean .ecu-lab-comment textarea {
    width: 100%;
    border: 1px solid rgba(255, 255, 255, .105);
    border-radius: 8px;
    background: rgba(0, 0, 0, .28);
    color: #fff;
    padding: 12px 13px;
    font: inherit;
    outline: none;
}

.ecu-lab-clean .ecu-lab-field select:focus,
.ecu-lab-clean .ecu-lab-comment textarea:focus {
    border-color: rgba(255, 38, 52, .45);
    box-shadow: 0 0 0 3px rgba(255, 38, 52, .075);
}

.ecu-lab-solution-empty,
.ecu-lab-solution-card {
    margin-top: 14px;
    border: 1px solid rgba(255, 255, 255, .075);
    border-radius: 8px;
    background: rgba(255, 255, 255, .026);
    padding: 16px;
}

.ecu-lab-solution-empty {
    display: grid;
    gap: 5px;
    color: rgba(255, 255, 255, .58);
}

.ecu-lab-solution-empty strong {
    color: #fff;
}

.ecu-lab-solution-card h2 {
    margin: 4px 0 8px;
    color: #fff;
    font-size: 22px;
    letter-spacing: 0;
}

.ecu-lab-solution-card p:not(.eyebrow) {
    margin: 0;
    color: rgba(255, 255, 255, .65);
    line-height: 1.55;
}

.ecu-lab-solution-card dl,
.ecu-lab-summary dl {
    display: grid;
    gap: 8px;
    margin: 14px 0 0;
}

.ecu-lab-solution-card dl div,
.ecu-lab-summary dl div {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 14px;
    border-top: 1px solid rgba(255, 255, 255, .065);
    padding-top: 8px;
}

.ecu-lab-solution-card dt,
.ecu-lab-summary dt {
    color: rgba(255, 255, 255, .46);
    font-size: 11px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .06em;
}

.ecu-lab-solution-card dd,
.ecu-lab-summary dd {
    margin: 0;
    color: #fff;
    text-align: right;
    font-weight: 800;
}

.ecu-lab-file-panel {
    display: grid;
    align-content: start;
    gap: 14px;
}

.ecu-lab-clean-drop {
    display: grid;
    place-items: center;
    min-height: 184px;
    border: 1px dashed rgba(255, 255, 255, .18);
    border-radius: 8px;
    background: rgba(255, 255, 255, .025);
    padding: 20px;
    text-align: center;
    cursor: pointer;
    transition: border-color .18s ease, background .18s ease;
}

.ecu-lab-clean-drop input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.ecu-lab-clean-drop strong {
    color: #fff;
    font-size: 16px;
}

.ecu-lab-clean-drop span {
    margin-top: 6px;
    color: rgba(255, 255, 255, .55);
    font-size: 12px;
}

.ecu-lab-clean-drop em {
    margin-top: 12px;
    border: 1px solid rgba(62, 220, 145, .28);
    border-radius: 999px;
    padding: 7px 11px;
    background: rgba(62, 220, 145, .08);
    color: #d7ffe9;
    font-style: normal;
    font-size: 12px;
    font-weight: 800;
}

.ecu-lab-clean-drop:hover,
.ecu-lab-clean-drop.is-dragging,
.ecu-lab-clean-drop.has-file {
    border-color: rgba(255, 38, 52, .42);
    background: rgba(255, 38, 52, .055);
}

.ecu-lab-file-actions {
    display: flex;
    justify-content: flex-end;
}

.ecu-lab-payment-panel {
    display: grid;
    align-content: start;
    gap: 14px;
}

.ecu-lab-summary {
    margin: 0;
    padding: 0;
    border: 0;
    background: none;
    box-shadow: none;
}

.ecu-lab-summary-placeholder {
    display: grid;
    gap: 6px;
    border: 1px solid rgba(255, 255, 255, .075);
    border-radius: 8px;
    padding: 14px;
    background: rgba(255, 255, 255, .026);
}

.ecu-lab-summary-placeholder strong {
    color: #fff;
}

.ecu-lab-summary-placeholder span,
.ecu-lab-credit-line {
    color: rgba(255, 255, 255, .58);
    line-height: 1.45;
}

.ecu-lab-pay-button {
    width: 100%;
    justify-content: center;
}

@media (max-width: 1180px) {
    .ecu-lab-clean-grid {
        grid-template-columns: 1fr;
    }

    .ecu-lab-select-row {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 680px) {
    .ecu-lab-clean-main {
        padding: 12px !important;
    }

    .ecu-lab-clean-header {
        display: grid;
    }

    .ecu-lab-credit-badge {
        width: 100%;
        text-align: left;
    }

    .ecu-lab-tabs {
        overflow-x: auto;
    }

    .ecu-lab-tabs button {
        min-width: 160px;
    }
}

/* ECU Lab OtoCheck-inspired high contrast */
.ecu-lab-clean-main {
    padding: clamp(18px, 2.4vw, 32px) !important;
}

.ecu-lab-clean {
    background:
        linear-gradient(140deg, rgba(255, 255, 255, .08), rgba(255, 255, 255, .018)),
        rgba(5, 7, 12, .92) !important;
    border-color: rgba(255, 255, 255, .14) !important;
}

.ecu-lab-clean-header {
    background:
        linear-gradient(90deg, rgba(255, 38, 52, .13), transparent 42%),
        rgba(0, 0, 0, .20);
}

.ecu-lab-clean-header h1 {
    font-size: clamp(38px, 4.7vw, 66px) !important;
    text-transform: uppercase;
}

.ecu-lab-clean-header span,
.ecu-lab-summary-placeholder span,
.ecu-lab-credit-line {
    color: rgba(255, 255, 255, .76) !important;
}

.ecu-lab-credit-badge,
.ecu-lab-tabs button,
.ecu-lab-clean-panel {
    border-color: rgba(255, 255, 255, .16) !important;
}

.ecu-lab-tabs {
    background: rgba(0, 0, 0, .28) !important;
}

.ecu-lab-tabs button {
    background: rgba(255, 255, 255, .06) !important;
    color: rgba(255, 255, 255, .86) !important;
}

.ecu-lab-tabs button.is-active {
    background: linear-gradient(180deg, rgba(255, 38, 52, .22), rgba(255, 38, 52, .10)) !important;
}

.ecu-lab-clean-grid {
    grid-template-columns: minmax(0, 1.45fr) minmax(310px, .82fr) minmax(270px, .62fr) !important;
}

.ecu-lab-select-panel {
    background:
        linear-gradient(180deg, rgba(255, 255, 255, .055), rgba(255, 255, 255, .025)),
        rgba(8, 10, 15, .68) !important;
}

.ecu-lab-browser-row {
    grid-template-columns: minmax(170px, .52fr) minmax(280px, 1fr) !important;
    align-items: stretch;
}

.ecu-lab-clean .ecu-lab-field > span,
.ecu-lab-clean .ecu-lab-comment > span {
    color: rgba(255, 255, 255, .88) !important;
    font-family: Inter, Montserrat, sans-serif !important;
    letter-spacing: .04em !important;
}

.ecu-lab-clean .ecu-lab-browser-list {
    min-height: 360px;
    border: 1px solid rgba(255, 255, 255, .78) !important;
    border-radius: 6px !important;
    background: #f2f3f5 !important;
    color: #171b22 !important;
    font-family: Inter, Montserrat, Arial, sans-serif !important;
    font-size: 14px !important;
    font-weight: 650 !important;
    line-height: 1.4 !important;
    padding: 7px !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .9), 0 18px 34px rgba(0, 0, 0, .18);
}

.ecu-lab-clean .ecu-lab-browser-list option {
    padding: 5px 8px;
    background: #f2f3f5 !important;
    color: #171b22 !important;
    font-family: Inter, Montserrat, Arial, sans-serif !important;
    font-weight: 650 !important;
}

.ecu-lab-clean .ecu-lab-browser-list option:checked {
    background: linear-gradient(90deg, #ec1c24, #b91520) !important;
    color: #fff !important;
}

.ecu-lab-clean .ecu-lab-browser-list:focus {
    border-color: #fff !important;
    box-shadow: 0 0 0 3px rgba(236, 28, 36, .22), 0 18px 34px rgba(0, 0, 0, .18) !important;
}

.ecu-lab-solution-empty,
.ecu-lab-solution-card,
.ecu-lab-summary-placeholder {
    background: rgba(255, 255, 255, .075) !important;
    border-color: rgba(255, 255, 255, .18) !important;
}

.ecu-lab-solution-empty strong,
.ecu-lab-solution-card h2,
.ecu-lab-summary-placeholder strong,
.ecu-lab-section-title h2 {
    color: #fff !important;
}

.ecu-lab-solution-empty span,
.ecu-lab-solution-card p:not(.eyebrow) {
    color: rgba(255, 255, 255, .80) !important;
}

.ecu-lab-solution-card dt,
.ecu-lab-summary dt {
    color: rgba(255, 255, 255, .70) !important;
}

.ecu-lab-solution-card dd,
.ecu-lab-summary dd {
    color: #fff !important;
}

.ecu-lab-clean-drop {
    min-height: 226px !important;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, .10), rgba(255, 255, 255, .035)),
        rgba(0, 0, 0, .22) !important;
    border-color: rgba(255, 255, 255, .28) !important;
}

.ecu-lab-clean-drop strong {
    color: #fff !important;
}

.ecu-lab-clean-drop span {
    color: rgba(255, 255, 255, .80) !important;
}

.ecu-lab-clean-drop:hover,
.ecu-lab-clean-drop.is-dragging,
.ecu-lab-clean-drop.has-file {
    border-color: rgba(236, 28, 36, .72) !important;
    background:
        linear-gradient(180deg, rgba(236, 28, 36, .14), rgba(255, 255, 255, .045)),
        rgba(0, 0, 0, .22) !important;
}

.ecu-lab-clean .ecu-lab-comment textarea {
    background: rgba(255, 255, 255, .08) !important;
    border-color: rgba(255, 255, 255, .18) !important;
    color: #fff !important;
}

.ecu-lab-clean .ecu-lab-comment textarea::placeholder {
    color: rgba(255, 255, 255, .48) !important;
}

.ecu-lab-pay-button {
    background: linear-gradient(180deg, #ff3341, #b91520) !important;
    color: #fff !important;
    box-shadow: 0 14px 30px rgba(236, 28, 36, .22) !important;
}

@media (max-width: 1180px) {
    .ecu-lab-clean-grid,
    .ecu-lab-browser-row {
        grid-template-columns: 1fr !important;
    }

    .ecu-lab-clean .ecu-lab-browser-list {
        min-height: 230px;
    }
}

/* ECU Lab custom browser lists */
.ecu-lab-clean {
    position: relative;
    overflow: hidden;
}

.ecu-lab-clean::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background:
        linear-gradient(90deg, transparent, rgba(255, 255, 255, .045), transparent 64%),
        repeating-linear-gradient(180deg, rgba(255, 255, 255, .025) 0 1px, transparent 1px 18px);
    opacity: .34;
}

.ecu-lab-clean > * {
    position: relative;
    z-index: 1;
}

.ecu-lab-clean .ecu-lab-browser-list {
    display: flex;
    flex-direction: column;
    gap: 3px;
    overflow: auto;
    scrollbar-color: #ec1c24 rgba(12, 14, 19, .75);
    background:
        linear-gradient(180deg, rgba(255, 255, 255, .96), rgba(226, 230, 236, .96)) !important;
}

.ecu-lab-clean .ecu-lab-model-list {
    background:
        linear-gradient(180deg, rgba(255, 255, 255, .98), rgba(235, 238, 243, .98)) !important;
}

.ecu-lab-clean .ecu-lab-browser-list.is-disabled {
    justify-content: center;
    background: rgba(255, 255, 255, .07) !important;
    border-color: rgba(255, 255, 255, .18) !important;
}

.ecu-lab-browser-option {
    width: 100%;
    min-height: 30px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 7px 10px;
    border: 0;
    border-radius: 3px;
    background: transparent;
    color: #151922;
    font-family: Inter, Montserrat, Arial, sans-serif;
    font-size: 14px;
    font-weight: 750;
    line-height: 1.16;
    text-align: left;
    cursor: pointer;
    transition: background .14s ease, color .14s ease, transform .14s ease, box-shadow .14s ease;
}

.ecu-lab-browser-option strong {
    overflow: hidden;
    color: inherit;
    font: inherit;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ecu-lab-browser-option span {
    flex: 0 0 auto;
    max-width: 38%;
    overflow: hidden;
    border: 1px solid rgba(21, 25, 34, .14);
    border-radius: 999px;
    padding: 3px 8px;
    color: #3c4350;
    font-size: 11px;
    font-weight: 800;
    text-overflow: ellipsis;
    white-space: nowrap;
    text-transform: uppercase;
}

.ecu-lab-browser-option:hover {
    background: rgba(21, 25, 34, .075);
}

.ecu-lab-browser-option.is-active {
    background: linear-gradient(90deg, #ec1c24, #b6111b);
    color: #fff;
    box-shadow: 0 8px 18px rgba(236, 28, 36, .22);
}

.ecu-lab-browser-option.is-active span {
    border-color: rgba(255, 255, 255, .28);
    color: rgba(255, 255, 255, .86);
}

.ecu-lab-browser-hint {
    display: grid;
    min-height: 120px;
    place-items: center;
    color: rgba(255, 255, 255, .72);
    font-family: Inter, Montserrat, sans-serif;
    font-size: 13px;
    font-weight: 700;
    text-align: center;
}

.ecu-lab-clean .ecu-lab-browser-list.needs-selection {
    animation: ecuLabPulseSelection .7s ease;
}

.ecu-lab-pay-button:disabled {
    cursor: not-allowed;
    filter: grayscale(.75);
    opacity: .52;
    transform: none !important;
}

@keyframes ecuLabPulseSelection {
    0%,
    100% {
        box-shadow: 0 18px 34px rgba(0, 0, 0, .18);
    }
    45% {
        box-shadow: 0 0 0 3px rgba(236, 28, 36, .34), 0 18px 34px rgba(0, 0, 0, .18);
    }
}

@media (max-width: 680px) {
    .ecu-lab-clean .ecu-lab-browser-list {
        min-height: 210px !important;
    }

    .ecu-lab-browser-option {
        align-items: flex-start;
        flex-direction: column;
        gap: 6px;
    }

    .ecu-lab-browser-option span {
        max-width: 100%;
    }
}

/* ECU Lab fusion cockpit redesign */
.ecu-lab-clean-main {
    padding: clamp(14px, 2vw, 26px) !important;
}

.ecu-lab-fusion {
    max-width: 1540px;
    min-height: auto;
    border: 1px solid rgba(255, 255, 255, .16) !important;
    border-radius: 0 !important;
    background:
        radial-gradient(circle at 18% 0%, rgba(236, 28, 36, .23), transparent 34%),
        radial-gradient(circle at 88% 14%, rgba(39, 112, 255, .18), transparent 30%),
        linear-gradient(135deg, rgba(255, 255, 255, .075), rgba(255, 255, 255, .018) 42%, rgba(255, 255, 255, .052)),
        rgba(3, 5, 10, .96) !important;
    box-shadow:
        0 0 0 1px rgba(255, 255, 255, .035),
        0 34px 90px rgba(0, 0, 0, .52),
        inset 0 1px 0 rgba(255, 255, 255, .10) !important;
}

.ecu-lab-fusion::before {
    background:
        linear-gradient(90deg, rgba(255, 255, 255, .052), transparent 18%, transparent 82%, rgba(255, 255, 255, .035)),
        repeating-linear-gradient(90deg, rgba(255, 255, 255, .028) 0 1px, transparent 1px 72px),
        repeating-linear-gradient(180deg, rgba(255, 255, 255, .022) 0 1px, transparent 1px 24px) !important;
    opacity: .54 !important;
}

.ecu-lab-fusion::after {
    content: "";
    position: absolute;
    inset: 86px 0 auto;
    height: 1px;
    pointer-events: none;
    background: linear-gradient(90deg, transparent, rgba(236, 28, 36, .68), rgba(255, 255, 255, .26), transparent);
    opacity: .8;
}

.ecu-lab-fusion .ecu-lab-clean-header {
    align-items: center;
    padding: clamp(12px, 1.7vw, 20px) clamp(18px, 2.4vw, 34px);
    border-bottom: 1px solid rgba(255, 255, 255, .09) !important;
    background: linear-gradient(90deg, rgba(0, 0, 0, .34), rgba(255, 255, 255, .028), rgba(0, 0, 0, .18)) !important;
}

.ecu-lab-fusion .ecu-lab-clean-header h1 {
    font-size: clamp(34px, 4vw, 58px) !important;
    line-height: .88;
    color: #fff;
    text-shadow: 0 0 28px rgba(236, 28, 36, .24);
}

.ecu-lab-fusion .ecu-lab-clean-header span {
    max-width: 760px;
    color: rgba(255, 255, 255, .82) !important;
}

.ecu-lab-fusion .ecu-lab-credit-badge {
    min-width: 190px;
    border-radius: 0 !important;
    background:
        linear-gradient(135deg, rgba(236, 28, 36, .18), rgba(255, 255, 255, .05)),
        rgba(0, 0, 0, .30);
}

.ecu-lab-fusion .ecu-lab-tabs {
    padding: 0 clamp(18px, 2.4vw, 34px);
    border-bottom: 1px solid rgba(255, 255, 255, .08);
    background: rgba(0, 0, 0, .34) !important;
}

.ecu-lab-fusion .ecu-lab-tabs button {
    min-width: 210px;
    min-height: 52px;
    border-width: 0 1px;
    border-radius: 0 !important;
    background: transparent !important;
}

.ecu-lab-fusion .ecu-lab-tabs button.is-active {
    background:
        linear-gradient(180deg, rgba(236, 28, 36, .34), rgba(236, 28, 36, .12) 66%, rgba(236, 28, 36, .02)) !important;
    box-shadow: inset 0 -2px 0 #ff3341;
}

.ecu-lab-fusion .ecu-lab-clean-grid {
    grid-template-columns: minmax(520px, 1.32fr) minmax(280px, .60fr) minmax(230px, .44fr) !important;
    grid-template-areas:
        "select file pay";
    gap: 0;
    padding: 0 !important;
    border-top: 1px solid rgba(255, 255, 255, .045);
    background: rgba(0, 0, 0, .10);
}

.ecu-lab-fusion .ecu-lab-select-panel {
    grid-area: select;
}

.ecu-lab-fusion .ecu-lab-file-panel {
    grid-area: file;
}

.ecu-lab-fusion .ecu-lab-payment-panel {
    grid-area: pay;
}

.ecu-lab-fusion .ecu-lab-clean-panel {
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    padding: clamp(14px, 1.65vw, 22px);
}

.ecu-lab-fusion .ecu-lab-file-panel,
.ecu-lab-fusion .ecu-lab-payment-panel {
    border-left: 1px solid rgba(255, 255, 255, .11) !important;
}

.ecu-lab-fusion .ecu-lab-payment-panel {
    border-top: 0 !important;
    align-content: stretch;
}

.ecu-lab-fusion .ecu-lab-section-title {
    margin-bottom: 12px;
}

.ecu-lab-fusion .ecu-lab-section-title > span {
    width: 34px;
    height: 34px;
    border-color: rgba(236, 28, 36, .62);
    border-radius: 0;
    background: rgba(236, 28, 36, .12);
    box-shadow: 0 0 22px rgba(236, 28, 36, .14);
    font-family: Orbitron, Inter, sans-serif;
}

.ecu-lab-fusion .ecu-lab-section-title h2 {
    font-size: clamp(18px, 1.5vw, 24px);
}

.ecu-lab-fusion .ecu-lab-filter-deck {
    display: grid;
    grid-template-columns: minmax(220px, .7fr) minmax(260px, 1fr) auto;
    gap: 10px;
    align-items: stretch;
    margin: 0 0 12px;
    border: 1px solid rgba(255, 255, 255, .20);
    background:
        linear-gradient(135deg, rgba(255, 255, 255, .075), rgba(255, 255, 255, .025)),
        rgba(0, 0, 0, .24);
    padding: 8px;
}

.ecu-lab-fusion .ecu-lab-search-filter {
    display: grid;
    gap: 6px;
}

.ecu-lab-fusion .ecu-lab-search-filter span {
    color: rgba(255, 255, 255, .62);
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.ecu-lab-fusion .ecu-lab-search-filter input {
    min-height: 38px;
    width: 100%;
    border: 1px solid rgba(255, 255, 255, .16);
    border-radius: 0;
    background: rgba(0, 0, 0, .36);
    color: #fff;
    padding: 0 13px;
    font: 800 13px Inter, Montserrat, sans-serif;
    outline: none;
}

.ecu-lab-fusion .ecu-lab-search-filter input:focus {
    border-color: rgba(236, 28, 36, .70);
    box-shadow: 0 0 0 3px rgba(236, 28, 36, .14);
}

.ecu-lab-fusion .ecu-lab-memory-filter {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 6px;
}

.ecu-lab-fusion .ecu-lab-memory-filter button {
    border: 1px solid rgba(255, 255, 255, .13);
    border-radius: 0;
    background: rgba(255, 255, 255, .045);
    color: rgba(255, 255, 255, .72);
    font: 900 11px Inter, Montserrat, sans-serif;
    letter-spacing: .05em;
    text-transform: uppercase;
    cursor: pointer;
}

.ecu-lab-fusion .ecu-lab-memory-filter button:hover,
.ecu-lab-fusion .ecu-lab-memory-filter button.is-active {
    border-color: rgba(236, 28, 36, .58);
    background: linear-gradient(180deg, rgba(236, 28, 36, .30), rgba(236, 28, 36, .10));
    color: #fff;
}

.ecu-lab-fusion .ecu-lab-result-meter {
    min-width: 112px;
    display: grid;
    place-items: center;
    border-left: 1px solid rgba(255, 255, 255, .12);
    color: rgba(255, 255, 255, .58);
    font: 800 11px Inter, Montserrat, sans-serif;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.ecu-lab-fusion .ecu-lab-result-meter span {
    display: block;
    color: #fff;
    font: 900 21px Orbitron, Inter, sans-serif;
    line-height: 1;
}

.ecu-lab-fusion .ecu-lab-browser-row {
    grid-template-columns: minmax(170px, .40fr) minmax(330px, 1fr) !important;
    gap: 14px;
}

.ecu-lab-fusion .ecu-lab-clean .ecu-lab-field > span,
.ecu-lab-fusion .ecu-lab-field > span,
.ecu-lab-fusion .ecu-lab-comment > span {
    color: rgba(255, 255, 255, .72) !important;
    font-size: 12px;
}

.ecu-lab-fusion .ecu-lab-browser-list {
    min-height: clamp(315px, 43vh, 455px) !important;
    border: 1px solid rgba(255, 255, 255, .22) !important;
    border-radius: 0 !important;
    background:
        linear-gradient(180deg, rgba(247, 249, 252, .97), rgba(225, 230, 238, .97)) !important;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, .92),
        inset 0 -1px 0 rgba(0, 0, 0, .06),
        0 22px 40px rgba(0, 0, 0, .26) !important;
}

.ecu-lab-fusion .ecu-lab-model-list {
    background:
        linear-gradient(180deg, rgba(255, 255, 255, .98), rgba(235, 238, 244, .98)) !important;
}

.ecu-lab-fusion .ecu-lab-browser-option {
    min-height: 30px;
    border-left: 3px solid transparent;
    border-radius: 0;
    padding: 7px 11px;
    color: #171b24;
    font-size: 14px;
}

.ecu-lab-fusion .ecu-lab-browser-option:hover {
    background: rgba(236, 28, 36, .08);
    border-left-color: rgba(236, 28, 36, .38);
}

.ecu-lab-fusion .ecu-lab-browser-option.is-active {
    border-left-color: #fff;
    background: linear-gradient(90deg, #ed1726, #aa101a) !important;
}

.ecu-lab-fusion .ecu-lab-solution-empty,
.ecu-lab-fusion .ecu-lab-solution-card,
.ecu-lab-fusion .ecu-lab-summary-placeholder {
    border-radius: 0 !important;
    background:
        linear-gradient(135deg, rgba(255, 255, 255, .09), rgba(255, 255, 255, .035)),
        rgba(0, 0, 0, .22) !important;
}

.ecu-lab-fusion .ecu-lab-solution-card {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(220px, .62fr);
    gap: 12px;
    align-items: start;
    margin-top: 10px;
    padding: 12px;
}

.ecu-lab-fusion .ecu-lab-solution-card dl {
    margin: 0;
}

.ecu-lab-fusion .ecu-lab-clean-drop {
    min-height: 190px !important;
    border-radius: 0 !important;
    border-style: solid;
    background:
        linear-gradient(135deg, rgba(255, 255, 255, .10), rgba(255, 255, 255, .03)),
        repeating-linear-gradient(135deg, rgba(255, 255, 255, .035) 0 1px, transparent 1px 13px),
        rgba(0, 0, 0, .30) !important;
}

.ecu-lab-fusion .ecu-lab-clean-drop strong {
    max-width: 240px;
    font-size: 20px;
    line-height: 1.05;
}

.ecu-lab-fusion .ecu-lab-comment textarea {
    min-height: 96px;
    border-radius: 0 !important;
    resize: vertical;
}

.ecu-lab-fusion .ecu-lab-summary {
    align-self: stretch;
}

.ecu-lab-fusion .ecu-lab-summary dl {
    gap: 0;
    margin: 0;
    border: 1px solid rgba(255, 255, 255, .20);
    background: rgba(255, 255, 255, .035);
}

.ecu-lab-fusion .ecu-lab-summary dl div {
    min-height: 36px;
    border-top: 1px solid rgba(255, 255, 255, .08);
    padding: 8px 10px;
}

.ecu-lab-fusion .ecu-lab-summary dl div:first-child {
    border-top: 0;
}

.ecu-lab-fusion .ecu-lab-credit-line {
    margin: 10px 0 0;
    border: 1px solid rgba(236, 28, 36, .24);
    padding: 10px;
    background: rgba(236, 28, 36, .08);
}

.ecu-lab-fusion .ecu-lab-pay-button {
    min-height: 50px;
    border-radius: 0 !important;
    font-size: 16px;
    text-transform: uppercase;
    letter-spacing: .04em;
}

@media (max-width: 980px) {
    .ecu-lab-fusion .ecu-lab-clean-grid {
        grid-template-columns: 1fr !important;
        grid-template-areas:
            "select"
            "file"
            "pay";
    }

    .ecu-lab-fusion .ecu-lab-file-panel,
    .ecu-lab-fusion .ecu-lab-payment-panel {
        border-left: 0 !important;
        border-top: 1px solid rgba(255, 255, 255, .11) !important;
    }
}

@media (max-width: 760px) {
    .ecu-lab-fusion {
        min-height: auto;
    }

    .ecu-lab-fusion .ecu-lab-clean-header,
    .ecu-lab-fusion .ecu-lab-clean-grid {
        display: grid;
    }

    .ecu-lab-fusion .ecu-lab-browser-row,
    .ecu-lab-fusion .ecu-lab-solution-card,
    .ecu-lab-fusion .ecu-lab-filter-deck {
        grid-template-columns: 1fr !important;
    }

    .ecu-lab-fusion .ecu-lab-result-meter {
        min-height: 54px;
        border-left: 0;
        border-top: 1px solid rgba(255, 255, 255, .12);
    }

    .ecu-lab-fusion .ecu-lab-browser-list {
        min-height: 245px !important;
    }
}

/* ECU Lab compact simple flow */
.ecu-lab-simple-main {
    min-height: 100vh;
    display: grid;
    align-items: start;
    justify-items: center;
    padding: clamp(16px, 2.2vw, 30px) !important;
}

.ecu-lab-simple-card {
    width: min(760px, 100%);
    border: 1px solid rgba(255, 255, 255, .14);
    border-radius: 8px;
    background:
        radial-gradient(circle at 18% 0%, rgba(236, 28, 36, .18), transparent 34%),
        linear-gradient(145deg, rgba(255, 255, 255, .075), rgba(255, 255, 255, .022)),
        rgba(5, 7, 12, .94);
    box-shadow: 0 28px 70px rgba(0, 0, 0, .44), inset 0 1px 0 rgba(255, 255, 255, .08);
    overflow: visible;
}

.ecu-lab-simple-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
    padding: 22px 24px 16px;
    border-bottom: 1px solid rgba(255, 255, 255, .09);
}

.ecu-lab-simple-head h1 {
    margin: 0;
    color: #fff;
    font-family: Orbitron, Montserrat, sans-serif;
    font-size: clamp(34px, 4vw, 52px);
    line-height: .95;
    letter-spacing: 0;
}

.ecu-lab-simple-head span {
    display: block;
    margin-top: 8px;
    color: rgba(255, 255, 255, .72);
    font-size: 13px;
    line-height: 1.45;
}

.ecu-lab-simple-balance {
    min-width: 128px;
    border: 1px solid rgba(255, 255, 255, .20);
    border-radius: 6px;
    padding: 10px 12px;
    background: rgba(255, 255, 255, .045);
    text-align: right;
}

.ecu-lab-simple-balance span {
    margin: 0 0 3px;
    color: rgba(255, 255, 255, .55);
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.ecu-lab-simple-balance strong {
    color: #fff;
    font-size: 14px;
}

.ecu-lab-simple-flow {
    display: grid;
    gap: 12px;
    padding: 18px 24px 24px;
}

.ecu-lab-step,
.ecu-lab-simple-comment {
    display: grid;
    gap: 7px;
}

.ecu-lab-step > span,
.ecu-lab-simple-comment > span {
    color: rgba(255, 255, 255, .68);
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.ecu-lab-combo {
    position: relative;
}

.ecu-lab-combo > button,
.ecu-lab-simple-comment textarea {
    width: 100%;
    border: 1px solid rgba(255, 255, 255, .14);
    border-radius: 6px;
    background: rgba(0, 0, 0, .30);
    color: #fff;
    font: 800 14px Inter, Montserrat, sans-serif;
    outline: none;
}

.ecu-lab-combo > button {
    min-height: 46px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 0 14px;
    cursor: pointer;
}

.ecu-lab-combo > button i {
    width: 8px;
    height: 8px;
    border-right: 2px solid rgba(255, 255, 255, .72);
    border-bottom: 2px solid rgba(255, 255, 255, .72);
    transform: rotate(45deg) translateY(-2px);
}

.ecu-lab-combo.is-open > button,
.ecu-lab-combo > button:focus-visible,
.ecu-lab-simple-comment textarea:focus {
    border-color: rgba(236, 28, 36, .62);
    box-shadow: 0 0 0 3px rgba(236, 28, 36, .13);
}

.ecu-lab-combo.is-disabled > button {
    cursor: not-allowed;
    opacity: .52;
}

.ecu-lab-combo-panel {
    position: absolute;
    z-index: 40;
    top: calc(100% + 6px);
    left: 0;
    right: 0;
    border: 1px solid rgba(255, 255, 255, .16);
    border-radius: 6px;
    background: rgba(13, 15, 21, .98);
    box-shadow: 0 24px 54px rgba(0, 0, 0, .50);
    padding: 8px;
}

.ecu-lab-combo-panel input {
    width: 100%;
    min-height: 38px;
    border: 1px solid rgba(255, 255, 255, .13);
    border-radius: 5px;
    background: rgba(255, 255, 255, .06);
    color: #fff;
    padding: 0 11px;
    font: 800 13px Inter, Montserrat, sans-serif;
    outline: none;
}

.ecu-lab-combo-options {
    max-height: 190px;
    overflow: auto;
    display: grid;
    gap: 3px;
    margin-top: 8px;
    scrollbar-color: #ec1c24 rgba(255, 255, 255, .08);
}

.ecu-lab-combo-options button {
    width: 100%;
    display: grid;
    gap: 2px;
    border: 0;
    border-radius: 4px;
    background: transparent;
    color: rgba(255, 255, 255, .90);
    padding: 8px 9px;
    text-align: left;
    cursor: pointer;
}

.ecu-lab-combo-options button:hover {
    background: rgba(236, 28, 36, .18);
}

.ecu-lab-combo-options strong {
    font: 850 13px Inter, Montserrat, sans-serif;
}

.ecu-lab-combo-options small,
.ecu-lab-combo-empty {
    color: rgba(255, 255, 255, .56);
    font-size: 11px;
}

.ecu-lab-memory-note {
    display: grid;
    gap: 4px;
    border: 1px solid rgba(236, 28, 36, .22);
    border-radius: 6px;
    background: rgba(236, 28, 36, .08);
    padding: 10px 12px;
}

.ecu-lab-memory-note strong {
    color: #fff;
    font-size: 13px;
}

.ecu-lab-memory-note span {
    color: rgba(255, 255, 255, .70);
    font-size: 12px;
}

.ecu-lab-simple-drop {
    display: grid;
    place-items: center;
    min-height: 118px;
    border: 1px dashed rgba(255, 255, 255, .22);
    border-radius: 6px;
    background: rgba(255, 255, 255, .035);
    padding: 15px;
    text-align: center;
    cursor: pointer;
}

.ecu-lab-simple-drop input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.ecu-lab-simple-drop strong {
    color: #fff;
    font-size: 15px;
}

.ecu-lab-simple-drop span {
    margin-top: 4px;
    color: rgba(255, 255, 255, .62);
    font-size: 12px;
}

.ecu-lab-simple-drop em {
    margin-top: 8px;
    border: 1px solid rgba(62, 220, 145, .32);
    border-radius: 999px;
    padding: 6px 10px;
    background: rgba(62, 220, 145, .09);
    color: #d9ffea;
    font-style: normal;
    font-size: 12px;
    font-weight: 800;
}

.ecu-lab-simple-drop:hover,
.ecu-lab-simple-drop.is-dragging,
.ecu-lab-simple-drop.has-file {
    border-color: rgba(236, 28, 36, .58);
    background: rgba(236, 28, 36, .07);
}

.ecu-lab-simple-replace {
    justify-self: end;
    border: 0;
    background: transparent;
    color: rgba(255, 255, 255, .70);
    font-weight: 800;
    cursor: pointer;
}

.ecu-lab-simple-comment textarea {
    min-height: 74px;
    padding: 11px 12px;
    resize: vertical;
}

.ecu-lab-simple-summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    border: 1px solid rgba(255, 255, 255, .20);
    border-radius: 6px;
    background: rgba(255, 255, 255, .045);
    padding: 12px 14px;
}

.ecu-lab-simple-summary span {
    display: block;
    color: rgba(255, 255, 255, .60);
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.ecu-lab-simple-summary strong {
    color: #fff;
    font-size: 20px;
}

.ecu-lab-simple-summary p {
    max-width: 390px;
    margin: 0;
    color: rgba(255, 255, 255, .62);
    font-size: 12px;
    line-height: 1.4;
}

.ecu-lab-simple-submit {
    width: 100%;
    min-height: 50px;
    justify-content: center;
    border-radius: 6px !important;
    background: linear-gradient(180deg, #ff3341, #b91520) !important;
    color: #fff !important;
    font-size: 15px;
}

.ecu-lab-simple-submit {
    align-items: center;
    background:
        linear-gradient(180deg, rgba(255, 72, 84, .96), rgba(180, 15, 28, .94)),
        #e31624;
    border: 1px solid rgba(255, 92, 104, .58);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, .22),
        inset 0 -1px 0 rgba(80, 0, 8, .34),
        0 14px 34px rgba(255, 38, 52, .18);
    color: #fff;
    display: inline-flex;
    gap: 10px;
    justify-content: center;
    letter-spacing: .08em;
    line-height: 1;
    padding: 0 28px;
    text-align: center;
    text-transform: uppercase;
    width: 100%;
}

.ecu-lab-simple-submit::after {
    content: "\203A";
    font-size: 24px;
    font-weight: 400;
    line-height: 0;
    margin-top: -2px;
}

.ecu-lab-simple-submit:not(:disabled):hover {
    background:
        linear-gradient(180deg, rgba(255, 87, 98, 1), rgba(198, 18, 32, .98)),
        #f01828;
    border-color: rgba(255, 128, 138, .68);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, .26),
        0 18px 42px rgba(255, 38, 52, .24);
    transform: translateY(-1px);
}
.ecu-lab-simple-submit:disabled {
    cursor: not-allowed;
    filter: grayscale(.8);
    opacity: .52;
}

.ecu-lab-combo.needs-selection > button {
    animation: ecuLabPulseSelection .7s ease;
}

@media (max-width: 760px) {
    .ecu-lab-simple-main {
        padding: 12px !important;
    }

    .ecu-lab-simple-head,
    .ecu-lab-simple-summary {
        display: grid;
    }

    .ecu-lab-simple-balance {
        width: 100%;
        text-align: left;
    }
}

/* ECU Lab one-screen compact pass */
.ecu-lab-simple-main {
    min-height: calc(100vh - 1px);
    align-items: center;
    padding: 10px 18px !important;
}

.ecu-lab-simple-card {
    width: min(700px, 100%);
}

.ecu-lab-simple-head {
    padding: 14px 18px 10px;
}

.ecu-lab-simple-head h1 {
    font-size: clamp(30px, 3.2vw, 42px);
}

.ecu-lab-simple-head span {
    margin-top: 5px;
    font-size: 12px;
    line-height: 1.3;
}

.ecu-lab-simple-balance {
    min-width: 112px;
    padding: 8px 10px;
}

.ecu-lab-simple-flow {
    gap: 9px;
    padding: 12px 18px 16px;
}

.ecu-lab-step,
.ecu-lab-simple-comment {
    gap: 5px;
}

.ecu-lab-step > span,
.ecu-lab-simple-comment > span {
    font-size: 10px;
}

.ecu-lab-combo > button {
    min-height: 39px;
    padding: 0 12px;
    font-size: 13px;
}

.ecu-lab-combo-panel {
    top: calc(100% + 4px);
    padding: 7px;
}

.ecu-lab-combo-panel input {
    min-height: 34px;
}

.ecu-lab-combo-options {
    max-height: 150px;
    margin-top: 6px;
}

.ecu-lab-combo-options button {
    padding: 7px 8px;
}

.ecu-lab-memory-note {
    gap: 2px;
    padding: 8px 10px;
}

.ecu-lab-simple-drop {
    min-height: 84px;
    padding: 10px;
}

.ecu-lab-simple-drop strong {
    font-size: 14px;
}

.ecu-lab-simple-drop span {
    font-size: 11px;
}

.ecu-lab-simple-drop em {
    margin-top: 6px;
    padding: 5px 9px;
}

.ecu-lab-simple-comment textarea {
    min-height: 56px;
    padding: 9px 10px;
}

.ecu-lab-simple-summary {
    padding: 9px 11px;
}

.ecu-lab-simple-summary strong {
    font-size: 18px;
}

.ecu-lab-simple-summary p {
    font-size: 11px;
    line-height: 1.3;
}

.ecu-lab-simple-submit {
    min-height: 44px;
    font-size: 14px;
}

/* ECU Lab wide desktop layout */
@media (min-width: 1100px) {
    .ecu-lab-simple-main {
        align-items: center;
        padding: 14px clamp(22px, 3vw, 44px) !important;
    }

    .ecu-lab-simple-card {
        width: min(1240px, 100%);
    }

    .ecu-lab-simple-head {
        padding: 16px 22px 12px;
    }

    .ecu-lab-simple-flow {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        grid-template-areas:
            "brand model ecu"
            "note note note"
            "file file comment"
            "replace replace comment"
            "summary summary submit";
        gap: 12px;
        padding: 14px 22px 18px;
        align-items: stretch;
    }

    .ecu-lab-simple-flow > .ecu-lab-step:nth-of-type(1) {
        grid-area: brand;
    }

    .ecu-lab-simple-flow > .ecu-lab-step:nth-of-type(2) {
        grid-area: model;
    }

    .ecu-lab-simple-flow > .ecu-lab-step:nth-of-type(3) {
        grid-area: ecu;
    }

    .ecu-lab-memory-note {
        grid-area: note;
    }

    .ecu-lab-simple-drop {
        grid-area: file;
        min-height: 118px;
    }

    .ecu-lab-simple-replace {
        grid-area: replace;
        align-self: start;
    }

    .ecu-lab-simple-comment {
        grid-area: comment;
        align-self: stretch;
    }

    .ecu-lab-simple-comment textarea {
        min-height: 118px;
        height: 100%;
    }

    .ecu-lab-simple-summary {
        grid-area: summary;
    }

    .ecu-lab-simple-submit {
        grid-area: submit;
        height: 100%;
        min-height: 58px;
        align-self: stretch;
    }

    .ecu-lab-combo-options {
        max-height: 220px;
    }
}

/* ECU Lab reference mockup rebuild */
.ecu-lab-simple-main {
    align-items: center;
    justify-items: center;
    padding: 18px clamp(20px, 4vw, 58px) !important;
}

.ecu-lab-simple-card {
    width: min(1280px, 100%);
    border-color: rgba(255, 255, 255, .18);
    border-radius: 14px;
    background:
        radial-gradient(circle at 18% 8%, rgba(255, 255, 255, .055), transparent 22%),
        radial-gradient(circle at 78% 0%, rgba(255, 255, 255, .04), transparent 28%),
        linear-gradient(180deg, rgba(255, 255, 255, .05), rgba(255, 255, 255, .014)),
        rgba(3, 5, 9, .94);
    box-shadow: 0 34px 86px rgba(0, 0, 0, .58), inset 0 1px 0 rgba(255, 255, 255, .09);
    overflow: visible;
}

.ecu-lab-simple-head {
    padding: 22px 34px 20px;
}

.ecu-lab-simple-head .eyebrow {
    color: #ff3444;
    font-size: 13px;
    letter-spacing: .10em;
}

.ecu-lab-simple-head h1 {
    font-size: clamp(46px, 5vw, 74px);
    letter-spacing: 0;
}

.ecu-lab-simple-head span {
    color: rgba(255, 255, 255, .68);
    font-size: 14px;
}

.ecu-lab-simple-balance {
    min-width: 128px;
    border-radius: 8px;
    padding: 14px 16px;
}

.ecu-lab-progress {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0;
    padding: 12px 34px;
    border-top: 1px solid rgba(255, 255, 255, .08);
    border-bottom: 1px solid rgba(255, 255, 255, .08);
    background: rgba(255, 255, 255, .018);
}

.ecu-lab-progress span {
    position: relative;
    display: flex;
    align-items: center;
    gap: 12px;
    min-height: 38px;
    color: rgba(255, 255, 255, .38);
    font-size: 13px;
    font-weight: 900;
    letter-spacing: .05em;
    text-transform: uppercase;
}

.ecu-lab-progress span:not(:last-child)::after {
    content: "";
    flex: 1;
    height: 2px;
    margin-left: 14px;
    background: rgba(74, 82, 104, .38);
}

.ecu-lab-progress i {
    display: grid;
    place-items: center;
    width: 30px;
    height: 30px;
    border: 2px solid rgba(255, 255, 255, .22);
    border-radius: 50%;
    color: inherit;
    font-style: normal;
}

.ecu-lab-progress span.is-active,
.ecu-lab-progress span.is-done {
    color: #fff;
}

.ecu-lab-progress span.is-active i,
.ecu-lab-progress span.is-done i {
    border-color: #ff3444;
    color: #fff;
    box-shadow: 0 0 18px rgba(255, 52, 68, .16);
}

.ecu-lab-progress span.is-active::after,
.ecu-lab-progress span.is-done::after {
    background: linear-gradient(90deg, #ff3444, rgba(255, 52, 68, .18));
}

.ecu-lab-simple-flow {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    grid-template-areas:
        "brand model ecu"
        "note note note"
        "file file comment"
        "replace replace comment"
        "summary summary submit";
    gap: 14px;
    padding: 20px 34px 22px;
    align-items: stretch;
}

.ecu-lab-simple-flow > .ecu-lab-step:nth-of-type(1) {
    grid-area: brand;
}

.ecu-lab-simple-flow > .ecu-lab-step:nth-of-type(2) {
    grid-area: model;
}

.ecu-lab-simple-flow > .ecu-lab-step:nth-of-type(3) {
    grid-area: ecu;
}

.ecu-lab-step > span,
.ecu-lab-simple-comment > span {
    color: rgba(255, 255, 255, .58);
    font-size: 12px;
}

.ecu-lab-combo > button,
.ecu-lab-simple-comment textarea {
    border-color: rgba(255, 255, 255, .18);
    border-radius: 6px;
    background: rgba(0, 0, 0, .34);
    font-size: 15px;
}

.ecu-lab-combo > button {
    min-height: 42px;
}

.ecu-lab-combo-panel {
    border-radius: 8px;
}

.ecu-lab-combo-options {
    max-height: 230px;
}

.ecu-lab-memory-note {
    grid-area: note;
    display: flex;
    align-items: center;
    gap: 14px;
    min-height: 42px;
    border-color: rgba(255, 255, 255, .11);
    background: rgba(0, 0, 0, .24);
    padding: 8px 14px;
}

.ecu-lab-memory-note[hidden] {
    display: none;
}

.ecu-lab-memory-note i {
    width: 18px;
    height: 14px;
    border: 2px solid rgba(255, 255, 255, .82);
    border-radius: 3px;
    box-shadow: inset 0 -4px 0 rgba(255, 255, 255, .18);
}

.ecu-lab-memory-note strong {
    font-size: 14px;
}

.ecu-lab-memory-note span {
    color: rgba(255, 255, 255, .52);
}

.ecu-lab-memory-note em {
    border: 1px solid #ff3444;
    border-radius: 6px;
    padding: 4px 10px;
    color: #ff3444;
    font-style: normal;
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
}

.ecu-lab-simple-drop {
    grid-area: file;
    min-height: 160px;
    border-color: rgba(255, 52, 68, .72);
    border-style: dashed;
    background: rgba(0, 0, 0, .24);
}

.ecu-lab-upload-icon {
    width: 30px;
    height: 30px;
    margin-bottom: 6px;
    border: 3px solid #ff3444;
    border-top: 0;
    border-radius: 0 0 6px 6px;
    position: relative;
}

.ecu-lab-upload-icon::before {
    content: "";
    position: absolute;
    left: 50%;
    bottom: 12px;
    width: 14px;
    height: 14px;
    border-left: 3px solid #ff3444;
    border-top: 3px solid #ff3444;
    transform: translateX(-50%) rotate(45deg);
}

.ecu-lab-simple-drop strong {
    font-size: 18px;
}

.ecu-lab-simple-drop > button {
    min-width: 160px;
    min-height: 36px;
    margin-top: 12px;
    border: 1px solid rgba(255, 255, 255, .24);
    border-radius: 6px;
    background: rgba(255, 255, 255, .055);
    color: #fff;
    font: 900 13px Inter, Montserrat, sans-serif;
    text-transform: uppercase;
    cursor: pointer;
}

.ecu-lab-simple-replace {
    grid-area: replace;
}

.ecu-lab-simple-comment {
    grid-area: comment;
}

.ecu-lab-simple-comment textarea {
    min-height: 160px;
}

.ecu-lab-simple-summary {
    grid-area: summary;
    min-height: 72px;
    border-radius: 6px;
    background: rgba(255, 255, 255, .045);
    padding: 14px 16px;
}

.ecu-lab-simple-summary strong {
    font-size: 25px;
}

.ecu-lab-simple-submit {
    grid-area: submit;
    min-height: 72px;
    align-self: stretch;
    border-radius: 6px !important;
    font-size: 15px;
    letter-spacing: .05em;
    text-transform: uppercase;
}

@media (max-width: 1099px) {
    .ecu-lab-progress {
        grid-template-columns: 1fr 1fr;
        row-gap: 8px;
    }

    .ecu-lab-simple-flow {
        grid-template-columns: 1fr;
        grid-template-areas:
            "brand"
            "model"
            "ecu"
            "note"
            "file"
            "replace"
            "comment"
            "summary"
            "submit";
    }
}

@media (max-width: 760px) {
    .ecu-lab-simple-head,
    .ecu-lab-progress,
    .ecu-lab-simple-flow {
        padding-left: 14px;
        padding-right: 14px;
    }

    .ecu-lab-progress {
        grid-template-columns: 1fr;
    }
}

/* ECU Lab reference sizing pass */
.ecu-lab-simple-main {
    padding: 12px clamp(12px, 2vw, 28px) !important;
}

.ecu-lab-simple-card {
    width: min(1180px, 100%);
}

.ecu-lab-simple-head {
    padding: 18px 34px 16px;
}

.ecu-lab-simple-head h1 {
    font-size: clamp(42px, 4.5vw, 64px);
}

.ecu-lab-progress {
    padding-top: 10px;
    padding-bottom: 10px;
}

.ecu-lab-simple-flow {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(320px, 1.35fr);
    gap: 12px;
    padding-top: 17px;
    padding-bottom: 18px;
}

.ecu-lab-simple-drop,
.ecu-lab-simple-comment textarea {
    min-height: 148px;
}

.ecu-lab-simple-summary {
    display: grid;
    grid-template-columns: minmax(150px, max-content) minmax(0, 1fr);
    align-items: center;
    gap: 20px;
    min-height: 64px;
}

.ecu-lab-simple-summary strong {
    white-space: nowrap;
}

.ecu-lab-simple-submit {
    min-height: 64px;
    white-space: nowrap;
}

@media (max-width: 1099px) {
    .ecu-lab-simple-flow {
        grid-template-columns: 1fr;
    }
}

/* ECU Lab clarity pass */
.ecu-lab-simple-card {
    background:
        radial-gradient(circle at 18% 8%, rgba(255, 255, 255, .12), transparent 24%),
        radial-gradient(circle at 82% 0%, rgba(255, 52, 68, .08), transparent 32%),
        linear-gradient(180deg, rgba(255, 255, 255, .105), rgba(255, 255, 255, .04)),
        rgba(18, 22, 29, .94);
    border-color: rgba(255, 255, 255, .26);
    box-shadow:
        0 34px 86px rgba(0, 0, 0, .48),
        inset 0 1px 0 rgba(255, 255, 255, .16);
}

.ecu-lab-simple-head,
.ecu-lab-progress {
    background: rgba(255, 255, 255, .025);
}

.ecu-lab-simple-head span,
.ecu-lab-step > span,
.ecu-lab-simple-comment > span,
.ecu-lab-simple-drop span,
.ecu-lab-simple-summary p {
    color: rgba(255, 255, 255, .76);
}

.ecu-lab-combo > button,
.ecu-lab-simple-comment textarea {
    background:
        linear-gradient(180deg, rgba(255, 255, 255, .08), rgba(255, 255, 255, .035)),
        rgba(7, 10, 15, .72);
    border-color: rgba(255, 255, 255, .25);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, .09),
        0 14px 34px rgba(0, 0, 0, .18);
}

.ecu-lab-combo > button:hover,
.ecu-lab-simple-comment textarea:hover {
    border-color: rgba(255, 255, 255, .36);
    background:
        linear-gradient(180deg, rgba(255, 255, 255, .115), rgba(255, 255, 255, .045)),
        rgba(10, 14, 20, .78);
}

.ecu-lab-simple-drop {
    background:
        radial-gradient(circle at 50% 0%, rgba(255, 52, 68, .085), transparent 46%),
        linear-gradient(180deg, rgba(255, 255, 255, .07), rgba(255, 255, 255, .026)),
        rgba(8, 11, 16, .66);
    border-color: rgba(255, 52, 68, .86);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, .08),
        0 18px 44px rgba(0, 0, 0, .18);
}

.ecu-lab-simple-drop strong {
    color: #fff;
    text-shadow: 0 0 18px rgba(255, 255, 255, .14);
}

.ecu-lab-simple-drop > button {
    background:
        linear-gradient(180deg, rgba(255, 255, 255, .14), rgba(255, 255, 255, .07)),
        rgba(23, 28, 36, .92);
    border-color: rgba(255, 255, 255, .36);
}

.ecu-lab-simple-summary {
    background:
        linear-gradient(180deg, rgba(255, 255, 255, .09), rgba(255, 255, 255, .045)),
        rgba(12, 15, 20, .75);
    border-color: rgba(255, 255, 255, .18);
}

.ecu-lab-simple-submit {
    align-items: center;
    background:
        linear-gradient(180deg, rgba(255, 72, 84, .96), rgba(180, 15, 28, .94)),
        #e31624;
    border: 1px solid rgba(255, 92, 104, .58);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, .22),
        inset 0 -1px 0 rgba(80, 0, 8, .34),
        0 14px 34px rgba(255, 38, 52, .18);
    color: #fff;
    display: inline-flex;
    gap: 10px;
    justify-content: center;
    letter-spacing: .08em;
    line-height: 1;
    padding: 0 28px;
    text-align: center;
    text-transform: uppercase;
    width: 100%;
}

/* ECU Lab — compact heading and strict bottom alignment */
.ecu-lab-simple-head {
    align-items: flex-end;
}

.ecu-lab-simple-head > div:first-child {
    min-width: 0;
}

.ecu-lab-simple-head h1 {
    font-size: clamp(32px, 3.2vw, 48px);
    line-height: 1;
}

.ecu-lab-simple-balance {
    flex: 0 0 auto;
    margin-bottom: 0;
}

.ecu-lab-simple-summary,
.ecu-lab-simple-submit {
    box-sizing: border-box;
    height: 64px;
    min-height: 64px;
}

@media (max-width: 760px) {
    .ecu-lab-simple-head {
        align-items: flex-start;
    }

    .ecu-lab-simple-head h1 {
        font-size: clamp(28px, 9vw, 38px);
    }
}

.ecu-lab-simple-submit::after {
    content: "\203A";
    font-size: 24px;
    font-weight: 400;
    line-height: 0;
    margin-top: -2px;
}

.ecu-lab-simple-submit:not(:disabled):hover {
    background:
        linear-gradient(180deg, rgba(255, 87, 98, 1), rgba(198, 18, 32, .98)),
        #f01828;
    border-color: rgba(255, 128, 138, .68);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, .26),
        0 18px 42px rgba(255, 38, 52, .24);
    transform: translateY(-1px);
}
.ecu-lab-simple-submit:disabled {
    opacity: .68;
    filter: none;
    transform: none;
}

/* DARKLAB - DarkScan AI manual vehicle banner */
html body.darklab-fixed-bg .detect-page:not(.is-matrix-running) .darkscan-ai-banner {
    align-items: center;
    background:
        radial-gradient(circle at 11% 16%, rgba(255, 38, 52, .24), transparent 28%),
        radial-gradient(circle at 84% 4%, rgba(255, 255, 255, .16), transparent 25%),
        linear-gradient(135deg, rgba(32, 38, 48, .94), rgba(14, 17, 24, .90) 48%, rgba(35, 14, 18, .84)),
        rgba(18, 22, 30, .94);
    border: 1px solid rgba(255, 68, 82, .55);
    border-radius: 14px;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, .18),
        inset 0 -1px 0 rgba(255, 38, 52, .16),
        0 18px 42px rgba(0, 0, 0, .30);
    display: grid;
    gap: 16px;
    grid-template-columns: auto minmax(0, 1fr);
    margin: 12px 0 18px;
    overflow: hidden;
    padding: 15px 18px;
    position: relative;
}

html body.darklab-fixed-bg .detect-page:not(.is-matrix-running) .darkscan-ai-banner::before {
    background:
        linear-gradient(90deg, transparent, rgba(255, 255, 255, .12), transparent),
        repeating-linear-gradient(90deg, rgba(255, 255, 255, .035) 0 1px, transparent 1px 42px);
    content: "";
    inset: 0;
    opacity: .42;
    pointer-events: none;
    position: absolute;
}

html body.darklab-fixed-bg .detect-page:not(.is-matrix-running) .darkscan-ai-icon {
    background:
        linear-gradient(180deg, rgba(255, 255, 255, .20), rgba(255, 255, 255, .075)),
        rgba(16, 20, 28, .88);
    border: 1px solid rgba(255, 255, 255, .28);
    border-radius: 11px;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, .16),
        0 0 28px rgba(255, 38, 52, .20);
    color: #ff3a48;
    display: block;
    height: 52px;
    position: relative;
    width: 52px;
    z-index: 1;
}

html body.darklab-fixed-bg .detect-page:not(.is-matrix-running) .darkscan-ai-icon::before {
    border: 2px solid currentColor;
    border-radius: 8px;
    box-shadow:
        inset 0 0 0 5px rgba(255, 38, 52, .08),
        0 0 18px rgba(255, 38, 52, .16);
    content: "";
    height: 24px;
    left: 50%;
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 24px;
}

html body.darklab-fixed-bg .detect-page:not(.is-matrix-running) .darkscan-ai-icon::after {
    background: currentColor;
    box-shadow:
        0 -8px 0 rgba(255, 38, 52, .62),
        0 8px 0 rgba(255, 38, 52, .62),
        -10px 0 0 rgba(255, 38, 52, .44),
        10px 0 0 rgba(255, 38, 52, .44);
    content: "";
    height: 2px;
    left: 18px;
    position: absolute;
    top: 25px;
    width: 16px;
}

html body.darklab-fixed-bg .detect-page:not(.is-matrix-running) .darkscan-ai-copy {
    display: grid;
    gap: 7px;
    min-width: 0;
    position: relative;
    z-index: 1;
}

html body.darklab-fixed-bg .detect-page:not(.is-matrix-running) .darkscan-ai-kicker {
    align-self: start;
    background: rgba(255, 38, 52, .18);
    border: 1px solid rgba(255, 38, 52, .48);
    border-radius: 999px;
    color: #ff7b84;
    font-size: 9px;
    font-weight: 900;
    letter-spacing: .16em;
    line-height: 1;
    padding: 5px 8px;
    text-transform: uppercase;
    width: max-content;
}

html body.darklab-fixed-bg .detect-page:not(.is-matrix-running) .darkscan-ai-copy strong {
    color: #ffffff;
    font-family: Orbitron, Montserrat, sans-serif;
    font-size: clamp(16px, 1.5vw, 19px);
    font-weight: 900;
    letter-spacing: .03em;
    line-height: 1.18;
    text-shadow: 0 0 18px rgba(255, 255, 255, .24), 0 1px 0 rgba(0, 0, 0, .55);
    text-transform: uppercase;
}

html body.darklab-fixed-bg .detect-page:not(.is-matrix-running) .darkscan-ai-copy p,
html body.darklab-fixed-bg .detect-page:not(.is-matrix-running) .darkscan-ai-copy em {
    color: rgba(255, 255, 255, .96);
    font-size: 12.5px;
    line-height: 1.48;
    margin: 0;
}

html body.darklab-fixed-bg .detect-page:not(.is-matrix-running) .darkscan-ai-copy em {
    background: rgba(255, 255, 255, .095);
    border: 1px solid rgba(255, 255, 255, .20);
    border-left: 2px solid rgba(255, 68, 82, .84);
    border-radius: 8px;
    color: #ffffff;
    font-style: normal;
    font-weight: 700;
    margin-top: 2px;
    padding: 8px 10px;
}

@media (max-width: 760px) {
    html body.darklab-fixed-bg .detect-page:not(.is-matrix-running) .darkscan-ai-banner {
        align-items: start;
        grid-template-columns: 1fr;
        margin: 10px 0 16px;
        padding: 13px;
    }

    html body.darklab-fixed-bg .detect-page:not(.is-matrix-running) .darkscan-ai-icon {
        height: 44px;
        width: 44px;
    }

    html body.darklab-fixed-bg .detect-page:not(.is-matrix-running) .darkscan-ai-icon::before {
        height: 20px;
        width: 20px;
    }

    html body.darklab-fixed-bg .detect-page:not(.is-matrix-running) .darkscan-ai-icon::after {
        left: 15px;
        top: 21px;
        width: 14px;
    }
}

/* DARKLAB - Express Tune stable active state */
body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-upsell,
body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-upsell.is-active {
    align-items: center !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 76px !important;
    gap: 8px !important;
    min-height: 58px !important;
    overflow: hidden !important;
    padding: 9px 9px !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-upsell .express-tune-content,
body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-upsell > .express-tune-content {
    align-items: center !important;
    display: grid !important;
    grid-area: auto !important;
    grid-column: 1 !important;
    grid-row: 1 !important;
    grid-template-columns: 28px minmax(0, 1fr) !important;
    gap: 8px !important;
    min-width: 0 !important;
    width: 100% !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-upsell .express-tune-copy,
body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-upsell .express-tune-line {
    min-width: 0 !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-upsell .express-tune-line {
    display: flex !important;
    flex-wrap: nowrap !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-upsell .express-tune-icon {
    grid-area: auto !important;
    grid-column: 1 !important;
    grid-row: 1 !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-upsell .express-tune-copy {
    align-items: flex-start !important;
    display: flex !important;
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    gap: 5px !important;
    grid-column: 2 !important;
    grid-row: 1 !important;
    overflow: hidden !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-upsell strong {
    min-width: 0 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-upsell em {
    width: fit-content !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-upsell button[data-express-toggle],
body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-upsell.is-active button[data-express-toggle] {
    box-sizing: border-box !important;
    grid-area: auto !important;
    grid-column: 2 !important;
    grid-row: 1 !important;
    justify-self: stretch !important;
    margin: 0 !important;
    min-width: 0 !important;
    position: static !important;
    transform: none !important;
    width: 76px !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-upsell button[data-express-toggle] span {
    display: block !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

/* DARKLAB - Services recap: prevent Express Tune overlap on narrow layouts */
@media (max-width: 720px) {
    body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main {
        box-sizing: border-box !important;
        padding-inline: 16px !important;
    }

    body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .file-services-head {
        gap: 18px !important;
    }

    body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .glass-action {
        box-sizing: border-box !important;
        justify-content: center !important;
        width: 100% !important;
    }

    body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .service-summary {
        box-sizing: border-box !important;
        max-width: 100% !important;
        padding: 18px !important;
        width: 100% !important;
    }

    body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-upsell,
    body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-upsell.is-active {
        align-items: center !important;
        display: grid !important;
        gap: 10px !important;
        grid-template-columns: minmax(0, 1fr) 94px !important;
        min-height: 68px !important;
        overflow: hidden !important;
        padding: 10px !important;
    }

    body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-content,
    body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-upsell > .express-tune-content {
        display: grid !important;
        gap: 8px !important;
        grid-template-columns: 28px minmax(0, 1fr) !important;
        min-width: 0 !important;
        overflow: hidden !important;
    }

    body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-copy {
        align-items: flex-start !important;
        display: flex !important;
        flex-direction: column !important;
        flex-wrap: nowrap !important;
        gap: 5px !important;
        min-width: 0 !important;
        overflow: hidden !important;
    }

    body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-line {
        display: flex !important;
        max-width: 100% !important;
        min-width: 0 !important;
        width: 100% !important;
    }

    body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-upsell strong {
        flex: 0 1 auto !important;
        max-width: 100% !important;
        min-width: 0 !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
    }

    body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-upsell button[data-express-toggle],
    body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-upsell.is-active button[data-express-toggle] {
        grid-column: 2 !important;
        justify-self: stretch !important;
        margin: 0 !important;
        min-width: 0 !important;
        position: static !important;
        transform: none !important;
        width: 94px !important;
    }
}

/* DARKLAB - Stage logo colors only */
body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .stage-availability-mark {
    align-items: baseline;
    display: inline-flex;
    font-family: Orbitron, Montserrat, sans-serif;
    font-size: 42px;
    font-style: italic;
    font-weight: 900;
    height: 48px;
    justify-content: center;
    letter-spacing: -.13em;
    line-height: .86;
    max-height: 48px;
    max-width: 78px;
    min-width: 78px;
    overflow: hidden;
    transform: skew(-4deg);
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .stage-availability-mark b,
body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .stage-availability-mark i {
    font: inherit;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .stage-availability-mark b {
    color: #ffffff;
    text-shadow: 0 0 12px rgba(255, 255, 255, .20);
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .stage-availability-mark i {
    margin-left: .04em;
    text-shadow: 0 0 13px currentColor;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .stage-availability-mark-0 i {
    color: #7f8791;
}

/* DARKLAB - Express Tune: alignement strict du recap et du bouton info */
body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-upsell,
body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-upsell.is-active {
    align-items: center !important;
    grid-template-columns: minmax(0, 1fr) 94px !important;
    gap: 10px !important;
    min-height: 72px !important;
    padding: 10px 12px !important;
}

/* DARKLAB - Express Tune color balance and compact action */
body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-upsell,
body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-upsell.is-active {
    background:
        radial-gradient(circle at 8% 25%, rgba(36, 125, 212, .16), transparent 30%),
        radial-gradient(circle at 88% 50%, rgba(255, 30, 48, .20), transparent 42%),
        linear-gradient(110deg, rgba(16, 22, 31, .96), rgba(39, 13, 21, .94)) !important;
    border-color: rgba(255, 44, 59, .54) !important;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, .10),
        inset 0 0 22px rgba(255, 35, 51, .035),
        0 8px 22px rgba(0, 0, 0, .24),
        0 0 14px rgba(255, 31, 48, .08) !important;
    grid-template-columns: minmax(0, 1fr) 78px !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-icon {
    background:
        radial-gradient(circle, rgba(255, 71, 36, .34), rgba(194, 14, 31, .18) 48%, rgba(21, 27, 38, .90) 75%) !important;
    border-color: rgba(255, 113, 89, .36) !important;
    box-shadow:
        inset 0 0 10px rgba(255, 94, 45, .16),
        0 0 16px rgba(255, 36, 51, .20) !important;
    color: #ff7a3c !important;
    text-shadow: 0 0 8px rgba(255, 97, 44, .62) !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-upsell strong[data-express-title] {
    color: #ffffff !important;
    text-shadow: 0 0 10px rgba(255, 255, 255, .13) !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-upsell .express-tune-meta em {
    color: #ff3b4d !important;
    text-shadow: 0 0 9px rgba(255, 36, 52, .30) !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-upsell .express-info-button {
    border-color: rgba(255, 83, 96, .66) !important;
    color: #ff7580 !important;
    box-shadow: 0 0 9px rgba(255, 37, 53, .18) !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-upsell button[data-express-toggle],
body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-upsell.is-active button[data-express-toggle] {
    background: linear-gradient(145deg, #ff2939, #b60715) !important;
    border-radius: 8px !important;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, .20),
        0 4px 12px rgba(210, 7, 23, .22) !important;
    font-size: 9px !important;
    height: 34px !important;
    min-height: 34px !important;
    min-width: 78px !important;
    padding: 0 5px !important;
    width: 78px !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-upsell button[data-express-toggle]::before {
    font-size: 10px !important;
    margin-right: 3px !important;
}

/* DARKLAB - Express Tune priority card definitive final rule */
body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-upsell,
body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-upsell.is-active {
    background:
        radial-gradient(circle at 8% 12%, rgba(46, 126, 211, .13), transparent 32%),
        radial-gradient(circle at 92% 68%, rgba(255, 35, 51, .16), transparent 42%),
        linear-gradient(135deg, rgba(24, 28, 36, .97), rgba(39, 18, 25, .95)) !important;
    border: 1px solid rgba(255, 55, 69, .48) !important;
    border-radius: 13px !important;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, .09),
        0 10px 25px rgba(0, 0, 0, .22),
        0 0 16px rgba(255, 33, 49, .07) !important;
    display: grid !important;
    gap: 11px !important;
    grid-template-columns: 1fr !important;
    min-height: 0 !important;
    padding: 14px !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-upsell .express-tune-content,
body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-upsell > .express-tune-content {
    align-items: start !important;
    display: grid !important;
    gap: 10px !important;
    grid-column: 1 !important;
    grid-row: auto !important;
    grid-template-columns: 38px minmax(0, 1fr) !important;
    overflow: visible !important;
    width: 100% !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-icon {
    align-items: center !important;
    background: linear-gradient(145deg, rgba(255, 93, 45, .30), rgba(153, 8, 27, .22)) !important;
    border: 1px solid rgba(255, 105, 68, .34) !important;
    border-radius: 9px !important;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, .12),
        0 0 15px rgba(255, 43, 52, .16) !important;
    color: #ff7940 !important;
    display: flex !important;
    height: 38px !important;
    justify-content: center !important;
    text-shadow: 0 0 8px rgba(255, 99, 48, .58) !important;
    width: 38px !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-upsell .express-tune-copy {
    align-items: flex-start !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 7px !important;
    overflow: visible !important;
    width: 100% !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-upsell strong[data-express-title] {
    color: #fff !important;
    font-size: 13px !important;
    letter-spacing: .025em !important;
    line-height: 1.15 !important;
    text-shadow: 0 0 10px rgba(255, 255, 255, .12) !important;
    text-transform: none !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-description {
    color: rgba(239, 242, 248, .78) !important;
    display: block !important;
    font-size: 10px !important;
    font-weight: 600 !important;
    line-height: 1.35 !important;
    margin: 0 !important;
    max-width: 100% !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-upsell .express-tune-meta em {
    background: transparent !important;
    border: 0 !important;
    color: #ff4b5b !important;
    font-size: 9px !important;
    font-weight: 900 !important;
    letter-spacing: .075em !important;
    min-height: 0 !important;
    padding: 0 !important;
    text-shadow: 0 0 9px rgba(255, 38, 53, .24) !important;
    text-transform: uppercase !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-upsell button[data-express-toggle],
body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-upsell.is-active button[data-express-toggle] {
    background: linear-gradient(145deg, #f61f30, #ad0614) !important;
    border: 1px solid rgba(255, 255, 255, .16) !important;
    border-radius: 9px !important;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, .18),
        0 6px 15px rgba(200, 7, 22, .22) !important;
    box-sizing: border-box !important;
    font-size: 10px !important;
    grid-column: 1 !important;
    grid-row: auto !important;
    height: 38px !important;
    justify-self: stretch !important;
    margin: 0 !important;
    min-height: 38px !important;
    min-width: 0 !important;
    padding: 0 12px !important;
    width: 100% !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-upsell.is-active {
    border-color: rgba(47, 214, 136, .42) !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-upsell::before,
body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-upsell.is-active::before {
    animation: none !important;
    content: none !important;
    display: none !important;
}

/* DARKLAB - Express Tune priority card inspired by the original design */
body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-upsell,
body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-upsell.is-active {
    background:
        radial-gradient(circle at 8% 12%, rgba(46, 126, 211, .13), transparent 32%),
        radial-gradient(circle at 92% 68%, rgba(255, 35, 51, .16), transparent 42%),
        linear-gradient(135deg, rgba(24, 28, 36, .97), rgba(39, 18, 25, .95)) !important;
    border: 1px solid rgba(255, 55, 69, .48) !important;
    border-radius: 13px !important;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, .09),
        0 10px 25px rgba(0, 0, 0, .22),
        0 0 16px rgba(255, 33, 49, .07) !important;
    display: grid !important;
    gap: 11px !important;
    grid-template-columns: 1fr !important;
    min-height: 0 !important;
    padding: 14px !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-upsell .express-tune-content,
body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-upsell > .express-tune-content {
    align-items: start !important;
    display: grid !important;
    gap: 10px !important;
    grid-column: 1 !important;
    grid-row: auto !important;
    grid-template-columns: 38px minmax(0, 1fr) !important;
    overflow: visible !important;
    width: 100% !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-icon {
    align-items: center !important;
    background: linear-gradient(145deg, rgba(255, 93, 45, .30), rgba(153, 8, 27, .22)) !important;
    border: 1px solid rgba(255, 105, 68, .34) !important;
    border-radius: 9px !important;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, .12),
        0 0 15px rgba(255, 43, 52, .16) !important;
    color: #ff7940 !important;
    display: flex !important;
    height: 38px !important;
    justify-content: center !important;
    text-shadow: 0 0 8px rgba(255, 99, 48, .58) !important;
    width: 38px !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-upsell .express-tune-copy {
    align-items: flex-start !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 7px !important;
    overflow: visible !important;
    width: 100% !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-upsell strong[data-express-title] {
    color: #fff !important;
    font-size: 13px !important;
    letter-spacing: .025em !important;
    line-height: 1.15 !important;
    text-shadow: 0 0 10px rgba(255, 255, 255, .12) !important;
    text-transform: none !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-description {
    color: rgba(239, 242, 248, .78) !important;
    display: block !important;
    font-size: 10px !important;
    font-weight: 600 !important;
    line-height: 1.35 !important;
    margin: 0 !important;
    max-width: 100% !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-upsell .express-tune-meta em {
    color: #ff4b5b !important;
    font-size: 9px !important;
    font-weight: 900 !important;
    letter-spacing: .075em !important;
    text-shadow: 0 0 9px rgba(255, 38, 53, .24) !important;
    text-transform: uppercase !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-upsell button[data-express-toggle],
body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-upsell.is-active button[data-express-toggle] {
    background: linear-gradient(145deg, #f61f30, #ad0614) !important;
    border: 1px solid rgba(255, 255, 255, .16) !important;
    border-radius: 9px !important;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, .18),
        0 6px 15px rgba(200, 7, 22, .22) !important;
    box-sizing: border-box !important;
    font-size: 10px !important;
    grid-column: 1 !important;
    grid-row: auto !important;
    height: 38px !important;
    justify-self: stretch !important;
    margin: 0 !important;
    min-height: 38px !important;
    min-width: 0 !important;
    padding: 0 12px !important;
    width: 100% !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-upsell.is-active {
    border-color: rgba(47, 214, 136, .42) !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-upsell .express-tune-content,
body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-upsell > .express-tune-content {
    align-items: center !important;
    grid-template-columns: 30px minmax(0, 1fr) !important;
    gap: 9px !important;
    overflow: visible !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-upsell .express-tune-copy {
    align-items: flex-start !important;
    gap: 5px !important;
    overflow: visible !important;
    width: 100% !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-upsell .express-tune-line {
    align-items: center !important;
    display: grid !important;
    gap: 7px !important;
    grid-template-columns: minmax(0, 1fr) 20px !important;
    max-width: 100% !important;
    width: 100% !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-upsell strong[data-express-title] {
    font-size: 13px !important;
    line-height: 1.1 !important;
    overflow: visible !important;
    text-overflow: clip !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-info-wrap {
    align-items: center !important;
    display: flex !important;
    height: 20px !important;
    justify-content: center !important;
    min-width: 20px !important;
    position: relative !important;
    width: 20px !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-info-button {
    align-items: center !important;
    background: rgba(255, 255, 255, .04) !important;
    border: 1px solid rgba(255, 255, 255, .62) !important;
    border-radius: 50% !important;
    box-shadow: none !important;
    color: #fff !important;
    display: inline-flex !important;
    font-size: 12px !important;
    height: 20px !important;
    justify-content: center !important;
    line-height: 1 !important;
    min-height: 20px !important;
    min-width: 20px !important;
    padding: 0 !important;
    position: static !important;
    transform: none !important;
    width: 20px !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-upsell em {
    align-items: center !important;
    display: inline-flex !important;
    line-height: 1 !important;
    min-height: 20px !important;
    padding: 4px 9px !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-upsell button[data-express-toggle],
body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-upsell.is-active button[data-express-toggle] {
    align-self: center !important;
    height: 42px !important;
    justify-self: end !important;
    width: 94px !important;
}

@media (max-width: 410px) {
    body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-upsell,
    body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-upsell.is-active {
        grid-template-columns: minmax(0, 1fr) 86px !important;
        gap: 7px !important;
        padding-inline: 9px !important;
    }

    body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-upsell button[data-express-toggle],
    body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-upsell.is-active button[data-express-toggle] {
        width: 86px !important;
    }
}

/* DARKLAB CLIENT - compact order overview cards (final override) */
body.darklab-fixed-bg:not(.no-portal-bg) .order-detail-main .order-detail-overview {
    gap: 14px;
    grid-template-columns: minmax(0, 1.58fr) minmax(320px, .82fr);
    margin-bottom: 14px;
}

body.darklab-fixed-bg:not(.no-portal-bg) .order-detail-main .order-detail-overview > .order-detail-panel {
    padding: 14px !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .order-detail-main .order-vehicle-summary {
    padding-top: 14px !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .order-detail-main .order-vehicle-head {
    align-items: center;
    display: flex;
    justify-content: space-between;
    min-height: 38px;
    margin-bottom: 10px;
}

body.darklab-fixed-bg:not(.no-portal-bg) .order-detail-main .order-vehicle-head h2 {
    margin: 0 !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .order-detail-main .order-brand-logo {
    align-items: center;
    background: linear-gradient(145deg, rgba(255, 255, 255, .96), rgba(235, 239, 246, .90)) !important;
    border: 1px solid rgba(255, 255, 255, .72) !important;
    border-radius: 10px;
    box-sizing: border-box;
    box-shadow: inset 0 1px 0 #fff, 0 5px 14px rgba(0, 0, 0, .16), 0 0 12px rgba(255, 255, 255, .06) !important;
    display: inline-flex;
    flex: 0 0 48px;
    height: 38px;
    justify-content: center;
    padding: 5px 8px;
    position: static;
    width: 48px;
}

body.darklab-fixed-bg:not(.no-portal-bg) .order-detail-main .order-brand-logo img {
    display: block;
    max-height: 27px;
    max-width: 31px;
    object-fit: contain;
}

body.darklab-fixed-bg:not(.no-portal-bg) .order-detail-main .order-detail-panel h2 {
    font-size: 19px;
    margin-bottom: 10px;
}

body.darklab-fixed-bg:not(.no-portal-bg) .order-detail-main .order-detail-dl {
    gap: 7px 12px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

body.darklab-fixed-bg:not(.no-portal-bg) .order-detail-main .order-detail-dl div {
    gap: 3px;
    padding: 7px 10px;
}

body.darklab-fixed-bg:not(.no-portal-bg) .order-detail-main .order-detail-dl dd {
    font-size: 13px;
    line-height: 1.18;
}

body.darklab-fixed-bg:not(.no-portal-bg) .order-detail-main .order-detail-dl .order-services-summary {
    background: linear-gradient(145deg, rgba(255, 255, 255, .09), rgba(255, 38, 52, .055)) !important;
    border-color: rgba(255, 255, 255, .24) !important;
    grid-column: 3;
    grid-row: 1 / span 4;
    padding: 11px 12px;
}

body.darklab-fixed-bg:not(.no-portal-bg) .order-detail-main .order-detail-dl .order-services-summary dd {
    line-height: 1.35;
}

body.darklab-fixed-bg:not(.no-portal-bg) .order-detail-main .order-detail-dl > div:nth-child(7) {
    grid-column: 1 / span 2;
}

body.darklab-fixed-bg:not(.no-portal-bg) .order-detail-main .order-file-summary {
    gap: 10px;
}

body.darklab-fixed-bg:not(.no-portal-bg) .order-detail-main .order-file-cards {
    gap: 8px;
    grid-template-columns: 1fr;
}

body.darklab-fixed-bg:not(.no-portal-bg) .order-detail-main .order-file-card {
    display: flex;
    flex-direction: column;
    padding: 10px 12px;
}

body.darklab-fixed-bg:not(.no-portal-bg) .order-detail-main .order-file-card > span {
    margin-bottom: 6px;
}

body.darklab-fixed-bg:not(.no-portal-bg) .order-detail-main .order-file-card strong {
    min-height: 0;
}

body.darklab-fixed-bg:not(.no-portal-bg) .order-detail-main .order-file-card a {
    margin-top: 8px;
    padding: 6px 10px;
}

body.darklab-fixed-bg:not(.no-portal-bg) .order-detail-main .file-state {
    margin-top: 6px;
}

body.darklab-fixed-bg:not(.no-portal-bg) .order-detail-main .order-meta-strip {
    padding-top: 8px;
}

@media (max-width: 1200px) {
    body.darklab-fixed-bg:not(.no-portal-bg) .order-detail-main .order-detail-overview {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 720px) {
    body.darklab-fixed-bg:not(.no-portal-bg) .order-detail-main .order-detail-dl {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    body.darklab-fixed-bg:not(.no-portal-bg) .order-detail-main .order-detail-dl .order-services-summary {
        grid-column: 1 / -1;
        grid-row: auto;
        min-height: 88px;
    }

    body.darklab-fixed-bg:not(.no-portal-bg) .order-detail-main .order-detail-dl > div:nth-child(7) {
        grid-column: auto;
    }
}

@media (max-width: 480px) {
    body.darklab-fixed-bg:not(.no-portal-bg) .order-detail-main .order-detail-dl {
        grid-template-columns: 1fr;
    }

    body.darklab-fixed-bg:not(.no-portal-bg) .order-detail-main .order-detail-dl .order-services-summary {
        grid-column: 1;
    }
}

body.darklab-fixed-bg:not(.no-portal-bg) .order-detail-main .order-file-actions {
    align-items: center;
    display: flex;
    justify-content: space-between;
    margin-top: auto;
    min-height: 38px;
    padding-top: 8px;
}

body.darklab-fixed-bg:not(.no-portal-bg) .order-detail-main .order-file-actions .file-state {
    margin: 0;
}

body.darklab-fixed-bg:not(.no-portal-bg) .order-detail-main .order-file-card .order-file-download-icon {
    align-items: center;
    background: linear-gradient(145deg, #ff2b3d, #bd0717);
    border: 1px solid rgba(255, 255, 255, .25);
    border-radius: 10px;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .22), 0 5px 14px rgba(189, 7, 23, .25);
    display: inline-flex;
    flex: 0 0 38px;
    height: 38px;
    justify-content: center;
    margin: 0;
    padding: 0;
    transition: border-color .16s ease, box-shadow .16s ease, transform .16s ease;
    width: 38px;
}

body.darklab-fixed-bg:not(.no-portal-bg) .order-detail-main .order-file-card .order-file-download-icon svg {
    fill: none;
    height: 19px;
    stroke: #fff;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 2;
    width: 19px;
}

body.darklab-fixed-bg:not(.no-portal-bg) .order-detail-main .order-file-card .order-file-download-icon:hover,
body.darklab-fixed-bg:not(.no-portal-bg) .order-detail-main .order-file-card .order-file-download-icon:focus-visible {
    border-color: rgba(255, 255, 255, .58);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .28), 0 0 18px rgba(255, 38, 55, .38), 0 7px 17px rgba(0, 0, 0, .24);
    transform: translateY(-1px);
}

body.darklab-fixed-bg:not(.no-portal-bg) .order-detail-main .order-file-card .order-file-download-icon.is-disabled {
    background: linear-gradient(145deg, rgba(111, 118, 130, .42), rgba(53, 58, 68, .52));
    border-color: rgba(255, 255, 255, .14);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .08);
    cursor: not-allowed;
    opacity: .48;
    pointer-events: none;
    transform: none;
}

body.darklab-fixed-bg:not(.no-portal-bg) .order-detail-main .order-file-card .order-file-download-icon.is-disabled svg {
    stroke: rgba(255, 255, 255, .58);
}

body.darklab-fixed-bg:not(.no-portal-bg) .order-detail-main .order-file-summary .pill.status-manuel {
    align-items: center;
    background: linear-gradient(135deg, rgba(239, 31, 48, .34), rgba(139, 8, 23, .28));
    border: 1px solid rgba(255, 67, 83, .68);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .12), 0 0 14px rgba(239, 31, 48, .18);
    color: #ff7b87;
    display: inline-flex;
    font-size: 11px;
    letter-spacing: .075em;
    padding: 7px 11px;
    text-shadow: 0 0 8px rgba(255, 48, 65, .28);
}

body.darklab-fixed-bg:not(.no-portal-bg) .order-detail-main .order-file-summary .pill.status-manuel::before {
    background: #ff3145;
    border-radius: 50%;
    box-shadow: 0 0 8px rgba(255, 49, 69, .62);
    content: "";
    flex: 0 0 6px;
    height: 6px;
    margin-right: 7px;
    width: 6px;
}

/* DARKLAB CLIENT - unified premium order dossier */
body.darklab-fixed-bg:not(.no-portal-bg) .order-detail-main .order-command-dossier-wrap {
    display: block;
    margin-bottom: 14px;
}

body.darklab-fixed-bg:not(.no-portal-bg) .order-detail-main .order-command-dossier {
    overflow: hidden;
    padding: 14px !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .order-detail-main .order-dossier-head {
    align-items: center;
    border-bottom: 1px solid rgba(255, 255, 255, .14);
    display: flex;
    gap: 24px;
    justify-content: space-between;
    margin-bottom: 12px;
    padding: 0 2px 11px;
}

body.darklab-fixed-bg:not(.no-portal-bg) .order-detail-main .order-dossier-title {
    min-width: max-content;
}

body.darklab-fixed-bg:not(.no-portal-bg) .order-detail-main .order-dossier-title .eyebrow {
    font-size: 9px;
    line-height: 1;
    margin: 0 0 5px;
}

body.darklab-fixed-bg:not(.no-portal-bg) .order-detail-main .order-dossier-title h2 {
    font-size: 20px;
    margin: 0;
}

body.darklab-fixed-bg:not(.no-portal-bg) .order-detail-main .order-dossier-meta {
    align-items: stretch;
    display: grid;
    gap: 8px;
    grid-template-columns: minmax(245px, 1.45fr) minmax(180px, .92fr) minmax(145px, .75fr);
}

body.darklab-fixed-bg:not(.no-portal-bg) .order-detail-main .order-dossier-meta > div {
    background: rgba(8, 13, 22, .26);
    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: 9px;
    display: flex;
    flex-direction: column;
    gap: 4px;
    justify-content: center;
    min-height: 44px;
    padding: 6px 10px;
}

body.darklab-fixed-bg:not(.no-portal-bg) .order-detail-main .order-dossier-meta span,
body.darklab-fixed-bg:not(.no-portal-bg) .order-detail-main .order-zone-kicker,
body.darklab-fixed-bg:not(.no-portal-bg) .order-detail-main .order-vin-summary span,
body.darklab-fixed-bg:not(.no-portal-bg) .order-detail-main .order-services-meta span {
    color: rgba(222, 227, 237, .62);
    font-size: 9px;
    letter-spacing: .075em;
    line-height: 1;
    text-transform: uppercase;
}

body.darklab-fixed-bg:not(.no-portal-bg) .order-detail-main .order-dossier-meta strong:not(.pill) {
    color: #f7f8fb;
    font-size: 12px;
    line-height: 1.1;
    white-space: nowrap;
}

body.darklab-fixed-bg:not(.no-portal-bg) .order-detail-main .order-dossier-meta .order-dossier-date {
    padding-inline: 12px;
}

body.darklab-fixed-bg:not(.no-portal-bg) .admin-order-client-mirror .order-dossier-meta {
    grid-template-columns: minmax(245px, 1.35fr) minmax(180px, .8fr);
}

@media (max-width: 560px) {
    body.darklab-fixed-bg:not(.no-portal-bg) .admin-order-client-mirror .order-dossier-meta {
        grid-template-columns: 1fr;
    }
}

body.darklab-fixed-bg:not(.no-portal-bg) .order-detail-main .order-dossier-meta .order-dossier-reference {
    background:
        linear-gradient(100deg, rgba(5, 10, 18, .62), rgba(30, 17, 25, .48)),
        radial-gradient(circle at 100% 0, rgba(255, 47, 65, .10), transparent 52%);
    border-color: rgba(255, 255, 255, .18);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, .06),
        0 7px 20px rgba(0, 0, 0, .14);
    gap: 7px;
    overflow: hidden;
    padding: 8px 14px 8px 17px;
    position: relative;
}

body.darklab-fixed-bg:not(.no-portal-bg) .order-detail-main .order-dossier-meta .order-dossier-reference::before {
    background: linear-gradient(180deg, #ff4051, rgba(255, 64, 81, .16));
    box-shadow: 0 0 10px rgba(255, 48, 66, .32);
    content: "";
    height: calc(100% - 18px);
    left: 0;
    position: absolute;
    top: 9px;
    width: 2px;
}

body.darklab-fixed-bg:not(.no-portal-bg) .order-detail-main .order-dossier-meta .order-dossier-reference span {
    color: rgba(235, 228, 230, .68);
    font-family: "Montserrat", sans-serif;
    font-size: 8px;
    font-weight: 600;
    letter-spacing: .22em;
}

body.darklab-fixed-bg:not(.no-portal-bg) .order-detail-main .order-dossier-meta .order-dossier-reference strong:not(.pill) {
    color: #fff;
    font-family: "Montserrat", sans-serif;
    font-size: 14px;
    font-weight: 500;
    letter-spacing: .105em;
    line-height: 1;
    text-shadow: 0 0 16px rgba(255, 255, 255, .08);
}

body.darklab-fixed-bg:not(.no-portal-bg) .order-detail-main .order-dossier-meta .pill {
    align-items: center;
    align-self: flex-start;
    display: inline-flex;
    font-size: 9px;
    gap: 6px;
    letter-spacing: .075em;
    line-height: 1;
    padding: 6px 9px;
}

body.darklab-fixed-bg:not(.no-portal-bg) .order-detail-main .order-dossier-meta .pill::before {
    border-radius: 50%;
    content: "";
    flex: 0 0 5px;
    height: 5px;
    width: 5px;
}

body.darklab-fixed-bg:not(.no-portal-bg) .order-detail-main .order-dossier-meta .status-manuel {
    background: linear-gradient(135deg, rgba(239, 31, 48, .34), rgba(139, 8, 23, .28));
    border: 1px solid rgba(255, 67, 83, .68);
    color: #ff7b87;
}

body.darklab-fixed-bg:not(.no-portal-bg) .order-detail-main .order-dossier-meta .status-manuel::before {
    background: #ff3145;
    box-shadow: 0 0 8px rgba(255, 49, 69, .62);
}

body.darklab-fixed-bg:not(.no-portal-bg) .order-detail-main .order-dossier-meta .status-automatique {
    background: linear-gradient(135deg, rgba(19, 181, 134, .28), rgba(8, 87, 87, .24));
    border: 1px solid rgba(52, 224, 164, .52);
    color: #75f4c2;
}

body.darklab-fixed-bg:not(.no-portal-bg) .order-detail-main .order-dossier-meta .status-automatique::before {
    background: #31e39b;
    box-shadow: 0 0 8px rgba(49, 227, 155, .58);
}

body.darklab-fixed-bg:not(.no-portal-bg) .order-detail-main .order-dossier-grid {
    display: grid;
    gap: 10px;
    grid-template-columns: minmax(0, 1.12fr) minmax(225px, .64fr) minmax(310px, .88fr);
}

/* Admin + Super Admin: compact premium customer identity strip */
body.darklab-fixed-bg:not(.no-portal-bg) .admin-order-client-mirror .admin-order-client-summary {
    align-items: stretch;
    background: linear-gradient(105deg, rgba(9, 16, 27, .44), rgba(38, 17, 27, .36));
    border: 1px solid rgba(255, 255, 255, .15);
    border-radius: 10px;
    display: grid;
    gap: 12px;
    grid-template-columns: minmax(145px, .58fr) minmax(0, 3.42fr);
    margin-bottom: 10px;
    overflow: hidden;
    padding: 8px 10px;
    position: relative;
}

body.darklab-fixed-bg:not(.no-portal-bg) .admin-order-client-mirror .admin-order-client-summary::before {
    background: linear-gradient(180deg, #ff3045, rgba(255, 48, 69, .1));
    box-shadow: 0 0 11px rgba(255, 48, 69, .3);
    content: "";
    inset: 9px auto 9px 0;
    position: absolute;
    width: 2px;
}

body.darklab-fixed-bg:not(.no-portal-bg) .admin-order-client-mirror .admin-client-summary-title {
    align-self: center;
    border-right: 1px solid rgba(255, 255, 255, .1);
    padding: 2px 12px 2px 4px;
}

body.darklab-fixed-bg:not(.no-portal-bg) .admin-order-client-mirror .admin-client-summary-title h3 {
    color: #f8f9fb;
    font-size: 14px;
    line-height: 1.1;
    margin: 5px 0 0;
}

body.darklab-fixed-bg:not(.no-portal-bg) .admin-order-client-mirror .admin-client-summary-grid {
    display: grid;
    gap: 7px;
    grid-template-columns: minmax(110px, .75fr) minmax(135px, .9fr) minmax(210px, 1.45fr) minmax(160px, 1fr);
    margin: 0;
}

body.darklab-fixed-bg:not(.no-portal-bg) .admin-order-client-mirror .admin-client-summary-grid > div {
    background: rgba(8, 12, 20, .3);
    border: 1px solid rgba(255, 255, 255, .1);
    border-radius: 8px;
    display: grid;
    min-width: 0;
    padding: 6px 9px;
}

body.darklab-fixed-bg:not(.no-portal-bg) .admin-order-client-mirror .admin-client-summary-grid dt {
    color: rgba(222, 227, 237, .58);
    font-size: 8px;
    letter-spacing: .085em;
    line-height: 1;
    text-transform: uppercase;
}

body.darklab-fixed-bg:not(.no-portal-bg) .admin-order-client-mirror .admin-client-summary-grid dd {
    color: #f7f8fb;
    font-size: 12px;
    line-height: 1.15;
    margin: 4px 0 0;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

body.darklab-fixed-bg:not(.no-portal-bg) .admin-order-client-mirror .admin-client-reading-mode {
    grid-template-columns: minmax(0, 1fr) auto;
}

body.darklab-fixed-bg:not(.no-portal-bg) .admin-order-client-mirror .admin-client-reading-mode dt {
    grid-column: 1 / -1;
}

body.darklab-fixed-bg:not(.no-portal-bg) .admin-order-client-mirror .admin-client-reading-mode small {
    align-self: center;
    color: rgba(226, 230, 238, .58);
    font-size: 8px;
    margin-left: 7px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

body.darklab-fixed-bg:not(.no-portal-bg) .admin-order-client-mirror .reading-mode-pill {
    align-items: center;
    border: 1px solid rgba(255, 66, 83, .62);
    border-radius: 999px;
    color: #ff7c88;
    display: inline-flex;
    font-size: 9px;
    font-weight: 700;
    letter-spacing: .08em;
    min-height: 22px;
    padding: 0 9px;
    text-transform: uppercase;
}

body.darklab-fixed-bg:not(.no-portal-bg) .admin-order-client-mirror .reading-mode-pill.is-slave {
    border-color: rgba(85, 164, 255, .62);
    color: #8cc5ff;
}

body.darklab-fixed-bg:not(.no-portal-bg) .admin-order-client-mirror .reading-mode-pill.is-unknown {
    border-color: rgba(188, 194, 207, .28);
    color: rgba(225, 229, 237, .62);
}

@media (max-width: 1050px) {
    body.darklab-fixed-bg:not(.no-portal-bg) .admin-order-client-mirror .admin-order-client-summary {
        grid-template-columns: 1fr;
    }

    body.darklab-fixed-bg:not(.no-portal-bg) .admin-order-client-mirror .admin-client-summary-title {
        border-bottom: 1px solid rgba(255, 255, 255, .1);
        border-right: 0;
        padding-bottom: 7px;
    }

    body.darklab-fixed-bg:not(.no-portal-bg) .admin-order-client-mirror .admin-client-summary-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 560px) {
    body.darklab-fixed-bg:not(.no-portal-bg) .admin-order-client-mirror .admin-client-summary-grid {
        grid-template-columns: 1fr;
    }
}

body.darklab-fixed-bg:not(.no-portal-bg) .order-detail-main .order-dossier-zone {
    background: linear-gradient(145deg, rgba(11, 20, 33, .38), rgba(39, 16, 26, .34));
    border: 1px solid rgba(255, 255, 255, .18);
    border-radius: 11px;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .035);
    box-sizing: border-box;
    min-width: 0;
    padding: 11px;
}

body.darklab-fixed-bg:not(.no-portal-bg) .order-detail-main .order-dossier-zone h3 {
    color: #f7f8fb;
    font-size: 14px;
    line-height: 1.12;
    margin: 0;
}

body.darklab-fixed-bg:not(.no-portal-bg) .order-detail-main .order-dossier-vehicle .order-vehicle-head {
    min-height: 34px;
    margin-bottom: 8px;
}

body.darklab-fixed-bg:not(.no-portal-bg) .order-detail-main .order-dossier-vehicle .order-brand-logo {
    flex-basis: 42px;
    height: 34px;
    width: 42px;
}

body.darklab-fixed-bg:not(.no-portal-bg) .order-detail-main .order-dossier-vehicle .order-brand-logo img {
    max-height: 24px;
    max-width: 28px;
}

body.darklab-fixed-bg:not(.no-portal-bg) .order-detail-main .order-command-dossier .order-detail-dl {
    gap: 6px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

body.darklab-fixed-bg:not(.no-portal-bg) .order-detail-main .order-command-dossier .order-detail-dl div {
    min-height: 45px;
    padding: 6px 9px;
}

body.darklab-fixed-bg:not(.no-portal-bg) .order-detail-main .order-command-dossier .order-detail-dl .order-transmission {
    grid-column: 1 / -1;
}

body.darklab-fixed-bg:not(.no-portal-bg) .order-detail-main .order-dossier-services {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

body.darklab-fixed-bg:not(.no-portal-bg) .order-detail-main .order-dossier-services h3,
body.darklab-fixed-bg:not(.no-portal-bg) .order-detail-main .order-zone-heading h3 {
    margin-top: 6px;
}

body.darklab-fixed-bg:not(.no-portal-bg) .order-detail-main .order-dossier-services > p {
    color: #f3f5f9;
    font-size: 13px;
    line-height: 1.38;
    margin: auto 0;
    overflow-wrap: anywhere;
}

body.darklab-fixed-bg:not(.no-portal-bg) .order-detail-main .order-services-meta {
    align-items: center;
    border-top: 1px solid rgba(255, 255, 255, .12);
    display: flex;
    justify-content: space-between;
    padding-top: 10px;
}

body.darklab-fixed-bg:not(.no-portal-bg) .order-detail-main .order-services-meta strong {
    color: #ff5362;
    font-size: 17px;
}

body.darklab-fixed-bg:not(.no-portal-bg) .order-detail-main .order-zone-heading {
    align-items: center;
    display: flex;
    gap: 12px;
    justify-content: space-between;
    margin-bottom: 8px;
}

body.darklab-fixed-bg:not(.no-portal-bg) .order-detail-main .order-vin-summary {
    display: flex;
    flex-direction: column;
    gap: 4px;
    max-width: 58%;
    text-align: right;
}

body.darklab-fixed-bg:not(.no-portal-bg) .order-detail-main .order-vin-summary strong {
    color: #f5f6f9;
    font-size: 10px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

body.darklab-fixed-bg:not(.no-portal-bg) .order-detail-main .order-dossier-files .order-file-cards {
    gap: 7px;
    grid-template-columns: 1fr;
}

body.darklab-fixed-bg:not(.no-portal-bg) .order-detail-main .order-dossier-files .order-file-card {
    min-height: 102px;
    padding: 9px 10px;
}

body.darklab-fixed-bg:not(.no-portal-bg) .order-detail-main .order-dossier-files .order-file-card > span {
    margin-bottom: 4px;
}

body.darklab-fixed-bg:not(.no-portal-bg) .order-detail-main .order-dossier-files .order-file-card strong {
    font-size: 11px;
    line-height: 1.15;
    overflow-wrap: anywhere;
}

body.darklab-fixed-bg:not(.no-portal-bg) .order-detail-main .order-dossier-files .order-file-actions {
    min-height: 32px;
    padding-top: 5px;
}

body.darklab-fixed-bg:not(.no-portal-bg) .order-detail-main .order-dossier-files .order-file-download-icon {
    border-radius: 8px;
    flex-basis: 32px;
    height: 32px;
    width: 32px;
}

body.darklab-fixed-bg:not(.no-portal-bg) .order-detail-main .order-dossier-files .order-file-download-icon svg {
    height: 16px;
    width: 16px;
}

body.darklab-fixed-bg:not(.no-portal-bg) .order-detail-main .order-file-upload-form {
    display: inline-flex;
    margin: 0;
}

body.darklab-fixed-bg:not(.no-portal-bg) .order-detail-main .order-file-upload-form input[type="file"] {
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    height: 1px;
    opacity: 0;
    overflow: hidden;
    position: absolute;
    width: 1px;
    white-space: nowrap;
}

body.darklab-fixed-bg:not(.no-portal-bg) .order-detail-main .order-file-upload-icon {
    cursor: pointer !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .order-detail-main .order-file-download-icon,
body.darklab-fixed-bg:not(.no-portal-bg) .order-detail-main .order-file-download-icon * {
    cursor: pointer !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .order-detail-main .order-file-download-icon svg,
body.darklab-fixed-bg:not(.no-portal-bg) .order-detail-main .order-file-download-icon svg * {
    pointer-events: none;
}

body.darklab-fixed-bg:not(.no-portal-bg) .order-detail-main .order-file-upload-form input[type="file"]:focus-visible + .order-file-upload-icon {
    border-color: rgba(255, 255, 255, .72);
    box-shadow: 0 0 0 3px rgba(255, 41, 59, .22), 0 0 18px rgba(255, 38, 55, .38);
}

body.darklab-fixed-bg:not(.no-portal-bg) .admin-order-client-mirror .order-optimized-dropbox .order-file-upload-icon {
    background: linear-gradient(145deg, rgba(255, 40, 59, .13), rgba(10, 14, 23, .48));
    border: 1px dashed rgba(255, 72, 88, .72);
    border-radius: 10px;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .06), 0 0 14px rgba(255, 35, 55, .08);
    color: rgba(245, 247, 251, .82);
    flex-basis: auto;
    flex-direction: column;
    gap: 4px;
    height: 58px;
    min-width: 142px;
    padding: 7px 13px;
    width: auto;
}

body.darklab-fixed-bg:not(.no-portal-bg) .admin-order-client-mirror .order-optimized-dropbox .order-file-upload-icon span {
    color: inherit;
    font-size: 8px;
    font-weight: 700;
    letter-spacing: .055em;
    line-height: 1;
    margin: 0;
    text-transform: uppercase;
    white-space: nowrap;
}

body.darklab-fixed-bg:not(.no-portal-bg) .admin-order-client-mirror .order-optimized-dropbox .order-file-upload-icon:hover,
body.darklab-fixed-bg:not(.no-portal-bg) .admin-order-client-mirror .order-optimized-dropbox .order-file-upload-icon.is-dragging {
    background: linear-gradient(145deg, rgba(255, 42, 61, .26), rgba(18, 16, 25, .64));
    border-color: #ff4152;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1), 0 0 20px rgba(255, 36, 55, .22);
    transform: translateY(-1px);
}

body.darklab-fixed-bg:not(.no-portal-bg) .admin-order-client-mirror .order-dossier-files .order-file-cards {
    grid-auto-rows: 1fr;
}

body.darklab-fixed-bg:not(.no-portal-bg) .admin-order-client-mirror .order-dossier-files .order-file-card {
    box-sizing: border-box;
    height: 100%;
}

body.darklab-fixed-bg:not(.no-portal-bg) .admin-order-client-mirror .order-dossier-files .order-file-card-optimized.is-awaiting-upload {
    padding-right: 184px;
    position: relative;
}

body.darklab-fixed-bg:not(.no-portal-bg) .admin-order-client-mirror .order-file-card-optimized .order-optimized-dropbox {
    bottom: 8px;
    position: absolute;
    right: 8px;
    top: 8px;
    width: 166px;
}

body.darklab-fixed-bg:not(.no-portal-bg) .admin-order-client-mirror .order-file-card-optimized .order-optimized-dropbox .order-file-upload-icon {
    box-sizing: border-box;
    height: 100%;
    min-height: 0;
    min-width: 0;
    width: 100%;
}

@media (max-width: 560px) {
    body.darklab-fixed-bg:not(.no-portal-bg) .admin-order-client-mirror .order-dossier-files .order-file-card-optimized.is-awaiting-upload {
        padding-right: 10px;
    }

    body.darklab-fixed-bg:not(.no-portal-bg) .admin-order-client-mirror .order-file-card-optimized .order-optimized-dropbox {
        bottom: auto;
        position: static;
        width: 100%;
    }

    body.darklab-fixed-bg:not(.no-portal-bg) .admin-order-client-mirror .order-file-card-optimized .order-optimized-dropbox .order-file-upload-icon {
        height: 62px;
    }

    body.darklab-fixed-bg:not(.no-portal-bg) .admin-order-client-mirror .order-dossier-files .order-file-actions {
        align-items: stretch;
        flex-direction: column;
    }

    body.darklab-fixed-bg:not(.no-portal-bg) .admin-order-client-mirror .order-optimized-dropbox,
    body.darklab-fixed-bg:not(.no-portal-bg) .admin-order-client-mirror .order-optimized-dropbox .order-file-upload-icon {
        width: 100%;
    }
}

@media (max-width: 1180px) {
    body.darklab-fixed-bg:not(.no-portal-bg) .order-detail-main .order-dossier-grid {
        grid-template-columns: minmax(0, 1.3fr) minmax(240px, .7fr);
    }

    body.darklab-fixed-bg:not(.no-portal-bg) .order-detail-main .order-dossier-files {
        grid-column: 1 / -1;
    }

    body.darklab-fixed-bg:not(.no-portal-bg) .order-detail-main .order-dossier-files .order-file-cards {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 860px) {
    body.darklab-fixed-bg:not(.no-portal-bg) .order-detail-main .order-dossier-head {
        align-items: stretch;
        flex-direction: column;
        gap: 10px;
    }

    body.darklab-fixed-bg:not(.no-portal-bg) .order-detail-main .order-dossier-title {
        min-width: 0;
    }

    body.darklab-fixed-bg:not(.no-portal-bg) .order-detail-main .order-dossier-meta {
        grid-template-columns: minmax(230px, 1.35fr) minmax(175px, .9fr) minmax(130px, .75fr);
    }

    body.darklab-fixed-bg:not(.no-portal-bg) .order-detail-main .order-dossier-grid {
        grid-template-columns: 1fr;
    }

    body.darklab-fixed-bg:not(.no-portal-bg) .order-detail-main .order-dossier-files {
        grid-column: auto;
    }
}

@media (max-width: 560px) {
    body.darklab-fixed-bg:not(.no-portal-bg) .order-detail-main .order-command-dossier {
        padding: 10px !important;
    }

    body.darklab-fixed-bg:not(.no-portal-bg) .order-detail-main .order-dossier-meta {
        grid-template-columns: 1fr;
    }

    body.darklab-fixed-bg:not(.no-portal-bg) .order-detail-main .order-dossier-meta .order-dossier-reference strong:not(.pill) {
        font-size: 12px;
        letter-spacing: .075em;
    }

    body.darklab-fixed-bg:not(.no-portal-bg) .order-detail-main .order-command-dossier .order-detail-dl,
    body.darklab-fixed-bg:not(.no-portal-bg) .order-detail-main .order-dossier-files .order-file-cards {
        grid-template-columns: 1fr;
    }

    body.darklab-fixed-bg:not(.no-portal-bg) .order-detail-main .order-command-dossier .order-detail-dl .order-transmission {
        grid-column: auto;
    }
}

body.darklab-fixed-bg:not(.no-portal-bg) .order-detail-main .order-progress-panel {
    --order-progress-space: 10px;
    margin-bottom: 14px;
    padding: var(--order-progress-space) !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .order-detail-main .order-progress-panel > .order-panel-head {
    margin-bottom: 0;
    min-height: 38px;
}

body.darklab-fixed-bg:not(.no-portal-bg) .order-detail-main .order-progress-panel .eyebrow {
    font-size: 10px;
    line-height: 1;
    margin: 0 0 4px;
}

body.darklab-fixed-bg:not(.no-portal-bg) .order-detail-main .order-progress-panel .order-panel-head h2 {
    font-size: 17px;
    margin: 0;
}

body.darklab-fixed-bg:not(.no-portal-bg) .order-detail-main .order-progress-steps {
    gap: var(--order-progress-space);
    margin-top: var(--order-progress-space);
}

body.darklab-fixed-bg:not(.no-portal-bg) .order-detail-main .order-progress-step {
    gap: 9px;
    min-height: 96px;
    padding: var(--order-progress-space);
}

body.darklab-fixed-bg:not(.no-portal-bg) .order-detail-main .order-progress-icon {
    flex: 0 0 28px;
    font-size: 13px;
    height: 28px;
    width: 28px;
}

body.darklab-fixed-bg:not(.no-portal-bg) .order-detail-main .order-progress-step h3 {
    font-size: 13px;
    margin-bottom: 4px;
}

body.darklab-fixed-bg:not(.no-portal-bg) .order-detail-main .order-progress-step p,
body.darklab-fixed-bg:not(.no-portal-bg) .order-detail-main .order-progress-step small {
    font-size: 11px;
    line-height: 1.3;
}

body.darklab-fixed-bg:not(.no-portal-bg) .order-detail-main .order-progress-step small {
    margin-top: 5px;
}

body.darklab-fixed-bg:not(.no-portal-bg) .order-detail-main .order-progress-panel .client-status-pill {
    font-size: 9px;
    padding: 7px 10px;
}

@media (max-width: 980px) {
    body.darklab-fixed-bg:not(.no-portal-bg) .order-detail-main .order-progress-steps {
        gap: var(--order-progress-space);
    }

    body.darklab-fixed-bg:not(.no-portal-bg) .order-detail-main .order-progress-step {
        min-height: auto;
    }
}

/* DARKLAB - Stages and Options cards use pricing-grid assets and white treatment */
body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .service-list .service-choice {
    align-items: center !important;
    background: linear-gradient(105deg, #ffffff, #f7f8fa 72%, #f1f3f6) !important;
    border: 1px solid rgba(21, 29, 40, .13) !important;
    border-radius: 11px !important;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, .96),
        0 5px 14px rgba(0, 0, 0, .12) !important;
    box-sizing: border-box !important;
    color: #151a22 !important;
    display: grid !important;
    gap: 14px !important;
    grid-template-columns: 34px 92px minmax(0, 1fr) 154px !important;
    min-height: 112px !important;
    overflow: hidden !important;
    padding: 13px 16px !important;
    transition: border-color .16s ease, box-shadow .16s ease, transform .16s ease !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .service-list .service-choice:hover,
body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .service-list .service-choice.is-selected {
    background: linear-gradient(105deg, #ffffff, #f8f9fb 70%, #fff3f4) !important;
    border-color: rgba(236, 28, 36, .62) !important;
    box-shadow:
        inset 0 1px 0 #fff,
        0 7px 18px rgba(0, 0, 0, .14),
        0 0 0 1px rgba(236, 28, 36, .07) !important;
    transform: translateY(-1px) !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .service-list .service-choice > input {
    align-self: center !important;
    appearance: none !important;
    background: #fff !important;
    border: 2px solid #a8afb9 !important;
    border-radius: 50% !important;
    box-shadow: none !important;
    grid-column: 1 !important;
    height: 22px !important;
    justify-self: center !important;
    margin: 0 !important;
    position: relative !important;
    width: 22px !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .service-list .service-choice > input:checked {
    background: #fff !important;
    border-color: #ef2434 !important;
    box-shadow: 0 0 0 3px rgba(239, 36, 52, .10) !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .service-list .service-choice > input:checked::after {
    background: #ef2434 !important;
    border-radius: 50% !important;
    content: "" !important;
    height: 8px !important;
    inset: 5px !important;
    position: absolute !important;
    width: 8px !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .service-list .service-logo-cell {
    align-items: center !important;
    align-self: center !important;
    background: transparent !important;
    display: flex !important;
    grid-column: 2 !important;
    height: 62px !important;
    justify-content: center !important;
    margin: 0 !important;
    min-height: 62px !important;
    overflow: hidden !important;
    padding: 0 !important;
    width: 92px !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .service-list .service-logo-cell img.service-pricing-logo,
body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .service-list .service-logo-cell > img {
    display: block !important;
    filter: none !important;
    height: 54px !important;
    margin: 0 auto !important;
    max-height: 54px !important;
    max-width: 86px !important;
    object-fit: contain !important;
    object-position: center !important;
    opacity: 1 !important;
    transform: none !important;
    width: 86px !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .service-list .service-copy {
    align-self: center !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 5px !important;
    grid-column: 3 !important;
    min-width: 0 !important;
    overflow: hidden !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .service-list .service-copy strong {
    color: #121720 !important;
    font-size: 15px !important;
    line-height: 1.15 !important;
    margin: 0 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    text-shadow: none !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .service-list .service-copy em {
    color: #535c68 !important;
    display: -webkit-box !important;
    font-size: 11px !important;
    font-style: normal !important;
    font-weight: 600 !important;
    line-height: 1.35 !important;
    margin: 0 !important;
    overflow: hidden !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 3 !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .service-list .service-meta {
    align-items: flex-end !important;
    align-self: center !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 7px !important;
    grid-column: 4 !important;
    justify-content: center !important;
    min-width: 0 !important;
    text-align: right !important;
    width: 154px !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .service-list .service-meta b,
body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .service-list .service-choice.is-free .service-meta b {
    color: #ed1d2e !important;
    font-size: 13px !important;
    line-height: 1 !important;
    text-shadow: none !important;
    white-space: nowrap !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .service-list .service-meta small {
    background: #e9f6ed !important;
    border: 1px solid #77ad84 !important;
    border-radius: 999px !important;
    color: #28713b !important;
    font-size: 8px !important;
    font-weight: 900 !important;
    letter-spacing: .07em !important;
    line-height: 1 !important;
    padding: 6px 10px !important;
    text-shadow: none !important;
    text-transform: uppercase !important;
    white-space: nowrap !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .service-list .service-meta i {
    color: #4f5865 !important;
    font-size: 10px !important;
    font-style: normal !important;
    font-weight: 700 !important;
    line-height: 1.1 !important;
    text-shadow: none !important;
    white-space: nowrap !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .service-list .custom-option-entry .service-logo-cell {
    background: #f1f3f6 !important;
    border: 1px solid #d7dbe1 !important;
    border-radius: 10px !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .service-list .custom-option-entry .service-fallback-logo,
body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .service-list .service-fallback-logo {
    color: #ed1d2e !important;
    text-shadow: none !important;
}

@media (max-width: 720px) {
    body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .service-list .service-choice {
        gap: 8px !important;
        grid-template-columns: 28px 60px minmax(0, 1fr) 96px !important;
        min-height: 102px !important;
        padding: 11px 10px !important;
    }

    body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .service-list .service-choice > input {
        height: 19px !important;
        width: 19px !important;
    }

    body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .service-list .service-choice > input:checked::after {
        height: 7px !important;
        inset: 4px !important;
        width: 7px !important;
    }

    body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .service-list .service-logo-cell {
        height: 52px !important;
        min-height: 52px !important;
        width: 60px !important;
    }

    body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .service-list .service-logo-cell img.service-pricing-logo,
    body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .service-list .service-logo-cell > img {
        height: 46px !important;
        max-height: 46px !important;
        max-width: 56px !important;
        width: 56px !important;
    }

    body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .service-list .service-copy strong {
        font-size: 12px !important;
    }

    body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .service-list .service-copy em {
        font-size: 9px !important;
        -webkit-line-clamp: 3 !important;
    }

    body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .service-list .service-meta {
        gap: 6px !important;
        width: 96px !important;
    }

    body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .service-list .service-meta b {
        font-size: 10px !important;
    }

    body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .service-list .service-meta small {
        font-size: 7px !important;
        padding: 5px 7px !important;
    }

    body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .service-list .service-meta i {
        font-size: 8px !important;
    }
}

@media (max-width: 430px) {
    body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .service-list .service-choice {
        gap: 6px !important;
        grid-template-columns: 24px 48px minmax(0, 1fr) 78px !important;
        min-height: 96px !important;
        padding: 9px 8px !important;
    }

    body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .service-list .service-logo-cell {
        height: 44px !important;
        min-height: 44px !important;
        width: 48px !important;
    }

    body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .service-list .service-logo-cell img.service-pricing-logo,
    body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .service-list .service-logo-cell > img {
        height: 39px !important;
        max-height: 39px !important;
        max-width: 45px !important;
        width: 45px !important;
    }

    body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .service-list .service-copy strong {
        font-size: 10px !important;
    }

    body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .service-list .service-copy em {
        font-size: 8px !important;
        -webkit-line-clamp: 3 !important;
    }

    body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .service-list .service-meta {
        width: 78px !important;
    }

    body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .service-list .service-meta b {
        font-size: 9px !important;
    }

    body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .service-list .service-meta small {
        font-size: 6px !important;
        padding: 4px 5px !important;
    }

    body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .service-list .service-meta i {
        font-size: 7px !important;
    }
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .stage-availability-mark-1 i {
    background: linear-gradient(180deg, #e00012 8%, #ff5715 95%);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .stage-availability-mark-1plus i {
    background: linear-gradient(180deg, #0968d7 8%, #00b4d8 95%);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .stage-availability-mark-2 i {
    background: linear-gradient(180deg, #ff7418 8%, #ff9f12 95%);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .stage-availability-mark-3 i {
    background: linear-gradient(180deg, #7730d6 8%, #7b76df 95%);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main img.stage-logo-color-1 {
    filter: drop-shadow(0 0 10px rgba(255, 38, 52, .18));
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main img.stage-logo-color-2 {
    filter: sepia(.25) saturate(1.35) hue-rotate(348deg) drop-shadow(0 0 10px rgba(255, 138, 31, .18));
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main img.stage-logo-color-3 {
    filter: sepia(.18) saturate(1.25) hue-rotate(215deg) drop-shadow(0 0 10px rgba(155, 92, 255, .18));
}





/* DARKLAB ADMIN - no horizontal overflow on admin pages */
.admin-shell,
.admin-shell * {
    box-sizing: border-box;
}

.admin-shell {
    max-width: 100vw;
    overflow-x: hidden;
}

.admin-main {
    max-width: 100%;
    min-width: 0;
    overflow-x: hidden;
}

.admin-hero,
.admin-hero > div,
.admin-panel,
.admin-order-grid,
.admin-order-grid > *,
.admin-order-recap,
.admin-order-recap-head,
.admin-order-recap-head > div,
.admin-order-recap-grid,
.admin-order-services,
.admin-dl,
.admin-dl div,
.admin-form,
.admin-timeline,
.vehicle-registration-panel {
    min-width: 0;
    max-width: 100%;
}

.admin-hero > div {
    flex: 1 1 auto;
}

.admin-hero .admin-action {
    flex: 0 0 auto;
}

.admin-hero h1,
.admin-hero span,
.admin-order-recap-head h2,
.admin-order-recap-grid strong,
.admin-order-recap-grid small,
.admin-order-services strong,
.admin-order-services small,
.admin-dl dd,
.admin-timeline p,
.registration-empty,
.registration-empty p {
    max-width: 100%;
    overflow-wrap: anywhere;
    word-break: break-word;
}

.admin-hero h1 {
    font-size: clamp(34px, 3.2vw, 58px);
}

.admin-hero.compact h1 {
    font-size: clamp(30px, 3vw, 52px);
}

.admin-dl dd,
.admin-order-recap-grid small {
    min-width: 0;
}

@media (max-width: 1180px) {
    .admin-hero {
        align-items: flex-start;
        flex-direction: column;
    }

    .admin-hero .admin-action {
        align-self: flex-start;
    }
}
/* DARKLAB ADMIN - same visual tablet as client sidebar */
.admin-shell {
    grid-template-columns: 242px minmax(0, 1fr);
}

.admin-sidebar.admin-control-tablet {
    background:
        radial-gradient(circle at 34% 8%, rgba(255, 255, 255, .12), transparent 32%),
        linear-gradient(180deg, rgba(35, 38, 48, .9), rgba(24, 22, 30, .88) 48%, rgba(20, 12, 20, .9)),
        rgba(18, 18, 24, .86);
    border-right: 1px solid rgba(255, 255, 255, .13);
    box-shadow:
        14px 0 46px rgba(0, 0, 0, .28),
        inset -1px 0 0 rgba(236, 28, 36, .22),
        inset 0 1px 0 rgba(255, 255, 255, .08);
    color: #fff;
    display: block;
    gap: 0;
    height: 100vh;
    padding: 0;
    position: sticky;
    top: 0;
}

.admin-control-tablet .admin-sidebar-logo {
    align-items: center;
    background:
        radial-gradient(circle at 50% 40%, rgba(255, 255, 255, .1), transparent 56%),
        linear-gradient(145deg, rgba(255, 255, 255, .08), rgba(255, 255, 255, .025)),
        rgba(15, 16, 22, .44);
    border-bottom: 1px solid rgba(255, 255, 255, .1);
    display: flex;
    height: 118px;
    justify-content: center;
    padding: 16px 20px;
    text-decoration: none;
}

.admin-control-tablet .admin-sidebar-logo img {
    display: block;
    filter:
        drop-shadow(0 0 18px rgba(236, 28, 36, .26))
        drop-shadow(0 0 20px rgba(0, 92, 255, .12));
    max-height: 76px;
    max-width: 100%;
    object-fit: contain;
}

.admin-control-tablet .admin-quickbar,
.admin-control-tablet .admin-quickbar a,
.admin-control-tablet .admin-quickbar button {
    height: 92px;
}

.admin-control-tablet .admin-nav {
    display: grid;
    gap: 0;
    padding: 12px 0;
}

.admin-control-tablet .admin-nav-section {
    color: rgba(255, 255, 255, .38);
    display: block;
    font-size: 10px;
    letter-spacing: .18em;
    margin: 10px 18px 2px;
    text-transform: uppercase;
}

.admin-control-tablet .admin-nav a {
    align-items: center;
    border: 0;
    color: rgba(255, 255, 255, .9);
    display: grid;
    font-size: 16px;
    font-weight: 800;
    gap: 14px;
    grid-template-columns: 30px minmax(0, 1fr) auto;
    letter-spacing: 0;
    min-height: 70px;
    padding: 0 18px;
    text-decoration: none;
    text-transform: none;
}

.admin-control-tablet .admin-nav a span:last-child {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
}

.admin-control-tablet .admin-nav a.active,
.admin-control-tablet .admin-nav a:hover {
    background:
        linear-gradient(90deg, rgba(236, 28, 36, .24), rgba(236, 28, 36, .055), transparent),
        rgba(255, 255, 255, .07);
    border-color: transparent;
    box-shadow:
        inset 3px 0 0 var(--red),
        inset 0 1px 0 rgba(255, 255, 255, .07),
        inset 0 -1px 0 rgba(255, 255, 255, .035);
    color: #fff;
}

.admin-control-tablet .admin-nav a.active .nav-icon,
.admin-control-tablet .admin-nav a:hover .nav-icon {
    color: #ff3340;
    filter: drop-shadow(0 0 12px rgba(236, 28, 36, .55));
}

.admin-control-tablet .admin-role-pill {
    display: none;
}

@media (max-width: 900px) {
    .admin-shell {
        grid-template-columns: 1fr;
    }

    .admin-sidebar.admin-control-tablet {
        height: auto;
        position: relative;
    }
}

/* DARKLAB ADMIN - strict client sidebar width lock */
html body.darklab-fixed-bg:not(.no-portal-bg) > .admin-shell {
    display: grid !important;
    grid-template-columns: 242px minmax(0, 1fr) !important;
    align-items: start !important;
    min-height: 100vh !important;
    overflow-x: clip !important;
}

html body.darklab-fixed-bg:not(.no-portal-bg) > .admin-shell > .admin-sidebar.admin-control-tablet.sidebar {
    grid-column: 1 !important;
    grid-row: 1 !important;
    width: 242px !important;
    min-width: 242px !important;
    max-width: 242px !important;
    height: 100vh !important;
    max-height: 100vh !important;
    position: sticky !important;
    top: 0 !important;
    left: auto !important;
    right: auto !important;
    transform: none !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    z-index: 20 !important;
}

html body.darklab-fixed-bg:not(.no-portal-bg) > .admin-shell > .admin-sidebar.admin-control-tablet.sidebar .sidebar-logo,
html body.darklab-fixed-bg:not(.no-portal-bg) > .admin-shell > .admin-sidebar.admin-control-tablet.sidebar .quickbar,
html body.darklab-fixed-bg:not(.no-portal-bg) > .admin-shell > .admin-sidebar.admin-control-tablet.sidebar .side-nav {
    width: 242px !important;
    min-width: 0 !important;
    max-width: 242px !important;
    box-sizing: border-box !important;
}

html body.darklab-fixed-bg:not(.no-portal-bg) > .admin-shell > .admin-main {
    grid-column: 2 !important;
    grid-row: 1 !important;
    min-width: 0 !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
}

/* DARKLAB ADMIN - client red sidebar scrollbar */
html body.darklab-fixed-bg:not(.no-portal-bg) > .admin-shell > .admin-sidebar.admin-control-tablet.sidebar {
    align-self: start !important;
    margin-top: 0 !important;
    top: 0 !important;
    scrollbar-color: rgba(255, 38, 52, .55) rgba(255, 255, 255, .055) !important;
    scrollbar-width: thin !important;
}

html body.darklab-fixed-bg:not(.no-portal-bg) > .admin-shell > .admin-sidebar.admin-control-tablet.sidebar::-webkit-scrollbar {
    display: block !important;
    width: 5px !important;
}

html body.darklab-fixed-bg:not(.no-portal-bg) > .admin-shell > .admin-sidebar.admin-control-tablet.sidebar::-webkit-scrollbar-track {
    background: linear-gradient(180deg, rgba(255,255,255,.035), rgba(255,38,52,.055)) !important;
    border-left: 1px solid rgba(255,255,255,.04) !important;
}

html body.darklab-fixed-bg:not(.no-portal-bg) > .admin-shell > .admin-sidebar.admin-control-tablet.sidebar::-webkit-scrollbar-thumb {
    background: linear-gradient(180deg, rgba(255,255,255,.34), rgba(255,38,52,.62)) !important;
    border-radius: 999px !important;
    box-shadow: 0 0 10px rgba(255,38,52,.24) !important;
}

html body.darklab-fixed-bg:not(.no-portal-bg) > .admin-shell > .admin-sidebar.admin-control-tablet.sidebar::-webkit-scrollbar-thumb:hover {
    background: linear-gradient(180deg, rgba(255,255,255,.48), rgba(255,38,52,.86)) !important;
}

/* DARKLAB ADMIN - sidebar flush to viewport top */
html body.darklab-fixed-bg:not(.no-portal-bg):has(> .admin-shell) {
    margin: 0 !important;
    padding: 0 !important;
    overflow-x: hidden !important;
}

html body.darklab-fixed-bg:not(.no-portal-bg) > .admin-shell {
    margin: 0 !important;
    padding: 0 !important;
    position: relative !important;
}

html body.darklab-fixed-bg:not(.no-portal-bg) > .admin-shell > .admin-sidebar.admin-control-tablet.sidebar {
    bottom: 0 !important;
    left: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    position: fixed !important;
    right: auto !important;
    top: 0 !important;
}

html body.darklab-fixed-bg:not(.no-portal-bg) > .admin-shell > .admin-main {
    margin-left: 0 !important;
}

/* DARKLAB ADMIN - orders grouped submenu */
.admin-control-tablet .admin-nav-flyout {
    position: relative;
}

.admin-control-tablet .admin-nav-flyout > .admin-nav-main {
    position: relative;
}

.admin-control-tablet .admin-nav-caret {
    border-bottom: 2px solid rgba(255, 255, 255, .72);
    border-right: 2px solid rgba(255, 255, 255, .72);
    display: block;
    height: 8px;
    justify-self: end;
    margin-right: 2px;
    transform: rotate(45deg) translateY(-2px);
    transition: transform .18s ease, border-color .18s ease;
    width: 8px;
}

.admin-control-tablet .admin-nav-flyout:hover .admin-nav-caret,
.admin-control-tablet .admin-nav-flyout:focus-within .admin-nav-caret,
.admin-control-tablet .admin-nav-flyout.is-open .admin-nav-caret {
    border-color: #ff3340;
    transform: rotate(225deg) translate(-2px, -1px);
}

.admin-control-tablet .admin-orders-submenu {
    background:
        linear-gradient(135deg, rgba(255, 255, 255, .07), rgba(255, 255, 255, .025)),
        radial-gradient(circle at 0% 18%, rgba(255, 38, 52, .16), transparent 38%),
        rgba(7, 8, 12, .95);
    border: 1px solid rgba(255, 38, 52, .28);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, .08),
        inset 3px 0 0 rgba(236, 28, 36, .58),
        0 18px 34px rgba(0, 0, 0, .38),
        0 0 22px rgba(255, 38, 52, .12);
    display: grid;
    margin: 0 10px 8px 18px;
    max-height: 0;
    opacity: 0;
    overflow: hidden;
    transform: translateY(-6px);
    transition: max-height .25s ease, opacity .18s ease, transform .2s ease, padding .2s ease;
}

.admin-control-tablet .admin-nav-flyout:hover .admin-orders-submenu,
.admin-control-tablet .admin-nav-flyout:focus-within .admin-orders-submenu,
.admin-control-tablet .admin-nav-flyout.is-open .admin-orders-submenu {
    max-height: 190px;
    opacity: 1;
    padding: 6px 0;
    transform: translateY(0);
}

.admin-control-tablet .admin-orders-submenu a {
    color: rgba(255, 255, 255, .78);
    display: block;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .06em;
    line-height: 1.22;
    min-height: 0;
    padding: 11px 14px 11px 18px;
    text-decoration: none;
    text-transform: uppercase;
}

.admin-control-tablet .admin-orders-submenu a:hover,
.admin-control-tablet .admin-orders-submenu a.active {
    background:
        linear-gradient(90deg, rgba(255, 38, 52, .28), rgba(255, 38, 52, .06), transparent),
        rgba(255, 255, 255, .045);
    color: #fff;
    text-shadow:
        0 0 7px rgba(255, 255, 255, .50),
        0 0 16px rgba(255, 38, 52, .28);
}

@media (hover: none), (pointer: coarse) {
    .admin-control-tablet .admin-nav-flyout:hover .admin-orders-submenu:not(:focus-within) {
        max-height: 0;
        opacity: 0;
        padding: 0;
        transform: translateY(-6px);
    }

    .admin-control-tablet .admin-nav-flyout.is-open .admin-orders-submenu {
        max-height: 190px;
        opacity: 1;
        padding: 6px 0;
        transform: translateY(0);
    }
}

/* DARKLAB ADMIN - client-like orders submenu polish */
.admin-control-tablet .admin-orders-submenu {
    background:
        linear-gradient(90deg, rgba(236, 28, 36, .16), rgba(236, 28, 36, .03) 56%, transparent),
        linear-gradient(180deg, rgba(255, 255, 255, .04), rgba(255, 255, 255, 0)),
        rgba(4, 5, 9, .42) !important;
    border: 0 !important;
    border-bottom: 1px solid rgba(236, 28, 36, .18) !important;
    border-top: 1px solid rgba(255, 255, 255, .06) !important;
    box-shadow:
        inset 3px 0 0 rgba(236, 28, 36, .72),
        inset 0 0 34px rgba(236, 28, 36, .08) !important;
    margin: 0 !important;
    padding: 0 !important;
}

.admin-control-tablet .admin-nav-flyout:hover .admin-orders-submenu,
.admin-control-tablet .admin-nav-flyout:focus-within .admin-orders-submenu,
.admin-control-tablet .admin-nav-flyout.is-open .admin-orders-submenu {
    max-height: 220px !important;
    padding: 0 !important;
}

.admin-control-tablet .admin-orders-submenu a {
    align-items: center !important;
    color: rgba(255, 255, 255, .76) !important;
    display: grid !important;
    font-size: 13px !important;
    gap: 12px !important;
    grid-template-columns: 24px minmax(0, 1fr) !important;
    letter-spacing: .01em !important;
    min-height: 54px !important;
    padding: 0 18px 0 36px !important;
    text-transform: none !important;
}

.admin-control-tablet .admin-orders-submenu a span:last-child {
    overflow: visible !important;
    white-space: normal !important;
}

.admin-control-tablet .admin-orders-submenu .nav-icon {
    height: 20px !important;
    opacity: .86 !important;
    width: 20px !important;
}

.admin-control-tablet .admin-orders-submenu a:hover,
.admin-control-tablet .admin-orders-submenu a.active {
    background:
        linear-gradient(90deg, rgba(255, 31, 45, .24), rgba(255, 31, 45, .05), transparent),
        rgba(255, 255, 255, .035) !important;
    color: #fff !important;
}

.admin-control-tablet .admin-orders-submenu a:hover .nav-icon,
.admin-control-tablet .admin-orders-submenu a.active .nav-icon {
    color: #ff3140 !important;
    filter:
        drop-shadow(0 0 10px rgba(236, 28, 36, .82))
        drop-shadow(0 0 22px rgba(236, 28, 36, .38)) !important;
}

/* DARKLAB ADMIN - orders history like client */
.admin-orders-history-panel .history-head {
    margin-bottom: 18px !important;
}

.admin-orders-history-table {
    min-width: 860px !important;
    table-layout: fixed !important;
}

.admin-orders-history-table th:first-child,
.admin-orders-history-table td:first-child {
    width: 46% !important;
}

.admin-orders-history-table th:nth-child(2),
.admin-orders-history-table td:nth-child(2) {
    width: 12% !important;
}

.admin-orders-history-table th:nth-child(3),
.admin-orders-history-table td:nth-child(3) {
    width: 20% !important;
}

.admin-orders-history-table th:nth-child(4),
.admin-orders-history-table td:nth-child(4) {
    width: 22% !important;
}

.admin-customer-stack {
    align-items: flex-start;
    display: inline-flex;
    flex-direction: column;
    gap: 5px;
    max-width: 100%;
}

.admin-customer-stack strong {
    color: #fff;
    display: block;
    font-size: 14px;
    font-weight: 900;
    line-height: 1.18;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.admin-customer-stack small {
    color: rgba(226, 232, 242, .78);
    display: block;
    font-size: 11px;
    font-weight: 700;
    line-height: 1.25;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.admin-orders-history-table .history-actions a {
    min-width: 78px;
}

/* DARKLAB CLIENT - synchronized order status pills */
.client-status-pill.is-pending {
    background: linear-gradient(135deg, rgba(255, 136, 28, .2), rgba(255, 64, 24, .1));
    border-color: rgba(255, 147, 48, .42);
    box-shadow: 0 0 18px rgba(255, 124, 27, .2), inset 0 1px 0 rgba(255, 255, 255, .12);
    color: #ffad5a;
}

.client-status-pill.is-processing {
    background: linear-gradient(135deg, rgba(255, 35, 52, .24), rgba(255, 255, 255, .05));
    border-color: rgba(255, 47, 66, .58);
    box-shadow: 0 0 20px rgba(255, 35, 52, .24), inset 0 1px 0 rgba(255, 255, 255, .14);
    color: #ffffff;
}

/* DARKLAB AUTH - remember login email */
.remember-login {
    align-items: center;
    color: rgba(238, 242, 248, .78);
    display: flex;
    flex-direction: row;
    font-size: 12px;
    gap: 10px;
    letter-spacing: .02em;
    margin-top: -4px;
    text-transform: none;
}

.remember-login input {
    accent-color: #ff2538;
    flex: 0 0 auto;
    height: 15px;
    width: 15px;
}

.remember-login span {
    line-height: 1.3;
}

/* DARKLAB CLIENT - history notification badge */
.client-history-nav-link {
    position: relative;
}

.nav-notification-badge {
    align-items: center;
    background: radial-gradient(circle at 35% 28%, #fff, #ff5c68 18%, #ec1c24 58%, #7e020b 100%);
    border: 1px solid rgba(255, 255, 255, .42);
    border-radius: 999px;
    box-shadow: 0 0 14px rgba(236, 28, 36, .78), 0 0 28px rgba(236, 28, 36, .34), inset 0 1px 0 rgba(255, 255, 255, .5);
    color: #fff;
    display: inline-flex;
    font-family: Orbitron, sans-serif;
    font-size: 10px;
    font-weight: 900;
    height: 22px;
    justify-content: center;
    line-height: 1;
    min-width: 22px;
    padding: 0 6px;
    position: absolute;
    right: 18px;
    text-shadow: 0 0 8px rgba(255, 255, 255, .45);
    top: 50%;
    transform: translateY(-50%);
}

.nav-notification-badge[hidden] {
    display: none;
}

.client-history-nav-link.has-notification {
    box-shadow: inset 3px 0 0 #ec1c24, 0 0 22px rgba(236, 28, 36, .16);
}

/* DARKLAB CLIENT - compact order tracking */
.order-progress-panel {
    overflow: hidden;
    position: relative;
}

.order-progress-panel::before {
    background: linear-gradient(90deg, rgba(236, 28, 36, .75), transparent 46%, rgba(255, 255, 255, .12));
    content: "";
    height: 1px;
    left: 22px;
    opacity: .7;
    position: absolute;
    right: 22px;
    top: 0;
}

.order-progress-steps {
    display: grid;
    gap: 12px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-top: 18px;
}

.order-progress-step {
    align-items: flex-start;
    background: linear-gradient(145deg, rgba(255, 255, 255, .055), rgba(255, 255, 255, .018));
    border: 1px solid rgba(255, 255, 255, .13);
    border-radius: 12px;
    display: flex;
    gap: 12px;
    min-height: 138px;
    padding: 16px;
}

.order-progress-step.is-current,
.order-progress-step.is-complete {
    border-color: rgba(236, 28, 36, .44);
    box-shadow: 0 0 24px rgba(236, 28, 36, .12), inset 0 1px 0 rgba(255, 255, 255, .1);
}

.order-progress-step.is-complete {
    background: linear-gradient(145deg, rgba(42, 204, 112, .14), rgba(24, 104, 65, .07));
    border-color: rgba(65, 226, 135, .58);
    box-shadow: 0 0 24px rgba(42, 204, 112, .14), inset 0 1px 0 rgba(255, 255, 255, .1);
}

.order-progress-step.is-complete .order-progress-icon {
    background: rgba(42, 204, 112, .18);
    border-color: rgba(65, 226, 135, .72);
    box-shadow: 0 0 18px rgba(42, 204, 112, .24);
    color: #e8fff1;
}

.order-progress-step.is-ready {
    background: linear-gradient(145deg, rgba(68, 255, 142, .1), rgba(236, 28, 36, .06));
    border-color: rgba(84, 255, 151, .34);
}

.order-progress-icon {
    align-items: center;
    background: rgba(236, 28, 36, .14);
    border: 1px solid rgba(236, 28, 36, .46);
    border-radius: 50%;
    color: #fff;
    display: inline-flex;
    flex: 0 0 34px;
    font-family: Orbitron, sans-serif;
    font-size: 16px;
    height: 34px;
    justify-content: center;
    line-height: 1;
    box-shadow: 0 0 18px rgba(236, 28, 36, .2);
}

.order-progress-step h3 {
    color: #fff;
    font-family: Orbitron, sans-serif;
    font-size: 15px;
    margin: 0 0 8px;
}

.order-progress-step p,
.order-progress-step small {
    color: rgba(226, 232, 242, .78);
    display: block;
    font-size: 13px;
    line-height: 1.45;
    margin: 0;
}

.order-progress-step small {
    color: #ffb9bf;
    font-weight: 800;
    margin-top: 10px;
}

.order-progress-download {
    align-items: center;
    background: linear-gradient(135deg, #ff2538, #b90714);
    border: 1px solid rgba(255, 255, 255, .18);
    border-radius: 10px;
    color: #fff;
    display: inline-flex;
    font-family: Orbitron, sans-serif;
    font-size: 12px;
    font-weight: 900;
    justify-content: center;
    margin-top: 12px;
    min-height: 38px;
    padding: 0 16px;
    text-decoration: none;
    text-transform: uppercase;
}

.order-progress-download:hover {
    box-shadow: 0 0 26px rgba(236, 28, 36, .28);
    transform: translateY(-1px);
}

@media (max-width: 980px) {
    .order-progress-steps {
        grid-template-columns: 1fr;
    }

    .order-progress-step {
        min-height: auto;
    }
}

/* DARKLAB CLIENT - order status popup notifications */
.client-notification-modal {
    align-items: center;
    display: flex;
    inset: 0;
    justify-content: center;
    opacity: 0;
    pointer-events: none;
    position: fixed;
    transition: opacity .18s ease;
    z-index: 1200;
}

.client-notification-modal.is-open {
    opacity: 1;
    pointer-events: auto;
}

.client-notification-backdrop {
    background: rgba(2, 4, 8, .58);
    backdrop-filter: blur(8px);
    inset: 0;
    position: absolute;
}

.client-notification-panel {
    background:
        linear-gradient(135deg, rgba(255, 255, 255, .15), rgba(255, 255, 255, .055) 46%, rgba(255, 38, 52, .11)),
        radial-gradient(circle at 16% 0%, rgba(72, 142, 255, .2), transparent 34%),
        rgba(17, 20, 29, .96);
    border: 1px solid rgba(255, 54, 70, .38);
    border-radius: 18px;
    box-shadow: 0 28px 90px rgba(0, 0, 0, .55), 0 0 44px rgba(236, 28, 36, .16), inset 0 1px 0 rgba(255, 255, 255, .16);
    color: #fff;
    max-width: min(520px, calc(100vw - 34px));
    padding: 28px;
    position: relative;
    transform: translateY(10px) scale(.98);
    transition: transform .18s ease;
    width: 100%;
}

.client-notification-modal.is-open .client-notification-panel {
    transform: translateY(0) scale(1);
}

.client-notification-close {
    align-items: center;
    background: rgba(255, 255, 255, .08);
    border: 1px solid rgba(255, 255, 255, .18);
    border-radius: 8px;
    color: #fff;
    cursor: pointer;
    display: inline-flex;
    font-size: 22px;
    height: 34px;
    justify-content: center;
    line-height: 1;
    position: absolute;
    right: 18px;
    top: 18px;
    width: 34px;
}

.client-notification-kicker {
    color: #ff3340;
    display: block;
    font-family: Orbitron, sans-serif;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: .16em;
    margin-bottom: 12px;
}

.client-notification-panel h2 {
    font-size: 30px;
    line-height: 1.08;
    margin: 0 42px 14px 0;
}

.client-notification-panel p {
    color: rgba(238, 242, 248, .84);
    font-size: 15px;
    line-height: 1.55;
    margin: 0;
}

.client-notification-panel small {
    color: rgba(255, 255, 255, .52);
    display: block;
    font-size: 12px;
    margin-top: 12px;
    overflow-wrap: anywhere;
}

.client-notification-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 22px;
}

.client-notification-primary,
.client-notification-secondary {
    align-items: center;
    border-radius: 10px;
    display: inline-flex;
    font-family: Orbitron, sans-serif;
    font-size: 12px;
    font-weight: 900;
    justify-content: center;
    min-height: 42px;
    padding: 0 18px;
    text-decoration: none;
    text-transform: uppercase;
}

.client-notification-primary {
    background: linear-gradient(135deg, #ff2538, #b90714);
    border: 1px solid rgba(255, 255, 255, .18);
    color: #fff;
    box-shadow: 0 0 24px rgba(236, 28, 36, .18);
}

.client-notification-secondary {
    background: rgba(255, 255, 255, .055);
    border: 1px solid rgba(255, 255, 255, .16);
    color: rgba(255, 255, 255, .78);
}

@media (max-width: 560px) {
    .client-notification-panel {
        padding: 24px 20px;
    }

    .client-notification-actions a {
        width: 100%;
    }
}

/* DARKLAB ADMIN - clearer compact order detail */
.admin-order-summary-compact {
    margin-bottom: 16px !important;
    padding: 18px !important;
}

.admin-order-summary-compact .admin-order-recap-head {
    align-items: center;
    margin-bottom: 14px !important;
}

.admin-order-summary-compact .admin-order-recap-head h2 {
    font-size: clamp(20px, 1.7vw, 28px) !important;
    margin-top: 2px !important;
}

.admin-summary-strip {
    display: grid;
    gap: 8px;
    grid-template-columns: 1.15fr 1.2fr 1fr 1.25fr .75fr .85fr;
}

.admin-summary-strip div {
    background: rgba(255, 255, 255, .04);
    border: 1px solid rgba(180, 194, 214, .12);
    min-width: 0;
    padding: 10px 11px;
}

.admin-summary-strip span,
.admin-registration-compact span {
    color: rgba(225, 232, 242, .54);
    display: block;
    font-size: 10px;
    letter-spacing: .1em;
    margin-bottom: 5px;
    text-transform: uppercase;
}

.admin-summary-strip strong,
.admin-registration-compact strong {
    color: #fff;
    display: block;
    font-size: 13px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.admin-summary-strip small,
.admin-registration-compact small {
    color: rgba(225, 232, 242, .58);
    display: block;
    font-size: 11px;
    margin-top: 4px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.admin-order-workbench {
    display: grid;
    gap: 16px;
    grid-template-columns: minmax(0, 1.05fr) minmax(360px, .95fr);
    margin-bottom: 16px;
}

.admin-work-card {
    padding: 18px !important;
}

.admin-work-card .admin-panel-head.compact {
    margin-bottom: 12px !important;
}

.admin-work-card .admin-panel-head h2 {
    font-size: 18px !important;
    letter-spacing: .04em !important;
}

.admin-file-actions-compact {
    gap: 8px !important;
    margin-bottom: 14px !important;
}

.admin-file-actions-compact .admin-action {
    min-height: 36px;
    padding: 0 14px;
}

.admin-compact-form {
    gap: 10px !important;
}

.admin-form-row {
    display: grid;
    gap: 10px;
}

.admin-form-row.three {
    grid-template-columns: 1fr .75fr .7fr;
}

.admin-form-row.two {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.admin-auto-status-card {
    align-items: center;
    background:
        linear-gradient(120deg, rgba(255, 255, 255, .07), rgba(255, 35, 56, .055)),
        rgba(7, 9, 14, .42);
    border: 1px solid rgba(255, 35, 56, .22);
    display: grid;
    gap: 4px;
    grid-template-columns: minmax(140px, .75fr) auto minmax(190px, 1fr);
    margin: 0 0 14px;
    min-height: 54px;
    padding: 10px 12px;
}

.admin-auto-status-card span,
.admin-auto-status-card small {
    color: rgba(225, 232, 242, .62);
    font-size: 11px;
    letter-spacing: .06em;
}

.admin-auto-status-card span {
    text-transform: uppercase;
}

.admin-auto-status-card strong {
    color: #fff;
    justify-self: center;
    text-transform: uppercase;
}

.admin-auto-status-card small {
    justify-self: end;
    text-align: right;
}

.admin-compact-form label,
.admin-upload-inline label {
    gap: 5px !important;
    font-size: 12px;
}

.admin-compact-form input,
.admin-compact-form select,
.admin-compact-form textarea,
.admin-upload-inline input {
    padding: 10px 11px !important;
}

.admin-compact-form textarea {
    min-height: 72px;
}

.admin-compact-form input,
.admin-compact-form select,
.admin-compact-form textarea,
.admin-upload-inline input {
    background: rgba(5, 7, 11, .78) !important;
    border-color: rgba(255, 255, 255, .13) !important;
}

.admin-compact-form button,
.admin-upload-inline button {
    justify-self: start;
    min-height: 38px;
    padding: 0 16px !important;
    width: fit-content;
}

.admin-upload-inline {
    align-items: end;
    border-top: 1px solid rgba(180, 194, 214, .12);
    gap: 10px !important;
    grid-template-columns: minmax(0, 1fr) auto;
    margin-top: 14px;
    padding-top: 14px;
}

.admin-tech-dl {
    gap: 6px !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-bottom: 12px !important;
}

.admin-tech-dl div {
    align-items: center;
    border-bottom: 1px solid rgba(180, 194, 214, .08) !important;
    grid-template-columns: 112px minmax(0, 1fr) !important;
    padding-bottom: 7px !important;
}

.admin-tech-dl dt,
.admin-tech-dl dd {
    font-size: 11px;
}

.admin-tech-dl dd {
    overflow-wrap: anywhere;
    text-align: right;
}

.admin-ecu-review.compact {
    display: grid;
    gap: 8px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-bottom: 12px;
}

.admin-ecu-review.compact p {
    align-items: center;
    display: grid;
    gap: 6px;
    margin: 0;
    min-width: 0;
    padding: 10px;
    text-align: center;
}

.admin-ecu-review.compact span,
.admin-ecu-review.compact strong {
    text-align: center;
}

.admin-ecu-review.compact strong {
    overflow-wrap: anywhere;
}

.admin-registration-compact {
    align-items: center;
    background: rgba(255, 255, 255, .04);
    border: 1px solid rgba(180, 194, 214, .12);
    display: flex;
    gap: 12px;
    justify-content: space-between;
    margin-top: 12px;
    padding: 11px;
}

.admin-registration-compact > div {
    min-width: 0;
}

.admin-order-history-wide {
    padding: 18px !important;
}

.admin-order-history-wide .admin-panel-head {
    margin-bottom: 12px !important;
}

.admin-history-lines {
    display: grid;
    gap: 8px;
}

.admin-history-line {
    background: rgba(255, 255, 255, .04);
    border: 1px solid rgba(180, 194, 214, .10);
    border-left: 3px solid rgba(36, 240, 140, .48);
    display: grid;
    gap: 6px;
    padding: 10px 12px;
}

.admin-history-line.is-client {
    border-left-color: rgba(255, 37, 52, .72);
}

.admin-history-line.is-internal {
    border-left-color: rgba(255, 180, 64, .55);
}

.admin-history-line.is-system {
    background: rgba(255, 255, 255, .025);
    border-color: rgba(180, 194, 214, .08);
    border-left-color: rgba(180, 194, 214, .32);
    opacity: .82;
}

.admin-history-line header {
    align-items: center;
    display: grid;
    gap: 10px;
    grid-template-columns: minmax(140px, .9fr) 90px 145px;
}

.admin-history-line strong {
    color: #fff;
    font-size: 13px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.admin-history-line span {
    color: #ff4a58;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.admin-history-line.is-system span {
    color: rgba(225, 232, 242, .55);
}

.admin-history-line time {
    color: rgba(225, 232, 242, .52);
    font-size: 11px;
    text-align: right;
}

.admin-history-line p {
    color: rgba(245, 247, 252, .82);
    font-size: 13px;
    line-height: 1.42;
    margin: 0;
    overflow-wrap: anywhere;
}

.admin-history-line.is-system p {
    color: rgba(225, 232, 242, .6);
    font-size: 12px;
}

@media (max-width: 1280px) {
    .admin-summary-strip {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .admin-order-workbench {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 760px) {
    .admin-summary-strip,
    .admin-form-row.two,
    .admin-form-row.three,
    .admin-tech-dl,
    .admin-ecu-review.compact,
    .admin-upload-inline {
        grid-template-columns: 1fr;
    }

    .admin-auto-status-card {
        grid-template-columns: 1fr;
    }

    .admin-auto-status-card strong,
    .admin-auto-status-card small {
        justify-self: start;
        text-align: left;
    }

    .admin-history-line header {
        align-items: start;
        grid-template-columns: 1fr;
    }

    .admin-history-line time {
        text-align: left;
    }
}

/* DARKLAB ADMIN - simple advanced dashboard */
.admin-dashboard-hero-simple {
    align-items: center;
    background:
        radial-gradient(circle at 18% 25%, rgba(95, 158, 222, .16), transparent 34%),
        radial-gradient(circle at 86% 18%, rgba(255, 35, 56, .20), transparent 32%),
        linear-gradient(135deg, rgba(255, 255, 255, .075), rgba(255, 255, 255, .018));
    border: 1px solid rgba(255, 255, 255, .14);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .10), 0 24px 70px rgba(0, 0, 0, .32);
    gap: 18px;
    margin-bottom: 14px;
    overflow: hidden;
    padding: 24px 26px;
    position: relative;
}

.admin-dashboard-hero-simple::after {
    background: linear-gradient(90deg, rgba(255, 35, 56, .82), rgba(255, 35, 56, 0));
    content: "";
    height: 2px;
    left: 26px;
    position: absolute;
    right: 54%;
    top: 0;
}

.admin-dashboard-hero-simple h1 {
    font-size: clamp(38px, 3.4vw, 58px);
    line-height: 1;
    margin-bottom: 8px;
}

.admin-dashboard-hero-simple span {
    color: rgba(244, 247, 252, .76);
}

.admin-dashboard-switch {
    align-items: center;
    background: rgba(2, 4, 9, .72);
    border: 1px solid rgba(255, 255, 255, .16);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .10), 0 18px 40px rgba(0, 0, 0, .28);
    display: inline-flex;
    gap: 4px;
    padding: 5px;
    position: relative;
    z-index: 1;
}

.admin-dashboard-switch button {
    background: transparent;
    border: 0;
    color: rgba(235, 238, 246, .62);
    cursor: pointer;
    font: 800 12px var(--font-tech);
    letter-spacing: .08em;
    min-height: 38px;
    min-width: 104px;
    padding: 0 16px;
    text-transform: uppercase;
    transition: background .16s ease, color .16s ease, box-shadow .16s ease;
}

.admin-dashboard-switch button.active {
    background: linear-gradient(135deg, rgba(255, 35, 56, .96), rgba(155, 9, 23, .86));
    color: #fff;
    box-shadow: 0 0 24px rgba(255, 35, 56, .24);
}

.admin-dashboard-view {
    display: none;
}

.admin-dashboard-view.active {
    display: block;
}

.admin-dashboard-livebar {
    align-items: center;
    background: linear-gradient(90deg, rgba(255, 35, 56, .10), rgba(255, 255, 255, .035), rgba(65, 118, 185, .08));
    border: 1px solid rgba(255, 255, 255, .12);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .08);
    display: grid;
    gap: 0;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin-bottom: 14px;
    min-height: 58px;
    overflow: hidden;
}

.admin-dashboard-livebar span {
    align-items: center;
    color: rgba(231, 236, 245, .70);
    display: flex;
    font: 800 12px var(--font-tech);
    gap: 10px;
    justify-content: center;
    letter-spacing: .05em;
    min-width: 0;
    padding: 12px 14px;
    text-align: center;
    text-transform: uppercase;
}

.admin-dashboard-livebar span + span {
    border-left: 1px solid rgba(255, 255, 255, .10);
}

.admin-dashboard-livebar strong {
    color: #fff;
    font: 400 28px var(--font-display);
    line-height: 1;
    text-shadow: 0 0 20px rgba(255, 255, 255, .16);
}

.admin-simple-metrics {
    display: grid;
    gap: 14px;
    grid-template-columns: 1.25fr repeat(2, minmax(0, .88fr));
    margin-bottom: 18px;
}

.admin-simple-card {
    background:
        linear-gradient(145deg, rgba(255, 255, 255, .072), rgba(255, 255, 255, .020)),
        rgba(9, 12, 18, .86);
    border: 1px solid rgba(255, 255, 255, .14);
    color: inherit;
    min-height: 118px;
    overflow: hidden;
    padding: 18px;
    position: relative;
    text-decoration: none;
    transition: transform .16s ease, border-color .16s ease, box-shadow .16s ease;
}

.admin-simple-card::before {
    background: linear-gradient(180deg, rgba(255, 35, 56, .0), rgba(255, 35, 56, .62), rgba(255, 35, 56, .0));
    content: "";
    height: 70%;
    left: 0;
    opacity: .34;
    position: absolute;
    top: 15%;
    width: 2px;
}

.admin-simple-card:hover {
    border-color: rgba(255, 35, 56, .42);
    box-shadow: 0 0 28px rgba(255, 35, 56, .10);
    transform: translateY(-2px);
}

.admin-simple-card.primary {
    background:
        radial-gradient(circle at 88% 18%, rgba(255, 35, 56, .24), transparent 34%),
        linear-gradient(135deg, rgba(66, 88, 113, .58), rgba(61, 16, 28, .52)),
        rgba(9, 12, 18, .88);
    border-color: rgba(255, 92, 106, .42);
    grid-row: span 2;
    min-height: 250px;
    padding: 24px;
}

.admin-simple-card.primary::after {
    background: linear-gradient(90deg, rgba(255, 35, 56, .36), transparent);
    bottom: 0;
    content: "";
    height: 2px;
    left: 24px;
    position: absolute;
    right: 30%;
}

.admin-simple-card span {
    color: #fff;
    display: block;
    font: 900 16px var(--font-tech);
    letter-spacing: .03em;
    margin-bottom: 14px;
    position: relative;
    z-index: 1;
}

.admin-simple-card strong {
    color: #fff;
    display: block;
    font: 400 clamp(42px, 4vw, 62px) var(--font-display);
    line-height: .9;
    margin-bottom: 12px;
    position: relative;
    z-index: 1;
}

.admin-simple-card.primary strong {
    font-size: clamp(76px, 7vw, 128px);
    margin: 20px 0 22px;
}

.admin-simple-card small {
    color: rgba(225, 232, 242, .64);
    display: block;
    font-size: 12px;
    line-height: 1.35;
    max-width: 260px;
    position: relative;
    z-index: 1;
}

.admin-simple-card.urgent strong,
.admin-simple-card.express strong {
    color: #ff283b;
    text-shadow: 0 0 24px rgba(255, 35, 56, .28);
}

.admin-simple-card.finance strong {
    color: #5aa7ff;
    text-shadow: 0 0 24px rgba(36, 132, 255, .22);
}

.admin-simple-grid {
    display: grid;
    gap: 18px;
    grid-template-columns: minmax(0, 1.45fr) minmax(320px, .78fr);
}

.admin-simple-panel {
    background:
        linear-gradient(145deg, rgba(92, 118, 150, .18), rgba(88, 18, 32, .14)),
        rgba(9, 12, 18, .82) !important;
    padding: 18px !important;
}

.admin-simple-order-list,
.admin-simple-side {
    display: grid;
    gap: 12px;
}

.admin-simple-order-list a,
.admin-priority-list.compact a,
.admin-alert-list.compact a {
    background: rgba(255, 255, 255, .045);
    border: 1px solid rgba(255, 255, 255, .10);
    color: inherit;
    display: grid;
    gap: 5px;
    min-width: 0;
    padding: 12px 14px;
    position: relative;
    text-decoration: none;
    transition: background .16s ease, border-color .16s ease, transform .16s ease;
}

.admin-simple-order-list a:hover,
.admin-priority-list.compact a:hover,
.admin-alert-list.compact a:hover {
    border-color: rgba(255, 35, 56, .36);
    background: rgba(255, 35, 56, .08);
    transform: translateX(2px);
}

.admin-simple-order-list strong,
.admin-priority-list.compact strong,
.admin-alert-list.compact strong {
    color: #fff;
    font: 800 14px var(--font-tech);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.admin-simple-order-list span,
.admin-priority-list.compact span,
.admin-alert-list.compact span,
.admin-simple-order-list small,
.admin-priority-list.compact small,
.admin-alert-list.compact small {
    color: rgba(225, 232, 242, .62);
    font-size: 12px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.admin-simple-orders .admin-simple-order-list {
    gap: 10px;
}

.admin-simple-orders .admin-simple-order-list a:first-child {
    background: linear-gradient(90deg, rgba(255, 35, 56, .14), rgba(255, 255, 255, .045));
    border-color: rgba(255, 70, 86, .28);
}

.admin-simple-side .admin-panel-head.compact h2,
.admin-simple-orders .admin-panel-head.compact h2 {
    font-size: 19px;
}

@media (max-width: 1180px) {
    .admin-simple-metrics,
    .admin-simple-grid {
        grid-template-columns: 1fr 1fr;
    }

    .admin-simple-card.primary {
        grid-row: auto;
        min-height: 170px;
    }

    .admin-dashboard-livebar {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .admin-dashboard-livebar span:nth-child(3) {
        border-left: 0;
    }
}

@media (max-width: 760px) {
    .admin-dashboard-hero-simple,
    .admin-simple-metrics,
    .admin-simple-grid {
        grid-template-columns: 1fr;
    }

    .admin-dashboard-hero-simple {
        padding: 20px;
    }

    .admin-dashboard-livebar {
        grid-template-columns: 1fr;
    }

    .admin-dashboard-livebar span {
        justify-content: space-between;
    }

    .admin-dashboard-livebar span + span {
        border-left: 0;
        border-top: 1px solid rgba(255, 255, 255, .10);
    }

    .admin-simple-card.primary strong {
        font-size: clamp(58px, 18vw, 88px);
    }

    .admin-dashboard-switch {
        width: 100%;
    }

    .admin-dashboard-switch button {
        flex: 1;
        min-width: 0;
    }
}

/* DARKLAB ADMIN - centered compact order workspace */
.admin-order-workbench {
    gap: 20px !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    margin: 0 auto 18px !important;
    max-width: 1460px !important;
}

.admin-work-card {
    display: flex !important;
    flex-direction: column !important;
    min-width: 0 !important;
}

.admin-work-card .admin-panel-head.compact {
    align-items: flex-start !important;
}

/* DARKLAB ADMIN DASHBOARD - client card finish */
.admin-dashboard-hero-simple {
    border-radius: 18px !important;
}

.admin-dashboard-switch {
    border-radius: 12px !important;
    overflow: hidden;
}

.admin-dashboard-switch button {
    border-radius: 8px !important;
}

.admin-dashboard-livebar {
    border-radius: 14px !important;
}

.admin-simple-card,
.admin-simple-panel,
.admin-dashboard-view[data-admin-dashboard-view="advanced"] .admin-metrics article,
.admin-dashboard-view[data-admin-dashboard-view="advanced"] .admin-panel {
    border-radius: 16px !important;
}

.admin-simple-order-list a,
.admin-priority-list.compact a,
.admin-alert-list.compact a {
    border-radius: 12px !important;
}

.admin-file-actions-compact {
    display: grid !important;
    gap: 8px !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

.admin-file-actions-compact .admin-action {
    justify-content: center !important;
    text-align: center !important;
}

.admin-auto-status-card {
    grid-template-columns: minmax(130px, .8fr) minmax(120px, .75fr) minmax(210px, 1fr) !important;
}

.admin-auto-status-card span,
.admin-auto-status-card small {
    min-width: 0 !important;
}

.admin-auto-status-card strong {
    text-align: center !important;
}

.admin-compact-form label,
.admin-upload-inline label {
    min-width: 0 !important;
}

.admin-compact-form button,
.admin-upload-inline button {
    justify-self: center !important;
    min-width: min(360px, 100%) !important;
    text-align: center !important;
}

.admin-upload-inline {
    grid-template-columns: minmax(0, 1fr) minmax(240px, .52fr) !important;
}

.admin-tech-dl {
    column-gap: 16px !important;
    row-gap: 8px !important;
}

.admin-tech-dl div {
    column-gap: 12px !important;
    grid-template-columns: minmax(112px, .48fr) minmax(0, 1fr) !important;
    min-width: 0 !important;
}

.admin-tech-dl dd {
    min-width: 0 !important;
}

.admin-ecu-review.compact {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

.admin-ecu-review.compact p {
    min-height: 112px !important;
    padding: 12px !important;
}

.admin-ecu-review.compact p:nth-child(3) {
    grid-column: 1 / -1 !important;
    min-height: 74px !important;
}

@media (max-width: 1180px) {
    .admin-order-workbench,
    .admin-file-actions-compact,
    .admin-upload-inline,
    .admin-auto-status-card,
    .admin-ecu-review.compact {
        grid-template-columns: 1fr !important;
    }

    .admin-auto-status-card small {
        justify-self: start !important;
        text-align: left !important;
    }
}

/* DARKLAB ADMIN - active access badge led */
.access-neon-admin {
    color: #24f08c !important;
    border-color: rgba(36, 240, 140, .46) !important;
    box-shadow:
        0 0 0 1px rgba(36, 240, 140, .08),
        0 0 24px rgba(36, 240, 140, .16),
        inset 0 1px 0 rgba(255, 255, 255, .16) !important;
}

/* DARKLAB ADMIN - customer intelligence */
.admin-clickable-row {
    cursor: pointer;
    transition: background .16s ease, box-shadow .16s ease, transform .16s ease;
}

.admin-clickable-row:hover {
    background: rgba(255, 35, 56, .075) !important;
    box-shadow: inset 3px 0 0 rgba(255, 35, 56, .9);
}

.admin-clickable-row:focus-visible {
    outline: 2px solid rgba(255, 35, 56, .76);
    outline-offset: -2px;
}

.admin-actions-cell {
    position: relative;
}

.admin-row-actions {
    display: inline-block;
    position: relative;
}

.admin-row-actions summary {
    align-items: center;
    border: 1px solid rgba(255, 255, 255, .15);
    color: #fff;
    cursor: pointer;
    display: inline-flex;
    font: 900 16px var(--font-tech);
    height: 38px;
    justify-content: center;
    list-style: none;
    width: 48px;
}

.admin-row-actions summary::-webkit-details-marker {
    display: none;
}

.admin-row-actions[open] summary {
    border-color: rgba(255, 35, 56, .54);
    box-shadow: 0 0 22px rgba(255, 35, 56, .16);
}

.admin-row-actions > div {
    background: rgba(7, 9, 14, .96);
    border: 1px solid rgba(255, 35, 56, .28);
    box-shadow: 0 18px 48px rgba(0, 0, 0, .42);
    display: grid;
    gap: 4px;
    min-width: 190px;
    padding: 8px;
    position: absolute;
    right: 0;
    top: calc(100% + 8px);
    z-index: 20;
}

.admin-row-actions a,
.admin-row-actions button {
    background: transparent;
    border: 0;
    color: rgba(245, 247, 252, .82);
    cursor: pointer;
    font: 800 12px var(--font-tech);
    padding: 10px 11px;
    text-align: left;
    text-decoration: none;
    text-transform: uppercase;
}

.admin-row-actions a:hover,
.admin-row-actions button:hover {
    background: rgba(255, 35, 56, .14);
    color: #fff;
}

.admin-customer-head,
.admin-customer-quickbar,
.admin-customer-stats,
.admin-customer-grid,
.admin-customer-bottom {
    margin-left: auto;
    margin-right: auto;
    max-width: 1500px;
}

.admin-customer-head {
    display: grid;
    gap: 18px;
    margin-bottom: 16px;
    padding: 22px !important;
}

.admin-customer-identity,
.admin-customer-facts,
.admin-customer-tools,
.admin-customer-quickbar,
.admin-customer-stats,
.admin-customer-grid,
.admin-customer-bottom {
    min-width: 0;
}

.admin-customer-identity {
    align-items: center;
    display: flex;
    gap: 18px;
    justify-content: space-between;
}

.admin-customer-identity h2 {
    color: #fff;
    font: 400 clamp(28px, 3vw, 48px) var(--font-display);
    margin: 4px 0 6px;
}

.admin-customer-identity span:not(.admin-status),
.admin-customer-tools > span {
    color: rgba(225, 232, 242, .64);
}

.admin-customer-facts {
    display: grid;
    gap: 10px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.admin-customer-facts > div,
.admin-customer-tools,
.admin-customer-quickbar,
.admin-customer-stats article,
.admin-customer-chart {
    background:
        linear-gradient(145deg, rgba(255, 255, 255, .065), rgba(255, 255, 255, .018)),
        rgba(7, 10, 15, .58);
    border: 1px solid rgba(255, 255, 255, .12);
}

.admin-customer-facts > div {
    display: grid;
    gap: 7px;
    padding: 14px;
}

.admin-customer-facts span,
.admin-customer-stats span {
    color: rgba(225, 232, 242, .56);
    font: 800 11px var(--font-tech);
    letter-spacing: .08em;
    text-transform: uppercase;
}

.admin-customer-facts strong {
    color: #fff;
    font-size: 13px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.admin-customer-tools {
    align-items: center;
    display: grid;
    gap: 12px;
    grid-template-columns: 160px minmax(0, 1fr);
    padding: 13px 14px;
}

.admin-customer-tools div,
.admin-customer-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.admin-customer-tools strong,
.admin-customer-tags span {
    background: rgba(255, 35, 56, .12);
    border: 1px solid rgba(255, 35, 56, .30);
    color: #fff;
    font: 800 11px var(--font-tech);
    padding: 7px 9px;
    text-transform: uppercase;
}

.admin-customer-tools em,
.admin-customer-tags em {
    color: rgba(225, 232, 242, .52);
    font-style: normal;
}

.admin-customer-quickbar {
    align-items: end;
    display: grid;
    gap: 10px;
    grid-template-columns: minmax(0, 1fr) auto auto auto;
    margin-bottom: 14px;
    padding: 12px;
}

.admin-customer-quickbar form:first-child {
    align-items: end;
    display: grid;
    gap: 10px;
    grid-template-columns: 140px minmax(220px, 1fr) auto;
}

.admin-customer-quickbar label {
    color: rgba(225, 232, 242, .62);
    display: grid;
    font: 800 11px var(--font-tech);
    gap: 5px;
    min-width: 0;
    text-transform: uppercase;
}

.admin-customer-quickbar input {
    background: rgba(5, 7, 11, .78);
    border: 1px solid rgba(255, 255, 255, .13);
    color: #fff;
    min-height: 40px;
    padding: 0 11px;
}

.admin-customer-quickbar button {
    min-height: 40px;
}

.admin-customer-periods {
    display: flex;
    gap: 8px;
    margin: 0 auto 14px;
    max-width: 1500px;
}

.admin-customer-periods a {
    border: 1px solid rgba(255, 255, 255, .13);
    color: rgba(245, 247, 252, .70);
    font: 900 12px var(--font-tech);
    padding: 11px 14px;
    text-decoration: none;
    text-transform: uppercase;
}

.admin-customer-periods a.active,
.admin-customer-periods a:hover {
    background: rgba(255, 35, 56, .18);
    border-color: rgba(255, 35, 56, .46);
    color: #fff;
}

.admin-customer-stats {
    display: grid;
    gap: 12px;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin-bottom: 18px;
}

.admin-customer-stats article {
    display: grid;
    gap: 10px;
    min-height: 124px;
    padding: 17px;
}

.admin-customer-stats strong {
    color: #fff;
    font: 400 clamp(27px, 2.4vw, 42px) var(--font-display);
    line-height: 1;
}

.admin-customer-stats small {
    color: rgba(225, 232, 242, .58);
}

.admin-customer-grid,
.admin-customer-bottom {
    display: grid;
    gap: 16px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-bottom: 18px;
}

.admin-customer-grid .wide {
    grid-column: 1 / -1;
}

.admin-customer-chart {
    min-width: 0;
}

.admin-chart-lines {
    display: grid;
    gap: 10px;
}

.admin-chart-lines > div {
    align-items: center;
    display: grid;
    gap: 8px;
    grid-template-columns: 72px minmax(0, 1fr) 94px minmax(0, 1fr) 110px;
}

.admin-chart-lines span,
.admin-chart-lines strong,
.admin-chart-lines small {
    color: rgba(245, 247, 252, .76);
    font-size: 12px;
}

.admin-chart-lines b,
.admin-chart-lines i {
    background: linear-gradient(90deg, #ff2538, rgba(255, 37, 56, .32));
    display: block;
    height: 10px;
    min-width: 4px;
}

.admin-chart-lines i {
    background: linear-gradient(90deg, #24f08c, rgba(36, 240, 140, .25));
}

.admin-rank-list {
    display: grid;
    gap: 8px;
}

.admin-rank-list div {
    align-items: center;
    background: rgba(255, 255, 255, .045);
    border: 1px solid rgba(255, 255, 255, .09);
    display: flex;
    gap: 12px;
    justify-content: space-between;
    padding: 10px 12px;
}

.admin-rank-list span {
    color: rgba(245, 247, 252, .76);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.admin-rank-list strong {
    color: #fff;
}

.admin-customer-orders {
    margin: 0 auto 18px;
    max-width: 1500px;
}

.admin-customer-bottom {
    grid-template-columns: 1.15fr .9fr .9fr;
}

.admin-customer-tags {
    border-top: 1px solid rgba(255, 255, 255, .10);
    margin-top: 14px;
    padding-top: 14px;
}

@media (max-width: 1220px) {
    .admin-customer-facts,
    .admin-customer-stats,
    .admin-customer-grid,
    .admin-customer-bottom,
    .admin-customer-quickbar,
    .admin-customer-quickbar form:first-child {
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 780px) {
    .admin-customer-facts,
    .admin-customer-stats,
    .admin-customer-grid,
    .admin-customer-bottom,
    .admin-customer-quickbar,
    .admin-customer-quickbar form:first-child,
    .admin-customer-tools,
    .admin-chart-lines > div {
        grid-template-columns: 1fr;
    }

    .admin-customer-identity {
        align-items: flex-start;
        flex-direction: column;
    }

    .admin-customer-periods {
        overflow-x: auto;
    }
}

/* DARKLAB ADMIN - ergonomic customer detail */
.admin-customer-page-hero,
.admin-customer-command,
.admin-customer-snapshot,
.admin-customer-periods.clean,
.admin-customer-focus-stats,
.admin-customer-tools-panel,
.admin-customer-secondary-stats,
.admin-customer-chart.clean.wide,
.admin-customer-grid.clean,
.admin-customer-orders,
.admin-customer-bottom.clean {
    margin-left: auto !important;
    margin-right: auto !important;
    max-width: 1480px !important;
}

.admin-customer-command {
    align-items: center;
    display: grid;
    gap: 18px;
    grid-template-columns: minmax(0, 1fr) 170px minmax(300px, auto);
    margin-bottom: 12px;
    padding: 20px 22px !important;
}

.admin-customer-main-id h2 {
    color: #fff;
    font: 400 clamp(30px, 3vw, 52px) var(--font-display);
    line-height: .95;
    margin: 4px 0 12px;
}

.admin-customer-subline {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.admin-customer-subline span,
.admin-customer-snapshot span,
.admin-customer-focus-stats span,
.admin-customer-secondary-stats span {
    color: rgba(225, 232, 242, .58);
    font: 800 11px var(--font-tech);
    letter-spacing: .08em;
    text-transform: uppercase;
}

.admin-customer-subline span {
    background: rgba(255, 255, 255, .055);
    border: 1px solid rgba(255, 255, 255, .12);
    color: rgba(245, 247, 252, .78);
    padding: 7px 10px;
}

.admin-customer-health {
    align-items: center;
    background: radial-gradient(circle at 50% 0%, rgba(36, 240, 140, .16), transparent 58%), rgba(5, 8, 14, .58);
    border: 1px solid rgba(36, 240, 140, .22);
    display: grid;
    justify-items: center;
    min-height: 118px;
    padding: 14px;
    text-align: center;
}

.admin-customer-health strong {
    color: #fff;
    font: 400 46px var(--font-display);
    line-height: .85;
}

.admin-customer-health small {
    color: rgba(36, 240, 140, .82);
    font: 800 11px var(--font-tech);
    text-transform: uppercase;
}

.admin-customer-actions-clean {
    align-items: center;
    display: grid;
    gap: 9px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.admin-customer-actions-clean .admin-action,
.admin-customer-actions-clean button {
    justify-content: center;
    min-height: 44px;
    padding: 0 14px !important;
    text-align: center;
    width: 100%;
}

.admin-customer-snapshot {
    display: grid;
    gap: 8px;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    margin-bottom: 14px;
}

.admin-customer-snapshot article {
    background: rgba(8, 11, 17, .58);
    border: 1px solid rgba(255, 255, 255, .10);
    display: grid;
    gap: 8px;
    min-height: 74px;
    padding: 12px 13px;
}

.admin-customer-snapshot strong {
    color: rgba(255, 255, 255, .92);
    font-size: 12px;
    line-height: 1.25;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.admin-customer-periods.clean {
    background: rgba(5, 8, 14, .42);
    border: 1px solid rgba(255, 255, 255, .10);
    display: inline-flex;
    margin-bottom: 14px;
    padding: 5px;
}

.admin-customer-periods.clean a {
    border: 0 !important;
    min-width: 150px;
    text-align: center;
}

.admin-customer-periods.clean a.active {
    background: linear-gradient(135deg, rgba(255, 35, 56, .92), rgba(142, 8, 18, .86));
}

.admin-customer-focus-stats,
.admin-customer-secondary-stats {
    display: grid;
    gap: 12px;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin-bottom: 14px;
}

.admin-customer-focus-stats article,
.admin-customer-secondary-stats article {
    background: linear-gradient(145deg, rgba(255, 255, 255, .06), rgba(255, 255, 255, .018)), rgba(7, 10, 15, .62);
    border: 1px solid rgba(255, 255, 255, .11);
    display: grid;
    gap: 9px;
    min-height: 112px;
    padding: 16px 17px;
}

.admin-customer-focus-stats article.is-primary {
    background: radial-gradient(circle at 85% 16%, rgba(255, 35, 56, .22), transparent 40%), linear-gradient(135deg, rgba(56, 75, 98, .58), rgba(56, 16, 28, .54));
    border-color: rgba(255, 60, 75, .32);
}

.admin-customer-focus-stats strong,
.admin-customer-secondary-stats strong {
    color: #fff;
    font: 400 clamp(26px, 2.2vw, 42px) var(--font-display);
    line-height: 1;
}

.admin-customer-focus-stats small,
.admin-customer-secondary-stats small {
    color: rgba(225, 232, 242, .58);
    font-size: 12px;
}

.admin-customer-tools-panel {
    display: grid;
    gap: 14px;
    grid-template-columns: minmax(320px, .72fr) minmax(0, 1.28fr);
    margin-bottom: 14px;
}

.admin-customer-mini-form {
    padding: 16px !important;
}

.admin-customer-mini-form .admin-panel-head {
    margin-bottom: 12px !important;
}

.admin-customer-mini-form .admin-panel-head h2 {
    font-size: 18px !important;
}

.admin-customer-mini-form form {
    display: grid;
    gap: 10px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.admin-customer-mini-form label {
    color: rgba(225, 232, 242, .64);
    display: grid;
    font: 800 11px var(--font-tech);
    gap: 5px;
    min-width: 0;
    text-transform: uppercase;
}

.admin-customer-mini-form label.wide {
    grid-column: 1 / -1;
}

.admin-customer-mini-form input,
.admin-customer-mini-form select,
.admin-customer-mini-form textarea {
    background: rgba(5, 7, 11, .78);
    border: 1px solid rgba(255, 255, 255, .13);
    color: #fff;
    min-height: 40px;
    padding: 9px 11px;
}

.admin-customer-mini-form button {
    align-self: end;
    min-height: 40px;
}

.admin-customer-chart.clean.wide {
    margin-bottom: 14px;
    padding: 16px !important;
}

.admin-chart-lines.clean > div {
    grid-template-columns: 72px minmax(0, 1.15fr) 42px minmax(0, 1fr) 110px;
}

.admin-customer-grid.clean {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}

.admin-customer-grid.clean .admin-customer-chart,
.admin-customer-bottom.clean .admin-panel {
    padding: 16px !important;
}

.admin-customer-orders {
    margin-bottom: 14px !important;
    padding: 16px !important;
}

.admin-customer-orders-table th,
.admin-customer-orders-table td {
    padding-top: 13px !important;
    padding-bottom: 13px !important;
}

.admin-customer-bottom.clean {
    display: grid;
    gap: 14px;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

@media (max-width: 1280px) {
    .admin-customer-command,
    .admin-customer-tools-panel,
    .admin-customer-grid.clean,
    .admin-customer-bottom.clean {
        grid-template-columns: 1fr 1fr !important;
    }

    .admin-customer-snapshot,
    .admin-customer-focus-stats,
    .admin-customer-secondary-stats {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 780px) {
    .admin-customer-command,
    .admin-customer-actions-clean,
    .admin-customer-snapshot,
    .admin-customer-focus-stats,
    .admin-customer-tools-panel,
    .admin-customer-secondary-stats,
    .admin-customer-grid.clean,
    .admin-customer-bottom.clean,
    .admin-customer-mini-form form,
    .admin-chart-lines.clean > div {
        grid-template-columns: 1fr !important;
    }

    .admin-customer-periods.clean {
        display: flex;
        overflow-x: auto;
        width: 100%;
    }

    .admin-customer-periods.clean a {
        flex: 1 0 170px;
    }
}

/* DARKLAB ADMIN - customer clean v2 */
.admin-customer-clean-page {
    max-width: 1480px;
    margin: 0 auto;
}

.admin-customer-clean-page .admin-panel {
    border-radius: 8px !important;
}

.admin-customer-page-hero.clean {
    margin-bottom: 14px !important;
    padding-right: 190px;
}

.customer-profile-card {
    display: grid;
    gap: 14px;
    margin-bottom: 12px;
    padding: 18px !important;
}

.customer-profile-top {
    align-items: center;
    display: grid;
    gap: 16px;
    grid-template-columns: 74px minmax(0, 1fr) 148px;
}

.customer-avatar {
    align-items: center;
    background: radial-gradient(circle at 35% 20%, rgba(255,255,255,.22), rgba(255,35,56,.15) 42%, rgba(5,8,14,.75));
    border: 1px solid rgba(255, 255, 255, .18);
    color: #fff;
    display: flex;
    font: 900 22px var(--font-tech);
    height: 64px;
    justify-content: center;
    text-transform: uppercase;
    width: 64px;
}

.customer-profile-title h2 {
    color: #fff;
    font: 400 clamp(30px, 3vw, 54px) var(--font-display);
    line-height: .95;
    margin: 3px 0 10px;
}

.customer-profile-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
}

.customer-profile-tags span {
    background: rgba(255, 255, 255, .055);
    border: 1px solid rgba(255, 255, 255, .12);
    color: rgba(245, 247, 252, .78);
    font: 800 11px var(--font-tech);
    padding: 6px 9px;
    text-transform: uppercase;
}

.customer-profile-tags .is-ok {
    border-color: rgba(36, 240, 140, .30);
    color: rgba(36, 240, 140, .92);
}

.customer-profile-tags .is-danger {
    border-color: rgba(255, 35, 56, .42);
    color: #ff5b68;
}

.customer-credit-pill {
    align-items: center;
    background: rgba(5, 8, 14, .66);
    border: 1px solid rgba(36, 240, 140, .22);
    display: grid;
    justify-items: center;
    min-height: 92px;
    padding: 12px;
}

.customer-credit-pill span,
.customer-credit-pill small,
.customer-profile-meta span,
.customer-kpi-grid span,
.customer-secondary-kpis span {
    color: rgba(225, 232, 242, .58);
    font: 800 10px var(--font-tech);
    letter-spacing: .08em;
    text-transform: uppercase;
}

.customer-credit-pill strong {
    color: #fff;
    font: 400 38px var(--font-display);
    line-height: .86;
}

.customer-credit-pill small {
    color: rgba(36, 240, 140, .82);
}

.customer-profile-meta {
    display: grid;
    gap: 8px;
    grid-template-columns: repeat(6, minmax(0, 1fr));
}

.customer-profile-meta div {
    background: rgba(4, 7, 12, .46);
    border: 1px solid rgba(255, 255, 255, .09);
    display: grid;
    gap: 7px;
    min-height: 64px;
    padding: 10px 11px;
}

.customer-profile-meta strong {
    color: rgba(255, 255, 255, .92);
    font-size: 12px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.customer-action-row {
    border-top: 1px solid rgba(255, 255, 255, .09);
    display: grid;
    gap: 8px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    padding-top: 12px;
}

.customer-action-row .admin-action,
.customer-action-row button {
    justify-content: center;
    min-height: 40px;
    padding: 0 12px !important;
    width: 100%;
}

.customer-period-tabs {
    background: rgba(5, 8, 14, .42);
    border: 1px solid rgba(255, 255, 255, .10);
    display: inline-flex;
    gap: 4px;
    margin-bottom: 12px;
    padding: 5px;
}

.customer-period-tabs a {
    color: rgba(245, 247, 252, .70);
    font: 900 11px var(--font-tech);
    min-width: 148px;
    padding: 10px 12px;
    text-align: center;
    text-decoration: none;
    text-transform: uppercase;
}

.customer-period-tabs a.active,
.customer-period-tabs a:hover {
    background: linear-gradient(135deg, rgba(255, 35, 56, .92), rgba(132, 8, 18, .86));
    color: #fff;
}

.customer-kpi-grid,
.customer-secondary-kpis {
    display: grid;
    gap: 12px;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin-bottom: 12px;
}

.customer-kpi-grid article,
.customer-secondary-kpis article {
    background: rgba(7, 10, 15, .62);
    border: 1px solid rgba(255, 255, 255, .105);
    display: grid;
    gap: 8px;
    min-height: 104px;
    padding: 15px 16px;
}

.customer-kpi-grid article.is-primary {
    background: radial-gradient(circle at 88% 18%, rgba(255, 35, 56, .18), transparent 42%), rgba(10, 13, 19, .72);
    border-color: rgba(255, 35, 56, .34);
}

.customer-kpi-grid strong,
.customer-secondary-kpis strong {
    color: #fff;
    font: 400 clamp(24px, 2vw, 38px) var(--font-display);
    line-height: 1;
}

.customer-kpi-grid small,
.customer-secondary-kpis small {
    color: rgba(225, 232, 242, .58);
    font-size: 12px;
}

.customer-drawer {
    margin-bottom: 12px;
    padding: 0 !important;
    overflow: hidden;
}

.customer-drawer summary {
    align-items: center;
    cursor: pointer;
    display: flex;
    gap: 16px;
    justify-content: space-between;
    list-style: none;
    padding: 16px 18px;
}

.customer-drawer summary::-webkit-details-marker {
    display: none;
}

.customer-drawer summary span {
    color: #ff2538;
    font: 900 13px var(--font-tech);
    letter-spacing: .10em;
    text-transform: uppercase;
}

.customer-drawer summary strong {
    color: rgba(245, 247, 252, .72);
    font-size: 13px;
    font-weight: 600;
    text-align: right;
}

.customer-drawer[open] summary {
    border-bottom: 1px solid rgba(255, 255, 255, .10);
}

.customer-management-grid,
.customer-analysis-grid,
.customer-log-grid {
    display: grid;
    gap: 12px;
    grid-template-columns: minmax(320px, .72fr) minmax(0, 1.28fr);
    padding: 16px;
}

.customer-inline-form,
.customer-chart,
.customer-log-grid > article {
    background: rgba(5, 8, 14, .38);
    border: 1px solid rgba(255, 255, 255, .09);
    display: grid;
    gap: 10px;
    padding: 14px;
}

.customer-inline-form {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.customer-inline-form.commercial {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.customer-inline-form h3,
.customer-chart h3,
.customer-log-grid h3 {
    color: #fff;
    font: 800 15px var(--font-tech);
    grid-column: 1 / -1;
    margin: 0 0 4px;
    text-transform: uppercase;
}

.customer-inline-form label {
    color: rgba(225, 232, 242, .64);
    display: grid;
    font: 800 10px var(--font-tech);
    gap: 5px;
    min-width: 0;
    text-transform: uppercase;
}

.customer-inline-form .wide {
    grid-column: 1 / -1;
}

.customer-inline-form input,
.customer-inline-form select,
.customer-inline-form textarea {
    background: rgba(3, 5, 9, .82);
    border: 1px solid rgba(255, 255, 255, .12);
    color: #fff;
    min-height: 38px;
    padding: 8px 10px;
}

.customer-inline-form button {
    align-self: end;
    min-height: 38px;
}

.customer-analysis-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.customer-analysis-grid .wide {
    grid-column: 1 / -1;
}

.customer-orders-panel {
    margin-bottom: 12px !important;
    padding: 16px !important;
}

.admin-customer-orders-table th,
.admin-customer-orders-table td {
    padding-top: 12px !important;
    padding-bottom: 12px !important;
}

.customer-log-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

@media (max-width: 1280px) {
    .customer-profile-meta,
    .customer-kpi-grid,
    .customer-secondary-kpis,
    .customer-analysis-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .customer-management-grid,
    .customer-log-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 780px) {
    .admin-customer-page-hero.clean,
    .customer-drawer summary {
        padding-right: 0;
    }

    .customer-profile-top,
    .customer-profile-meta,
    .customer-action-row,
    .customer-kpi-grid,
    .customer-secondary-kpis,
    .customer-analysis-grid,
    .customer-inline-form,
    .customer-inline-form.commercial,
    .admin-chart-lines.clean > div {
        grid-template-columns: 1fr !important;
    }

    .customer-period-tabs {
        display: flex;
        overflow-x: auto;
        width: 100%;
    }

    .customer-period-tabs a {
        flex: 1 0 165px;
    }
}

/* DARKLAB client dashboard automatic banner */
body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-banner {
    position: relative;
    overflow: hidden;
    margin: 0 0 26px;
    padding: clamp(22px, 2.4vw, 34px);
    border: 1px solid rgba(45, 151, 255, .54);
    border-radius: 20px;
    background:
        radial-gradient(circle at 52% 5%, rgba(49, 143, 255, .32), transparent 24%),
        radial-gradient(circle at 92% 20%, rgba(255, 30, 54, .24), transparent 26%),
        linear-gradient(115deg, rgba(4, 12, 22, .96), rgba(7, 12, 21, .92) 46%, rgba(35, 9, 16, .9));
    box-shadow: 0 0 0 1px rgba(255, 255, 255, .035) inset, 0 0 38px rgba(28, 133, 255, .18), 0 0 44px rgba(255, 31, 54, .11);
    color: #fff;
    isolation: isolate;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-banner::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    background:
        linear-gradient(90deg, rgba(59, 151, 255, .16) 1px, transparent 1px),
        linear-gradient(0deg, rgba(255, 255, 255, .055) 1px, transparent 1px),
        repeating-linear-gradient(135deg, rgba(255, 255, 255, .045) 0 1px, transparent 1px 14px);
    background-size: 94px 100%, 100% 54px, auto;
    opacity: .25;
    pointer-events: none;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-banner::after {
    content: none !important;
    display: none !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-top {
    display: grid;
    grid-template-columns: minmax(320px, 1.18fr) minmax(280px, .92fr) minmax(250px, .72fr);
    gap: clamp(22px, 3vw, 42px);
    align-items: center;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: clamp(22px, 2vw, 30px);
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-badge {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    min-height: 42px;
    padding: 0 18px;
    border: 1px solid rgba(69, 157, 255, .34);
    border-radius: 11px;
    background: linear-gradient(180deg, rgba(32, 78, 125, .48), rgba(9, 21, 36, .62));
    color: rgba(255, 255, 255, .86);
    font-weight: 800;
    font-size: clamp(.78rem, .8vw, .94rem);
    line-height: 1;
    letter-spacing: 0;
    text-transform: uppercase;
    box-shadow: 0 0 22px rgba(42, 143, 255, .16) inset, 0 0 18px rgba(42, 143, 255, .12);
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-badge svg {
    width: 18px;
    height: 18px;
    fill: #2b9cff;
    filter: drop-shadow(0 0 8px rgba(43, 156, 255, .75));
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-badge.is-online {
    border-color: rgba(33, 231, 160, .38);
    background: linear-gradient(180deg, rgba(14, 90, 72, .4), rgba(7, 28, 31, .58));
    color: #27f2a3;
    box-shadow: 0 0 18px rgba(39, 242, 163, .14) inset, 0 0 18px rgba(39, 242, 163, .12);
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-badge.is-online i {
    width: 12px;
    height: 12px;
    border-radius: 999px;
    background: #19f69b;
    box-shadow: 0 0 14px rgba(25, 246, 155, .88);
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-solutions strong {
    display: block;
    font-size: clamp(3.2rem, 6vw, 6.8rem);
    line-height: .88;
    font-weight: 900;
    letter-spacing: 0;
    color: #168cff;
    text-shadow: 0 0 18px rgba(22, 140, 255, .56), 0 0 40px rgba(22, 140, 255, .2);
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-solutions span {
    display: block;
    margin-top: 8px;
    color: #fff;
    font-size: clamp(1.55rem, 2.6vw, 3rem);
    font-weight: 900;
    line-height: 1;
    letter-spacing: 0;
    text-transform: uppercase;
    text-shadow: 0 0 18px rgba(255, 255, 255, .23);
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-lead {
    margin: 24px 0 8px;
    color: rgba(255, 255, 255, .86);
    font-size: clamp(1rem, 1.15vw, 1.22rem);
    line-height: 1.38;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-clock {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0;
    color: rgba(255, 255, 255, .62);
    font-size: clamp(.9rem, 1vw, 1.06rem);
    line-height: 1.4;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-clock svg {
    flex: 0 0 22px;
    width: 22px;
    height: 22px;
    fill: none;
    stroke: rgba(255, 255, 255, .82);
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-center {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: clamp(16px, 1.6vw, 28px);
    min-width: 0;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-ring {
    position: relative;
    display: grid;
    place-items: center;
    width: clamp(190px, 18vw, 280px);
    aspect-ratio: 1;
    border-radius: 50%;
    background:
        radial-gradient(circle, rgba(6, 16, 26, .96) 0 51%, transparent 52%),
        conic-gradient(from -45deg, #178dff 0 235deg, #ff2339 235deg 252deg, rgba(255, 255, 255, .14) 252deg 360deg);
    box-shadow: 0 0 36px rgba(28, 138, 255, .34), 0 0 16px rgba(255, 35, 57, .2) inset;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-ring::before,
body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-ring::after {
    content: "";
    position: absolute;
    border-radius: 50%;
    pointer-events: none;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-ring::before {
    inset: 10px;
    border: 1px solid rgba(86, 176, 255, .45);
    box-shadow: 0 0 20px rgba(38, 146, 255, .18) inset;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-ring::after {
    inset: 23px;
    border: 1px dashed rgba(125, 198, 255, .24);
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-ring strong {
    position: relative;
    z-index: 1;
    color: #dbeeff;
    font-size: clamp(4.2rem, 7vw, 8rem);
    line-height: .82;
    font-weight: 900;
    letter-spacing: 0;
    text-shadow: 0 0 20px rgba(49, 151, 255, .7), 0 0 44px rgba(49, 151, 255, .26);
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-ring strong span {
    font-size: .42em;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-center p {
    margin: 0;
    color: rgba(255, 255, 255, .9);
    font-size: clamp(1.35rem, 1.8vw, 2.25rem);
    line-height: 1.2;
    text-shadow: 0 0 16px rgba(255, 255, 255, .18);
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-right {
    display: grid;
    justify-items: center;
    gap: 18px;
    text-align: left;
    min-width: 0;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-folder {
    position: relative;
    display: grid;
    place-items: center;
    width: clamp(120px, 12vw, 178px);
    aspect-ratio: 1.15;
    border-radius: 26px;
    background: radial-gradient(circle at 50% 90%, rgba(41, 143, 255, .38), transparent 44%);
    filter: drop-shadow(0 0 22px rgba(35, 147, 255, .55));
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-folder::after {
    content: "";
    position: absolute;
    left: 14%;
    right: 14%;
    bottom: 7%;
    height: 18px;
    border: 1px solid rgba(43, 156, 255, .5);
    border-radius: 50%;
    box-shadow: 0 0 18px rgba(43, 156, 255, .62), 18px 0 22px rgba(255, 35, 57, .28);
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-folder svg {
    position: relative;
    z-index: 1;
    width: 100%;
    height: 100%;
    fill: rgba(33, 132, 255, .2);
    stroke: #72c0ff;
    stroke-width: 4;
    stroke-linecap: round;
    stroke-linejoin: round;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-right p {
    margin: 0;
    max-width: 340px;
    color: rgba(255, 255, 255, .78);
    font-size: clamp(.98rem, 1.08vw, 1.18rem);
    line-height: 1.35;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-right p span {
    color: #42abff;
    text-shadow: 0 0 12px rgba(66, 171, 255, .7);
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-how {
    position: relative;
    margin-top: clamp(24px, 2.5vw, 34px);
    padding: 22px 24px;
    border: 1px solid rgba(67, 151, 255, .28);
    border-radius: 14px;
    background: linear-gradient(100deg, rgba(5, 16, 27, .74), rgba(9, 15, 27, .5), rgba(38, 9, 16, .52));
    box-shadow: 0 0 0 1px rgba(255, 255, 255, .025) inset;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-how h2 {
    margin: 0 0 18px;
    color: #4faaff;
    font-size: clamp(1.05rem, 1.2vw, 1.35rem);
    letter-spacing: 0;
    text-transform: uppercase;
    text-shadow: 0 0 16px rgba(79, 170, 255, .5);
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-steps {
    display: grid;
    grid-template-columns: 1fr 34px 1fr 34px 1fr 34px 1fr;
    align-items: center;
    gap: clamp(8px, 1vw, 18px);
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-steps article {
    display: grid;
    grid-template-columns: 66px 1fr;
    gap: 14px;
    align-items: center;
    min-width: 0;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-step-icon {
    display: grid;
    place-items: center;
    width: 62px;
    height: 62px;
    border: 1px solid rgba(69, 159, 255, .46);
    border-radius: 999px;
    background: radial-gradient(circle, rgba(31, 130, 255, .24), rgba(5, 14, 24, .72));
    box-shadow: 0 0 20px rgba(44, 150, 255, .22), 0 0 14px rgba(44, 150, 255, .18) inset;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-step-icon svg {
    width: 34px;
    height: 34px;
    fill: none;
    stroke: #61b7ff;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
    filter: drop-shadow(0 0 8px rgba(97, 183, 255, .62));
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-steps strong {
    display: block;
    color: rgba(255, 255, 255, .92);
    font-size: clamp(.96rem, 1vw, 1.14rem);
    line-height: 1.2;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-steps strong b {
    color: #3aa5ff;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-steps p {
    margin: 6px 0 0;
    color: rgba(255, 255, 255, .62);
    font-size: clamp(.82rem, .86vw, .96rem);
    line-height: 1.35;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-steps > i {
    display: block;
    width: 34px;
    height: 1px;
    background: linear-gradient(90deg, rgba(55, 160, 255, .12), rgba(80, 181, 255, .9));
    box-shadow: 0 0 12px rgba(80, 181, 255, .44);
    position: relative;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-steps > i::after {
    content: "";
    position: absolute;
    right: 0;
    top: 50%;
    width: 9px;
    height: 9px;
    border-top: 2px solid #58b8ff;
    border-right: 2px solid #58b8ff;
    transform: translateY(-50%) rotate(45deg);
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-info {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    width: fit-content;
    max-width: calc(100% - 36px);
    margin: 0 auto -18px;
    padding: 10px 28px;
    border: 1px solid rgba(80, 165, 255, .28);
    border-radius: 999px;
    background: rgba(6, 12, 20, .88);
    color: rgba(255, 255, 255, .66);
    font-size: clamp(.82rem, .9vw, .98rem);
    line-height: 1.25;
    text-align: center;
    box-shadow: 0 0 18px rgba(26, 124, 255, .14), 0 0 18px rgba(255, 36, 55, .08) inset;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-info svg {
    flex: 0 0 19px;
    width: 19px;
    height: 19px;
    fill: none;
    stroke: rgba(255, 255, 255, .78);
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

@media (max-width: 1280px) {
    body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-top {
        grid-template-columns: 1fr 1fr;
    }

    body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-right {
        grid-column: 1 / -1;
        grid-template-columns: auto 1fr;
        justify-items: start;
        text-align: left;
    }

    body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-folder {
        width: 116px;
    }

    body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-steps {
        grid-template-columns: 1fr 26px 1fr;
    }

    body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-steps article:nth-of-type(3),
    body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-steps article:nth-of-type(4) {
        margin-top: 10px;
    }

    body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-steps > i:nth-of-type(2) {
        display: none;
    }
}

@media (max-width: 820px) {
    body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-banner {
        padding: 20px;
        border-radius: 16px;
    }

    body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-top,
    body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-right {
        grid-template-columns: 1fr;
    }

    body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-center {
        justify-content: flex-start;
    }

    body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-ring {
        width: min(56vw, 210px);
    }

    body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-how {
        padding: 18px;
    }

    body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-steps {
        grid-template-columns: 1fr;
    }

    body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-steps > i {
        width: 1px;
        height: 24px;
        margin-left: 31px;
        background: linear-gradient(180deg, rgba(55, 160, 255, .12), rgba(80, 181, 255, .9));
    }

    body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-steps > i::after {
        right: auto;
        top: auto;
        bottom: 0;
        left: 50%;
        transform: translateX(-50%) rotate(135deg);
    }

    body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-steps > i:nth-of-type(2) {
        display: block;
    }

    body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-info {
        width: 100%;
        max-width: 100%;
        margin-bottom: 0;
        border-radius: 14px;
        padding: 12px 14px;
    }
}

@media (max-width: 520px) {
    body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-badge {
        width: 100%;
        justify-content: center;
    }

    body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-center {
        display: grid;
    }

    body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-steps article {
        grid-template-columns: 54px 1fr;
    }

    body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-step-icon {
        width: 52px;
        height: 52px;
    }

    body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-step-icon svg {
        width: 29px;
        height: 29px;
    }
}

/* DARKLAB client dashboard automatic banner - compact 5cm max */
body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-banner {
    padding: 14px 18px 13px !important;
    margin: 0 0 18px !important;
    border-radius: 15px !important;
    min-height: 0 !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-banner::after {
    top: 46% !important;
    opacity: .48 !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-top {
    grid-template-columns: minmax(300px, 1.1fr) minmax(230px, .62fr) minmax(260px, .78fr) !important;
    gap: 18px !important;
    align-items: center !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-badges {
    gap: 8px !important;
    margin-bottom: 8px !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-badge {
    min-height: 28px !important;
    padding: 0 11px !important;
    border-radius: 8px !important;
    gap: 7px !important;
    font-size: .68rem !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-badge svg {
    width: 13px !important;
    height: 13px !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-badge.is-online i {
    width: 8px !important;
    height: 8px !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-solutions {
    display: flex !important;
    align-items: baseline !important;
    gap: 14px !important;
    min-width: 0 !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-solutions strong {
    font-size: clamp(2rem, 3vw, 3.35rem) !important;
    line-height: .9 !important;
    white-space: nowrap !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-solutions span {
    margin-top: 0 !important;
    font-size: clamp(.98rem, 1.35vw, 1.5rem) !important;
    line-height: 1.05 !important;
    white-space: nowrap !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-lead {
    margin: 8px 0 3px !important;
    font-size: .84rem !important;
    line-height: 1.18 !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-clock {
    gap: 7px !important;
    font-size: .75rem !important;
    line-height: 1.15 !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-clock svg {
    flex-basis: 15px !important;
    width: 15px !important;
    height: 15px !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-center {
    gap: 12px !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-ring {
    width: 104px !important;
    min-width: 104px !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-ring::before {
    inset: 6px !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-ring::after {
    inset: 13px !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-ring strong {
    font-size: 2.95rem !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-center p {
    font-size: .98rem !important;
    line-height: 1.12 !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-right {
    grid-template-columns: 72px 1fr !important;
    justify-items: start !important;
    align-items: center !important;
    gap: 12px !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-folder {
    width: 72px !important;
    border-radius: 16px !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-folder::after {
    height: 9px !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-folder svg {
    stroke-width: 5 !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-right p {
    max-width: none !important;
    font-size: .82rem !important;
    line-height: 1.22 !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-how {
    margin-top: 10px !important;
    padding: 9px 12px !important;
    border-radius: 11px !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-how h2 {
    margin: 0 0 7px !important;
    font-size: .76rem !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-steps {
    grid-template-columns: 1fr 20px 1fr 20px 1fr 20px 1fr !important;
    gap: 8px !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-steps article {
    grid-template-columns: 34px 1fr !important;
    gap: 8px !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-step-icon {
    width: 34px !important;
    height: 34px !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-step-icon svg {
    width: 19px !important;
    height: 19px !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-steps strong {
    font-size: .74rem !important;
    line-height: 1.08 !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-steps p {
    display: none !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-steps > i {
    width: 20px !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-info {
    margin: 8px auto 0 !important;
    padding: 6px 16px !important;
    border-radius: 999px !important;
    font-size: .72rem !important;
    line-height: 1.12 !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-info svg {
    flex-basis: 14px !important;
    width: 14px !important;
    height: 14px !important;
}

@media (max-width: 1280px) {
    body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-top {
        grid-template-columns: 1fr 230px !important;
    }

    body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-right {
        grid-column: 1 / -1 !important;
        grid-template-columns: 54px 1fr !important;
    }

    body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-folder {
        width: 54px !important;
    }
}

@media (max-width: 820px) {
    body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-banner {
        padding: 14px !important;
        max-height: none !important;
    }

    body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-top,
    body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-right {
        grid-template-columns: 1fr !important;
    }

    body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-solutions {
        display: block !important;
    }

    body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-solutions span {
        white-space: normal !important;
    }

    body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-center {
        justify-content: flex-start !important;
    }

    body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-steps {
        grid-template-columns: 1fr !important;
    }

    body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-steps > i {
        display: none !important;
    }
}

/* DARKLAB client dashboard automatic banner - balanced proportions */
body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-banner {
    box-sizing: border-box !important;
    overflow: hidden !important;
    padding: clamp(16px, 1.45vw, 24px) clamp(18px, 1.8vw, 30px) clamp(14px, 1.35vw, 22px) !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-top {
    display: grid !important;
    grid-template-columns: minmax(0, 40fr) minmax(260px, 32fr) minmax(220px, 28fr) !important;
    align-items: center !important;
    gap: clamp(24px, 3vw, 56px) !important;
    min-width: 0 !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-left,
body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-center,
body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-right {
    min-width: 0 !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-solutions {
    display: block !important;
    max-width: 100% !important;
    min-width: 0 !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-solutions strong {
    display: block !important;
    max-width: 100% !important;
    overflow: hidden !important;
    font-size: clamp(42px, 4vw, 72px) !important;
    line-height: .92 !important;
    white-space: nowrap !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-solutions span {
    display: block !important;
    max-width: 100% !important;
    margin-top: 5px !important;
    overflow-wrap: anywhere !important;
    font-size: clamp(22px, 2vw, 36px) !important;
    line-height: 1.02 !important;
    white-space: normal !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-lead {
    max-width: 100% !important;
    margin: 10px 0 4px !important;
    font-size: clamp(12px, .88vw, 15px) !important;
    line-height: 1.25 !important;
    overflow-wrap: normal !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-clock {
    max-width: 100% !important;
    font-size: clamp(11px, .78vw, 13px) !important;
    line-height: 1.2 !important;
    opacity: .72 !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-center {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    gap: clamp(14px, 1.8vw, 26px) !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-ring {
    position: relative !important;
    display: grid !important;
    place-items: center !important;
    width: clamp(150px, 13vw, 220px) !important;
    min-width: clamp(150px, 13vw, 220px) !important;
    aspect-ratio: 1 / 1 !important;
    height: auto !important;
    border-radius: 50% !important;
    overflow: hidden !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-ring::before {
    inset: 8px !important;
    border-radius: 50% !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-ring::after {
    inset: 17px !important;
    border-radius: 50% !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-ring strong {
    position: relative !important;
    z-index: 2 !important;
    display: flex !important;
    align-items: flex-end !important;
    justify-content: center !important;
    max-width: 82% !important;
    overflow: visible !important;
    font-size: clamp(42px, 4.5vw, 76px) !important;
    line-height: .82 !important;
    white-space: nowrap !important;
    transform: none !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-ring strong span {
    display: inline-block !important;
    margin-left: .06em !important;
    font-size: .45em !important;
    line-height: 1 !important;
    transform: translateY(-.06em) !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-center p {
    max-width: 190px !important;
    margin: 0 !important;
    flex: 1 1 120px !important;
    font-size: clamp(16px, 1.35vw, 24px) !important;
    line-height: 1.2 !important;
    overflow-wrap: normal !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-right {
    display: grid !important;
    grid-template-columns: clamp(86px, 8vw, 140px) minmax(0, 1fr) !important;
    align-items: center !important;
    gap: clamp(14px, 1.7vw, 26px) !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-folder {
    width: 100% !important;
    max-width: 140px !important;
    min-width: 0 !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-right p {
    max-width: 100% !important;
    font-size: clamp(12px, .9vw, 15px) !important;
    line-height: 1.28 !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-how {
    margin-top: clamp(16px, 1.45vw, 24px) !important;
    padding: clamp(13px, 1.15vw, 18px) clamp(14px, 1.45vw, 24px) !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-how h2 {
    margin-bottom: clamp(9px, .9vw, 14px) !important;
    font-size: clamp(12px, .82vw, 15px) !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-steps {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: clamp(14px, 1.5vw, 28px) !important;
    align-items: stretch !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-steps > i {
    display: none !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-steps article {
    position: relative !important;
    display: grid !important;
    grid-template-columns: clamp(42px, 3.4vw, 58px) minmax(0, 1fr) !important;
    align-items: center !important;
    gap: clamp(10px, 1vw, 16px) !important;
    min-width: 0 !important;
    padding-right: clamp(8px, 1vw, 18px) !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-steps article:not(:last-of-type)::after {
    content: "\2192";
    position: absolute;
    top: 50%;
    right: clamp(-18px, -1vw, -8px);
    transform: translateY(-50%);
    color: rgba(62, 164, 255, .78);
    font: 400 clamp(18px, 1.45vw, 25px) / 1 var(--font-display);
    text-shadow: 0 0 12px rgba(62, 164, 255, .42);
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-step-icon {
    width: clamp(42px, 3.4vw, 58px) !important;
    height: clamp(42px, 3.4vw, 58px) !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-step-icon svg {
    width: 55% !important;
    height: 55% !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-steps strong {
    display: block !important;
    font-size: clamp(12px, .86vw, 15px) !important;
    line-height: 1.18 !important;
    white-space: normal !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-steps p {
    display: block !important;
    margin-top: 4px !important;
    font-size: clamp(10.5px, .72vw, 12.5px) !important;
    line-height: 1.25 !important;
    opacity: .72 !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-info {
    max-width: min(760px, calc(100% - 28px)) !important;
    margin-top: 9px !important;
    font-size: clamp(11px, .74vw, 13px) !important;
}

@media (max-width: 1280px) {
    body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-top {
        grid-template-columns: minmax(0, 1fr) minmax(240px, .85fr) !important;
        gap: 22px !important;
    }

    body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-right {
        grid-column: 1 / -1 !important;
        grid-template-columns: 66px minmax(0, 1fr) !important;
    }

    body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-folder {
        max-width: 66px !important;
    }

    body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-steps {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        row-gap: 14px !important;
    }

    body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-steps article::after {
        display: none !important;
    }
}

@media (max-width: 820px) {
    body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-top {
        grid-template-columns: 1fr !important;
    }

    body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-center {
        justify-content: flex-start !important;
    }

    body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-ring {
        width: clamp(138px, 42vw, 176px) !important;
        min-width: clamp(138px, 42vw, 176px) !important;
    }

    body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-steps {
        grid-template-columns: 1fr !important;
    }
}

/* DARKLAB - automatic file reminder */
body.darklab-fixed-bg:not(.no-portal-bg) .automatic-file-mini,
body.darklab-fixed-bg:not(.no-portal-bg) .automatic-file-reminder {
    align-items: center;
    color: rgba(214, 239, 255, .94);
    display: inline-flex;
    font-family: var(--font-display);
    font-weight: 800;
    letter-spacing: 0;
    text-transform: uppercase;
}

body.darklab-fixed-bg:not(.no-portal-bg) .automatic-file-mini i,
body.darklab-fixed-bg:not(.no-portal-bg) .automatic-file-reminder i {
    background: #13f59d;
    border-radius: 50%;
    box-shadow:
        0 0 10px rgba(19, 245, 157, .76),
        0 0 22px rgba(29, 152, 255, .26);
    content: "";
    display: inline-block;
    flex: 0 0 auto;
}

body.darklab-fixed-bg:not(.no-portal-bg) .upload-launch-card .automatic-file-mini {
    background:
        linear-gradient(135deg, rgba(17, 105, 190, .28), rgba(10, 16, 24, .52)),
        rgba(4, 8, 14, .42);
    border: 1px solid rgba(58, 167, 255, .28);
    border-radius: 999px;
    box-shadow:
        0 0 18px rgba(29, 152, 255, .14),
        inset 0 1px 0 rgba(255, 255, 255, .13);
    font-size: 10px;
    gap: 7px;
    line-height: 1;
    margin: 0 0 9px;
    padding: 7px 10px 6px;
    position: relative;
    z-index: 2;
}

body.darklab-fixed-bg:not(.no-portal-bg) .upload-launch-card .automatic-file-mini i {
    height: 7px;
    width: 7px;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-upload-head .automatic-file-reminder {
    background:
        linear-gradient(135deg, rgba(7, 19, 32, .78), rgba(24, 8, 13, .62)),
        radial-gradient(circle at 10% 50%, rgba(29, 152, 255, .18), transparent 34%);
    border: 1px solid rgba(58, 167, 255, .24);
    border-radius: 999px;
    box-shadow:
        0 0 20px rgba(29, 152, 255, .11),
        inset 0 1px 0 rgba(255, 255, 255, .12);
    font-size: 11px;
    gap: 8px;
    line-height: 1.1;
    margin: 10px 0 0;
    max-width: 100%;
    padding: 8px 12px;
    white-space: normal;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-upload-head .automatic-file-reminder i {
    height: 8px;
    width: 8px;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-upload-head .automatic-file-reminder span {
    color: rgba(255, 255, 255, .68);
    font-size: .9em;
    font-weight: 700;
    text-transform: none;
}

@media (max-width: 720px) {
    body.darklab-fixed-bg:not(.no-portal-bg) .file-upload-head .automatic-file-reminder {
        align-items: flex-start;
        border-radius: 10px;
        flex-wrap: wrap;
    }

    body.darklab-fixed-bg:not(.no-portal-bg) .file-upload-head .automatic-file-reminder span {
        flex-basis: 100%;
        padding-left: 16px;
    }
}

/* DARKLAB client dashboard automatic banner - slim height */
body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-banner {
    padding: clamp(10px, .95vw, 16px) clamp(14px, 1.35vw, 24px) clamp(10px, .95vw, 15px) !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-top {
    grid-template-columns: minmax(0, 41fr) minmax(230px, 31fr) minmax(210px, 28fr) !important;
    gap: clamp(18px, 2.4vw, 42px) !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-badges {
    margin-bottom: 7px !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-badge {
    min-height: 24px !important;
    padding: 0 10px !important;
    font-size: clamp(9px, .62vw, 11px) !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-solutions strong {
    font-size: clamp(36px, 3.2vw, 58px) !important;
    line-height: .86 !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-solutions span {
    margin-top: 3px !important;
    font-size: clamp(20px, 1.55vw, 29px) !important;
    line-height: .96 !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-lead {
    margin: 7px 0 2px !important;
    font-size: clamp(10px, .72vw, 13px) !important;
    line-height: 1.18 !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-clock {
    font-size: clamp(9.5px, .66vw, 12px) !important;
    line-height: 1.12 !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-clock svg {
    flex-basis: 13px !important;
    height: 13px !important;
    width: 13px !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-ring {
    width: clamp(118px, 9.2vw, 154px) !important;
    min-width: clamp(118px, 9.2vw, 154px) !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-ring::before {
    inset: 6px !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-ring::after {
    inset: 14px !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-ring strong {
    font-size: clamp(38px, 3.5vw, 58px) !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-center {
    gap: clamp(12px, 1.35vw, 20px) !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-center p {
    max-width: 170px !important;
    font-size: clamp(14px, 1.05vw, 19px) !important;
    line-height: 1.12 !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-right {
    grid-template-columns: clamp(68px, 5.5vw, 96px) minmax(0, 1fr) !important;
    gap: clamp(12px, 1.25vw, 18px) !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-folder {
    max-width: 96px !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-right p {
    font-size: clamp(10.5px, .75vw, 13px) !important;
    line-height: 1.18 !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-how {
    margin-top: clamp(10px, .95vw, 15px) !important;
    padding: clamp(9px, .82vw, 13px) clamp(12px, 1.05vw, 18px) !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-how h2 {
    margin-bottom: 8px !important;
    font-size: clamp(10.5px, .72vw, 13px) !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-steps {
    gap: clamp(10px, 1vw, 18px) !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-steps article {
    grid-template-columns: clamp(34px, 2.7vw, 46px) minmax(0, 1fr) !important;
    gap: clamp(8px, .75vw, 12px) !important;
    padding-right: clamp(4px, .65vw, 12px) !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-steps article:not(:last-of-type)::after {
    font-size: clamp(15px, 1.1vw, 20px) !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-step-icon {
    height: clamp(34px, 2.7vw, 46px) !important;
    width: clamp(34px, 2.7vw, 46px) !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-steps strong {
    font-size: clamp(10.5px, .72vw, 13px) !important;
    line-height: 1.08 !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-steps p {
    margin-top: 2px !important;
    font-size: clamp(9px, .62vw, 11px) !important;
    line-height: 1.12 !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-info {
    margin-top: 7px !important;
    padding: 5px 14px !important;
    font-size: clamp(9.5px, .64vw, 11.5px) !important;
}

@media (max-width: 1280px) {
    body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-top {
        grid-template-columns: minmax(0, 1fr) minmax(215px, .72fr) !important;
    }
}

@media (max-width: 820px) {
    body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-ring {
        width: clamp(108px, 34vw, 142px) !important;
        min-width: clamp(108px, 34vw, 142px) !important;
    }
}

/* DARKLAB client dashboard automatic banner - extra compact dashboard band */
body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-banner {
    padding: 9px 22px 9px !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-top {
    gap: clamp(16px, 2vw, 34px) !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-badges {
    margin-bottom: 5px !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-badge {
    min-height: 22px !important;
    padding-inline: 9px !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-solutions strong {
    font-size: clamp(34px, 2.85vw, 50px) !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-solutions span {
    font-size: clamp(18px, 1.35vw, 24px) !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-lead {
    margin-top: 5px !important;
    font-size: clamp(9.5px, .68vw, 12px) !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-clock {
    font-size: clamp(9px, .6vw, 10.5px) !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-ring {
    width: clamp(104px, 7.8vw, 132px) !important;
    min-width: clamp(104px, 7.8vw, 132px) !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-ring strong {
    font-size: clamp(34px, 3vw, 50px) !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-center p {
    font-size: clamp(12px, .88vw, 16px) !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-right {
    grid-template-columns: clamp(58px, 4.6vw, 78px) minmax(0, 1fr) !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-folder {
    max-width: 78px !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-right p {
    font-size: clamp(9.5px, .68vw, 12px) !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-how {
    margin-top: 8px !important;
    padding: 8px 14px !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-how h2 {
    margin-bottom: 6px !important;
    font-size: clamp(10px, .66vw, 12px) !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-steps article {
    grid-template-columns: 32px minmax(0, 1fr) !important;
    gap: 8px !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-step-icon {
    height: 32px !important;
    width: 32px !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-steps strong {
    font-size: clamp(10px, .68vw, 12px) !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-steps p {
    display: -webkit-box !important;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
    overflow: hidden !important;
    font-size: clamp(8.5px, .56vw, 10px) !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-info {
    margin-top: 6px !important;
    padding-block: 4px !important;
}

@media (max-width: 820px) {
    body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-banner {
        padding: 12px !important;
    }

    body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-steps p {
        -webkit-line-clamp: 2;
    }
}

/* DARKLAB client dashboard automatic banner - readable slim correction */
body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-ring {
    width: clamp(126px, 8.6vw, 148px) !important;
    min-width: clamp(126px, 8.6vw, 148px) !important;
    aspect-ratio: 1 / 1 !important;
    overflow: hidden !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-ring strong {
    max-width: 76% !important;
    font-size: clamp(32px, 2.65vw, 46px) !important;
    line-height: .82 !important;
    transform: none !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-ring strong span {
    font-size: .4em !important;
    margin-left: .05em !important;
    transform: translateY(-.08em) !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-how {
    padding: 10px 16px 11px !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-steps {
    gap: clamp(12px, 1.15vw, 22px) !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-steps article {
    grid-template-columns: 36px minmax(0, 1fr) !important;
    align-items: center !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-step-icon {
    height: 36px !important;
    width: 36px !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-steps strong {
    font-size: clamp(10px, .7vw, 12px) !important;
    line-height: 1.08 !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-steps p {
    display: block !important;
    -webkit-line-clamp: unset !important;
    -webkit-box-orient: initial !important;
    overflow: visible !important;
    margin-top: 3px !important;
    font-size: clamp(8.8px, .58vw, 10.5px) !important;
    line-height: 1.16 !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-steps article:not(:last-of-type)::after {
    right: clamp(-14px, -.8vw, -7px) !important;
}

@media (max-width: 1280px) {
    body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-ring {
        width: clamp(116px, 12vw, 136px) !important;
        min-width: clamp(116px, 12vw, 136px) !important;
    }

    body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-steps p {
        font-size: 9.5px !important;
    }
}

/* DARKLAB client dashboard automatic banner - reference balanced slim */
body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-banner {
    padding: clamp(12px, 1.05vw, 18px) clamp(18px, 1.55vw, 28px) clamp(12px, 1.05vw, 18px) !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-top {
    grid-template-columns: minmax(0, 39fr) minmax(330px, 34fr) minmax(230px, 27fr) !important;
    gap: clamp(20px, 2.4vw, 44px) !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-solutions strong {
    font-size: clamp(40px, 3.35vw, 62px) !important;
    line-height: .88 !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-solutions span {
    font-size: clamp(20px, 1.55vw, 30px) !important;
    line-height: 1 !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-lead {
    margin-top: 7px !important;
    font-size: clamp(10.5px, .76vw, 13px) !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-clock {
    font-size: clamp(9.5px, .66vw, 11.5px) !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-center {
    justify-content: center !important;
    gap: clamp(16px, 1.8vw, 30px) !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-ring {
    width: clamp(144px, 10vw, 178px) !important;
    min-width: clamp(144px, 10vw, 178px) !important;
    aspect-ratio: 1 / 1 !important;
    overflow: hidden !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-ring::before {
    inset: 7px !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-ring::after {
    inset: 16px !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-ring strong {
    align-items: flex-end !important;
    max-width: 74% !important;
    font-size: clamp(44px, 3.75vw, 66px) !important;
    line-height: .78 !important;
    transform: none !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-ring strong span {
    font-size: .38em !important;
    margin-left: .04em !important;
    transform: translateY(-.06em) !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-center p {
    max-width: 230px !important;
    font-size: clamp(15px, 1.08vw, 20px) !important;
    line-height: 1.18 !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-right {
    grid-template-columns: clamp(74px, 5.8vw, 102px) minmax(0, 1fr) !important;
    gap: clamp(14px, 1.35vw, 22px) !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-folder {
    max-width: 102px !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-right p {
    font-size: clamp(10px, .72vw, 12.5px) !important;
    line-height: 1.2 !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-how {
    margin-top: 10px !important;
    padding: 10px 18px 11px !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-how h2 {
    margin-bottom: 8px !important;
    font-size: clamp(10.5px, .72vw, 13px) !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-steps {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: clamp(16px, 1.6vw, 30px) !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-steps article {
    grid-template-columns: clamp(42px, 3.2vw, 54px) minmax(0, 1fr) !important;
    gap: clamp(10px, .95vw, 15px) !important;
    padding-right: clamp(10px, .8vw, 16px) !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-step-icon {
    height: clamp(42px, 3.2vw, 54px) !important;
    width: clamp(42px, 3.2vw, 54px) !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-steps strong {
    font-size: clamp(11px, .76vw, 13.5px) !important;
    line-height: 1.12 !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-steps p {
    display: block !important;
    -webkit-line-clamp: unset !important;
    overflow: visible !important;
    margin-top: 3px !important;
    font-size: clamp(9.2px, .62vw, 11px) !important;
    line-height: 1.18 !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-info {
    margin-top: 7px !important;
    padding: 5px 15px !important;
    font-size: clamp(9.5px, .64vw, 11.5px) !important;
}

@media (max-width: 1280px) {
    body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-top {
        grid-template-columns: minmax(0, 1fr) minmax(285px, .82fr) !important;
    }

    body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-right {
        grid-column: 1 / -1 !important;
        grid-template-columns: 58px minmax(0, 1fr) !important;
    }

    body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-folder {
        max-width: 58px !important;
    }
}

/* DARKLAB client dashboard automatic banner - lower profile */
body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-banner {
    padding: 7px 18px 8px !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-top {
    grid-template-columns: minmax(0, 41fr) minmax(250px, 29fr) minmax(230px, 30fr) !important;
    gap: clamp(14px, 1.8vw, 32px) !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-badges {
    gap: 7px !important;
    margin-bottom: 4px !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-badge {
    min-height: 20px !important;
    padding-inline: 8px !important;
    font-size: clamp(8px, .52vw, 9.5px) !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-badge svg {
    height: 11px !important;
    width: 11px !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-badge.is-online i {
    height: 7px !important;
    width: 7px !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-solutions strong {
    font-size: clamp(30px, 2.45vw, 44px) !important;
    line-height: .84 !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-solutions span {
    margin-top: 2px !important;
    font-size: clamp(15px, 1.08vw, 20px) !important;
    line-height: .95 !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-lead {
    margin: 5px 0 1px !important;
    color: rgba(255, 255, 255, .96) !important;
    font-size: clamp(13px, .82vw, 15px) !important;
    font-weight: 700 !important;
    line-height: 1.22 !important;
    text-shadow: 0 1px 5px rgba(0, 0, 0, .88), 0 0 8px rgba(255, 255, 255, .10) !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-clock {
    color: rgba(255, 255, 255, .86) !important;
    font-size: clamp(12px, .74vw, 14px) !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;
    opacity: 1 !important;
    text-shadow: 0 1px 5px rgba(0, 0, 0, .90) !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-clock svg {
    flex-basis: 13px !important;
    height: 13px !important;
    stroke: rgba(255, 255, 255, .90) !important;
    width: 13px !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-ring {
    width: clamp(96px, 6.8vw, 118px) !important;
    min-width: clamp(96px, 6.8vw, 118px) !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-ring::before {
    inset: 5px !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-ring::after {
    inset: 12px !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-ring strong {
    max-width: 72% !important;
    font-size: clamp(30px, 2.25vw, 40px) !important;
    line-height: .78 !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-ring strong span {
    font-size: .36em !important;
    margin-left: .035em !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-center {
    gap: clamp(11px, 1.1vw, 18px) !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-center p {
    max-width: 180px !important;
    font-size: clamp(11px, .82vw, 15px) !important;
    line-height: 1.08 !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-right {
    grid-template-columns: clamp(52px, 4.1vw, 72px) minmax(0, 1fr) !important;
    gap: clamp(10px, .9vw, 16px) !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-folder {
    max-width: 72px !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-right p {
    font-size: clamp(8.5px, .58vw, 10.5px) !important;
    line-height: 1.1 !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-how {
    background: linear-gradient(100deg, rgba(5, 16, 27, .88), rgba(9, 15, 27, .66), rgba(38, 9, 16, .68)) !important;
    border-color: rgba(67, 151, 255, .42) !important;
    margin-top: 6px !important;
    padding: 9px 15px 10px !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-how h2 {
    color: #65b8ff !important;
    font-size: clamp(11.5px, .72vw, 13px) !important;
    margin-bottom: 7px !important;
    text-shadow: 0 0 14px rgba(79, 170, 255, .58) !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-steps {
    gap: clamp(10px, 1vw, 20px) !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-steps article {
    gap: 9px !important;
    grid-template-columns: 34px minmax(0, 1fr) !important;
    padding-right: 8px !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-step-icon {
    background: radial-gradient(circle, rgba(31, 130, 255, .36), rgba(5, 14, 24, .82)) !important;
    border-color: rgba(82, 171, 255, .68) !important;
    box-shadow: 0 0 18px rgba(44, 150, 255, .30), 0 0 12px rgba(44, 150, 255, .22) inset !important;
    height: 34px !important;
    width: 34px !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-step-icon svg {
    height: 18px !important;
    stroke: #77c3ff !important;
    width: 18px !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-steps strong {
    color: rgba(255, 255, 255, .98) !important;
    font-size: clamp(11px, .7vw, 13px) !important;
    font-weight: 750 !important;
    line-height: 1.12 !important;
    text-shadow: 0 1px 5px rgba(0, 0, 0, .86) !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-steps p {
    color: rgba(255, 255, 255, .78) !important;
    font-size: clamp(9.5px, .6vw, 11.5px) !important;
    font-weight: 500 !important;
    line-height: 1.18 !important;
    margin-top: 3px !important;
    text-shadow: 0 1px 4px rgba(0, 0, 0, .88) !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-steps > i {
    background: linear-gradient(90deg, rgba(55, 160, 255, .24), rgba(91, 191, 255, 1)) !important;
    box-shadow: 0 0 14px rgba(80, 181, 255, .58) !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-info {
    margin-top: 5px !important;
    background: rgba(6, 12, 20, .94) !important;
    border-color: rgba(80, 165, 255, .46) !important;
    color: rgba(255, 255, 255, .88) !important;
    font-size: clamp(12.5px, .76vw, 14px) !important;
    font-weight: 650 !important;
    line-height: 1.25 !important;
    max-width: min(980px, calc(100% - 28px)) !important;
    padding: 6px 18px !important;
    text-shadow: 0 1px 5px rgba(0, 0, 0, .9) !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-info svg {
    flex-basis: 16px !important;
    height: 16px !important;
    stroke: rgba(255, 255, 255, .92) !important;
    width: 16px !important;
}

@media (max-width: 1280px) {
    body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-top {
        grid-template-columns: minmax(0, 1fr) minmax(230px, .72fr) !important;
    }

    body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-right {
        grid-column: 1 / -1 !important;
        grid-template-columns: 46px minmax(0, 1fr) !important;
    }

    body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-folder {
        max-width: 46px !important;
    }
}

/* DARKLAB - sidebar Automatic File badge */
body.darklab-fixed-bg:not(.no-portal-bg) .sidebar .side-nav a.upload-nav-link {
    min-height: 82px;
}

body.darklab-fixed-bg:not(.no-portal-bg) .sidebar .upload-nav-copy {
    align-items: flex-start;
    display: flex;
    flex-direction: column;
    gap: 7px;
    min-width: 0;
}

body.darklab-fixed-bg:not(.no-portal-bg) .sidebar .automatic-file-nav-badge {
    align-items: center;
    background:
        linear-gradient(135deg, rgba(17, 105, 190, .28), rgba(10, 16, 24, .62)),
        rgba(4, 8, 14, .52);
    border: 1px solid rgba(58, 167, 255, .32);
    border-radius: 999px;
    box-shadow:
        0 0 16px rgba(29, 152, 255, .16),
        inset 0 1px 0 rgba(255, 255, 255, .15);
    color: rgba(214, 239, 255, .94);
    display: inline-flex;
    font-family: var(--font-display);
    font-size: 8px;
    font-weight: 800;
    gap: 6px;
    line-height: 1;
    max-width: 100%;
    padding: 5px 8px 4px;
    text-shadow: 0 0 10px rgba(104, 188, 255, .35);
    text-transform: uppercase;
    white-space: nowrap;
}

body.darklab-fixed-bg:not(.no-portal-bg) .sidebar .automatic-file-nav-badge i {
    background: #13f59d;
    border-radius: 50%;
    box-shadow:
        0 0 9px rgba(19, 245, 157, .76),
        0 0 18px rgba(29, 152, 255, .22);
    display: inline-block;
    flex: 0 0 auto;
    height: 7px;
    width: 7px;
}

body.darklab-fixed-bg:not(.no-portal-bg) .sidebar .side-nav a.upload-nav-link:hover .automatic-file-nav-badge,
body.darklab-fixed-bg:not(.no-portal-bg) .sidebar .side-nav a.upload-nav-link.active .automatic-file-nav-badge {
    border-color: rgba(95, 190, 255, .48);
    box-shadow:
        0 0 20px rgba(29, 152, 255, .22),
        0 0 18px rgba(19, 245, 157, .08),
        inset 0 1px 0 rgba(255, 255, 255, .18);
    color: #fff;
}

/* DARKLAB dashboard - vertical safety gap between frames */
body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main > :where(.darklab-auto-banner, .dashboard-command-row, .dashboard-overview, .dashboard-cockpit, .metric-grid, .table-wrap, .credit-alert, .alert) {
    margin-bottom: 0 !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main > :where(.darklab-auto-banner, .dashboard-command-row, .dashboard-overview, .dashboard-cockpit, .metric-grid, .table-wrap, .credit-alert, .alert) + :where(.darklab-auto-banner, .dashboard-command-row, .dashboard-overview, .dashboard-cockpit, .metric-grid, .table-wrap, .credit-alert, .alert) {
    margin-top: 11px !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main > :where(.dashboard-command-row, .dashboard-overview, .dashboard-cockpit, .metric-grid) {
    gap: 11px !important;
    row-gap: 11px !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main > .table-wrap + .table-wrap {
    margin-top: 11px !important;
}

@media (max-width: 820px) {
    body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main > :where(.darklab-auto-banner, .dashboard-command-row, .dashboard-overview, .dashboard-cockpit, .metric-grid, .table-wrap, .credit-alert, .alert) + :where(.darklab-auto-banner, .dashboard-command-row, .dashboard-overview, .dashboard-cockpit, .metric-grid, .table-wrap, .credit-alert, .alert) {
        margin-top: 11px !important;
    }
}

/* DARKLAB dashboard - compact automatic banner without shrinking detail text */
body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-banner {
    padding: 6px 18px 7px !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main > .dashboard-overview + .darklab-auto-banner {
    margin-top: 11px !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-top {
    gap: clamp(12px, 1.5vw, 26px) !important;
    grid-template-columns: minmax(0, 40fr) minmax(225px, 27fr) minmax(230px, 33fr) !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-badges {
    margin-bottom: 2px !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-solutions strong {
    font-size: clamp(29px, 2.15vw, 39px) !important;
    line-height: .86 !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-solutions span {
    font-size: clamp(14px, 1vw, 18px) !important;
    line-height: .96 !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-lead {
    margin: 4px 0 1px !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-ring {
    min-width: 86px !important;
    width: 86px !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-ring strong {
    font-size: 31px !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-center {
    gap: 12px !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-how {
    margin-top: 4px !important;
    padding-block: 7px 8px !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-how h2 {
    margin-bottom: 5px !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-info {
    margin-top: 4px !important;
    max-width: calc(100% - 120px) !important;
    padding-block: 5px !important;
}

@media (max-width: 1100px) {
    body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .darklab-auto-info {
        max-width: calc(100% - 28px) !important;
    }
}

/* DARKLAB dashboard - compact equipment, annual volume and hours row */
body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .dashboard-cockpit > * {
    min-height: 285px !important;
}

html body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .dashboard-equipment-panel {
    padding: 10px 14px 9px !important;
}

html body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .dashboard-equipment-slide {
    grid-template-rows: minmax(92px, 1fr) auto !important;
}

html body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .dashboard-equipment-photo img {
    max-height: 112px !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-cockpit .chart-panel-compact {
    min-height: 285px !important;
    padding: 12px 18px 11px !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-cockpit .chart-panel-compact .panel-title {
    padding-bottom: 8px !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-cockpit .chart-panel-compact .real-chart {
    align-items: stretch !important;
    min-height: 208px !important;
    padding-top: 4px !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-cockpit .chart-panel-compact .real-chart-track {
    height: clamp(148px, 13vw, 178px) !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .lab-hours-card {
    padding: 12px 16px !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .lab-time-grid {
    padding-block: 9px !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .lab-info-message {
    padding-block: 9px !important;
}

@media (max-width: 820px) {
    body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .dashboard-cockpit > * {
        min-height: auto !important;
    }
}

/* DARKLAB services - accessible Express Tune information panel */
body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-info-button {
    appearance: none !important;
    cursor: pointer !important;
    font-family: inherit !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-info-button[aria-expanded="true"] {
    background: rgba(255, 38, 52, .18) !important;
    border-color: rgba(255, 72, 86, .68) !important;
    box-shadow: 0 0 14px rgba(255, 38, 52, .32) !important;
    color: #fff !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-upsell.is-info-open {
    grid-template-rows: auto auto !important;
    overflow: hidden !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-info-panel {
    background: linear-gradient(135deg, rgba(255, 255, 255, .075), rgba(255, 38, 52, .055)) !important;
    border: 1px solid rgba(255, 255, 255, .13) !important;
    border-left: 2px solid rgba(255, 48, 62, .82) !important;
    border-radius: 8px !important;
    color: rgba(245, 247, 252, .84) !important;
    display: block !important;
    font-size: 10px !important;
    font-weight: 600 !important;
    grid-column: 1 / -1 !important;
    grid-row: 2 !important;
    line-height: 1.35 !important;
    margin: 2px 0 0 !important;
    padding: 9px 10px !important;
    text-transform: none !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-info-panel[hidden] {
    display: none !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-info-panel strong {
    color: #fff !important;
    display: block !important;
    font-size: 10px !important;
    letter-spacing: .06em !important;
    margin-bottom: 3px !important;
    overflow: visible !important;
    text-transform: uppercase !important;
    white-space: normal !important;
}

/* DARKLAB dashboard history server pagination */
body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .history-pagination {
    align-items: center;
    border-top: 1px solid rgba(255, 255, 255, .08);
    display: flex;
    gap: 16px;
    justify-content: space-between;
    margin-top: 16px;
    padding-top: 16px;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .history-pagination-count {
    color: rgba(255, 255, 255, .62);
    font-family: var(--font-display);
    font-size: 11px;
    font-weight: 800;
    line-height: 1;
    text-transform: uppercase;
    white-space: nowrap;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .history-pagination nav {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: flex-end;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .history-pagination a,
body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .history-pagination span {
    align-items: center;
    background:
        linear-gradient(135deg, rgba(255, 255, 255, .08), rgba(255, 255, 255, .025)),
        rgba(8, 10, 15, .48);
    border: 1px solid rgba(255, 52, 66, .28);
    border-radius: 999px;
    color: rgba(255, 255, 255, .88);
    display: inline-flex;
    font-family: var(--font-display);
    font-size: 10px;
    font-weight: 900;
    justify-content: center;
    line-height: 1;
    min-height: 30px;
    min-width: 30px;
    padding: 0 11px;
    text-decoration: none;
    text-transform: uppercase;
    transition: border-color .16s ease, box-shadow .16s ease, color .16s ease, transform .16s ease, background .16s ease;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .history-pagination a:hover,
body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .history-pagination a:focus-visible {
    border-color: rgba(66, 165, 255, .62);
    box-shadow:
        0 0 18px rgba(66, 165, 255, .18),
        0 0 16px rgba(255, 38, 52, .08),
        inset 0 1px 0 rgba(255, 255, 255, .16);
    color: #fff;
    outline: none;
    transform: translateY(-1px);
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .history-pagination .is-current {
    background:
        linear-gradient(135deg, rgba(255, 38, 52, .92), rgba(128, 8, 16, .86));
    border-color: rgba(255, 92, 104, .58);
    box-shadow:
        0 0 18px rgba(255, 38, 52, .22),
        inset 0 1px 0 rgba(255, 255, 255, .2);
    color: #fff;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .history-pagination .is-disabled,
body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .history-pagination .is-ellipsis {
    border-color: rgba(255, 255, 255, .12);
    color: rgba(255, 255, 255, .36);
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .history-pagination .is-ellipsis {
    background: transparent;
    border-color: transparent;
    min-width: 18px;
    padding-inline: 0;
}

@media (max-width: 820px) {
    body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .history-pagination {
        align-items: flex-start;
        flex-direction: column;
    }

    body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .history-pagination nav {
        justify-content: flex-start;
    }
}

/* DARKLAB - Express Tune final alignment (must stay last) */
body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-upsell,
body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-upsell.is-active {
    align-items: center !important;
    box-sizing: border-box !important;
    display: grid !important;
    gap: 8px !important;
    grid-template-columns: minmax(0, 1fr) 94px !important;
    padding: 10px 11px !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-upsell .express-tune-content,
body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-upsell > .express-tune-content {
    align-items: center !important;
    display: grid !important;
    gap: 8px !important;
    grid-column: 1 !important;
    grid-template-columns: 30px minmax(0, 1fr) !important;
    min-width: 0 !important;
    overflow: hidden !important;
    width: 100% !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-upsell .express-tune-copy {
    align-items: flex-start !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 5px !important;
    min-width: 0 !important;
    overflow: hidden !important;
    width: 100% !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-upsell .express-tune-line {
    align-items: center !important;
    display: grid !important;
    gap: 5px !important;
    grid-template-columns: max-content 18px !important;
    justify-content: start !important;
    min-width: 0 !important;
    width: 100% !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-upsell strong[data-express-title] {
    font-size: 13px !important;
    letter-spacing: .045em !important;
    line-height: 1 !important;
    overflow: visible !important;
    text-overflow: clip !important;
    white-space: nowrap !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-info-wrap,
body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-info-button {
    box-sizing: border-box !important;
    height: 18px !important;
    min-height: 18px !important;
    min-width: 18px !important;
    width: 18px !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-info-button {
    background: rgba(255, 255, 255, .045) !important;
    border: 1px solid rgba(255, 255, 255, .55) !important;
    border-radius: 50% !important;
    box-shadow: none !important;
    font-size: 11px !important;
    padding: 0 !important;
    position: static !important;
    transform: none !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-upsell button[data-express-toggle],
body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-upsell.is-active button[data-express-toggle] {
    box-sizing: border-box !important;
    grid-column: 2 !important;
    height: 42px !important;
    justify-self: end !important;
    margin: 0 !important;
    min-height: 42px !important;
    min-width: 94px !important;
    padding: 0 8px !important;
    position: static !important;
    transform: none !important;
    width: 94px !important;
}

@media (max-width: 400px) {
    body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-upsell,
    body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-upsell.is-active {
        grid-template-columns: minmax(0, 1fr) 86px !important;
        padding-inline: 9px !important;
    }

    body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-upsell button[data-express-toggle],
    body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-upsell.is-active button[data-express-toggle] {
        min-width: 86px !important;
        width: 86px !important;
    }
}

/* DARKLAB - Express Tune info always visible beside credit badge */
body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-upsell .express-tune-line {
    display: block !important;
    width: auto !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-meta {
    align-items: center !important;
    display: flex !important;
    gap: 7px !important;
    min-height: 20px !important;
    overflow: visible !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-meta .express-info-wrap {
    display: inline-flex !important;
    flex: 0 0 18px !important;
    overflow: visible !important;
    position: relative !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-meta .express-info-button {
    align-items: center !important;
    display: inline-flex !important;
    opacity: 1 !important;
    visibility: visible !important;
}

/* DARKLAB - Express Tune premium clean redesign */
body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-upsell,
body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-upsell.is-active {
    background:
        linear-gradient(105deg, rgba(19, 23, 31, .94), rgba(31, 18, 24, .88)),
        rgba(8, 10, 15, .92) !important;
    border: 1px solid rgba(255, 59, 73, .30) !important;
    border-radius: 13px !important;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, .07),
        0 10px 24px rgba(0, 0, 0, .18) !important;
    gap: 10px !important;
    grid-template-columns: minmax(0, 1fr) 94px !important;
    min-height: 68px !important;
    padding: 9px 11px !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-upsell::before,
body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-upsell.is-active::before {
    animation: none !important;
    background: linear-gradient(90deg, transparent, rgba(255, 61, 75, .78), transparent) !important;
    height: 1px !important;
    opacity: .72 !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-upsell .express-tune-content,
body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-upsell > .express-tune-content {
    gap: 9px !important;
    grid-template-columns: 32px minmax(0, 1fr) !important;
    overflow: visible !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-icon {
    background: linear-gradient(145deg, rgba(255, 255, 255, .10), rgba(255, 45, 60, .16)) !important;
    border: 1px solid rgba(255, 255, 255, .13) !important;
    box-shadow: 0 0 14px rgba(255, 38, 52, .12) !important;
    color: #ff4756 !important;
    height: 32px !important;
    width: 32px !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-upsell .express-tune-copy {
    gap: 5px !important;
    overflow: visible !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-upsell .express-tune-line {
    align-items: center !important;
    display: flex !important;
    gap: 6px !important;
    min-width: 0 !important;
    width: 100% !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-upsell strong[data-express-title] {
    color: rgba(255, 255, 255, .94) !important;
    font-size: 12px !important;
    letter-spacing: .055em !important;
    text-shadow: none !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-upsell .express-info-wrap,
body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-upsell .express-info-button {
    flex: 0 0 17px !important;
    height: 17px !important;
    min-height: 17px !important;
    min-width: 17px !important;
    width: 17px !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-upsell .express-info-button {
    background: transparent !important;
    border: 1px solid rgba(255, 255, 255, .42) !important;
    color: rgba(255, 255, 255, .74) !important;
    cursor: pointer !important;
    font-size: 10px !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-meta {
    display: block !important;
    line-height: 1 !important;
    min-height: 0 !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-upsell .express-tune-meta em {
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    color: rgba(255, 79, 92, .90) !important;
    font-size: 9px !important;
    letter-spacing: .10em !important;
    min-height: 0 !important;
    padding: 0 !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-upsell button[data-express-toggle],
body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-upsell.is-active button[data-express-toggle] {
    background: linear-gradient(145deg, rgba(255, 44, 58, .94), rgba(174, 7, 18, .94)) !important;
    border: 1px solid rgba(255, 255, 255, .14) !important;
    border-radius: 9px !important;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, .16),
        0 5px 14px rgba(201, 8, 21, .18) !important;
    font-size: 10px !important;
    height: 38px !important;
    min-height: 38px !important;
    min-width: 94px !important;
    padding: 0 9px !important;
    width: 94px !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-upsell.is-active {
    border-color: rgba(47, 216, 140, .34) !important;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, .07),
        0 0 18px rgba(47, 216, 140, .08) !important;
}

/* DARKLAB - Express Tune definitive color and compact action */
body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-upsell,
body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-upsell.is-active {
    background:
        radial-gradient(circle at 8% 25%, rgba(36, 125, 212, .16), transparent 30%),
        radial-gradient(circle at 88% 50%, rgba(255, 30, 48, .20), transparent 42%),
        linear-gradient(110deg, rgba(16, 22, 31, .96), rgba(39, 13, 21, .94)) !important;
    border-color: rgba(255, 44, 59, .54) !important;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, .10),
        inset 0 0 22px rgba(255, 35, 51, .035),
        0 8px 22px rgba(0, 0, 0, .24),
        0 0 14px rgba(255, 31, 48, .08) !important;
    grid-template-columns: minmax(0, 1fr) 78px !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-icon {
    background:
        radial-gradient(circle, rgba(255, 71, 36, .34), rgba(194, 14, 31, .18) 48%, rgba(21, 27, 38, .90) 75%) !important;
    border-color: rgba(255, 113, 89, .36) !important;
    box-shadow:
        inset 0 0 10px rgba(255, 94, 45, .16),
        0 0 16px rgba(255, 36, 51, .20) !important;
    color: #ff7a3c !important;
    text-shadow: 0 0 8px rgba(255, 97, 44, .62) !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-upsell strong[data-express-title] {
    color: #fff !important;
    text-shadow: 0 0 10px rgba(255, 255, 255, .13) !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-upsell .express-tune-meta em {
    color: #ff3b4d !important;
    text-shadow: 0 0 9px rgba(255, 36, 52, .30) !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-upsell .express-info-button {
    border-color: rgba(255, 83, 96, .66) !important;
    color: #ff7580 !important;
    box-shadow: 0 0 9px rgba(255, 37, 53, .18) !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-upsell button[data-express-toggle],
body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-upsell.is-active button[data-express-toggle] {
    background: linear-gradient(145deg, #ff2939, #b60715) !important;
    border-radius: 8px !important;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, .20),
        0 4px 12px rgba(210, 7, 23, .22) !important;
    box-sizing: border-box !important;
    font-size: 9px !important;
    height: 34px !important;
    min-height: 34px !important;
    min-width: 78px !important;
    padding: 0 5px !important;
    width: 78px !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-upsell button[data-express-toggle]::before {
    font-size: 10px !important;
    margin-right: 3px !important;
}

/* DARKLAB - FINAL OVERRIDE priority card */
body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-upsell::before,
body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-upsell.is-active::before {
    animation: none !important;
    content: none !important;
    display: none !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-upsell,
body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-upsell.is-active {
    background:
        radial-gradient(circle at 8% 12%, rgba(46, 126, 211, .13), transparent 32%),
        radial-gradient(circle at 92% 68%, rgba(255, 35, 51, .16), transparent 42%),
        linear-gradient(135deg, rgba(24, 28, 36, .97), rgba(39, 18, 25, .95)) !important;
    border: 1px solid rgba(255, 55, 69, .48) !important;
    border-radius: 13px !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .09), 0 10px 25px rgba(0, 0, 0, .22), 0 0 16px rgba(255, 33, 49, .07) !important;
    display: grid !important;
    gap: 11px !important;
    grid-template-columns: 1fr !important;
    min-height: 0 !important;
    padding: 14px !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-upsell .express-tune-content,
body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-upsell > .express-tune-content {
    align-items: start !important;
    display: grid !important;
    gap: 10px !important;
    grid-column: 1 !important;
    grid-row: auto !important;
    grid-template-columns: 38px minmax(0, 1fr) !important;
    overflow: visible !important;
    width: 100% !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-icon {
    align-items: center !important;
    background: linear-gradient(145deg, rgba(255, 93, 45, .30), rgba(153, 8, 27, .22)) !important;
    border: 1px solid rgba(255, 105, 68, .34) !important;
    border-radius: 9px !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .12), 0 0 15px rgba(255, 43, 52, .16) !important;
    color: #ff7940 !important;
    display: flex !important;
    height: 38px !important;
    justify-content: center !important;
    text-shadow: 0 0 8px rgba(255, 99, 48, .58) !important;
    width: 38px !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-upsell .express-tune-copy {
    align-items: flex-start !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 7px !important;
    overflow: visible !important;
    width: 100% !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-upsell strong[data-express-title] {
    color: #fff !important;
    font-size: 13px !important;
    letter-spacing: .025em !important;
    line-height: 1.15 !important;
    text-shadow: 0 0 10px rgba(255, 255, 255, .12) !important;
    text-transform: none !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-description {
    color: rgba(239, 242, 248, .78) !important;
    display: block !important;
    font-size: 10px !important;
    font-weight: 600 !important;
    line-height: 1.35 !important;
    margin: 0 !important;
    max-width: 100% !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-upsell .express-tune-meta em {
    background: transparent !important;
    border: 0 !important;
    color: #ff4b5b !important;
    font-size: 9px !important;
    font-weight: 900 !important;
    letter-spacing: .075em !important;
    min-height: 0 !important;
    padding: 0 !important;
    text-shadow: 0 0 9px rgba(255, 38, 53, .24) !important;
    text-transform: uppercase !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-upsell button[data-express-toggle],
body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-upsell.is-active button[data-express-toggle] {
    background: linear-gradient(145deg, #f61f30, #ad0614) !important;
    border: 1px solid rgba(255, 255, 255, .16) !important;
    border-radius: 9px !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .18), 0 6px 15px rgba(200, 7, 22, .22) !important;
    box-sizing: border-box !important;
    font-size: 10px !important;
    grid-column: 1 !important;
    grid-row: auto !important;
    height: 38px !important;
    justify-self: stretch !important;
    margin: 0 !important;
    min-height: 38px !important;
    min-width: 0 !important;
    padding: 0 12px !important;
    width: 100% !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-upsell.is-active {
    border-color: rgba(47, 214, 136, .42) !important;
}

/* DARKLAB - Express Tune Model C compact horizontal component */
body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-upsell,
body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-upsell.is-active {
    align-items: center !important;
    background:
        radial-gradient(circle at 4% 32%, rgba(41, 111, 184, .10), transparent 30%),
        radial-gradient(circle at 92% 48%, rgba(255, 31, 48, .15), transparent 40%),
        linear-gradient(110deg, rgba(16, 19, 26, .98), rgba(31, 15, 21, .97)) !important;
    border: 1px solid rgba(255, 48, 63, .52) !important;
    border-radius: 13px !important;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, .075),
        0 7px 20px rgba(0, 0, 0, .22),
        0 0 12px rgba(255, 35, 51, .065) !important;
    box-sizing: border-box !important;
    display: grid !important;
    gap: 11px !important;
    grid-template-columns: minmax(0, 1fr) 108px !important;
    min-height: 86px !important;
    overflow: visible !important;
    padding: 12px 13px !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-upsell::before,
body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-upsell.is-active::before {
    content: none !important;
    display: none !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-upsell .express-tune-content,
body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-upsell > .express-tune-content {
    align-items: center !important;
    display: grid !important;
    gap: 10px !important;
    grid-column: 1 !important;
    grid-row: 1 !important;
    grid-template-columns: 44px minmax(0, 1fr) !important;
    min-width: 0 !important;
    overflow: visible !important;
    width: 100% !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-icon {
    align-items: center !important;
    background:
        radial-gradient(circle at 45% 42%, rgba(255, 71, 39, .28), transparent 42%),
        rgba(15, 17, 23, .94) !important;
    border: 1px solid rgba(255, 54, 68, .58) !important;
    border-radius: 50% !important;
    box-shadow:
        inset 0 0 12px rgba(255, 41, 53, .11),
        0 0 12px rgba(255, 42, 54, .12) !important;
    color: #ff6e36 !important;
    display: flex !important;
    font-size: 17px !important;
    height: 44px !important;
    justify-content: center !important;
    text-shadow: 0 0 7px rgba(255, 92, 42, .52) !important;
    width: 44px !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-upsell .express-tune-copy {
    align-items: flex-start !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
    min-width: 0 !important;
    overflow: visible !important;
    width: 100% !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-upsell .express-tune-line {
    display: block !important;
    line-height: 1 !important;
    min-width: 0 !important;
    width: 100% !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-upsell strong[data-express-title] {
    color: rgba(255, 255, 255, .96) !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    letter-spacing: .01em !important;
    line-height: 1.08 !important;
    text-shadow: 0 0 9px rgba(255, 255, 255, .10) !important;
    text-transform: none !important;
    white-space: nowrap !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-meta {
    align-items: center !important;
    display: flex !important;
    gap: 7px !important;
    line-height: 1 !important;
    min-height: 18px !important;
    white-space: nowrap !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-meta b,
body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-meta i {
    color: #ff3347 !important;
    font-size: 9px !important;
    font-style: normal !important;
    font-weight: 900 !important;
    letter-spacing: .08em !important;
    text-transform: uppercase !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-meta i {
    color: rgba(255, 76, 89, .66) !important;
    font-size: 8px !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-upsell .express-tune-meta em {
    background: rgba(255, 31, 47, .07) !important;
    border: 1px solid rgba(255, 48, 63, .48) !important;
    border-radius: 999px !important;
    color: #ff5262 !important;
    font-size: 9px !important;
    font-style: normal !important;
    font-weight: 900 !important;
    letter-spacing: .06em !important;
    line-height: 1 !important;
    min-height: 18px !important;
    padding: 4px 8px !important;
    text-shadow: none !important;
    text-transform: uppercase !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-upsell button[data-express-toggle],
body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-upsell.is-active button[data-express-toggle] {
    align-items: center !important;
    align-self: center !important;
    background: linear-gradient(145deg, #f52334, #b50716) !important;
    border: 1px solid rgba(255, 255, 255, .15) !important;
    border-radius: 999px !important;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, .18),
        0 4px 13px rgba(198, 7, 22, .22) !important;
    box-sizing: border-box !important;
    color: #fff !important;
    display: inline-flex !important;
    font-size: 10px !important;
    gap: 4px !important;
    grid-column: 2 !important;
    grid-row: 1 !important;
    height: 40px !important;
    justify-content: flex-start !important;
    justify-self: end !important;
    margin: 0 !important;
    min-height: 40px !important;
    min-width: 108px !important;
    padding: 0 29px 0 10px !important;
    position: relative !important;
    transform: none !important;
    width: 108px !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-upsell button[data-express-toggle]::before {
    color: #ffb06d !important;
    content: "\26A1" !important;
    font-size: 11px !important;
    margin: 0 !important;
    text-shadow: 0 0 6px rgba(255, 122, 54, .50) !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-upsell button[data-express-toggle]::after {
    background: linear-gradient(145deg, #30343a, #15171b) !important;
    border: 1px solid rgba(255, 255, 255, .10) !important;
    border-radius: 50% !important;
    box-shadow: inset 0 1px 2px rgba(255, 255, 255, .08), 0 1px 4px rgba(0, 0, 0, .44) !important;
    content: "" !important;
    height: 24px !important;
    position: absolute !important;
    right: 6px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    width: 24px !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-upsell.is-active {
    border-color: rgba(45, 218, 139, .50) !important;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, .075),
        0 0 14px rgba(45, 218, 139, .09) !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-upsell.is-active button[data-express-toggle] {
    background: linear-gradient(145deg, #23b873, #087b49) !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .18), 0 4px 13px rgba(21, 174, 103, .20) !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-upsell.is-active button[data-express-toggle]::after {
    background: linear-gradient(145deg, #dffff0, #8fd8b5) !important;
    box-shadow: 0 0 8px rgba(104, 255, 181, .34) !important;
}

@media (max-width: 410px) {
    body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-upsell,
    body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-upsell.is-active {
        gap: 8px !important;
        grid-template-columns: minmax(0, 1fr) 94px !important;
        min-height: 82px !important;
        padding: 11px 10px !important;
    }

    body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-upsell .express-tune-content,
    body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-upsell > .express-tune-content {
        gap: 8px !important;
        grid-template-columns: 38px minmax(0, 1fr) !important;
    }

    body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-icon {
        font-size: 15px !important;
        height: 38px !important;
        width: 38px !important;
    }

    body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-upsell strong[data-express-title] {
        font-size: 11px !important;
    }

    body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-meta {
        gap: 4px !important;
    }

    body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-meta b {
        font-size: 8px !important;
    }

    body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-upsell .express-tune-meta em {
        font-size: 8px !important;
        padding-inline: 6px !important;
    }

    body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-upsell button[data-express-toggle],
    body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .express-tune-upsell.is-active button[data-express-toggle] {
        font-size: 9px !important;
        min-width: 94px !important;
        padding-left: 8px !important;
        width: 94px !important;
    }
}

/* DARKLAB CLIENT - premium order messaging */
.sr-only {
    clip: rect(0, 0, 0, 0);
    clip-path: inset(50%);
    height: 1px;
    overflow: hidden;
    position: absolute;
    white-space: nowrap;
    width: 1px;
}

body.darklab-fixed-bg:not(.no-portal-bg) .order-detail-main .order-conversation-panel {
    padding: 14px !important;
}

body.darklab-fixed-bg:not(.no-portal-bg) .order-detail-main .order-conversation-panel > .order-panel-head {
    margin-bottom: 10px;
}

body.darklab-fixed-bg:not(.no-portal-bg) .order-detail-main .order-conversation-panel .order-panel-head h2 {
    font-size: 19px;
    margin: 0;
}

body.darklab-fixed-bg:not(.no-portal-bg) .order-detail-main .order-message-timeline {
    align-content: start;
    background: linear-gradient(145deg, rgba(6, 11, 19, .38), rgba(31, 14, 23, .28));
    border: 1px solid rgba(255, 255, 255, .11);
    border-radius: 12px;
    gap: 9px;
    margin: 0 0 9px;
    max-height: 280px;
    min-height: 94px;
    overflow-y: auto;
    padding: 11px;
}

body.darklab-fixed-bg:not(.no-portal-bg) .order-detail-main .order-message-timeline > .empty {
    align-self: center;
    color: rgba(228, 234, 244, .56);
    font-size: 12px;
    margin: auto;
    text-align: center;
}

body.darklab-fixed-bg:not(.no-portal-bg) .order-detail-main .order-message-timeline article {
    background: linear-gradient(145deg, rgba(31, 40, 54, .78), rgba(25, 27, 36, .76));
    border: 1px solid rgba(255, 255, 255, .12);
    border-left: 0;
    border-radius: 12px 12px 12px 4px;
    box-shadow: 0 5px 18px rgba(0, 0, 0, .12);
    justify-self: start;
    max-width: min(76%, 720px);
    padding: 9px 11px;
}

body.darklab-fixed-bg:not(.no-portal-bg) .order-detail-main .order-message-timeline article.client_sav {
    background: linear-gradient(145deg, rgba(151, 12, 28, .72), rgba(77, 10, 23, .76));
    border-color: rgba(255, 77, 91, .30);
    border-radius: 12px 12px 4px 12px;
    justify-self: end;
}

body.darklab-fixed-bg:not(.no-portal-bg) .order-detail-main .order-message-timeline article header {
    align-items: center;
    display: flex;
    gap: 14px;
    justify-content: space-between;
}

body.darklab-fixed-bg:not(.no-portal-bg) .order-detail-main .order-message-timeline article header > strong {
    color: #fff;
    font-size: 10px;
    letter-spacing: .045em;
}

body.darklab-fixed-bg:not(.no-portal-bg) .order-detail-main .order-message-timeline article header > small {
    color: rgba(235, 239, 247, .50);
    font-size: 8px;
    white-space: nowrap;
}

body.darklab-fixed-bg:not(.no-portal-bg) .order-detail-main .order-message-timeline article > p {
    color: rgba(247, 249, 253, .90);
    font-size: 12px;
    line-height: 1.42;
    margin: 5px 0 0;
    overflow-wrap: anywhere;
}

body.darklab-fixed-bg:not(.no-portal-bg) .order-detail-main .order-message-attachments {
    display: grid;
    gap: 5px;
    margin-top: 8px;
}

body.darklab-fixed-bg:not(.no-portal-bg) .order-detail-main .order-message-attachment {
    align-items: center;
    background: rgba(4, 8, 14, .30);
    border: 1px solid rgba(255, 255, 255, .13);
    border-radius: 9px;
    color: #fff;
    display: grid;
    gap: 8px;
    grid-template-columns: 28px minmax(0, 1fr) 26px;
    min-width: min(320px, 100%);
    padding: 6px 7px;
    text-decoration: none;
    transition: background .16s ease, border-color .16s ease, transform .16s ease;
}

body.darklab-fixed-bg:not(.no-portal-bg) .order-detail-main .order-message-attachment:hover {
    background: rgba(255, 255, 255, .08);
    border-color: rgba(255, 255, 255, .27);
    transform: translateY(-1px);
}

body.darklab-fixed-bg:not(.no-portal-bg) .order-detail-main .order-attachment-file-icon,
body.darklab-fixed-bg:not(.no-portal-bg) .order-detail-main .order-attachment-download {
    align-items: center;
    border-radius: 7px;
    display: flex;
    height: 26px;
    justify-content: center;
    width: 26px;
}

body.darklab-fixed-bg:not(.no-portal-bg) .order-detail-main .order-attachment-file-icon {
    background: rgba(255, 255, 255, .08);
}

body.darklab-fixed-bg:not(.no-portal-bg) .order-detail-main .order-attachment-download {
    background: rgba(255, 41, 58, .17);
    color: #ff6471;
}

body.darklab-fixed-bg:not(.no-portal-bg) .order-detail-main .order-attachment-file-icon svg,
body.darklab-fixed-bg:not(.no-portal-bg) .order-detail-main .order-attachment-download svg {
    fill: none;
    height: 14px;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.7;
    width: 14px;
}

body.darklab-fixed-bg:not(.no-portal-bg) .order-detail-main .order-attachment-copy {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
}

body.darklab-fixed-bg:not(.no-portal-bg) .order-detail-main .order-attachment-copy strong {
    font-size: 9px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

body.darklab-fixed-bg:not(.no-portal-bg) .order-detail-main .order-attachment-copy small {
    color: rgba(232, 237, 246, .52);
    font-size: 8px;
}

body.darklab-fixed-bg:not(.no-portal-bg) .order-detail-main .order-chat-composer {
    border: 0;
    display: block;
    padding: 0;
}

body.darklab-fixed-bg:not(.no-portal-bg) .order-detail-main .order-message-dropzone {
    background: rgba(7, 11, 18, .20);
    border: 1px solid rgba(255, 255, 255, .10);
    border-radius: 12px;
    padding: 7px;
    position: relative;
    transition: background .16s ease, border-color .16s ease, box-shadow .16s ease;
}

body.darklab-fixed-bg:not(.no-portal-bg) .order-detail-main .order-message-dropzone.is-dragging {
    background: rgba(238, 24, 45, .10);
    border-color: rgba(255, 58, 76, .52);
    box-shadow: inset 0 0 24px rgba(231, 20, 40, .08), 0 0 16px rgba(231, 20, 40, .10);
}

body.darklab-fixed-bg:not(.no-portal-bg) .order-detail-main .order-drop-overlay {
    align-items: center;
    backdrop-filter: blur(3px);
    background: rgba(8, 10, 16, .88);
    border-radius: 10px;
    color: #fff;
    display: flex;
    font-size: 11px;
    gap: 8px;
    inset: 5px;
    justify-content: center;
    opacity: 0;
    pointer-events: none;
    position: absolute;
    transition: opacity .16s ease;
    z-index: 5;
}

body.darklab-fixed-bg:not(.no-portal-bg) .order-detail-main .order-message-dropzone.is-dragging .order-drop-overlay {
    opacity: 1;
}

body.darklab-fixed-bg:not(.no-portal-bg) .order-detail-main .order-drop-overlay svg {
    fill: none;
    height: 19px;
    stroke: #ff4051;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.8;
    width: 19px;
}

body.darklab-fixed-bg:not(.no-portal-bg) .order-detail-main .order-chat-compose-row {
    align-items: stretch;
    display: grid;
    gap: 7px;
    grid-template-columns: 42px minmax(0, 1fr) auto;
}

body.darklab-fixed-bg:not(.no-portal-bg) .order-detail-main .order-attachment-input {
    height: 1px;
    opacity: 0;
    overflow: hidden;
    pointer-events: none;
    position: absolute;
    width: 1px;
}

body.darklab-fixed-bg:not(.no-portal-bg) .order-detail-main .order-attachment-trigger {
    align-items: center;
    background: rgba(255, 255, 255, .055);
    border: 1px solid rgba(255, 255, 255, .14);
    border-radius: 9px;
    color: rgba(239, 243, 249, .76);
    cursor: pointer;
    display: flex;
    justify-content: center;
    min-height: 42px;
    transition: background .16s ease, border-color .16s ease, color .16s ease;
}

body.darklab-fixed-bg:not(.no-portal-bg) .order-detail-main .order-attachment-trigger:hover {
    background: rgba(255, 255, 255, .09);
    border-color: rgba(255, 74, 91, .42);
    color: #ff6472;
}

body.darklab-fixed-bg:not(.no-portal-bg) .order-detail-main .order-attachment-trigger svg {
    fill: none;
    height: 18px;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.8;
    width: 18px;
}

body.darklab-fixed-bg:not(.no-portal-bg) .order-detail-main .order-chat-compose-row textarea {
    background: rgba(255, 255, 255, .055);
    border: 1px solid rgba(255, 255, 255, .14);
    border-radius: 9px;
    box-sizing: border-box;
    color: #fff;
    font-family: var(--font-main);
    min-height: 42px;
    padding: 11px 13px;
    resize: none;
    text-transform: none;
    width: 100%;
}

body.darklab-fixed-bg:not(.no-portal-bg) .order-detail-main .order-chat-compose-row textarea::placeholder {
    color: rgba(229, 234, 243, .42);
}

body.darklab-fixed-bg:not(.no-portal-bg) .order-detail-main .order-chat-compose-row textarea:focus {
    border-color: rgba(255, 71, 88, .40);
    box-shadow: 0 0 0 2px rgba(255, 37, 55, .07);
    outline: 0;
}

body.darklab-fixed-bg:not(.no-portal-bg) .order-detail-main .order-chat-compose-row button {
    align-items: center;
    background: linear-gradient(145deg, #fa2638, #b70615);
    border: 1px solid rgba(255, 255, 255, .18);
    border-radius: 9px;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .18), 0 5px 14px rgba(188, 7, 22, .18);
    color: #fff;
    cursor: pointer;
    display: inline-flex;
    font-family: var(--font-main);
    font-size: 10px;
    gap: 6px;
    justify-content: center;
    min-height: 42px;
    padding: 0 14px;
}

body.darklab-fixed-bg:not(.no-portal-bg) .order-detail-main .order-chat-compose-row button svg {
    fill: none;
    height: 14px;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.8;
    width: 14px;
}

body.darklab-fixed-bg:not(.no-portal-bg) .order-detail-main .order-selected-files {
    display: none;
    gap: 5px;
    grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
    margin-bottom: 7px;
}

body.darklab-fixed-bg:not(.no-portal-bg) .order-detail-main .order-selected-files.has-files {
    display: grid;
}

body.darklab-fixed-bg:not(.no-portal-bg) .order-detail-main .order-selected-file {
    align-items: center;
    background: rgba(255, 255, 255, .045);
    border: 1px solid rgba(255, 255, 255, .11);
    border-radius: 8px;
    display: grid;
    gap: 7px;
    grid-template-columns: 24px minmax(0, 1fr) 24px;
    padding: 5px 6px;
}

body.darklab-fixed-bg:not(.no-portal-bg) .order-detail-main .order-selected-file-icon {
    align-items: center;
    background: rgba(255, 49, 66, .13);
    border-radius: 6px;
    color: #ff5a68;
    display: flex;
    font-size: 10px;
    height: 22px;
    justify-content: center;
    width: 22px;
}

body.darklab-fixed-bg:not(.no-portal-bg) .order-detail-main .order-selected-file-copy {
    display: flex;
    flex-direction: column;
    gap: 1px;
    min-width: 0;
}

body.darklab-fixed-bg:not(.no-portal-bg) .order-detail-main .order-selected-file-copy strong {
    color: #f7f8fb;
    font-size: 9px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

body.darklab-fixed-bg:not(.no-portal-bg) .order-detail-main .order-selected-file-copy small {
    color: rgba(228, 234, 244, .48);
    font-size: 8px;
}

body.darklab-fixed-bg:not(.no-portal-bg) .order-detail-main .order-selected-file-remove {
    align-items: center;
    background: transparent;
    border: 0;
    border-radius: 50%;
    color: rgba(241, 245, 250, .55);
    cursor: pointer;
    display: flex;
    font-family: Arial, sans-serif;
    font-size: 17px;
    height: 22px;
    justify-content: center;
    padding: 0;
    width: 22px;
}

body.darklab-fixed-bg:not(.no-portal-bg) .order-detail-main .order-selected-file-remove:hover {
    background: rgba(255, 49, 66, .13);
    color: #ff6572;
}

body.darklab-fixed-bg:not(.no-portal-bg) .order-detail-main .order-upload-error {
    color: #ff8791;
    display: block;
    font-size: 9px;
    line-height: 1.3;
    margin: 0;
}

body.darklab-fixed-bg:not(.no-portal-bg) .order-detail-main .order-upload-error:empty {
    display: none;
}

.admin-order-message-attachments {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 8px;
}

.admin-order-message-attachments a {
    align-items: center;
    background: rgba(255, 255, 255, .06);
    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: 8px;
    color: #fff;
    display: inline-flex;
    gap: 6px;
    max-width: 320px;
    padding: 6px 8px;
    text-decoration: none;
}

.admin-order-message-attachments strong {
    font-size: 10px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.admin-order-message-attachments small {
    color: rgba(238, 242, 248, .52);
    font-size: 8px;
    white-space: nowrap;
}

@media (max-width: 640px) {
    body.darklab-fixed-bg:not(.no-portal-bg) .order-detail-main .order-message-timeline article {
        max-width: 88%;
    }

    body.darklab-fixed-bg:not(.no-portal-bg) .order-detail-main .order-chat-compose-row {
        grid-template-columns: 40px minmax(0, 1fr) 42px;
    }

    body.darklab-fixed-bg:not(.no-portal-bg) .order-detail-main .order-chat-compose-row button {
        padding: 0;
        width: 42px;
    }

    body.darklab-fixed-bg:not(.no-portal-bg) .order-detail-main .order-chat-compose-row button span {
        display: none;
    }

    body.darklab-fixed-bg:not(.no-portal-bg) .order-detail-main .order-message-attachment {
        min-width: 0;
    }
}

/* DARKLAB DASHBOARD - latest order cockpit card */
body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .dashboard-command-row {
    align-items: stretch;
    gap: 12px;
    grid-template-columns: minmax(285px, .86fr) minmax(310px, .96fr) minmax(390px, 1.18fr);
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .latest-order-status-card {
    background:
        linear-gradient(118deg, rgba(255, 255, 255, .14), rgba(255, 255, 255, .065) 44%, rgba(255, 42, 56, .085)),
        radial-gradient(circle at 10% 0%, rgba(40, 142, 255, .15), transparent 36%),
        radial-gradient(circle at 100% 24%, rgba(255, 38, 52, .16), transparent 42%),
        rgba(22, 28, 38, .84);
    border: 1px solid rgba(255, 255, 255, .26);
    border-radius: 8px;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, .20),
        inset 0 -1px 0 rgba(255, 38, 52, .12),
        0 18px 44px rgba(0, 0, 0, .20);
    box-sizing: border-box;
    color: #fff;
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: 112px;
    overflow: hidden;
    padding: 10px 13px;
    position: relative;
    transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .latest-order-status-card::before {
    background: linear-gradient(90deg, rgba(255, 38, 52, .88), rgba(255, 255, 255, .54), rgba(0, 133, 255, .38), transparent);
    content: "";
    height: 2px;
    left: 18px;
    position: absolute;
    right: 24%;
    top: 0;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .latest-order-status-card.is-done::before {
    background: linear-gradient(90deg, #35df91, rgba(255, 255, 255, .60), rgba(0, 133, 255, .34), transparent);
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .latest-order-status-card.is-done {
    border-color: rgba(73, 218, 151, .34);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, .20),
        inset 0 -1px 0 rgba(53, 223, 145, .10),
        0 18px 44px rgba(0, 0, 0, .20),
        0 0 20px rgba(53, 223, 145, .06);
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .latest-order-stretched-link {
    inset: 0;
    position: absolute;
    z-index: 2;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .latest-order-status-card:hover,
body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .latest-order-status-card:focus-within {
    border-color: rgba(255, 74, 90, .48);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, .22),
        0 18px 44px rgba(0, 0, 0, .24),
        0 0 20px rgba(255, 39, 55, .12);
    transform: translateY(-1px);
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .latest-order-status-card.is-done:hover,
body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .latest-order-status-card.is-done:focus-within {
    border-color: rgba(74, 229, 159, .52);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, .22),
        0 18px 44px rgba(0, 0, 0, .24),
        0 0 22px rgba(53, 223, 145, .12);
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .latest-order-card-head,
body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .latest-order-card-main,
body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .latest-order-status-card footer {
    align-items: center;
    display: flex;
    gap: 8px;
    justify-content: space-between;
    min-width: 0;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .latest-order-card-head > span:first-child {
    color: rgba(235, 239, 247, .65);
    font-size: 9px;
    font-weight: 900;
    letter-spacing: .10em;
    text-transform: uppercase;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .latest-order-status {
    align-items: center;
    color: #ff7a85;
    display: inline-flex;
    font-size: 9px;
    font-weight: 800;
    gap: 6px;
    white-space: nowrap;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .latest-order-status i {
    background: #ff3346;
    border-radius: 50%;
    box-shadow: 0 0 8px rgba(255, 51, 70, .52);
    flex: 0 0 6px;
    height: 6px;
    width: 6px;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .latest-order-status-card.is-done .latest-order-status {
    color: #6aefb2;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .latest-order-status-card.is-done .latest-order-status i {
    background: #39df93;
    box-shadow: 0 0 9px rgba(57, 223, 147, .60);
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .latest-order-card-main {
    margin-top: 6px;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .latest-order-card-main > div {
    display: flex;
    gap: 5px;
    min-width: 0;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .latest-order-card-main strong {
    color: #fff;
    font-size: 13px;
    line-height: 1.1;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .latest-order-card-main small {
    color: rgba(235, 239, 247, .64);
    font-size: 10px;
    line-height: 1.15;
    white-space: nowrap;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .latest-order-card-main b {
    color: rgba(255, 255, 255, .70);
    font-family: "Montserrat", sans-serif;
    font-size: 8px;
    font-weight: 600;
    letter-spacing: .055em;
    white-space: nowrap;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .latest-order-status-card > p {
    color: rgba(238, 242, 248, .64);
    font-size: 9px;
    line-height: 1.2;
    margin: 5px 0 6px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .latest-order-status-card footer {
    border-top: 1px solid rgba(255, 255, 255, .10);
    padding-top: 6px;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .latest-order-status-card footer span,
body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .latest-order-status-card footer small {
    color: rgba(239, 243, 249, .63);
    font-size: 8px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .latest-order-status-card footer span {
    max-width: 42%;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .latest-order-status-card footer strong {
    color: #ff5866;
    font-size: 8px;
    letter-spacing: .025em;
    white-space: nowrap;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .latest-order-status-card.is-done footer strong {
    color: #69eaae;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .latest-order-empty-copy {
    margin: 9px 0 5px;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .latest-order-empty-copy strong {
    color: #fff;
    display: block;
    font-size: 14px;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .latest-order-empty-copy p {
    color: rgba(238, 242, 248, .58);
    font-size: 10px;
    margin: 4px 0 0;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .latest-order-empty-action {
    color: #ff5966;
    font-size: 9px;
}

@media (max-width: 1280px) {
    body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .dashboard-command-row {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .latest-order-status-card {
        grid-column: 1 / -1;
    }
}

@media (max-width: 760px) {
    body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .dashboard-command-row {
        grid-template-columns: 1fr;
    }

    body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .latest-order-status-card {
        grid-column: auto;
    }

    body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .latest-order-card-main {
        align-items: flex-start;
        flex-direction: column;
        gap: 4px;
    }

    body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .latest-order-card-main > div {
        flex-wrap: wrap;
    }

    body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .latest-order-status-card footer {
        align-items: flex-start;
        flex-wrap: wrap;
    }

    body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .latest-order-status-card footer span {
        max-width: 100%;
    }
}

/* DARKLAB DASHBOARD - compact primary cards, equal visual rhythm */
body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .dashboard-command-row > .credit-counter-card,
body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .dashboard-command-row > .upload-launch-card,
body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .dashboard-command-row > .latest-order-status-card {
    box-sizing: border-box;
    height: 96px;
    min-height: 96px;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .dashboard-command-row > .credit-counter-card,
body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .dashboard-command-row > .upload-launch-card {
    padding-block: 6px;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .dashboard-command-row .credit-counter-copy strong {
    font-size: 44px;
    margin: 5px 0 4px;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .dashboard-command-row .credit-counter-orbit {
    max-width: 70px;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .dashboard-command-row .credit-counter-orbit b {
    font-size: 27px;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .dashboard-command-row .upload-launch-icon {
    max-width: 50px;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .dashboard-command-row .upload-launch-card h2 {
    font-size: 24px;
    margin-bottom: 4px;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .dashboard-command-row .upload-launch-action {
    width: 38px;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .latest-order-status-card {
    justify-content: flex-start;
    padding: 8px 12px;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .latest-order-card-main {
    margin-top: 4px;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .latest-order-status-card > p {
    margin: 3px 0 4px;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .latest-order-status-card footer {
    padding-top: 4px;
}

@media (max-width: 980px) {
    body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .dashboard-command-row {
        grid-template-columns: 1fr;
    }

    body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .dashboard-command-row > .credit-counter-card,
    body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .dashboard-command-row > .upload-launch-card,
    body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .dashboard-command-row > .latest-order-status-card {
        height: auto;
        min-height: 100px;
    }

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .latest-order-status-card {
        grid-column: auto;
        padding-block: 10px;
    }
}

/* Final cascade guard — compact equipment invoice */
body.darklab-fixed-bg:not(.no-portal-bg) .equipment-checkout-main .equipment-invoice-sheet {
    min-height: 0;
    padding: 22px 26px 18px;
}

body.darklab-fixed-bg:not(.no-portal-bg) .equipment-checkout-main .equipment-invoice-head {
    padding-bottom: 14px;
}

body.darklab-fixed-bg:not(.no-portal-bg) .equipment-checkout-main .equipment-invoice-meta {
    padding: 14px 0;
}

body.darklab-fixed-bg:not(.no-portal-bg) .equipment-checkout-main .equipment-checkout-items.equipment-invoice-items article {
    align-items: center;
    display: grid;
    gap: 12px;
    grid-template-columns: 58px minmax(170px, 1fr) 42px 116px 110px;
    padding: 10px 12px;
}

body.darklab-fixed-bg:not(.no-portal-bg) .equipment-checkout-main .equipment-checkout-items.equipment-invoice-items article > b,
body.darklab-fixed-bg:not(.no-portal-bg) .equipment-checkout-main .equipment-checkout-items.equipment-invoice-items article > span,
body.darklab-fixed-bg:not(.no-portal-bg) .equipment-checkout-main .equipment-checkout-items.equipment-invoice-items article > strong {
    color: #29303a;
    display: block;
    font-style: normal;
    text-align: right;
}

body.darklab-fixed-bg:not(.no-portal-bg) .equipment-checkout-main .equipment-checkout-items.equipment-invoice-items article > strong {
    color: #e5162b;
}

body.darklab-fixed-bg:not(.no-portal-bg) .equipment-checkout-main .equipment-checkout-totals.equipment-invoice-totals {
    gap: 0;
    margin-top: 12px;
    padding-top: 6px;
}

body.darklab-fixed-bg:not(.no-portal-bg) .equipment-checkout-main .equipment-checkout-totals.equipment-invoice-totals div {
    border: 0;
    border-bottom: 1px solid #e0e4e9;
    border-radius: 0;
    padding: 6px 4px;
}

body.darklab-fixed-bg:not(.no-portal-bg) .equipment-checkout-main .equipment-checkout-totals.equipment-invoice-totals span {
    color: #59616d;
}

body.darklab-fixed-bg:not(.no-portal-bg) .equipment-checkout-main .equipment-checkout-totals.equipment-invoice-totals strong {
    color: #171c25;
}

body.darklab-fixed-bg:not(.no-portal-bg) .equipment-checkout-main .equipment-checkout-totals.equipment-invoice-totals .equipment-invoice-grand-total {
    border-top: 2px solid #171c25;
    margin-top: 3px;
    padding-top: 9px;
}

body.darklab-fixed-bg:not(.no-portal-bg) .equipment-checkout-main .equipment-checkout-totals.equipment-invoice-totals .equipment-invoice-grand-total span,
body.darklab-fixed-bg:not(.no-portal-bg) .equipment-checkout-main .equipment-checkout-totals.equipment-invoice-totals .equipment-invoice-grand-total strong {
    color: #e5162b;
    font-size: 16px;
}

body.darklab-fixed-bg:not(.no-portal-bg) .equipment-checkout-main .equipment-invoice-sheet .equipment-rental-note {
    margin-top: 12px;
    padding-top: 9px;
}

body.darklab-fixed-bg:not(.no-portal-bg) .equipment-checkout-main .equipment-invoice-footer {
    margin-top: 11px;
}

@media (max-width: 700px) {
    body.darklab-fixed-bg:not(.no-portal-bg) .equipment-checkout-main .equipment-invoice-sheet {
        padding: 18px 14px 15px;
    }

    body.darklab-fixed-bg:not(.no-portal-bg) .equipment-checkout-main .equipment-checkout-items.equipment-invoice-items article {
        grid-template-columns: 52px 1fr;
    }

    body.darklab-fixed-bg:not(.no-portal-bg) .equipment-checkout-main .equipment-checkout-items.equipment-invoice-items article > b,
    body.darklab-fixed-bg:not(.no-portal-bg) .equipment-checkout-main .equipment-checkout-items.equipment-invoice-items article > span,
    body.darklab-fixed-bg:not(.no-portal-bg) .equipment-checkout-main .equipment-checkout-items.equipment-invoice-items article > strong {
        display: flex;
        grid-column: 1 / -1;
        justify-content: space-between;
    }
}

/* TRUE FINAL GUARD: recap remains sticky and independently scrollable */
@media (min-width: 721px) {
    html body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .service-summary {
        align-self: start !important;
        max-height: calc(100vh - 24px) !important;
        overscroll-behavior-y: contain !important;
        overflow-x: hidden !important;
        overflow-y: scroll !important;
        position: sticky !important;
        scrollbar-color: rgba(255, 53, 69, .62) rgba(255,255,255,.055) !important;
        scrollbar-gutter: stable !important;
        scrollbar-width: thin !important;
        top: 12px !important;
    }

    html body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .service-summary::-webkit-scrollbar {
        width: 6px !important;
    }

    html body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .service-summary::-webkit-scrollbar-track {
        background: rgba(255,255,255,.045) !important;
    }

    html body.darklab-fixed-bg:not(.no-portal-bg) .file-services-main .service-summary::-webkit-scrollbar-thumb {
        background: linear-gradient(#ff4656, #9d1322) !important;
        border-radius: 999px !important;
    }
}

/* Final cascade guard — dashboard primary cards */
body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .dashboard-command-row > .credit-counter-card,
body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .dashboard-command-row > .upload-launch-card,
body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .dashboard-command-row > .latest-order-status-card {
    height: 120px;
    min-height: 120px;
    overflow: hidden;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .dashboard-command-row > .credit-counter-card,
body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .dashboard-command-row > .upload-launch-card {
    padding-block: 10px;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .dashboard-command-row .credit-counter-copy,
body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .dashboard-command-row .upload-launch-card > div {
    align-self: center;
    min-width: 0;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .dashboard-command-row .credit-counter-copy strong {
    font-size: clamp(36px, 3.1vw, 44px);
    line-height: .92;
    margin: 5px 0 7px;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .dashboard-command-row .credit-counter-help {
    display: block;
    font-size: 11px;
    line-height: 1.22;
    max-width: 245px;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .dashboard-command-row .upload-launch-card h2 {
    font-size: clamp(22px, 2.35vw, 30px);
    line-height: .98;
    margin: 7px 0 4px;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .dashboard-command-row .upload-launch-card p {
    font-size: clamp(11px, 1.15vw, 15px);
    line-height: 1.1;
    margin: 0;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .dashboard-command-row .upload-launch-action {
    align-self: center;
    flex: 0 0 auto;
}

body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .latest-order-status-card {
    justify-content: center;
    padding-block: 10px;
}

@media (max-width: 1280px) {
    body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .dashboard-command-row > .credit-counter-card,
    body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .dashboard-command-row > .upload-launch-card,
    body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .dashboard-command-row > .latest-order-status-card {
        height: 122px;
        min-height: 122px;
    }
}

@media (max-width: 760px) {
    body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .dashboard-command-row > .credit-counter-card,
    body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .dashboard-command-row > .upload-launch-card,
    body.darklab-fixed-bg:not(.no-portal-bg) .dashboard-main .dashboard-command-row > .latest-order-status-card {
        height: auto;
        min-height: 116px;
    }
}
/* DARKLAB - navigation categories Equipements Pro */
.equipment-category-tabs { display:grid; gap:12px; grid-template-columns:repeat(2,minmax(0,1fr)); margin:0 0 22px; max-width:1260px; }
.equipment-category-tab { align-items:center; background:linear-gradient(135deg,rgba(30,36,47,.92),rgba(18,17,23,.92)); border:1px solid rgba(255,255,255,.14); border-radius:12px; color:rgba(235,240,249,.72); cursor:pointer; display:grid; gap:5px; min-height:76px; padding:15px 20px; text-align:left; transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease; }
.equipment-category-tab strong { color:#f6f8fc; font:800 15px var(--font-ui); letter-spacing:.08em; }
.equipment-category-tab span { color:rgba(224,230,241,.60); font:500 12px var(--font-ui); }
.equipment-category-tab:hover { border-color:rgba(255,52,67,.48); transform:translateY(-1px); }
.equipment-category-tab.is-active { background:linear-gradient(120deg,rgba(66,77,94,.94),rgba(54,17,28,.94)); border-color:rgba(255,43,59,.72); box-shadow:inset 4px 0 #ff2638,0 12px 30px rgba(0,0,0,.22),0 0 24px rgba(255,38,52,.10); }
.equipment-category-tab.is-active strong { color:#fff; }
.pro-equipment-card[hidden] { display:none !important; }
body.darklab-admin .equipment-category-admin { margin-bottom:18px; }
body.darklab-admin .equipment-category-admin-head { align-items:end; display:flex; justify-content:space-between; margin-bottom:18px; }
body.darklab-admin .equipment-category-admin-head h2 { color:#fff; margin:4px 0 0; }
body.darklab-admin .equipment-category-admin-head > p { color:rgba(231,236,246,.62); margin:0; }
body.darklab-admin .equipment-category-admin-grid { display:grid; gap:10px; grid-template-columns:repeat(3,minmax(0,1fr)); }
body.darklab-admin .equipment-category-admin-grid label { background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.11); border-radius:10px; display:grid; gap:8px; padding:12px; }
body.darklab-admin .equipment-category-admin-grid strong { color:#fff; font-size:12px; }
body.darklab-admin .equipment-category-admin-grid select { background:#11151d; border:1px solid rgba(255,255,255,.16); border-radius:8px; color:#fff; padding:9px; }
body.darklab-admin .equipment-category-save { background:linear-gradient(135deg,#f32032,#a80716); border:1px solid rgba(255,120,130,.45); border-radius:9px; color:#fff; cursor:pointer; font-weight:800; margin-top:14px; padding:11px 18px; }
@media (max-width:1000px) { body.darklab-admin .equipment-category-admin-grid { grid-template-columns:1fr 1fr; } }
@media (max-width:720px) { .equipment-category-tabs { grid-template-columns:1fr; } .equipment-category-tab { min-height:66px; padding:12px 15px; } }
@media (max-width:650px) { body.darklab-admin .equipment-category-admin-grid { grid-template-columns:1fr; } body.darklab-admin .equipment-category-admin-head { align-items:start; flex-direction:column; gap:8px; } }
.application-email-action { display:inline-flex; align-items:center; justify-content:center; min-height:38px; padding:0 14px; border:1px solid rgba(255,255,255,.2); border-radius:8px; background:#242a35; color:#fff !important; font:700 11px Inter,sans-serif; text-decoration:none; white-space:nowrap; }
.admin-user-category-tabs.application-tabs { grid-template-columns:repeat(2,minmax(220px,1fr)); justify-content:center; width:min(100%,760px); min-height:0; margin:0 auto 14px; padding:6px; gap:7px; }
.admin-user-category-tabs.application-tabs a { min-height:44px; padding:10px 16px; }
@media (max-width:620px) { .admin-user-category-tabs.application-tabs { grid-template-columns:1fr 1fr; width:100%; } .admin-user-category-tabs.application-tabs a { padding:9px 8px; } }
.side-nav strong.client-credit-nav-badge { display:inline-flex; align-items:center; justify-content:center; gap:5px; min-width:64px; margin-left:auto; padding:6px 9px; border:1px solid rgba(255,70,86,.42); border-radius:999px; background:linear-gradient(135deg,rgba(32,35,43,.96),rgba(21,17,23,.97)); box-shadow:inset 0 1px rgba(255,255,255,.06),0 5px 14px rgba(0,0,0,.22); color:#fff; line-height:1; }
.side-nav strong.client-credit-nav-badge i { width:6px; height:6px; border-radius:50%; background:#ff3046; box-shadow:0 0 9px rgba(255,48,70,.7); }
.side-nav strong.client-credit-nav-badge b { color:#fff; font:800 12px Inter,sans-serif; }
.side-nav strong.client-credit-nav-badge span { color:#9ea7b5; font:700 8px Inter,sans-serif; letter-spacing:.08em; }
.side-nav a:hover strong.client-credit-nav-badge,.side-nav a.active strong.client-credit-nav-badge { border-color:rgba(255,77,93,.7); box-shadow:inset 0 1px rgba(255,255,255,.08),0 0 16px rgba(222,24,48,.14); }
.file-services-head .glass-action { margin-bottom:12px; }
@media (max-width:720px) { .file-services-head .glass-action { margin-bottom:0; } }

/* DARKLAB - détails calculateurs issus du catalogue véhicule */
.configurator-layout .ecu-possibilities .ecu-logo-chip.has-tools {
    align-items:stretch;
    border:1px solid rgba(17,24,39,.12);
    border-radius:12px;
    flex:1 1 320px;
    min-height:0;
    padding:13px 15px;
}
.configurator-layout .ecu-logo-chip .ecu-identity {
    align-items:center;
    display:flex;
    gap:10px;
}
.configurator-layout .ecu-logo-chip.has-tools small {
    color:#596579;
    font:600 11px/1.5 Inter,sans-serif;
    white-space:normal;
}
.configurator-layout .ecu-logo-chip.has-tools small b {
    color:#182234;
    display:block;
    font-size:9px;
    letter-spacing:.08em;
    margin:8px 0 2px;
    text-transform:uppercase;
}
