@charset "UTF-8";
/* =====================================================================
   UKM Pro — couche « haut de gamme » (31/10/2026)
   - Aucun dégradé : uniquement des couleurs pleines.
   - Motion design (connexion, site public, tableau de bord, espace étudiant).
   - Chargée APRÈS ukm-auth.css / ukm-front.css / ukm-design.css.
   - Tout est limité à html.ukm-pro (classe posée par ukm-pro.js) :
     sans cette classe, rien ne change. Les animations sont limitées
     à html.ukm-pro-motion (absente si « réduire les animations »).
   ===================================================================== */

/* ---------------------------------------------------------------------
   0. PALETTES PLEINES PAR THÈME
   --------------------------------------------------------------------- */
html.ukm-pro {
    --ukp-brand: #0f8f52; --ukp-brand-dark: #0b6b3d; --ukp-deep: #0d6b40; --ukp-deep-2: #0f7a49;
    --ukp-tint: #e8f3ec; --ukp-page: #f5f7f5;
    --ukp-gold: #b8913a; --ukp-gold-soft: #f3ead6;
    --ukp-surface: #ffffff; --ukp-surface-2: #fafbfa;
    --ukp-ink: #0f172a; --ukp-text: #334155; --ukp-muted: #64748b;
    --ukp-line: rgba(15, 23, 42, .08); --ukp-line-2: rgba(15, 23, 42, .14);
    --ukp-shadow-sm: 0 1px 2px rgba(15, 23, 42, .05);
    --ukp-shadow: 0 1px 2px rgba(15, 23, 42, .04), 0 8px 24px -12px rgba(15, 23, 42, .16);
    --ukp-shadow-lg: 0 2px 4px rgba(15, 23, 42, .04), 0 24px 48px -20px rgba(15, 23, 42, .28);
    --ukp-radius: 16px;
    --ukp-ease: cubic-bezier(.22, 1, .36, 1);
    --ukp-ease-io: cubic-bezier(.65, 0, .35, 1);
    --ukp-font: 'Plus Jakarta Sans', 'Segoe UI', Roboto, Arial, sans-serif;
}
html.ukm-pro[data-ukm-theme="ocean"]  { --ukp-brand: #0f766e; --ukp-brand-dark: #0b5a54; --ukp-deep: #0e5a63; --ukp-deep-2: #116a74; --ukp-tint: #e3f1ef; --ukp-page: #f3f6f9; }
html.ukm-pro[data-ukm-theme="royal"]  { --ukp-brand: #6d28d9; --ukp-brand-dark: #5521b0; --ukp-deep: #4c2a9e; --ukp-deep-2: #5832b3; --ukp-tint: #efe9fb; --ukp-page: #f6f4fb; }
html.ukm-pro[data-ukm-theme="sahel"]  { --ukp-brand: #c2410c; --ukp-brand-dark: #9a3412; --ukp-deep: #8a3510; --ukp-deep-2: #9c3d13; --ukp-tint: #fbeee4; --ukp-page: #faf6f1; }
html.ukm-pro[data-ukm-theme="clair"]  { --ukp-brand: #2563eb; --ukp-brand-dark: #1d4ed8; --ukp-deep: #1e40af; --ukp-deep-2: #2348c2; --ukp-tint: #e8effd; --ukp-page: #f5f7fb; }
html.ukm-pro[data-ukm-theme="minuit"] {
    --ukp-brand: #0ea5c6; --ukp-brand-dark: #0891b2; --ukp-deep: #050912; --ukp-deep-2: #0b1222;
    --ukp-tint: #0f2533; --ukp-page: #070b14; --ukp-gold: #d4b062; --ukp-gold-soft: #2a2414;
    --ukp-surface: #0f172a; --ukp-surface-2: #111b30;
    --ukp-ink: #f1f5f9; --ukp-text: #cbd5e1; --ukp-muted: #94a3b8;
    --ukp-line: rgba(148, 163, 184, .14); --ukp-line-2: rgba(148, 163, 184, .24);
}

/* Thème par défaut v3 : PRESTIGE — bleu nuit & or (remplace le vert Émeraude) */
html.ukm-pro:not([data-ukm-theme]),
html.ukm-pro[data-ukm-theme="emeraude"] {
    --ukp-brand: #0b2a4a; --ukp-brand-dark: #081f38; --ukp-deep: #0b2a4a; --ukp-deep-2: #123a63;
    --ukp-hover: #1d4e89;
    --ukp-tint: #eaf0f7; --ukp-page: #f7f8fa;
    --ukp-gold: #c29b40; --ukp-gold-soft: #f5eedc;
    /* couches existantes (ukm-design / ukm-auth / ukm-front) */
    --ukm-brand: #0b2a4a; --ukm-brand-2: #1d4e89;
    --ukm-page: #f7f8fa; --ukm-page-glow-1: transparent; --ukm-page-glow-2: transparent;
    --ukm-green: #0b2a4a; --ukm-green-2: #1d4e89; --ukm-teal: #1d4e89; --ukm-green-dark: #081f38;
    --ukm-deep: #0b2a4a; --ukm-soft: #e3c77e; --ukm-soft-2: #eaf0f7;
    --ukm-bg: #f7f8fa;
}


html.ukm-pro ::selection { background: var(--ukp-brand); color: #fff; }

/* ---------------------------------------------------------------------
   1. PAGES DE CONNEXION / MOT DE PASSE (ukm-auth.css)
   --------------------------------------------------------------------- */
html.ukm-pro body.ukp-auth {
    background: var(--ukp-page) !important;
    background-image: none !important;
    font-family: var(--ukp-font);
    color: var(--ukp-text);
    overflow-x: hidden;
}
html.ukm-pro .ukp-auth .inner-bg { padding: 0 !important; }
html.ukm-pro .ukp-auth .top-content,
html.ukm-pro .ukp-auth .inner-bg,
html.ukm-pro .ukp-auth .container-fluid { padding: 0; }
html.ukm-pro .ukp-auth .container-fluid > .row { margin: 0; }

/* Colonne formulaire = panneau blanc pleine hauteur */
html.ukm-pro .ukp-auth .bgoffsetbg { align-items: stretch; min-height: 100vh; }
html.ukm-pro .ukp-auth .bgoffsetbg > .nopadding {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: 100vh;
    padding: 88px 6% 72px;
    background: var(--ukp-surface);
    border-right: 1px solid var(--ukp-line);
    z-index: 2;
}
html.ukm-pro .ukp-auth .loginbg {
    width: 100%;
    max-width: 400px;
    margin: 0 auto;
    padding: 0;
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
    animation: none;
}
html.ukm-pro .ukp-auth .loginbg::before { display: none; }

/* Marque en haut à gauche + pied */
.ukp-brandbar {
    position: absolute;
    top: 28px; left: 6%; right: 6%;
    display: flex; align-items: center; gap: 12px;
    font-family: var(--ukp-font);
}
.ukp-brandbar img {
    width: 40px; height: 40px; border-radius: 50%; object-fit: contain;
    background: #fff; border: 1px solid var(--ukp-line);
}
.ukp-brandbar b { display: block; color: var(--ukp-ink); font-size: 14px; font-weight: 800; letter-spacing: -.01em; line-height: 1.2; }
.ukp-brandbar small { display: block; color: var(--ukp-muted); font-size: 11.5px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.ukp-authfoot {
    position: absolute; left: 84px; right: 6%; bottom: 24px;
    display: flex; justify-content: space-between; gap: 12px;
    color: var(--ukp-muted); font-size: 12px; font-family: var(--ukp-font);
}
.ukp-authfoot span:last-child { display: inline-flex; align-items: center; gap: 6px; }
.ukp-authfoot i.ukp-dot { width: 7px; height: 7px; border-radius: 50%; background: var(--ukp-brand); display: inline-block; box-shadow: 0 0 0 0 var(--ukp-brand); }
html.ukm-pro-motion .ukp-authfoot i.ukp-dot { animation: ukpPing 2.4s var(--ukp-ease) infinite; }

/* En-tête du formulaire */
html.ukm-pro .ukp-auth .form-top { text-align: left; padding: 0 0 4px; }
html.ukm-pro .ukp-auth .loginbg .form-top { display: none; }
html.ukm-pro .ukp-auth .loginbg .ukp-eyebrow { margin-top: 0; }
html.ukm-pro .ukp-auth .logowidth img {
    width: 64px !important; height: 64px !important;
    padding: 3px; border-radius: 50%;
    background: #fff;
    border: 1px solid var(--ukp-line);
    box-shadow: var(--ukp-shadow);
}
html.ukm-pro .ukp-auth .form-bottom { text-align: left; padding-top: 0; }
.ukp-eyebrow {
    display: inline-flex; align-items: center; gap: 8px;
    margin: 22px 0 10px;
    padding: 5px 11px 5px 9px;
    border-radius: 999px;
    background: var(--ukp-tint);
    color: var(--ukp-brand-dark);
    font-size: 12px; font-weight: 700; letter-spacing: .02em;
}
html.ukm-pro[data-ukm-theme="minuit"] .ukp-eyebrow { color: var(--ukp-brand); }
.ukp-eyebrow i { width: 6px; height: 6px; border-radius: 50%; background: var(--ukp-brand); }
html.ukm-pro .ukp-auth .form-bottom h3.font-white,
html.ukm-pro .ukp-auth .font-white {
    margin: 0 0 6px;
    text-align: left;
    color: var(--ukp-ink);
    font-family: var(--ukp-font);
    font-size: clamp(26px, 2.4vw, 34px);
    font-weight: 800;
    line-height: 1.12;
    letter-spacing: -.03em;
}
html.ukm-pro .ukp-auth .form-bottom h3.font-white::after {
    content: attr(data-ukp-sub);
    margin: 10px 0 28px;
    font-size: 14px; font-weight: 500; line-height: 1.5;
    color: var(--ukp-muted);
    letter-spacing: 0;
}
/* Mots du titre (animés) */
.ukp-w { display: inline-block; overflow: hidden; vertical-align: top; padding-bottom: .08em; margin-bottom: -.08em; }
.ukp-w > span { display: inline-block; }
html.ukm-pro-motion .ukp-w > span { animation: ukpWordUp .9s var(--ukp-ease) both; animation-delay: calc(.35s + var(--i, 0) * 70ms); }

/* Champs */
html.ukm-pro .ukp-auth .loginbg .form-group { position: relative; margin-bottom: 14px; }
html.ukm-pro .ukp-auth .loginbg .form-control,
html.ukm-pro .ukp-auth input[type="text"],
html.ukm-pro .ukp-auth input[type="password"],
html.ukm-pro .ukp-auth input[type="email"] {
    height: 54px;
    padding: 0 48px 0 16px;
    border-radius: 12px !important;
    border: 1px solid var(--ukp-line-2) !important;
    background: var(--ukp-surface) !important;
    color: var(--ukp-ink);
    font-family: var(--ukp-font);
    font-size: 15px; font-weight: 500;
    box-shadow: var(--ukp-shadow-sm);
    transition: border-color .25s var(--ukp-ease), box-shadow .25s var(--ukp-ease);
}
html.ukm-pro .ukp-auth .loginbg .form-control:hover { border-color: rgba(15, 23, 42, .26) !important; }
html.ukm-pro .ukp-auth .loginbg .form-control:focus {
    border-color: var(--ukp-brand) !important;
    box-shadow: 0 0 0 4px color-mix(in srgb, var(--ukp-brand) 14%, transparent) !important;
}
html.ukm-pro .ukp-auth .form-control-feedback { height: 54px; line-height: 54px; color: #94a3b8; transition: color .25s, transform .35s var(--ukp-ease); }
html.ukm-pro .ukp-auth .has-feedback:focus-within .form-control-feedback { color: var(--ukp-brand); transform: scale(1.12); }
html.ukm-pro .ukp-auth .ukp-has-eye .fa-lock { display: none; }
.ukp-eye {
    position: absolute; right: 6px; top: 7px; z-index: 3;
    width: 40px; height: 40px;
    display: grid; place-items: center;
    border: 0; border-radius: 10px;
    background: transparent; color: #94a3b8;
    cursor: pointer;
    transition: background-color .2s, color .2s;
}
.ukp-eye:hover, .ukp-eye:focus-visible { background: var(--ukp-tint); color: var(--ukp-brand); outline: 0; }
.ukp-eye svg { width: 19px; height: 19px; }

/* Bouton : remplissage plein qui balaie au survol + onde au clic */
html.ukm-pro .ukp-auth .loginbg button[type="submit"],
html.ukm-pro .ukp-auth .loginbg button.btn,
html.ukm-pro .ukp-auth .form-bottom form button.btn {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    width: 100%;
    height: 54px; line-height: 54px;
    margin-top: 8px;
    border: 0;
    border-radius: 12px;
    background: var(--ukp-brand) !important;
    background-image: none !important;
    color: #fff;
    font-family: var(--ukp-font);
    font-size: 15px; font-weight: 700; letter-spacing: .01em;
    box-shadow: 0 1px 2px rgba(15, 23, 42, .12), 0 10px 22px -12px var(--ukp-brand);
    filter: none;
    transition: transform .3s var(--ukp-ease), box-shadow .3s var(--ukp-ease);
}
html.ukm-pro .ukp-auth .loginbg button[type="submit"]::before,
html.ukm-pro .ukp-auth .loginbg button.btn::before {
    content: "";
    position: absolute; inset: 0; z-index: -1;
    background: var(--ukp-hover, var(--ukp-deep));
    transform: scaleX(0);
    transform-origin: right center;
    transition: transform .55s var(--ukp-ease);
}
html.ukm-pro .ukp-auth .loginbg button[type="submit"]:hover::before,
html.ukm-pro .ukp-auth .loginbg button.btn:hover::before { transform: scaleX(1); transform-origin: left center; }
html.ukm-pro .ukp-auth .loginbg button[type="submit"]:hover,
html.ukm-pro .ukp-auth .loginbg button.btn:hover {
    background: var(--ukp-brand) !important;
    transform: translateY(-1px);
    box-shadow: 0 1px 2px rgba(15, 23, 42, .12), 0 16px 28px -14px var(--ukp-deep);
    filter: none;
}
html.ukm-pro .ukp-auth .loginbg button[type="submit"]:active { transform: translateY(0) scale(.99); }
.ukp-btn-label { position: relative; display: inline-flex; align-items: center; gap: 10px; }
.ukp-btn-label svg { width: 18px; height: 18px; transition: transform .45s var(--ukp-ease); }
button:hover .ukp-btn-label svg { transform: translateX(4px); }
.ukp-ripple {
    position: absolute; z-index: 0;
    width: 12px; height: 12px; margin: -6px 0 0 -6px;
    border-radius: 50%;
    background: rgba(255, 255, 255, .35);
    pointer-events: none;
    animation: ukpRipple .7s var(--ukp-ease) forwards;
}
.ukp-busy .ukp-btn-label { opacity: 0; }
.ukp-busy::after {
    content: "";
    position: absolute; left: 50%; top: 50%;
    width: 20px; height: 20px; margin: -10px 0 0 -10px;
    border-radius: 50%;
    border: 2px solid rgba(255, 255, 255, .35);
    border-top-color: #fff;
    animation: ukpSpin .7s linear infinite;
}

html.ukm-pro .ukp-auth a.forgot {
    display: inline-flex; align-items: center; gap: 8px;
    margin-top: 18px;
    color: var(--ukp-muted);
    font-size: 13.5px; font-weight: 600;
    text-align: left;
    background-image: none;
}
html.ukm-pro .ukp-auth a.forgot:hover { color: var(--ukp-brand); }
html.ukm-pro .ukp-auth .loginbg .alert { border-radius: 12px; border: 1px solid transparent; font-size: 13.5px; }
html.ukm-pro .ukp-auth .loginbg .alert-danger { background: #fdf0f1; border-color: #f6d4d8; color: #a4132a; }
html.ukm-pro .ukp-auth .loginbg .alert-success { background: var(--ukp-tint); border-color: color-mix(in srgb, var(--ukp-brand) 20%, transparent); color: var(--ukp-brand-dark); }

/* Colonne de la scène : CLAIRE (v2), couleur pleine selon l'espace
   --ukp-scene  = fond      --ukp-acc = couleur d'accent de l'espace */
html.ukm-pro .ukp-auth {
    --ukp-scene: var(--ukp-tint);
    --ukp-acc: var(--ukp-brand);
    --ukp-acc-ink: var(--ukp-brand-dark);
    --ukp-acc-soft: color-mix(in srgb, var(--ukp-acc) 12%, #fff);
}
html.ukm-pro .ukp-auth.ukp-space-student {
    --ukp-scene: #f7f4ec;
    --ukp-acc: var(--ukp-gold);
    --ukp-acc-ink: #7d6020;
    --ukp-acc-soft: #f1ebdc;
}
html.ukm-pro:not([data-ukm-theme]) .ukp-auth.ukp-space-staff,
html.ukm-pro[data-ukm-theme="emeraude"] .ukp-auth.ukp-space-staff { --ukp-scene: #eef2f8; --ukp-acc-soft: #dfe7f2; }
html.ukm-pro[data-ukm-theme="minuit"] .ukp-auth { --ukp-scene: #0d1626; --ukp-acc-soft: #12283a; }
html.ukm-pro[data-ukm-theme="minuit"] .ukp-auth.ukp-space-student { --ukp-scene: #17140c; --ukp-acc-ink: #e3c27a; --ukp-acc-soft: #2a2414; }

html.ukm-pro .ukp-auth .nopadding-2 { position: relative; }
html.ukm-pro .ukp-auth .text-wrap {
    position: relative;
    min-height: 100vh;
    height: 100%;
    background: var(--ukp-scene) !important;
    background-image: none !important;
    overflow: hidden;
    isolation: isolate;
}
html.ukm-pro .ukp-auth .text-wrap::before,
html.ukm-pro .ukp-auth .text-wrap::after,
html.ukm-pro .ukp-auth .bg-shadow-remove::after { display: none !important; content: none !important; }
html.ukm-pro .ukp-auth .text-wrap > div.ukp-inner { position: relative; z-index: 3; width: min(88%, 640px); }
/* Grand cercle plein, décalé, qui donne du relief sans dégradé */
.ukp-disc {
    position: absolute; z-index: 0; pointer-events: none;
    width: 74vmin; height: 74vmin; right: -18vmin; top: -20vmin;
    border-radius: 50%;
    background: var(--ukp-acc-soft);
}
.ukp-disc--b { width: 34vmin; height: 34vmin; right: auto; left: -10vmin; top: auto; bottom: -12vmin; background: transparent; border: 1px solid color-mix(in srgb, var(--ukp-acc) 22%, transparent); }
html.ukm-pro-motion .ukp-disc { animation: ukpDisc 14s ease-in-out infinite alternate; }
html.ukm-pro-motion .ukp-disc--b { animation-duration: 18s; animation-direction: alternate-reverse; }
@keyframes ukpDisc { from { transform: translate3d(0, 0, 0) scale(1); } to { transform: translate3d(-2.5vmin, 2vmin, 0) scale(1.05); } }
.ukp-photo { display: none; }
.ukp-grid {
    position: absolute; inset: 0; z-index: 0;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='56' height='56'%3E%3Cpath d='M56 0H0v56' fill='none' stroke='%230f172a' stroke-opacity='.045'/%3E%3C/svg%3E");
    pointer-events: none;
}
html.ukm-pro[data-ukm-theme="minuit"] .ukp-grid { filter: invert(1); }
.ukp-canvas { position: absolute; inset: 0; z-index: 1; width: 100%; height: 100%; pointer-events: none; }
.ukp-stage {
    position: relative; z-index: 2;
    display: flex; flex-direction: column; align-items: center;
    text-align: center;
    color: var(--ukp-ink);
    font-family: var(--ukp-font);
    padding: 40px 24px;
}
.ukp-space {
    display: inline-flex; align-items: center; gap: 9px;
    position: relative; z-index: 4;
    margin-bottom: clamp(56px, 6vw, 84px);
    padding: 7px 15px 7px 8px;
    border-radius: 999px;
    background: var(--ukp-surface);
    border: 1px solid color-mix(in srgb, var(--ukp-acc) 30%, transparent);
    color: var(--ukp-acc-ink);
    font-size: 12px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase;
    box-shadow: var(--ukp-shadow);
}
.ukp-space span { width: 26px; height: 26px; border-radius: 50%; display: grid; place-items: center; background: var(--ukp-acc); color: #fff; }
.ukp-space svg { width: 15px; height: 15px; }
.ukp-seal-wrap {
    position: relative;
    width: clamp(210px, 23vw, 300px);
    aspect-ratio: 1;
    display: grid; place-items: center;
    will-change: transform;
}
.ukp-ring { position: absolute; inset: 0; border-radius: 50%; border: 1px solid color-mix(in srgb, var(--ukp-acc) 26%, transparent); }
.ukp-ring--2 { inset: -14%; border-color: color-mix(in srgb, var(--ukp-acc) 16%, transparent); }
.ukp-ring--3 { inset: -30%; border-color: color-mix(in srgb, var(--ukp-acc) 12%, transparent); border-style: dashed; }
.ukp-ring--gold { inset: 6%; border: 1.5px solid var(--ukp-gold); opacity: .9; }
.ukp-orbit { position: absolute; inset: -14%; border-radius: 50%; }
.ukp-orbit i {
    position: absolute; top: -5px; left: 50%;
    width: 10px; height: 10px; margin-left: -5px;
    border-radius: 50%;
    background: var(--ukp-gold);
    box-shadow: 0 0 0 4px color-mix(in srgb, var(--ukp-gold) 22%, transparent);
}
.ukp-orbit--b { inset: -30%; }
.ukp-orbit--b i { width: 7px; height: 7px; margin-left: -3.5px; top: -3.5px; background: var(--ukp-brand); box-shadow: none; }
.ukp-textring { position: absolute; inset: -6%; width: 112%; height: 112%; }
.ukp-textring text { fill: var(--ukp-acc-ink); opacity: .7; font: 700 10.5px var(--ukp-font); letter-spacing: 3.2px; text-transform: uppercase; }
.ukp-seal {
    position: relative;
    width: 70%; aspect-ratio: 1;
    border-radius: 50%;
    background: #fff;
    padding: 4%;
    box-shadow: 0 24px 50px -22px rgba(15, 23, 42, .35), 0 0 0 8px var(--ukp-surface);
}
.ukp-seal img { width: 100%; height: 100%; object-fit: contain; border-radius: 50%; display: block; }
.ukp-sheen { position: absolute; inset: 0; border-radius: 50%; overflow: hidden; pointer-events: none; }
.ukp-sheen::before {
    content: ""; position: absolute; top: -10%; bottom: -10%; width: 22%; left: -40%;
    background: rgba(255, 255, 255, .6);
    transform: skewX(-18deg);
    filter: blur(6px);
}
.ukp-stage h2 {
    max-width: 560px;
    margin: 44px auto 12px;
    color: var(--ukp-ink);
    font-family: var(--ukp-font);
    font-size: clamp(26px, 2.6vw, 40px);
    font-weight: 800;
    letter-spacing: -.03em;
    line-height: 1.08;
}
.ukp-stage h2 em { font-style: normal; color: var(--ukp-acc-ink); }
html.ukm-pro:not([data-ukm-theme]) .ukp-stage h2 em,
html.ukm-pro[data-ukm-theme="emeraude"] .ukp-stage h2 em { color: #a67f2c; }
.ukp-quote { margin: 0 auto; max-width: 470px; color: var(--ukp-muted); font-size: 15px; line-height: 1.6; font-weight: 500; }
.ukp-chips { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin-top: 26px; }
.ukp-chip {
    display: inline-flex; align-items: center; gap: 8px;
    padding: 9px 15px;
    border-radius: 999px;
    border: 1px solid var(--ukp-line);
    background: var(--ukp-surface);
    color: var(--ukp-text);
    font-size: 12.5px; font-weight: 700;
    box-shadow: var(--ukp-shadow-sm);
    transition: transform .4s var(--ukp-ease), border-color .3s, box-shadow .4s var(--ukp-ease);
}
.ukp-chip:hover { transform: translateY(-3px); border-color: color-mix(in srgb, var(--ukp-acc) 40%, transparent); box-shadow: var(--ukp-shadow); }
.ukp-chip svg { width: 15px; height: 15px; color: var(--ukp-acc); }
.ukp-corner { position: absolute; z-index: 2; color: var(--ukp-muted); font: 700 11px var(--ukp-font); letter-spacing: .16em; text-transform: uppercase; }
.ukp-corner--tl { top: 28px; left: 32px; }
.ukp-corner--br { bottom: 26px; right: 32px; display: flex; align-items: center; gap: 10px; }
.ukp-corner--br b { display: inline-block; width: 36px; height: 1px; background: currentColor; opacity: .5; }

/* ----- Espace ÉTUDIANTS & PARENTS : mise en page miroir + cartes flottantes ----- */
@media (min-width: 992px) {
    html.ukm-pro .ukp-auth.ukp-space-student .bgoffsetbg { flex-direction: row-reverse; }
    html.ukm-pro .ukp-auth.ukp-space-student .bgoffsetbg > .nopadding { border-right: 0; border-left: 1px solid var(--ukp-line); }
    html.ukm-pro .ukp-auth.ukp-space-student .ukp-authfoot { left: 6%; right: 84px; }
    html.ukm-pro .ukp-auth.ukp-space-student .ukp-disc { right: auto; left: -18vmin; }
    html.ukm-pro .ukp-auth.ukp-space-student .ukp-disc--b { left: auto; right: -10vmin; }
    html.ukm-pro .ukp-auth.ukp-space-student .ukp-corner--tl { left: auto; right: 32px; }
    html.ukm-pro .ukp-auth.ukp-space-student .ukp-corner--br { right: auto; left: 96px; }
}
.ukp-cards { position: absolute; inset: 0; z-index: 6; pointer-events: none; }
.ukp-card {
    position: absolute;
    display: flex; align-items: center; gap: 11px;
    min-width: 168px;
    padding: 11px 15px 11px 11px;
    border-radius: 16px;
    background: var(--ukp-surface);
    border: 1px solid var(--ukp-line);
    box-shadow: 0 18px 36px -18px rgba(15, 23, 42, .32);
    text-align: left;
    font-family: var(--ukp-font);
}
.ukp-card > span { flex: none; width: 36px; height: 36px; border-radius: 11px; display: grid; place-items: center; color: #fff; }
.ukp-card > span svg { width: 18px; height: 18px; }
.ukp-card small { display: block; color: var(--ukp-muted); font-size: 11px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.ukp-card b { display: block; color: var(--ukp-ink); font-size: 14.5px; font-weight: 800; letter-spacing: -.01em; }
.ukp-card--1 { left: -34%; top: 6%; }
.ukp-card--1 > span { background: var(--ukp-brand); }
.ukp-card--2 { right: -38%; top: 40%; }
.ukp-card--2 > span { background: var(--ukp-gold); }
.ukp-card--3 { left: -26%; bottom: -2%; }
.ukp-card--3 > span { background: var(--ukp-ink); }
html.ukm-pro[data-ukm-theme="minuit"] .ukp-card--3 > span { background: #334155; }
.ukp-card .ukp-bar { display: block; width: 100%; height: 4px; margin-top: 6px; border-radius: 4px; background: var(--ukp-line-2); overflow: hidden; }
.ukp-card .ukp-bar i { display: block; height: 100%; width: 78%; background: var(--ukp-brand); transform-origin: left center; }
html.ukm-pro-motion .ukp-card { animation: ukpCardIn 1s var(--ukp-ease) both, ukpFloat 6s ease-in-out infinite alternate; }
html.ukm-pro-motion .ukp-card--1 { animation-delay: 1.5s, 2.5s; }
html.ukm-pro-motion .ukp-card--2 { animation-delay: 1.7s, 3.3s; }
html.ukm-pro-motion .ukp-card--3 { animation-delay: 1.9s, 2.9s; }
html.ukm-pro-motion .ukp-card .ukp-bar i { animation: ukpGrowX 1.4s var(--ukp-ease) 2.4s both; }
@keyframes ukpCardIn { from { opacity: 0; transform: translate3d(0, 18px, 0) scale(.92); } to { opacity: 1; transform: none; } }
@keyframes ukpFloat { from { translate: 0 0; } to { translate: 0 -10px; } }
@keyframes ukpGrowX { from { transform: scaleX(0); } to { transform: none; } }
@media (max-width: 1199px) { .ukp-card--1 { left: -22%; } .ukp-card--2 { right: -24%; } .ukp-card--3 { left: -14%; } }
@media (max-width: 767px) { .ukp-cards { display: none; } }

/* Annonces (si l'école en publie) — sur fond clair */
html.ukm-pro .ukp-auth .h3 { color: var(--ukp-ink); font-family: var(--ukp-font); font-size: 18px; font-weight: 800; margin: 26px 0 12px; text-align: left; }
html.ukm-pro .ukp-auth .loginright {
    height: auto; max-height: 30vh;
    padding: 18px 20px;
    border-radius: 14px;
    background: var(--ukp-surface);
    border: 1px solid var(--ukp-line);
    -webkit-backdrop-filter: none; backdrop-filter: none;
    box-shadow: var(--ukp-shadow);
}
html.ukm-pro .ukp-auth .loginright h4,
html.ukm-pro .ukp-auth .loginright h4 a { color: var(--ukp-ink) !important; font-size: 14.5px; font-weight: 700; }
html.ukm-pro .ukp-auth .loginright p { color: var(--ukp-text) !important; }
html.ukm-pro .ukp-auth a.more { color: var(--ukp-acc-ink); }
html.ukm-pro .ukp-auth.ukp-has-news .ukp-seal-wrap { width: clamp(150px, 15vw, 200px); }
html.ukm-pro .ukp-auth.ukp-has-news .ukp-stage { padding-bottom: 0; }
html.ukm-pro .ukp-auth.ukp-has-news .ukp-stage h2 { margin-top: 30px; font-size: clamp(22px, 2vw, 30px); }
html.ukm-pro .ukp-auth.ukp-has-news .ukp-chips,
html.ukm-pro .ukp-auth.ukp-has-news .ukp-cards { display: none; }

/* Panneau formulaire : repère de l'espace */
html.ukm-pro .ukp-auth .ukp-eyebrow { background: var(--ukp-acc-soft); color: var(--ukp-acc-ink); }
html.ukm-pro .ukp-auth .ukp-eyebrow i { background: var(--ukp-acc); }
html.ukm-pro .ukp-auth .bgoffsetbg > .nopadding::before {
    content: ""; position: absolute; left: 0; right: 0; top: 0; height: 4px;
    background: var(--ukp-acc);
    transform-origin: left center;
}
html.ukm-pro-motion .ukp-auth .bgoffsetbg > .nopadding::before { animation: ukpLine 1.1s var(--ukp-ease) .7s both; }
.ukp-switch {
    display: flex; align-items: center; gap: 12px;
    margin-top: 26px; padding: 13px 14px;
    border-radius: 14px;
    border: 1px dashed var(--ukp-line-2);
    color: var(--ukp-text);
    font-size: 13px; font-weight: 600; line-height: 1.35;
    text-decoration: none !important;
    transition: border-color .3s, background-color .3s;
}
.ukp-switch:hover { border-style: solid; border-color: var(--ukp-brand); background: var(--ukp-tint); color: var(--ukp-ink); }
.ukp-switch > span { flex: none; width: 34px; height: 34px; border-radius: 10px; display: grid; place-items: center; background: var(--ukp-page); color: var(--ukp-brand); }
.ukp-space-staff .ukp-switch > span { color: var(--ukp-gold); }
.ukp-switch svg { width: 17px; height: 17px; }
.ukp-switch > div { text-align: left; }
.ukp-switch b { display: block; color: var(--ukp-ink); font-weight: 800; }
.ukp-switch em { margin-left: auto; font-style: normal; color: var(--ukp-muted); transition: transform .4s var(--ukp-ease); }
.ukp-switch:hover em { transform: translateX(4px); color: var(--ukp-brand); }
html.ukm-pro-motion .ukp-switch { animation: ukpFadeUp .8s var(--ukp-ease) 1.5s both; }

/* Pages « mot de passe oublié / réinitialisation » (carte centrée) */
html.ukm-pro .ukp-auth .bgwhite,
html.ukm-pro .ukp-auth .shadow_bg {
    background: var(--ukp-surface);
    border: 1px solid var(--ukp-line);
    border-radius: 20px;
    -webkit-backdrop-filter: none; backdrop-filter: none;
    box-shadow: var(--ukp-shadow-lg);
}

/* Rideau d'ouverture (posé dès le <head> : aucune page visible avant) */
html.ukm-pro-motion.ukp-is-auth::after {
    content: "";
    position: fixed; inset: 0; z-index: 99999;
    pointer-events: none;
    background: var(--ukp-surface);
    animation: ukpCurtain 1s var(--ukp-ease-io) .15s forwards;
}
html.ukm-pro-motion.ukp-is-auth::before {
    content: "";
    position: fixed; left: 50%; top: 50%; z-index: 100000;
    width: 120px; height: 2px; margin-left: -60px;
    pointer-events: none;
    background: var(--ukp-gold);
    transform-origin: left center;
    animation: ukpLine .5s var(--ukp-ease) both, ukpFadeOut .3s ease .45s forwards;
}
@keyframes ukpLine { from { transform: scaleX(0); } to { transform: scaleX(1); } }
@keyframes ukpFadeOut { to { opacity: 0; } }

/* Entrées */
html.ukm-pro-motion .ukp-auth .ukp-brandbar { animation: ukpFadeDown .9s var(--ukp-ease) .55s both; }
html.ukm-pro-motion .ukp-auth .logowidth img { animation: ukpPop .9s var(--ukp-ease) .5s both; }
html.ukm-pro-motion .ukp-auth .ukp-eyebrow { animation: ukpFadeUp .8s var(--ukp-ease) .6s both; }
html.ukm-pro-motion .ukp-auth .form-bottom h3.font-white::after { animation: ukpFadeUp .8s var(--ukp-ease) .8s both; }
html.ukm-pro-motion .ukp-auth .loginbg form > *,
html.ukm-pro-motion .ukp-auth .loginbg a.forgot,
html.ukm-pro-motion .ukp-auth .loginbg .alert { animation: ukpFadeUp .8s var(--ukp-ease) both; animation-delay: calc(.9s + var(--i, 0) * 90ms); }
html.ukm-pro-motion .ukp-auth .ukp-authfoot { animation: ukpFade 1s ease 1.4s both; }
html.ukm-pro-motion .ukp-auth .text-wrap { animation: ukpWipe 1.3s var(--ukp-ease-io) .3s both; }
html.ukm-pro-motion .ukp-seal-wrap { animation: ukpSealIn 1.4s var(--ukp-ease) .75s both; }
html.ukm-pro-motion .ukp-ring--gold { animation: ukpBreath 6s ease-in-out 2s infinite; }
html.ukm-pro-motion .ukp-ring--2 { animation: ukpPulseRing 5s ease-out 2.2s infinite; }
html.ukm-pro-motion .ukp-orbit { animation: ukpSpin 22s linear infinite; }
html.ukm-pro-motion .ukp-orbit--b { animation: ukpSpin 38s linear infinite reverse; }
html.ukm-pro-motion .ukp-textring { animation: ukpSpin 60s linear infinite; }
html.ukm-pro-motion .ukp-sheen::before { animation: ukpSheen 7s var(--ukp-ease-io) 2.2s infinite; }
html.ukm-pro-motion .ukp-stage h2 .ukp-w > span { animation-delay: calc(1.2s + var(--i, 0) * 80ms); }
html.ukm-pro-motion .ukp-quote { animation: ukpFadeUp 1s var(--ukp-ease) 1.6s both; }
html.ukm-pro-motion .ukp-chip { animation: ukpFadeUp .8s var(--ukp-ease) both; animation-delay: calc(1.8s + var(--i, 0) * 110ms); }
html.ukm-pro-motion .ukp-corner { animation: ukpFade 1.2s ease 2s both; }
html.ukm-pro-motion .ukp-auth .loginright,
html.ukm-pro-motion .ukp-auth .h3 { animation: ukpFadeUp .9s var(--ukp-ease) 1.9s both; }
html.ukm-pro-motion .ukp-auth .bgwhite,
html.ukm-pro-motion .ukp-auth .shadow_bg { animation: ukpFadeUp .9s var(--ukp-ease) .6s both; }

@media (max-width: 991px) {
    html.ukm-pro .ukp-auth .bgoffsetbg > .nopadding { padding: 96px 7% 80px; }
}
@media (max-width: 767px) {
    html.ukm-pro .ukp-auth .bgoffsetbg > .nopadding { min-height: 0; padding: 92px 20px 76px; border-right: 0; }
    html.ukm-pro .ukp-auth .bgoffsetbg > .nopadding .ukp-authfoot { position: static; margin-top: 36px; flex-direction: column; align-items: center; gap: 6px; text-align: center; }
    html.ukm-pro .ukp-auth .text-wrap { min-height: 0; height: auto; padding: 48px 0 64px; }
    html.ukm-pro-motion .ukp-auth .text-wrap { animation: none; }
    .ukp-seal-wrap { width: 190px; }
    .ukp-ring--3, .ukp-orbit--b { display: none; }
    .ukp-corner--tl { display: none; }
    .ukp-stage h2 { margin-top: 34px; }
}

/* ---------------------------------------------------------------------
   2. SÉLECTEUR DE THÈMES — boutons pleins
   --------------------------------------------------------------------- */
html.ukm-pro .ukm-tp-fab {
    background: var(--ukp-deep) !important;
    border-radius: 14px;
    box-shadow: 0 10px 24px -12px rgba(15, 23, 42, .6);
}
html.ukm-pro .ukm-tp-fab:hover { background: var(--ukp-brand) !important; filter: none; }
html.ukm-pro .ukm-tp__preview b { background: var(--b) !important; }

/* ---------------------------------------------------------------------
   3. SITE PUBLIC (thème Front CMS « default », ukm-front.css)
   --------------------------------------------------------------------- */
html.ukm-pro body.ukp-front {
    background: var(--ukp-page) !important;
    background-image: none !important;
    color: var(--ukp-text);
}
html.ukm-pro body.ukp-front h1, html.ukm-pro body.ukp-front h2, html.ukm-pro body.ukp-front h3 { color: var(--ukp-ink); }
html.ukm-pro body.ukp-front .ukm-hero h1, html.ukm-pro body.ukp-front .ukm-contact .ukm-title, html.ukm-pro body.ukp-front .ukm-contact h2, html.ukm-pro body.ukp-front .ukm-price--total * { color: #fff; }
/* Barre de progression de lecture */
.ukp-progress {
    position: fixed; left: 0; top: 0; right: 0; z-index: 2000;
    height: 3px;
    background: var(--ukp-gold);
    transform: scaleX(0); transform-origin: left center;
    pointer-events: none;
}
/* Bandeau supérieur + en-tête */
html.ukm-pro .ukp-front .toparea { background: var(--ukp-deep) !important; background-image: none !important; }
html.ukm-pro .ukp-front .toparea .top-right li a { background: transparent !important; border-color: rgba(255, 255, 255, .3) !important; transition: background-color .3s, color .3s, border-color .3s; }
html.ukm-pro .ukp-front .toparea .top-right li a:hover { background: #fff !important; color: var(--ukp-deep) !important; border-color: #fff !important; }
html.ukm-pro .ukp-front .toparea .top-right li a:hover i { color: var(--ukp-deep) !important; }
html.ukm-pro .ukp-front header {
    background: var(--ukp-surface) !important;
    -webkit-backdrop-filter: none; backdrop-filter: none;
    border-bottom: 1px solid var(--ukp-line);
    box-shadow: none !important;
    transition: box-shadow .4s var(--ukp-ease);
}
html.ukm-pro .ukp-front.ukp-scrolled header { box-shadow: 0 10px 30px -18px rgba(15, 23, 42, .35) !important; }
html.ukm-pro .ukp-front header .navbar-nav > li > a { position: relative; background: transparent !important; color: var(--ukp-text) !important; }
html.ukm-pro .ukp-front header .navbar-nav > li > a::after {
    content: ""; position: absolute; left: 14px; right: 14px; bottom: 6px; height: 2px; border-radius: 2px;
    background: var(--ukp-brand);
    transform: scaleX(0); transform-origin: right center;
    transition: transform .45s var(--ukp-ease);
}
html.ukm-pro .ukp-front header .navbar-nav > li > a:hover::after,
html.ukm-pro .ukp-front header .navbar-nav > li.active > a::after { transform: scaleX(1); transform-origin: left center; }
html.ukm-pro .ukp-front header .navbar-nav > li > a:hover { color: var(--ukp-brand) !important; }
html.ukm-pro .ukp-front header .navbar-nav > li.active > a,
html.ukm-pro .ukp-front header .navbar-nav > li.active > a:hover {
    background: transparent !important; background-image: none !important;
    color: var(--ukp-ink) !important; box-shadow: none !important; font-weight: 700;
}
html.ukm-pro .ukp-front header .navbar-toggle { background: var(--ukp-deep) !important; background-image: none !important; box-shadow: none; }
html.ukm-pro .ukp-front header .dropdown-menu { background: var(--ukp-surface); -webkit-backdrop-filter: none; backdrop-filter: none; border: 1px solid var(--ukp-line); box-shadow: var(--ukp-shadow-lg); }
html.ukm-pro-motion .ukp-front header .open > .dropdown-menu > li { animation: ukpFadeUp .45s var(--ukp-ease) both; }
html.ukm-pro-motion .ukp-front header .open > .dropdown-menu > li:nth-child(2) { animation-delay: .04s; }
html.ukm-pro-motion .ukp-front header .open > .dropdown-menu > li:nth-child(3) { animation-delay: .08s; }
html.ukm-pro-motion .ukp-front header .open > .dropdown-menu > li:nth-child(n+4) { animation-delay: .12s; }

/* Boutons pleins */
html.ukm-pro .ukp-front .onlineformbtn,
html.ukm-pro .ukp-front .btn-primary,
html.ukm-pro .ukp-front .contact-form .btn,
html.ukm-pro .ukp-front .btn-success {
    background: var(--ukp-brand) !important; background-image: none !important;
    box-shadow: 0 8px 18px -12px var(--ukp-brand);
    transition: background-color .3s, transform .3s var(--ukp-ease);
}
html.ukm-pro .ukp-front .onlineformbtn:hover,
html.ukm-pro .ukp-front .btn-primary:hover,
html.ukm-pro .ukp-front .contact-form .btn:hover,
html.ukm-pro .ukp-front .btn-success:hover { background: var(--ukp-hover, var(--ukp-deep)) !important; transform: translateY(-1px); }
html.ukm-pro .ukp-front .ukm-btn { position: relative; overflow: hidden; isolation: isolate; transition: transform .35s var(--ukp-ease), background-color .3s, color .3s, border-color .3s; }
html.ukm-pro .ukp-front .ukm-btn--primary {
    background: var(--ukp-gold) !important; background-image: none !important;
    color: #1a1406 !important;
    box-shadow: 0 12px 26px -14px rgba(0, 0, 0, .55);
    filter: none !important;
}
html.ukm-pro .ukp-front .ukm-btn--primary::before {
    content: ""; position: absolute; inset: 0; z-index: -1;
    background: #fff;
    transform: translateY(101%);
    transition: transform .5s var(--ukp-ease);
}
html.ukm-pro .ukp-front .ukm-btn--primary:hover::before { transform: none; }
html.ukm-pro .ukp-front .ukm-section .ukm-btn--primary,
html.ukm-pro .ukp-front .ukm-card .ukm-btn--primary { background: var(--ukp-brand) !important; color: #fff !important; }
html.ukm-pro .ukp-front .ukm-section .ukm-btn--primary::before,
html.ukm-pro .ukp-front .ukm-card .ukm-btn--primary::before { background: var(--ukp-deep); }
html.ukm-pro .ukp-front .ukm-btn--glass {
    background: transparent !important; border: 1px solid rgba(255, 255, 255, .5) !important;
    -webkit-backdrop-filter: none; backdrop-filter: none;
}
html.ukm-pro .ukp-front .ukm-btn--glass:hover { background: #fff !important; color: var(--ukp-deep) !important; }
html.ukm-pro .ukp-front .ukm-btn i { transition: transform .4s var(--ukp-ease); }
html.ukm-pro .ukp-front .ukm-btn:hover i { transform: translateX(2px) rotate(-8deg); }

/* Hero : photo teintée en couleur pleine (aucun dégradé) */
html.ukm-pro .ukp-front .ukm-hero {
    position: relative;
    isolation: isolate;
    background: var(--ukp-deep) !important;
    background-image: none !important;
}
html.ukm-pro .ukp-front .ukm-hero::before {
    content: "";
    position: absolute; inset: -6% 0;
    z-index: -2;
    background: var(--ukm-hero-img) center 30% / cover no-repeat;
    opacity: 1;
    transform: translate3d(0, var(--ukp-par, 0px), 0) scale(1.06);
    will-change: transform;
}
html.ukm-pro .ukp-front .ukm-hero::after {
    content: "";
    position: absolute; inset: 0;
    z-index: -1;
    width: auto; height: auto;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='64' height='64'%3E%3Cpath d='M64 0H0v64' fill='none' stroke='%23ffffff' stroke-opacity='.06'/%3E%3C/svg%3E") color-mix(in srgb, var(--ukp-deep) 74%, transparent);
    border-radius: 0;
}
html.ukm-pro-motion .ukp-front .ukm-hero::before { animation: ukpKen 22s ease-in-out infinite alternate; }
html.ukm-pro .ukp-front .ukm-hero .ukp-canvas { z-index: 0; }
html.ukm-pro .ukp-front .ukm-hero__inner { z-index: 2; }
html.ukm-pro .ukp-front .ukm-chip {
    background: transparent; border-color: rgba(255, 255, 255, .28);
    -webkit-backdrop-filter: none; backdrop-filter: none;
    color: rgba(255, 255, 255, .9);
}
html.ukm-pro .ukp-front .ukm-chip i { color: var(--ukp-gold); }
html.ukm-pro .ukp-front .ukm-hero h1 { color: #fff; text-shadow: none; }
html.ukm-pro .ukp-front .ukm-hero h1::after {
    content: ""; display: block;
    width: 96px; height: 3px; margin-top: 22px;
    background: var(--ukp-gold);
    transform-origin: left center;
}
html.ukm-pro-motion .ukp-front .ukm-hero h1::after { animation: ukpLine 1s var(--ukp-ease) 1.1s both; }
html.ukm-pro .ukp-front .ukm-hero__motto { color: var(--ukp-gold) !important; }
html.ukm-pro .ukp-front .ukm-stat {
    position: relative;
    overflow: hidden;
    background: rgba(255, 255, 255, .05) !important;
    border: 1px solid rgba(255, 255, 255, .14) !important;
    -webkit-backdrop-filter: none !important; backdrop-filter: none !important;
    border-radius: 18px;
    transition: transform .5s var(--ukp-ease), background-color .4s, border-color .4s;
}
html.ukm-pro .ukp-front .ukm-stat::before {
    content: ""; position: absolute; left: 0; top: 0; height: 2px; width: 100%;
    background: var(--ukp-gold);
    transform: scaleX(0); transform-origin: left center;
    transition: transform .6s var(--ukp-ease);
}
html.ukm-pro .ukp-front .ukm-stat:hover { background: rgba(255, 255, 255, .09) !important; border-color: rgba(255, 255, 255, .26) !important; transform: translateY(-6px); }
html.ukm-pro .ukp-front .ukm-stat:hover::before { transform: scaleX(1); }
html.ukm-pro .ukp-front .ukm-stat i { color: var(--ukp-gold); }
html.ukm-pro .ukp-front .ukm-stat strong { font-variant-numeric: tabular-nums; }
html.ukm-pro-motion .ukp-front .ukm-hero .ukm-chip { animation: ukpFadeUp .9s var(--ukp-ease) .2s both; }
html.ukm-pro-motion .ukp-front .ukm-hero h1 .ukp-w > span { animation-delay: calc(.35s + var(--i, 0) * 90ms); }
html.ukm-pro-motion .ukp-front .ukm-hero__lead { animation: ukpFadeUp .9s var(--ukp-ease) .8s both; }
html.ukm-pro-motion .ukp-front .ukm-hero__motto { animation: ukpFadeUp .9s var(--ukp-ease) .95s both; }
html.ukm-pro-motion .ukp-front .ukm-hero__cta > * { animation: ukpFadeUp .9s var(--ukp-ease) both; }
html.ukm-pro-motion .ukp-front .ukm-hero__cta > :nth-child(1) { animation-delay: 1.05s; }
html.ukm-pro-motion .ukp-front .ukm-hero__cta > :nth-child(2) { animation-delay: 1.15s; }
html.ukm-pro-motion .ukp-front .ukm-hero__cta > :nth-child(3) { animation-delay: 1.25s; }
html.ukm-pro-motion .ukp-front .ukm-stat { animation: ukpStatIn 1s var(--ukp-ease) both; }
html.ukm-pro-motion .ukp-front .ukm-stat:nth-child(1) { animation-delay: .6s; }
html.ukm-pro-motion .ukp-front .ukm-stat:nth-child(2) { animation-delay: .72s; }
html.ukm-pro-motion .ukp-front .ukm-stat:nth-child(3) { animation-delay: .84s; }
html.ukm-pro-motion .ukp-front .ukm-stat:nth-child(4) { animation-delay: .96s; }

/* Accès rapide */
html.ukm-pro .ukp-front .ukm-quicknav {
    background: var(--ukp-surface) !important;
    -webkit-backdrop-filter: none !important; backdrop-filter: none !important;
    border: 1px solid var(--ukp-line) !important;
    box-shadow: var(--ukp-shadow-lg) !important;
}
html.ukm-pro .ukp-front .ukm-quicknav a { transition: background-color .3s, color .3s; }
html.ukm-pro .ukp-front .ukm-quicknav a:hover { background: var(--ukp-hover, var(--ukp-deep)) !important; color: #fff !important; }
html.ukm-pro .ukp-front .ukm-quicknav a:hover i { color: var(--ukp-gold) !important; }
html.ukm-pro-motion .ukp-front .ukm-quicknav { animation: ukpFadeUp 1s var(--ukp-ease) 1.2s both; }

/* Sections, cartes */
html.ukm-pro .ukp-front .ukm-band { background: var(--ukp-surface) !important; background-image: none !important; }
html.ukm-pro .ukp-front .ukm-eyebrow { color: var(--ukp-brand) !important; }
html.ukm-pro .ukp-front .ukm-eyebrow::before { background: var(--ukp-gold) !important; background-image: none !important; }
html.ukm-pro .ukp-front .ukm-card {
    background: var(--ukp-surface) !important;
    -webkit-backdrop-filter: none !important; backdrop-filter: none !important;
    border: 1px solid var(--ukp-line) !important;
    box-shadow: var(--ukp-shadow) !important;
}
html.ukm-pro .ukp-front .ukm-band .ukm-card { background: var(--ukp-page) !important; }
html.ukm-pro .ukp-front .ukm-card:hover { box-shadow: var(--ukp-shadow-lg) !important; border-color: color-mix(in srgb, var(--ukp-brand) 30%, transparent) !important; }
html.ukm-pro .ukp-front .ukm-feature i,
html.ukm-pro .ukp-front .ukm-cta > i,
html.ukm-pro .ukp-front .ukm-badge i {
    background: var(--ukp-deep) !important; background-image: none !important;
    color: var(--ukp-gold) !important;
    box-shadow: none !important;
    transition: transform .6s var(--ukp-ease), background-color .4s, color .4s;
}
html.ukm-pro .ukp-front .ukm-feature:hover i,
html.ukm-pro .ukp-front .ukm-cta:hover > i,
html.ukm-pro .ukp-front .ukm-badge:hover i { background: var(--ukp-brand) !important; color: #fff !important; transform: rotate(-8deg) scale(1.06); }
html.ukm-pro .ukp-front .ukm-faculty::before { background: var(--ukp-brand) !important; background-image: none !important; transform-origin: left center; transition: transform 1.2s var(--ukp-ease) .3s; }
html.ukm-pro .ukp-front .ukm-faculty--alt::before { background: var(--ukp-gold) !important; }
html.ukm-pro-motion.ukm-js .ukp-front .ukm-faculty:not(.is-in)::before { transform: scaleX(0); }
html.ukm-pro .ukp-front .ukm-faculty__icon { background: var(--ukp-tint) !important; color: var(--ukp-brand-dark) !important; }
html.ukm-pro .ukp-front .ukm-faculty--alt .ukm-faculty__icon { background: var(--ukp-gold-soft) !important; color: var(--ukp-gold) !important; }
html.ukm-pro .ukp-front .ukm-list li::before { background: var(--ukp-brand); box-shadow: none; }
html.ukm-pro .ukp-front .ukm-price--total { background: var(--ukp-deep) !important; background-image: none !important; }
html.ukm-pro .ukp-front .ukm-price--total strong small { color: var(--ukp-gold) !important; }
html.ukm-pro .ukp-front .ukm-steps div { background: var(--ukp-surface); -webkit-backdrop-filter: none; backdrop-filter: none; border: 1px solid var(--ukp-line); }
html.ukm-pro .ukp-front .ukm-steps b { background: var(--ukp-deep) !important; background-image: none !important; color: var(--ukp-gold); }
html.ukm-pro .ukp-front .ukm-events { background: var(--ukp-surface); -webkit-backdrop-filter: none; backdrop-filter: none; border: 1px solid var(--ukp-line); }
html.ukm-pro .ukp-front .ukm-news__date { background: var(--ukp-tint); color: var(--ukp-brand-dark); }
html.ukm-pro .ukp-front .ukm-contact {
    position: relative;
    background: var(--ukp-deep) !important; background-image: none !important;
}
html.ukm-pro .ukp-front .ukm-contact::before {
    content: ""; position: absolute; inset: 0; pointer-events: none; border-radius: inherit;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='48' height='48'%3E%3Cpath d='M48 0H0v48' fill='none' stroke='%23ffffff' stroke-opacity='.05'/%3E%3C/svg%3E");
}
html.ukm-pro .ukp-front .ukm-contact > * { position: relative; }
html.ukm-pro .ukp-front .ukm-contact .ukm-eyebrow { color: var(--ukp-gold) !important; }
html.ukm-pro .ukp-front .ukm-contact__list li { background: rgba(255, 255, 255, .05); -webkit-backdrop-filter: none; backdrop-filter: none; transition: background-color .3s, transform .4s var(--ukp-ease); }
html.ukm-pro .ukp-front .ukm-contact__list li:hover { background: rgba(255, 255, 255, .1); transform: translateX(4px); }
html.ukm-pro .ukp-front .ukm-contact__list i { color: var(--ukp-gold); }

/* Apparitions au défilement, en cascade (complète le script de home.php) */
html.ukm-pro-motion.ukm-js .ukp-front .ukm-reveal {
    opacity: 0;
    transform: translate3d(0, 34px, 0);
    transition: opacity 1s var(--ukp-ease), transform 1.1s var(--ukp-ease), box-shadow .6s var(--ukp-ease), border-color .4s;
    transition-delay: var(--ukp-d, 0s);
}
html.ukm-pro-motion.ukm-js .ukp-front .ukm-reveal.is-in { opacity: 1; transform: none; }
html.ukm-pro-motion.ukm-js .ukp-front .ukm-card.ukm-reveal.is-in:hover { transform: translate3d(0, -6px, 0); transition-delay: 0s; }
html.ukm-pro-motion .ukp-front .ukm-card:not(.ukm-reveal) { transition: transform .6s var(--ukp-ease), box-shadow .6s var(--ukp-ease), border-color .4s; }
html.ukm-pro-motion .ukp-front .ukm-card:not(.ukm-reveal):hover { transform: translate3d(0, -6px, 0); }
html.ukm-pro-motion.ukm-js .ukp-front .ukm-title .ukp-w > span { transform: translate3d(0, 110%, 0); transition: transform 1s var(--ukp-ease); transition-delay: calc(.1s + var(--i, 0) * 60ms); animation: none; }
html.ukm-pro-motion.ukm-js .ukp-front .is-in .ukm-title .ukp-w > span,
html.ukm-pro-motion.ukm-js .ukp-front .ukm-title.is-in .ukp-w > span { transform: none; }

/* Pied de page */
html.ukm-pro .ukp-front footer { background: var(--ukp-deep) !important; background-image: none !important; }
html.ukm-pro .ukp-front footer::before { background: var(--ukp-gold) !important; background-image: none !important; height: 2px; }
html.ukm-pro .ukp-front footer .fo-title:after { background: var(--ukp-gold) !important; }
html.ukm-pro .ukp-front footer .copy-right { background: rgba(0, 0, 0, .10) !important; }
html.ukm-pro .ukp-front footer a { transition: color .3s, padding-left .4s var(--ukp-ease); }
html.ukm-pro .ukp-front footer ul li a:hover { padding-left: 4px; }
html.ukm-pro .ukp-front footer .scrollToTop { background: var(--ukp-gold) !important; background-image: none !important; color: #1a1406 !important; box-shadow: 0 10px 22px -12px rgba(0, 0, 0, .6); }

/* Pages internes */
html.ukm-pro-motion .ukp-front .container.spacet50 > .row { animation: ukpFadeUp .9s var(--ukp-ease) .15s both; }
html.ukm-pro-motion .ukp-front .container.spacet50:has(.ukm-home) > .row { animation: none; }
html.ukm-pro .ukp-front .form-control:focus { border-color: var(--ukp-brand); box-shadow: 0 0 0 4px color-mix(in srgb, var(--ukp-brand) 14%, transparent); }

@keyframes ukpKen { from { transform: translate3d(0, var(--ukp-par, 0px), 0) scale(1.06); } to { transform: translate3d(-1.5%, var(--ukp-par, 0px), 0) scale(1.14); } }
@keyframes ukpStatIn { from { opacity: 0; transform: translate3d(0, 30px, 0) scale(.96); } to { opacity: 1; transform: none; } }

/* ---------------------------------------------------------------------
   4. ESPACE ADMIN + ESPACE ÉTUDIANT / PARENT (ukm-design.css)
   --------------------------------------------------------------------- */
html.ukm-pro,
html.ukm-pro[data-ukm-theme] {
    --ukm-side-bg: var(--ukm-side-solid, var(--ukp-deep));
    --ukm-banner: var(--ukp-tint);
}
/* v2 : menu latéral CLAIR (sauf thème Minuit, qui reste sombre par choix) */
html.ukm-pro:not([data-ukm-theme="minuit"]) {
    --ukm-side-solid: #ffffff;
    --ukm-side-bg: #ffffff;
    --ukm-side-text: #1e293b;
    --ukm-side-muted: #64748b;
    --ukm-side-hover: var(--ukp-page);
    --ukm-side-active: var(--ukp-tint);
    --ukm-side-line: #e6ebe8;
}
html.ukm-pro:not([data-ukm-theme="minuit"]) body.skin-blue .sidebar-menu > li.active > a,
html.ukm-pro:not([data-ukm-theme="minuit"]) body.skin-blue .sidebar-menu > li.menu-open > a { color: var(--ukp-brand-dark) !important; font-weight: 700; }
html.ukm-pro:not([data-ukm-theme="minuit"]) body.skin-blue .sidebar-menu > li.active > a > i:first-child,
html.ukm-pro:not([data-ukm-theme="minuit"]) body.skin-blue .sidebar-menu > li.menu-open > a > i:first-child { color: var(--ukp-brand) !important; }
html.ukm-pro:not([data-ukm-theme="minuit"]) body.skin-blue .sidebar-menu .treeview-menu > li.active > a { color: #fff !important; }
html.ukm-pro:not([data-ukm-theme="minuit"]) body.skin-blue .main-sidebar { box-shadow: 1px 0 0 #e6ebe8 !important; }
html.ukm-pro body.skin-blue {
    background-color: var(--ukm-page) !important;
    background-image: none !important;
}
/* Menu latéral */
html.ukm-pro body.skin-blue .main-sidebar,
html.ukm-pro body.skin-blue .left-side { background: var(--ukm-side-solid, var(--ukp-deep)) !important; background-image: none !important; box-shadow: none; }
html.ukm-pro body.skin-blue .sidebar-menu > li > a { position: relative; transition: background-color .3s var(--ukp-ease), transform .35s var(--ukp-ease) !important; }
html.ukm-pro body.skin-blue .sidebar-menu > li.active > a::before,
html.ukm-pro body.skin-blue .sidebar-menu > li.menu-open > a::before {
    content: ""; position: absolute; left: -12px; top: 10px; bottom: 10px; width: 3px; border-radius: 0 3px 3px 0;
    background: var(--ukp-gold);
}
html.ukm-pro-motion body.skin-blue .sidebar-menu > li.active > a::before,
html.ukm-pro-motion body.skin-blue .sidebar-menu > li.menu-open > a::before { animation: ukpBarIn .6s var(--ukp-ease) both; }
html.ukm-pro body.skin-blue .sidebar-menu .treeview-menu > li.active > a {
    background: var(--ukm-brand) !important; background-image: none !important;
    box-shadow: none;
}
html.ukm-pro-motion body.skin-blue .sidebar-menu > li.ukp-in { animation: ukpSideIn .6s var(--ukp-ease) backwards; animation-delay: calc(.1s + var(--i, 0) * 28ms); }
html.ukm-pro-motion body.skin-blue .sidebar-menu .menu-open > .treeview-menu > li { animation: ukpSideIn .45s var(--ukp-ease) backwards; }
html.ukm-pro-motion body.skin-blue .sidebar-menu .menu-open > .treeview-menu > li:nth-child(2) { animation-delay: .03s; }
html.ukm-pro-motion body.skin-blue .sidebar-menu .menu-open > .treeview-menu > li:nth-child(3) { animation-delay: .06s; }
html.ukm-pro-motion body.skin-blue .sidebar-menu .menu-open > .treeview-menu > li:nth-child(4) { animation-delay: .09s; }
html.ukm-pro-motion body.skin-blue .sidebar-menu .menu-open > .treeview-menu > li:nth-child(n+5) { animation-delay: .12s; }

/* Barre du haut : pleine, sans flou */
html.ukm-pro body.skin-blue .main-header .navbar {
    background: var(--ukm-card-solid, #fff) !important;
    -webkit-backdrop-filter: none; backdrop-filter: none;
}
html.ukm-pro body.skin-blue .main-header .headertopmenu > li.ukm-new-li > a,
html.ukm-pro body.skin-blue .main-header .headertopmenu > li.ukm-new-li > a:hover {
    background: var(--ukm-brand) !important; background-image: none !important;
    filter: none;
    box-shadow: 0 8px 16px -10px var(--ukm-brand);
}
html.ukm-pro body.skin-blue .main-header .headertopmenu > li.ukm-new-li > a:hover { background: var(--ukp-hover, var(--ukp-deep)) !important; }
html.ukm-pro body.skin-blue .main-header .headertopmenu > li > a { transition: background-color .3s, transform .35s var(--ukp-ease), border-color .3s !important; }

/* Indicateur de chargement entre les pages */
.ukp-loadbar {
    position: fixed; left: 0; top: 0; z-index: 3000;
    width: 100%; height: 3px;
    background: var(--ukp-gold);
    transform: scaleX(0); transform-origin: left center;
    pointer-events: none;
    opacity: 0;
}
.ukp-loadbar.is-on { opacity: 1; animation: ukpLoad 8s cubic-bezier(.1, .7, .1, 1) forwards; }

/* Bannière « Bonjour » : couleur pleine + trame + filet doré */
html.ukm-pro body.skin-blue .ukm-welcome {
    background: var(--ukp-tint) !important; background-image: none !important;
    border: 1px solid color-mix(in srgb, var(--ukp-brand) 16%, transparent);
    box-shadow: var(--ukp-shadow);
    color: var(--ukp-ink) !important;
    isolation: isolate;
}
html.ukm-pro body.skin-blue .ukm-welcome h1 { color: var(--ukp-ink) !important; }
html.ukm-pro body.skin-blue .ukm-welcome p,
html.ukm-pro body.skin-blue .ukm-welcome__meta span { color: var(--ukp-text) !important; }
html.ukm-pro body.skin-blue .ukm-welcome__meta strong { color: var(--ukp-brand-dark) !important; }
html.ukm-pro body.skin-blue .ukm-welcome a:not(.btn) { color: var(--ukp-brand-dark) !important; }
html.ukm-pro body.skin-blue .ukm-welcome::after {
    content: "";
    inset: 0; right: 0; top: 0; width: auto; height: auto;
    border-radius: 0;
    z-index: -1;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='44' height='44'%3E%3Cpath d='M44 0H0v44' fill='none' stroke='%230f172a' stroke-opacity='.05'/%3E%3C/svg%3E");
}
html.ukm-pro body.skin-blue .ukm-welcome::before {
    content: ""; position: absolute; left: 34px; bottom: 0; width: 120px; height: 3px;
    background: var(--ukp-gold);
    transform-origin: left center;
}
html.ukm-pro-motion body.skin-blue .ukm-welcome { animation: ukpBannerIn .9s var(--ukp-ease) backwards; }
html.ukm-pro-motion body.skin-blue .ukm-welcome::before { animation: ukpLine 1.1s var(--ukp-ease) .6s backwards; }
html.ukm-pro-motion body.skin-blue .ukm-welcome h1 .ukp-w > span { animation-delay: calc(.25s + var(--i, 0) * 70ms); }
html.ukm-pro-motion body.skin-blue .ukm-welcome p,
html.ukm-pro-motion body.skin-blue .ukm-welcome__meta { animation: ukpFadeUp .8s var(--ukp-ease) .55s backwards; }
.ukp-orb {
    position: absolute; right: 7%; top: 50%; z-index: -1;
    width: 190px; height: 190px; margin-top: -95px;
    border-radius: 50%;
    border: 1px solid color-mix(in srgb, var(--ukp-brand) 22%, transparent);
    pointer-events: none;
}
.ukp-orb::before, .ukp-orb::after { content: ""; position: absolute; border-radius: 50%; }
.ukp-orb::before { inset: -40px; border: 1px dashed color-mix(in srgb, var(--ukp-brand) 16%, transparent); }
.ukp-orb::after { top: -5px; left: 50%; width: 10px; height: 10px; margin-left: -5px; background: var(--ukp-gold); }
html.ukm-pro-motion .ukp-orb { animation: ukpSpin 18s linear infinite; }
@media (max-width: 767px) { .ukp-orb { display: none; } }

/* Raccourcis, cartes, tuiles */
html.ukm-pro body.skin-blue .ukm-action,
html.ukm-pro body.skin-blue .box,
html.ukm-pro body.skin-blue .nav-tabs-custom,
html.ukm-pro body.skin-blue .info-box,
html.ukm-pro body.skin-blue .small-box,
html.ukm-pro body.skin-blue .panel,
html.ukm-pro body.skin-blue .topprograssstart,
html.ukm-pro body.skin-blue .ukm-watch__row { background: var(--ukm-card-solid, #fff) !important; }
html.ukm-pro body.skin-blue .ukm-action { position: relative; overflow: hidden; transition: transform .5s var(--ukp-ease), box-shadow .5s var(--ukp-ease), border-color .3s !important; }
html.ukm-pro body.skin-blue .ukm-action::after {
    content: ""; position: absolute; left: 0; bottom: 0; height: 2px; width: 100%;
    background: var(--ukm-brand);
    transform: scaleX(0); transform-origin: left center;
    transition: transform .55s var(--ukp-ease);
}
html.ukm-pro body.skin-blue .ukm-action:hover::after { transform: scaleX(1); }
html.ukm-pro body.skin-blue .ukm-action .ukm-ico { transition: transform .55s var(--ukp-ease), background-color .3s, color .3s; }
html.ukm-pro body.skin-blue .ukm-action:hover .ukm-ico { transform: translateY(-2px) rotate(-6deg) scale(1.06); background: var(--t); color: #fff; }
html.ukm-pro-motion body.skin-blue .ukm-action { animation: ukpFadeUp .7s var(--ukp-ease) backwards; animation-delay: calc(.2s + var(--i, 0) * 50ms); }
html.ukm-pro body.skin-blue .box-header .box-title::before { background: var(--ukm-brand) !important; background-image: none !important; }
html.ukm-pro body.skin-blue .topprograssstart .progress-bar { background: var(--ukm-brand) !important; background-image: none !important; transform-origin: left center; }
html.ukm-pro-motion body.skin-blue .topprograssstart .progress-bar { animation: ukpGrow 1.4s var(--ukp-ease) .4s backwards; }
html.ukm-pro body.skin-blue .topprograssstart { transition: transform .5s var(--ukp-ease), box-shadow .5s var(--ukp-ease) !important; }
html.ukm-pro body.skin-blue .content-wrapper .btn-primary,
html.ukm-pro body.skin-blue .modal .btn-primary {
    background: var(--ukm-brand) !important; background-image: none !important;
    border-color: var(--ukm-brand) !important;
    filter: none;
    transition: background-color .25s, border-color .25s, transform .3s var(--ukp-ease);
}
html.ukm-pro body.skin-blue .content-wrapper .btn-primary:hover,
html.ukm-pro body.skin-blue .modal .btn-primary:hover { background: var(--ukp-hover, var(--ukp-deep)) !important; border-color: var(--ukp-deep) !important; }
html.ukm-pro body.skin-blue .btn { position: relative; overflow: hidden; }

/* Carte « Site officiel » : pleine, dorée */
html.ukm-pro .ukm-site-card { background: #fffaf0 !important; background-image: none !important; border-color: #ecd9ae; box-shadow: var(--ukp-shadow); transition: transform .5s var(--ukp-ease), box-shadow .5s var(--ukp-ease); }
html.ukm-pro .ukm-site-card:hover { transform: translateY(-3px); box-shadow: var(--ukp-shadow-lg); }
html.ukm-pro[data-ukm-theme="minuit"] .ukm-site-card { background: #1c1810 !important; }
html.ukm-pro .ukm-site-card::after { background: rgba(255, 255, 255, .55) !important; background-image: none !important; filter: blur(8px); width: 18%; }
html.ukm-pro .ukm-site-card__icon { background: var(--ukp-gold) !important; background-image: none !important; color: #fff !important; box-shadow: none !important; }
html.ukm-pro .ukm-site-card__cta { background: var(--ukp-deep) !important; background-image: none !important; box-shadow: none !important; transition: gap .3s var(--ukp-ease), background-color .3s; }
html.ukm-pro .ukm-site-card:hover .ukm-site-card__cta { background: var(--ukp-gold) !important; }

/* Verdicts des résultats : couleurs pleines */
html.ukm-pro .ukmr-verdict.ok { background: #15803d !important; }
html.ukm-pro .ukmr-verdict.warn { background: #d97706 !important; }
html.ukm-pro .ukmr-verdict.ko { background: #b91c1c !important; }
html.ukm-pro .ukmr-verdict.na { background: #64748b !important; }

/* Entrée du contenu de chaque page (sans transformation résiduelle : modales sûres) */
html.ukm-pro-motion body.skin-blue .content-header { animation: ukpFadeUp .7s var(--ukp-ease) .05s backwards; }
html.ukm-pro-motion body.skin-blue section.content > .ukp-enter { animation: ukpFadeUp .75s var(--ukp-ease) backwards; animation-delay: calc(.1s + var(--i, 0) * 70ms); }

@keyframes ukpSideIn { from { opacity: 0; transform: translate3d(-14px, 0, 0); } to { opacity: 1; transform: none; } }
@keyframes ukpBarIn { from { transform: scaleY(0); } to { transform: none; } }
@keyframes ukpLoad { 0% { transform: scaleX(0); } 10% { transform: scaleX(.35); } 100% { transform: scaleX(.92); } }
@keyframes ukpBannerIn { from { opacity: 0; transform: translate3d(0, 16px, 0) scale(.985); clip-path: inset(0 0 0 0 round 22px); } to { opacity: 1; transform: none; } }
@keyframes ukpGrow { from { transform: scaleX(0); } to { transform: none; } }

/* ---------------------------------------------------------------------
   9. IMAGES-CLÉS
   --------------------------------------------------------------------- */
@keyframes ukpFade { from { opacity: 0; } to { opacity: 1; } }
@keyframes ukpFadeUp { from { opacity: 0; transform: translate3d(0, 18px, 0); } to { opacity: 1; transform: none; } }
@keyframes ukpFadeDown { from { opacity: 0; transform: translate3d(0, -12px, 0); } to { opacity: 1; transform: none; } }
@keyframes ukpWordUp { from { transform: translate3d(0, 110%, 0) rotate(4deg); } to { transform: none; } }
@keyframes ukpPop { 0% { opacity: 0; transform: scale(.6) rotate(-25deg); } 100% { opacity: 1; transform: none; } }
@keyframes ukpSpin { to { transform: rotate(360deg); } }
@keyframes ukpRipple { from { transform: scale(1); opacity: 1; } to { transform: scale(40); opacity: 0; } }
@keyframes ukpPing { 0% { box-shadow: 0 0 0 0 color-mix(in srgb, var(--ukp-brand) 55%, transparent); } 70%, 100% { box-shadow: 0 0 0 9px transparent; } }
@keyframes ukpCurtain { to { transform: translate3d(0, -100%, 0); } }
@keyframes ukpCurtainLogo { 0% { opacity: 0; transform: scale(.7); } 60% { opacity: 1; transform: none; } 100% { opacity: 1; transform: translateY(-8px); } }
@keyframes ukpWipe { from { clip-path: inset(0 0 0 100%); } to { clip-path: inset(0 0 0 0); } }
@keyframes ukpSealIn { 0% { opacity: 0; transform: scale(.78) rotate(-12deg); } 100% { opacity: 1; transform: none; } }
@keyframes ukpBreath { 0%, 100% { transform: scale(1); opacity: .85; } 50% { transform: scale(1.03); opacity: .5; } }
@keyframes ukpPulseRing { 0% { transform: scale(.92); opacity: 0; } 30% { opacity: 1; } 100% { transform: scale(1.18); opacity: 0; } }
@keyframes ukpSheen { 0% { left: -40%; } 22%, 100% { left: 130%; } }

@media (prefers-reduced-motion: reduce) {
    html.ukm-pro *, html.ukm-pro *::before, html.ukm-pro *::after { animation: none !important; transition: none !important; }
}

/* =====================================================================
   v4 — PRESTIGE BLEU EN DÉGRADÉ (demande de l'utilisateur, 31/10)
   Uniquement pour le thème par défaut « Prestige UKM » (emeraude / sans thème).
   Les autres thèmes gardent les couleurs pleines.
   ===================================================================== */
html.ukm-pro:not([data-ukm-theme]),
html.ukm-pro[data-ukm-theme="emeraude"] {
    --ukp-grad: linear-gradient(135deg, #0a2540 0%, #123f78 52%, #1f64c8 100%);
    --ukp-grad-hover: linear-gradient(135deg, #0f3463 0%, #1a56a8 55%, #2f7ae0 100%);
    --ukp-grad-deep: linear-gradient(160deg, #071a30 0%, #0d3060 60%, #144a92 100%);
    --ukp-grad-gold: linear-gradient(90deg, #b8862e 0%, #e0bf6e 50%, #c29b40 100%);
    --ukp-grad-line: linear-gradient(90deg, #1f64c8 0%, #3b82f6 45%, #c29b40 100%);
    --ukp-hover: #1a56a8;
}
html.ukm-pro:not([data-ukm-theme]) .ukp-auth .loginbg button[type="submit"],
html.ukm-pro[data-ukm-theme="emeraude"] .ukp-auth .loginbg button[type="submit"],
html.ukm-pro:not([data-ukm-theme]) .ukp-auth .loginbg button.btn,
html.ukm-pro[data-ukm-theme="emeraude"] .ukp-auth .loginbg button.btn,
html.ukm-pro:not([data-ukm-theme]) .ukp-auth .form-bottom form button.btn,
html.ukm-pro[data-ukm-theme="emeraude"] .ukp-auth .form-bottom form button.btn {
    background: #123f78 !important;
    background-image: var(--ukp-grad) !important;
    box-shadow: 0 1px 2px rgba(10, 37, 64, .2), 0 14px 28px -14px rgba(31, 100, 200, .75);
}
html.ukm-pro:not([data-ukm-theme]) .ukp-auth .loginbg button[type="submit"]::before,
html.ukm-pro[data-ukm-theme="emeraude"] .ukp-auth .loginbg button[type="submit"]::before,
html.ukm-pro:not([data-ukm-theme]) .ukp-auth .loginbg button.btn::before,
html.ukm-pro[data-ukm-theme="emeraude"] .ukp-auth .loginbg button.btn::before { background: var(--ukp-grad-hover); }
html.ukm-pro:not([data-ukm-theme]) .ukp-auth.ukp-space-staff .text-wrap,
html.ukm-pro[data-ukm-theme="emeraude"] .ukp-auth.ukp-space-staff .text-wrap {
    background: #123f78 !important;
    background-image: linear-gradient(145deg, #0a2540 0%, #123f78 42%, #1f64c8 78%, #3b82f6 100%) !important;
    --ukp-particle: #ffffff;
}
html.ukm-pro:not([data-ukm-theme]) .ukp-auth.ukp-space-staff .ukp-grid,
html.ukm-pro[data-ukm-theme="emeraude"] .ukp-auth.ukp-space-staff .ukp-grid { filter: invert(1); opacity: .9; }
html.ukm-pro:not([data-ukm-theme]) .ukp-auth.ukp-space-staff .ukp-disc--b,
html.ukm-pro[data-ukm-theme="emeraude"] .ukp-auth.ukp-space-staff .ukp-disc--b { border-color: rgba(255, 255, 255, .16); }
html.ukm-pro:not([data-ukm-theme]) .ukp-auth.ukp-space-staff .ukp-ring,
html.ukm-pro[data-ukm-theme="emeraude"] .ukp-auth.ukp-space-staff .ukp-ring { border-color: rgba(255, 255, 255, .22); }
html.ukm-pro:not([data-ukm-theme]) .ukp-auth.ukp-space-staff .ukp-ring--2,
html.ukm-pro[data-ukm-theme="emeraude"] .ukp-auth.ukp-space-staff .ukp-ring--2 { border-color: rgba(255, 255, 255, .13); }
html.ukm-pro:not([data-ukm-theme]) .ukp-auth.ukp-space-staff .ukp-ring--3,
html.ukm-pro[data-ukm-theme="emeraude"] .ukp-auth.ukp-space-staff .ukp-ring--3 { border-color: rgba(255, 255, 255, .10); }
html.ukm-pro:not([data-ukm-theme]) .ukp-auth.ukp-space-staff .ukp-ring--gold,
html.ukm-pro[data-ukm-theme="emeraude"] .ukp-auth.ukp-space-staff .ukp-ring--gold { border-color: #e0bf6e; }
html.ukm-pro:not([data-ukm-theme]) .ukp-auth.ukp-space-staff .ukp-orbit--b i,
html.ukm-pro[data-ukm-theme="emeraude"] .ukp-auth.ukp-space-staff .ukp-orbit--b i { background: #fff; }
html.ukm-pro:not([data-ukm-theme]) .ukp-auth.ukp-space-staff .ukp-textring text,
html.ukm-pro[data-ukm-theme="emeraude"] .ukp-auth.ukp-space-staff .ukp-textring text { fill: #fff; opacity: .78; }
html.ukm-pro:not([data-ukm-theme]) .ukp-auth.ukp-space-staff .ukp-seal,
html.ukm-pro[data-ukm-theme="emeraude"] .ukp-auth.ukp-space-staff .ukp-seal { box-shadow: 0 30px 60px -22px rgba(4, 14, 30, .6), 0 0 0 8px rgba(255, 255, 255, .12); }
html.ukm-pro:not([data-ukm-theme]) .ukp-auth.ukp-space-staff .ukp-stage h2,
html.ukm-pro[data-ukm-theme="emeraude"] .ukp-auth.ukp-space-staff .ukp-stage h2 { color: #fff; }
html.ukm-pro:not([data-ukm-theme]) .ukp-auth.ukp-space-staff .ukp-quote,
html.ukm-pro[data-ukm-theme="emeraude"] .ukp-auth.ukp-space-staff .ukp-quote { color: rgba(255, 255, 255, .8); }
html.ukm-pro:not([data-ukm-theme]) .ukp-auth.ukp-space-staff .ukp-chip,
html.ukm-pro[data-ukm-theme="emeraude"] .ukp-auth.ukp-space-staff .ukp-chip { background: rgba(255, 255, 255, .1); border-color: rgba(255, 255, 255, .24); color: #fff; box-shadow: none; }
html.ukm-pro:not([data-ukm-theme]) .ukp-auth.ukp-space-staff .ukp-chip:hover,
html.ukm-pro[data-ukm-theme="emeraude"] .ukp-auth.ukp-space-staff .ukp-chip:hover { background: rgba(255, 255, 255, .18); border-color: rgba(255, 255, 255, .45); }
html.ukm-pro:not([data-ukm-theme]) .ukp-auth.ukp-space-staff .ukp-chip svg,
html.ukm-pro[data-ukm-theme="emeraude"] .ukp-auth.ukp-space-staff .ukp-chip svg { color: #e0bf6e; }
html.ukm-pro:not([data-ukm-theme]) .ukp-auth.ukp-space-staff .ukp-corner,
html.ukm-pro[data-ukm-theme="emeraude"] .ukp-auth.ukp-space-staff .ukp-corner { color: rgba(255, 255, 255, .7); }
html.ukm-pro:not([data-ukm-theme]) .ukp-auth.ukp-space-staff .ukp-space,
html.ukm-pro[data-ukm-theme="emeraude"] .ukp-auth.ukp-space-staff .ukp-space { border-color: rgba(255, 255, 255, .5); }
html.ukm-pro:not([data-ukm-theme]) .ukp-auth.ukp-space-staff .h3,
html.ukm-pro[data-ukm-theme="emeraude"] .ukp-auth.ukp-space-staff .h3 { color: #fff; }
html.ukm-pro:not([data-ukm-theme]) .ukp-auth.ukp-space-student .text-wrap,
html.ukm-pro[data-ukm-theme="emeraude"] .ukp-auth.ukp-space-student .text-wrap {
    background: #f5f1e8 !important;
    background-image: linear-gradient(150deg, #fdfbf6 0%, #f4eee1 50%, #e4ecf8 100%) !important;
}
html.ukm-pro:not([data-ukm-theme]) .ukp-auth.ukp-space-staff .ukp-disc,
html.ukm-pro[data-ukm-theme="emeraude"] .ukp-auth.ukp-space-staff .ukp-disc { background: linear-gradient(200deg, rgba(255, 255, 255, .14) 0%, rgba(255, 255, 255, 0) 70%); }
html.ukm-pro:not([data-ukm-theme]) .ukp-auth.ukp-space-student .ukp-disc,
html.ukm-pro[data-ukm-theme="emeraude"] .ukp-auth.ukp-space-student .ukp-disc { background: linear-gradient(200deg, rgba(194, 155, 64, .20) 0%, rgba(194, 155, 64, 0) 70%); }
html.ukm-pro:not([data-ukm-theme]) .ukp-auth.ukp-space-staff .bgoffsetbg > .nopadding::before,
html.ukm-pro[data-ukm-theme="emeraude"] .ukp-auth.ukp-space-staff .bgoffsetbg > .nopadding::before { background: var(--ukp-grad-line); }
html.ukm-pro:not([data-ukm-theme]) .ukp-auth.ukp-space-student .bgoffsetbg > .nopadding::before,
html.ukm-pro[data-ukm-theme="emeraude"] .ukp-auth.ukp-space-student .bgoffsetbg > .nopadding::before { background: var(--ukp-grad-gold); }
html.ukm-pro:not([data-ukm-theme]) .ukp-auth.ukp-space-staff .ukp-space span,
html.ukm-pro[data-ukm-theme="emeraude"] .ukp-auth.ukp-space-staff .ukp-space span,
html.ukm-pro:not([data-ukm-theme]) .ukp-auth .ukp-card--1 > span,
html.ukm-pro[data-ukm-theme="emeraude"] .ukp-auth .ukp-card--1 > span { background: var(--ukp-grad); }
html.ukm-pro:not([data-ukm-theme]) .ukp-auth.ukp-space-student .ukp-space span,
html.ukm-pro[data-ukm-theme="emeraude"] .ukp-auth.ukp-space-student .ukp-space span,
html.ukm-pro:not([data-ukm-theme]) .ukp-auth .ukp-card--2 > span,
html.ukm-pro[data-ukm-theme="emeraude"] .ukp-auth .ukp-card--2 > span { background: var(--ukp-grad-gold); }
html.ukm-pro:not([data-ukm-theme]) .ukp-auth .ukp-card .ukp-bar i,
html.ukm-pro[data-ukm-theme="emeraude"] .ukp-auth .ukp-card .ukp-bar i { background: var(--ukp-grad-line); }
html.ukm-pro:not([data-ukm-theme]) .ukp-auth.ukp-space-staff .ukp-stage h2 em,
html.ukm-pro[data-ukm-theme="emeraude"] .ukp-auth.ukp-space-staff .ukp-stage h2 em,
html.ukm-pro:not([data-ukm-theme]) .ukp-auth.ukp-space-staff .ukp-stage h2 em *,
html.ukm-pro[data-ukm-theme="emeraude"] .ukp-auth.ukp-space-staff .ukp-stage h2 em * { color: #e8c977 !important; background: none; }
html.ukm-pro:not([data-ukm-theme]) .ukp-auth.ukp-space-student .ukp-stage h2 em,
html.ukm-pro[data-ukm-theme="emeraude"] .ukp-auth.ukp-space-student .ukp-stage h2 em,
html.ukm-pro:not([data-ukm-theme]) .ukp-auth.ukp-space-student .ukp-stage h2 em *,
html.ukm-pro[data-ukm-theme="emeraude"] .ukp-auth.ukp-space-student .ukp-stage h2 em * { color: #a67f2c !important; background: none; }
html.ukm-pro:not([data-ukm-theme]).ukm-pro-motion.ukp-is-auth::after,
html.ukm-pro[data-ukm-theme="emeraude"].ukm-pro-motion.ukp-is-auth::after { background: var(--ukp-grad-deep); }
html.ukm-pro:not([data-ukm-theme]) .ukm-tp-fab,
html.ukm-pro[data-ukm-theme="emeraude"] .ukm-tp-fab { background: #123f78 !important; background-image: var(--ukp-grad) !important; }
html.ukm-pro:not([data-ukm-theme]) .ukp-front .toparea,
html.ukm-pro[data-ukm-theme="emeraude"] .ukp-front .toparea { background: #0a2540 !important; background-image: linear-gradient(90deg, #0a2540 0%, #123f78 60%, #1a56a8 100%) !important; }
html.ukm-pro:not([data-ukm-theme]) .ukp-front header .navbar-toggle,
html.ukm-pro[data-ukm-theme="emeraude"] .ukp-front header .navbar-toggle { background-image: var(--ukp-grad) !important; }
html.ukm-pro:not([data-ukm-theme]) .ukp-front .ukm-hero::after,
html.ukm-pro[data-ukm-theme="emeraude"] .ukp-front .ukm-hero::after {
    background:
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='64' height='64'%3E%3Cpath d='M64 0H0v64' fill='none' stroke='%23ffffff' stroke-opacity='.06'/%3E%3C/svg%3E"),
        linear-gradient(100deg, rgba(7, 26, 48, .92) 0%, rgba(13, 48, 96, .80) 45%, rgba(31, 100, 200, .42) 100%);
}
html.ukm-pro:not([data-ukm-theme]) .ukp-front .onlineformbtn,
html.ukm-pro[data-ukm-theme="emeraude"] .ukp-front .onlineformbtn,
html.ukm-pro:not([data-ukm-theme]) .ukp-front .btn-primary,
html.ukm-pro[data-ukm-theme="emeraude"] .ukp-front .btn-primary,
html.ukm-pro:not([data-ukm-theme]) .ukp-front .contact-form .btn,
html.ukm-pro[data-ukm-theme="emeraude"] .ukp-front .contact-form .btn,
html.ukm-pro:not([data-ukm-theme]) .ukp-front .btn-success,
html.ukm-pro[data-ukm-theme="emeraude"] .ukp-front .btn-success,
html.ukm-pro:not([data-ukm-theme]) .ukp-front .ukm-section .ukm-btn--primary,
html.ukm-pro[data-ukm-theme="emeraude"] .ukp-front .ukm-section .ukm-btn--primary,
html.ukm-pro:not([data-ukm-theme]) .ukp-front .ukm-card .ukm-btn--primary,
html.ukm-pro[data-ukm-theme="emeraude"] .ukp-front .ukm-card .ukm-btn--primary { background: #123f78 !important; background-image: var(--ukp-grad) !important; }
html.ukm-pro:not([data-ukm-theme]) .ukp-front .onlineformbtn:hover,
html.ukm-pro[data-ukm-theme="emeraude"] .ukp-front .onlineformbtn:hover,
html.ukm-pro:not([data-ukm-theme]) .ukp-front .btn-primary:hover,
html.ukm-pro[data-ukm-theme="emeraude"] .ukp-front .btn-primary:hover,
html.ukm-pro:not([data-ukm-theme]) .ukp-front .contact-form .btn:hover,
html.ukm-pro[data-ukm-theme="emeraude"] .ukp-front .contact-form .btn:hover,
html.ukm-pro:not([data-ukm-theme]) .ukp-front .btn-success:hover,
html.ukm-pro[data-ukm-theme="emeraude"] .ukp-front .btn-success:hover { background-image: var(--ukp-grad-hover) !important; }
html.ukm-pro:not([data-ukm-theme]) .ukp-front .ukm-hero .ukm-btn--primary,
html.ukm-pro[data-ukm-theme="emeraude"] .ukp-front .ukm-hero .ukm-btn--primary { background: #c29b40 !important; background-image: var(--ukp-grad-gold) !important; }
html.ukm-pro:not([data-ukm-theme]) .ukp-front .ukm-quicknav a:hover,
html.ukm-pro[data-ukm-theme="emeraude"] .ukp-front .ukm-quicknav a:hover { background: #123f78 !important; background-image: var(--ukp-grad) !important; }
html.ukm-pro:not([data-ukm-theme]) .ukp-front .ukm-feature i,
html.ukm-pro[data-ukm-theme="emeraude"] .ukp-front .ukm-feature i,
html.ukm-pro:not([data-ukm-theme]) .ukp-front .ukm-cta > i,
html.ukm-pro[data-ukm-theme="emeraude"] .ukp-front .ukm-cta > i,
html.ukm-pro:not([data-ukm-theme]) .ukp-front .ukm-badge i,
html.ukm-pro[data-ukm-theme="emeraude"] .ukp-front .ukm-badge i,
html.ukm-pro:not([data-ukm-theme]) .ukp-front .ukm-steps b,
html.ukm-pro[data-ukm-theme="emeraude"] .ukp-front .ukm-steps b { background: #123f78 !important; background-image: var(--ukp-grad) !important; }
html.ukm-pro:not([data-ukm-theme]) .ukp-front .ukm-feature:hover i,
html.ukm-pro[data-ukm-theme="emeraude"] .ukp-front .ukm-feature:hover i,
html.ukm-pro:not([data-ukm-theme]) .ukp-front .ukm-cta:hover > i,
html.ukm-pro[data-ukm-theme="emeraude"] .ukp-front .ukm-cta:hover > i,
html.ukm-pro:not([data-ukm-theme]) .ukp-front .ukm-badge:hover i,
html.ukm-pro[data-ukm-theme="emeraude"] .ukp-front .ukm-badge:hover i { background-image: var(--ukp-grad-hover) !important; }
html.ukm-pro:not([data-ukm-theme]) .ukp-front .ukm-faculty::before,
html.ukm-pro[data-ukm-theme="emeraude"] .ukp-front .ukm-faculty::before { background-image: var(--ukp-grad-line) !important; }
html.ukm-pro:not([data-ukm-theme]) .ukp-front .ukm-price--total,
html.ukm-pro[data-ukm-theme="emeraude"] .ukp-front .ukm-price--total,
html.ukm-pro:not([data-ukm-theme]) .ukp-front .ukm-contact,
html.ukm-pro[data-ukm-theme="emeraude"] .ukp-front .ukm-contact { background: #0d3060 !important; background-image: var(--ukp-grad-deep) !important; }
html.ukm-pro:not([data-ukm-theme]) .ukp-front footer,
html.ukm-pro[data-ukm-theme="emeraude"] .ukp-front footer { background: #0a2540 !important; background-image: linear-gradient(180deg, #0d3060 0%, #071a30 100%) !important; }
html.ukm-pro:not([data-ukm-theme]) .ukp-front footer::before,
html.ukm-pro[data-ukm-theme="emeraude"] .ukp-front footer::before { background-image: var(--ukp-grad-gold) !important; }
html.ukm-pro:not([data-ukm-theme]) .ukp-progress,
html.ukm-pro[data-ukm-theme="emeraude"] .ukp-progress { background: var(--ukp-grad-line); }
html.ukm-pro:not([data-ukm-theme]) body.skin-blue .ukm-welcome,
html.ukm-pro[data-ukm-theme="emeraude"] body.skin-blue .ukm-welcome {
    background: #123f78 !important;
    background-image: var(--ukp-grad) !important;
    border: 0;
    box-shadow: 0 22px 44px -24px rgba(18, 63, 120, .75);
    color: #fff !important;
}
html.ukm-pro:not([data-ukm-theme]) body.skin-blue .ukm-welcome h1,
html.ukm-pro[data-ukm-theme="emeraude"] body.skin-blue .ukm-welcome h1 { color: #fff !important; }
html.ukm-pro:not([data-ukm-theme]) body.skin-blue .ukm-welcome p,
html.ukm-pro[data-ukm-theme="emeraude"] body.skin-blue .ukm-welcome p,
html.ukm-pro:not([data-ukm-theme]) body.skin-blue .ukm-welcome__meta span,
html.ukm-pro[data-ukm-theme="emeraude"] body.skin-blue .ukm-welcome__meta span { color: rgba(255, 255, 255, .86) !important; }
html.ukm-pro:not([data-ukm-theme]) body.skin-blue .ukm-welcome__meta strong,
html.ukm-pro[data-ukm-theme="emeraude"] body.skin-blue .ukm-welcome__meta strong { color: #e8cf8d !important; }
html.ukm-pro:not([data-ukm-theme]) body.skin-blue .ukm-welcome a:not(.btn),
html.ukm-pro[data-ukm-theme="emeraude"] body.skin-blue .ukm-welcome a:not(.btn) { color: #fff !important; }
html.ukm-pro:not([data-ukm-theme]) body.skin-blue .ukm-welcome::after,
html.ukm-pro[data-ukm-theme="emeraude"] body.skin-blue .ukm-welcome::after {
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='44' height='44'%3E%3Cpath d='M44 0H0v44' fill='none' stroke='%23ffffff' stroke-opacity='.07'/%3E%3C/svg%3E");
}
html.ukm-pro:not([data-ukm-theme]) body.skin-blue .ukm-welcome::before,
html.ukm-pro[data-ukm-theme="emeraude"] body.skin-blue .ukm-welcome::before { background: var(--ukp-grad-gold); }
html.ukm-pro:not([data-ukm-theme]) .ukp-orb,
html.ukm-pro[data-ukm-theme="emeraude"] .ukp-orb { border-color: rgba(255, 255, 255, .18); }
html.ukm-pro:not([data-ukm-theme]) .ukp-orb::before,
html.ukm-pro[data-ukm-theme="emeraude"] .ukp-orb::before { border-color: rgba(255, 255, 255, .12); }
html.ukm-pro:not([data-ukm-theme]) body.skin-blue .sidebar-menu .treeview-menu > li.active > a,
html.ukm-pro[data-ukm-theme="emeraude"] body.skin-blue .sidebar-menu .treeview-menu > li.active > a,
html.ukm-pro:not([data-ukm-theme]) body.skin-blue .main-header .headertopmenu > li.ukm-new-li > a,
html.ukm-pro[data-ukm-theme="emeraude"] body.skin-blue .main-header .headertopmenu > li.ukm-new-li > a { background: #123f78 !important; background-image: var(--ukp-grad) !important; }
html.ukm-pro:not([data-ukm-theme]) body.skin-blue .main-header .headertopmenu > li.ukm-new-li > a:hover,
html.ukm-pro[data-ukm-theme="emeraude"] body.skin-blue .main-header .headertopmenu > li.ukm-new-li > a:hover { background-image: var(--ukp-grad-hover) !important; }
html.ukm-pro:not([data-ukm-theme]) body.skin-blue .sidebar-menu > li.active > a::before,
html.ukm-pro[data-ukm-theme="emeraude"] body.skin-blue .sidebar-menu > li.active > a::before,
html.ukm-pro:not([data-ukm-theme]) body.skin-blue .sidebar-menu > li.menu-open > a::before,
html.ukm-pro[data-ukm-theme="emeraude"] body.skin-blue .sidebar-menu > li.menu-open > a::before { background: linear-gradient(180deg, #1f64c8 0%, #c29b40 100%); }
html.ukm-pro:not([data-ukm-theme]) body.skin-blue .content-wrapper .btn-primary,
html.ukm-pro[data-ukm-theme="emeraude"] body.skin-blue .content-wrapper .btn-primary,
html.ukm-pro:not([data-ukm-theme]) body.skin-blue .modal .btn-primary,
html.ukm-pro[data-ukm-theme="emeraude"] body.skin-blue .modal .btn-primary { background: #123f78 !important; background-image: var(--ukp-grad) !important; border-color: #123f78 !important; }
html.ukm-pro:not([data-ukm-theme]) body.skin-blue .content-wrapper .btn-primary:hover,
html.ukm-pro[data-ukm-theme="emeraude"] body.skin-blue .content-wrapper .btn-primary:hover,
html.ukm-pro:not([data-ukm-theme]) body.skin-blue .modal .btn-primary:hover,
html.ukm-pro[data-ukm-theme="emeraude"] body.skin-blue .modal .btn-primary:hover { background-image: var(--ukp-grad-hover) !important; border-color: #1a56a8 !important; }
html.ukm-pro:not([data-ukm-theme]) body.skin-blue .topprograssstart .progress-bar,
html.ukm-pro[data-ukm-theme="emeraude"] body.skin-blue .topprograssstart .progress-bar { background-image: var(--ukp-grad-line) !important; }
html.ukm-pro:not([data-ukm-theme]) body.skin-blue .box-header .box-title::before,
html.ukm-pro[data-ukm-theme="emeraude"] body.skin-blue .box-header .box-title::before { background-image: linear-gradient(180deg, #1f64c8 0%, #123f78 100%) !important; }
html.ukm-pro:not([data-ukm-theme]) body.skin-blue .ukm-action::after,
html.ukm-pro[data-ukm-theme="emeraude"] body.skin-blue .ukm-action::after { background: var(--ukp-grad-line); }
html.ukm-pro:not([data-ukm-theme]) .ukm-site-card__cta,
html.ukm-pro[data-ukm-theme="emeraude"] .ukm-site-card__cta { background-image: var(--ukp-grad) !important; }
html.ukm-pro:not([data-ukm-theme]) .ukp-loadbar,
html.ukm-pro[data-ukm-theme="emeraude"] .ukp-loadbar { background: var(--ukp-grad-line); }
