.tu-guidance-status{display:flex;justify-content:space-between;align-items:center;gap:18px;margin:14px 0 18px;padding:14px 16px;border:1px solid #d8e0e8;border-left:4px solid #0f3466;border-radius:8px;background:#fff}.tu-guidance-status--student_action{border-left-color:#ff5757}.tu-guidance-status--accepted{border-left-color:#27845a}.tu-guidance-status__main{display:flex;align-items:flex-start;gap:12px}.tu-guidance-status__main p{margin:3px 0 0;color:#667085}.tu-guidance-status__side{display:flex;align-items:center;justify-content:flex-end;gap:12px;flex-wrap:wrap;text-align:right}.tu-guidance-actions{display:flex;align-items:center;gap:8px}.tu-guidance-actions details{position:relative}.tu-guidance-actions summary{list-style:none;cursor:pointer}.tu-guidance-actions details[open]{display:grid;gap:8px;min-width:260px}.tu-guidance-actions textarea{min-height:72px;padding:9px;border:1px solid #ccd2da;border-radius:7px;font:inherit}.tu-guidance-limit summary{cursor:pointer;color:#0f3466;font-weight:700}.tu-guidance-limit form{display:flex;gap:7px;margin-top:8px}.tu-guidance-limit input{width:70px;padding:7px;border:1px solid #ccd2da;border-radius:7px}.tu-guidance-limit small{display:block;margin-top:5px;color:#667085}@media(max-width:700px){.tu-guidance-status,.tu-guidance-status__main,.tu-guidance-status__side,.tu-guidance-actions{align-items:stretch;flex-direction:column;text-align:left}.tu-guidance-status__side{justify-content:flex-start}.tu-guidance-actions .tu-btn{width:100%}.tu-guidance-actions details[open]{min-width:0}}
:root {
    --tu-blue: #0F3466;
    --tu-blue-2: #174A83;
    --tu-blue-soft: #EAF0F7;
    --tu-red: #FF5757;
    --tu-red-dark: #D94343;
    --tu-ink: #17283A;
    --tu-muted: #617287;
    --tu-bg: #F3F6FA;
    --tu-surface: #FFFFFF;
    --tu-line: #DCE4EC;
    --tu-success: #14804A;
    --tu-success-soft: #E8F6EF;
    --tu-warning: #9A6500;
    --tu-warning-soft: #FFF5D9;
    --tu-danger-soft: #FFF0F0;
    --tu-radius: 18px;
    --tu-radius-sm: 12px;
    --tu-shadow: 0 12px 32px rgba(15, 52, 102, .08);
    --tu-shadow-soft: 0 4px 14px rgba(15, 52, 102, .06);
    --tu-max: 1180px;
}

* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body {
    margin: 0;
    min-width: 320px;
    background:
        linear-gradient(180deg, rgba(15,52,102,.035), rgba(15,52,102,0) 210px),
        var(--tu-bg);
    color: var(--tu-ink);
    font-family: Roboto, "Segoe UI", -apple-system, BlinkMacSystemFont, system-ui, sans-serif;
    font-size: 15px;
    line-height: 1.5;
    padding-bottom: 82px;
}

a { color: var(--tu-blue); text-decoration-thickness: 1px; text-underline-offset: 3px; }
a:hover { color: var(--tu-red-dark); }
img, svg { max-width: 100%; }

h1, h2, h3, h4 { color: var(--tu-blue); line-height: 1.15; letter-spacing: -.02em; }
h1 { font-size: clamp(1.8rem, 4vw, 2.55rem); margin: 0; }
h2 { font-size: clamp(1.18rem, 2.5vw, 1.52rem); margin: 0 0 14px; }
h3 { font-size: 1.05rem; margin: 0 0 8px; }
p { margin: 0 0 12px; }
hr { border: 0; border-top: 1px solid var(--tu-line); margin: 24px 0; }

/* Shell */
.tu-topbar {
    position: sticky;
    padding-top: env(safe-area-inset-top);
    top: 0;
    z-index: 50;
    background: var(--tu-blue);
    color: #fff;
    border-bottom: 3px solid var(--tu-red);
    box-shadow: 0 5px 18px rgba(10, 36, 70, .18);
}
.tu-topbar__inner {
    max-width: var(--tu-max);
    min-height: 64px;
    margin: 0 auto;
    padding: 9px 18px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
}
.tu-brand {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: #fff !important;
    text-decoration: none;
    min-width: 0;
}
.tu-brand__mark {
    width: 38px;
    height: 38px;
    border-radius: 10px 10px 10px 3px;
    background: #fff;
    color: var(--tu-blue);
    display: grid;
    place-items: center;
    font-size: 22px;
    font-weight: 900;
    position: relative;
    flex: 0 0 auto;
}
.tu-brand__mark::after {
    content: "";
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background: var(--tu-red);
    position: absolute;
    right: -3px;
    bottom: -3px;
    border: 2px solid var(--tu-blue);
}
.tu-brand__text { min-width: 0; }
.tu-brand__name {
    display: block;
    font-size: 15px;
    font-weight: 900;
    letter-spacing: .12em;
    white-space: nowrap;
}
.tu-brand__tagline {
    display: block;
    color: rgba(255,255,255,.72);
    font-size: 10px;
    letter-spacing: .03em;
    white-space: nowrap;
}
.tu-desktop-nav { display: none; align-items: center; gap: 5px; }
.tu-desktop-nav a,
.tu-logout {
    color: rgba(255,255,255,.86);
    text-decoration: none;
    border: 0;
    background: transparent;
    padding: 9px 10px;
    border-radius: 9px;
    font: inherit;
    font-weight: 700;
    cursor: pointer;
}
.tu-desktop-nav a:hover,
.tu-desktop-nav a.is-active,
.tu-logout:hover { background: rgba(255,255,255,.11); color: #fff; }
.tu-logout-form { margin: 0; }

.tu-mobile-nav {
    position: fixed;
    z-index: 60;
    left: 10px;
    right: 10px;
    bottom: max(10px, env(safe-area-inset-bottom));
    min-height: 62px;
    padding: 6px;
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: 1fr;
    align-items: stretch;
    background: rgba(255,255,255,.97);
    border: 1px solid var(--tu-line);
    border-radius: 18px;
    box-shadow: 0 12px 30px rgba(15,52,102,.18);
    backdrop-filter: blur(12px);
}
.tu-mobile-nav a {
    min-width: 0;
    min-height: 50px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 2px;
    color: var(--tu-muted);
    text-decoration: none;
    border-radius: 12px;
    font-size: 10px;
    font-weight: 800;
}
.tu-mobile-nav a.is-active { background: var(--tu-blue-soft); color: var(--tu-blue); }
.tu-mobile-nav svg { width: 21px; height: 21px; stroke-width: 2; }

.tu-container, .wrap {
    width: min(100% - 28px, var(--tu-max));
    margin: 0 auto;
    padding: 22px 0 42px;
}
.tu-page-head, .top {
    display: flex;
    flex-direction: column;
    gap: 14px;
    margin-bottom: 18px;
}
.tu-eyebrow {
    color: var(--tu-red-dark);
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .11em;
    text-transform: uppercase;
}
.tu-subtitle, .muted { color: var(--tu-muted); }
.small { font-size: 12.5px; }
.tu-actions, .actions { display: flex; flex-wrap: wrap; gap: 8px; }
.tu-stack > * + * { margin-top: 16px; }

/* Surfaces */
.card, .tu-card, .stat {
    background: var(--tu-surface);
    border: 1px solid var(--tu-line);
    border-radius: var(--tu-radius);
    box-shadow: var(--tu-shadow-soft);
}
.card, .tu-card { padding: 18px; margin-bottom: 16px; }
.card > :last-child, .tu-card > :last-child { margin-bottom: 0; }
.tu-card--accent { border-top: 4px solid var(--tu-red); }
.tu-card--navy { background: var(--tu-blue); border-color: var(--tu-blue); color: #fff; }
.tu-card--navy h1, .tu-card--navy h2, .tu-card--navy h3, .tu-card--navy a { color: #fff; }

.tu-kpi-grid, .grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}
.stat, .tu-kpi { padding: 15px; min-width: 0; }
.stat .n, .tu-kpi__value { color: var(--tu-blue); font-size: clamp(1.65rem, 6vw, 2.25rem); line-height: 1; font-weight: 900; letter-spacing: -.04em; }
.tu-kpi__label { color: var(--tu-muted); font-size: 11px; font-weight: 800; margin-bottom: 8px; text-transform: uppercase; letter-spacing: .05em; }
.tu-kpi--red { border-top: 4px solid var(--tu-red); }
.tu-kpi--blue { border-top: 4px solid var(--tu-blue); }

/* Buttons */
button, .btn, .tu-btn, input[type="submit"] {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    border: 0;
    border-radius: 11px;
    padding: 10px 14px;
    background: var(--tu-blue);
    color: #fff;
    text-decoration: none;
    font: inherit;
    font-weight: 800;
    cursor: pointer;
    box-shadow: 0 3px 0 rgba(4,27,55,.12);
    transition: transform .12s ease, box-shadow .12s ease, background .12s ease;
}
button:hover, .btn:hover, .tu-btn:hover { background: var(--tu-blue-2); color: #fff; }
button:active, .btn:active, .tu-btn:active { transform: translateY(1px); box-shadow: none; }
.btn2, .tu-btn--soft { background: var(--tu-blue-soft); color: var(--tu-blue); box-shadow: none; }
.btn2:hover, .tu-btn--soft:hover { background: #DCE8F4; color: var(--tu-blue); }
.tu-btn--accent { background: var(--tu-red); color: #fff; }
.tu-btn--accent:hover { background: var(--tu-red-dark); }
.tu-btn--danger { background: #B42318; }
.tu-btn--ghost { background: #fff; border: 1px solid var(--tu-line); color: var(--tu-blue); box-shadow: none; }

/* Forms */
label { color: var(--tu-ink); }
input[type="text"], input[type="email"], input[type="number"], input[type="password"], input[type="search"], input[type="date"], input[type="url"], select, textarea {
    width: 100%;
    max-width: 100%;
    min-height: 44px;
    padding: 10px 12px;
    border: 1px solid #C9D4DF;
    border-radius: 11px;
    background: #fff;
    color: var(--tu-ink);
    font: inherit;
    font-size: 16px;
    outline: none;
}
textarea { min-height: 86px; resize: vertical; }
input:focus, select:focus, textarea:focus {
    border-color: var(--tu-blue-2);
    box-shadow: 0 0 0 3px rgba(15,52,102,.12);
}
input[type="checkbox"], input[type="radio"] { width: 18px; height: 18px; accent-color: var(--tu-blue); vertical-align: middle; }
.tu-form-grid { display: grid; gap: 10px; }

/* Badges / status */
.tag, .pill, .tu-badge {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    max-width: 100%;
    padding: 5px 9px;
    border-radius: 999px;
    background: var(--tu-blue-soft);
    color: var(--tu-blue);
    font-size: 11px;
    font-weight: 800;
    line-height: 1.25;
}
.tu-badge--accent { background: #FFE5E5; color: #A82E2E; }
.tu-badge--success { background: var(--tu-success-soft); color: var(--tu-success); }
.tu-badge--warning { background: var(--tu-warning-soft); color: var(--tu-warning); }

.msg, .tu-alert {
    padding: 12px 14px;
    border-radius: 12px;
    border-left: 4px solid var(--tu-blue);
    background: #fff;
    margin-bottom: 14px;
    box-shadow: var(--tu-shadow-soft);
}
.success { background: var(--tu-success-soft); border-color: var(--tu-success); }
.error { background: var(--tu-danger-soft); border-color: var(--tu-red-dark); }
.alert-title { font-weight: 900; color: var(--tu-blue); margin-bottom: 3px; }
.alert { border-left: 5px solid #A7B6C8; padding: 13px 14px; background: #fff; border-radius: 12px; margin: 9px 0; }
.alert.high { border-left-color: var(--tu-red); }
.alert.medium { border-left-color: #E29B19; }
.alert.low { border-left-color: var(--tu-blue); }

/* Progress */
.steps {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 9px;
}
.step {
    background: #F8FAFC;
    border: 1px solid #E7EDF3;
    border-radius: 14px;
    padding: 12px;
    position: relative;
    overflow: hidden;
}
.step::before {
    content: "";
    position: absolute;
    left: 0; top: 0; bottom: 0;
    width: 4px;
    background: #D6DEE8;
}
.step:has(.ok)::before { background: var(--tu-blue); }
.step strong { display: block; margin-top: 4px; color: var(--tu-blue); }
.ok { color: var(--tu-success); font-weight: 900; }
.wait { color: var(--tu-warning); font-weight: 900; }

.profile-grid { display: grid; grid-template-columns: 1fr; gap: 10px; }
.box {
    background: #F8FAFC;
    border: 1px solid #E7EDF3;
    border-radius: 14px;
    padding: 13px;
}
.tags { display: flex; gap: 6px; flex-wrap: wrap; margin-top: 7px; }

/* Candidate action tiles */
.tu-action-list { display: grid; gap: 9px; }
.tu-action {
    min-height: 66px;
    display: grid;
    grid-template-columns: 38px minmax(0,1fr) 18px;
    align-items: center;
    gap: 11px;
    padding: 12px;
    background: #fff;
    border: 1px solid var(--tu-line);
    border-radius: 14px;
    color: var(--tu-ink);
    text-decoration: none;
}
.tu-action:hover { border-color: #9FB4C9; color: var(--tu-ink); box-shadow: var(--tu-shadow-soft); }
.tu-action__icon {
    width: 38px; height: 38px;
    display: grid; place-items: center;
    border-radius: 11px;
    background: var(--tu-blue-soft);
    color: var(--tu-blue);
    font-size: 18px;
    font-weight: 900;
}
.tu-action__title { display: block; color: var(--tu-blue); font-weight: 900; }
.tu-action__meta { display: block; color: var(--tu-muted); font-size: 12px; }
.tu-action__arrow { color: var(--tu-red); font-size: 20px; font-weight: 900; }

/* Orientation results */
.result {
    display: grid;
    grid-template-columns: 48px minmax(0,1fr);
    gap: 12px;
    padding: 17px 0;
    border-bottom: 1px solid var(--tu-line);
    align-items: start;
}
.result:last-child { border-bottom: 0; }
.result > :nth-child(n+3) { grid-column: 2; }
.rank { color: var(--tu-blue); font-size: 24px; font-weight: 900; letter-spacing: -.05em; }
.score { color: var(--tu-muted); font-size: 12px; }
.match { color: var(--tu-success); }
.warning { color: var(--tu-warning); }
.feedback { border: 1px solid var(--tu-line); border-radius: 13px; padding: 11px; background: #FBFCFE; }

/* Tables */
.tu-table-scroll { width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; border-radius: 14px; }
table { width: 100%; border-collapse: collapse; background: #fff; }
th, td { text-align: left; padding: 11px 10px; border-bottom: 1px solid var(--tu-line); vertical-align: top; }
th { color: var(--tu-muted); font-size: 11px; text-transform: uppercase; letter-spacing: .045em; font-weight: 900; }
tr:last-child td { border-bottom: 0; }

/* Coach mobile cards */
.tu-coach-table { border: 0; }
@media (max-width: 760px) {
    .tu-coach-table, .tu-coach-table tbody, .tu-coach-table tr, .tu-coach-table td { display: block; width: 100%; }
    .tu-coach-table thead { display: none; }
    .tu-coach-table tr {
        background: #fff;
        border: 1px solid var(--tu-line);
        border-radius: 15px;
        padding: 13px;
        margin-bottom: 10px;
        box-shadow: var(--tu-shadow-soft);
    }
    .tu-coach-table td {
        display: grid;
        grid-template-columns: 104px minmax(0,1fr);
        gap: 10px;
        padding: 7px 0;
        border: 0;
    }
    .tu-coach-table td::before {
        content: attr(data-label);
        color: var(--tu-muted);
        font-size: 10px;
        font-weight: 900;
        text-transform: uppercase;
        letter-spacing: .04em;
    }
}

/* Utility */
.tu-section-title { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 12px; }
.tu-section-title h2 { margin: 0; }
.tu-count {
    min-width: 28px; height: 28px; padding: 0 8px;
    display: inline-grid; place-items: center;
    border-radius: 999px;
    background: var(--tu-red);
    color: #fff;
    font-weight: 900;
    font-size: 12px;
}
.tu-note { color: var(--tu-muted); font-size: 12px; }
.tu-danger-zone { border: 1px solid #F0B8B8; background: #FFF8F8; }
.tu-link-row { display: flex; flex-wrap: wrap; gap: 8px 14px; align-items: center; }
.tu-empty { padding: 18px; border: 1px dashed #B9C7D5; border-radius: 14px; background: rgba(255,255,255,.55); color: var(--tu-muted); text-align: center; }

:focus-visible { outline: 3px solid rgba(255,87,87,.42); outline-offset: 2px; }

@media (min-width: 700px) {
    body { padding-bottom: 0; }
    .tu-mobile-nav { display: none; }
    .tu-desktop-nav { display: flex; }
    .tu-container, .wrap { width: min(100% - 40px, var(--tu-max)); padding-top: 30px; }
    .tu-page-head, .top { flex-direction: row; align-items: flex-start; justify-content: space-between; }
    .tu-kpi-grid, .grid { grid-template-columns: repeat(4, minmax(0,1fr)); gap: 12px; }
    .steps { grid-template-columns: repeat(4, minmax(0,1fr)); }
    .profile-grid { grid-template-columns: repeat(3, minmax(0,1fr)); }
    .tu-action-list { grid-template-columns: repeat(2, minmax(0,1fr)); }
    .tu-form-grid--3 { grid-template-columns: 120px 190px minmax(0,1fr); align-items: end; }
    .result { grid-template-columns: 62px 1.2fr 1fr 1.1fr; gap: 15px; }
    .result > :nth-child(n+3) { grid-column: auto; }
    .card, .tu-card { padding: 21px; }
}

@media (min-width: 980px) {
    .tu-topbar__inner { padding-left: 20px; padding-right: 20px; }
    .tu-brand__tagline { font-size: 11px; }
}

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; animation: none !important; }
}

/* Orientation — actions feedback / projet métier */
.tu-career-feedback-actions {
    display: flex;
    align-items: center;
    gap: 9px;
    flex-wrap: wrap;
    margin-top: 8px;
}
.tu-career-feedback-actions form { margin: 0; }
.tu-career-project-present {
    display: inline-flex;
    align-items: center;
    min-height: 36px;
}
.tu-career-project-remove {
    min-height: 36px;
    padding: 7px 11px;
    border: 1px solid #F2B8B8;
    background: #FFF6F6;
    color: #A53232;
    box-shadow: none;
    font-size: 12px;
}
.tu-career-project-remove:hover {
    background: #FFEAEA;
    color: #8F2525;
}
.tu-project-cleanup {
    margin: 12px 0 16px;
    padding: 13px 14px;
    border: 1px solid #F2B8B8;
    border-radius: 12px;
    background: #FFF6F6;
}
.tu-project-cleanup p { margin: 6px 0 10px; }

/* Orientation — explication métier en modal / bottom sheet */
.tu-career-why-button {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    min-height: 34px;
    margin-top: 9px;
    padding: 6px 10px;
    border: 1px solid #CCD9E7;
    border-radius: 999px;
    background: #F7F9FC;
    color: var(--tu-blue);
    font-size: 12px;
    font-weight: 800;
    line-height: 1;
    box-shadow: none;
}
.tu-career-why-button:hover { background: #EEF3F8; border-color: #AEBFD1; }
.tu-career-why-button__icon {
    display: grid;
    place-items: center;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    background: var(--tu-blue);
    color: #fff;
    font-size: 11px;
    font-weight: 900;
    font-family: Georgia, serif;
}

.tu-career-why-dialog {
    box-sizing: border-box;
    width: min(640px, calc(100vw - 40px));
    max-width: 640px;
    max-height: min(82dvh, 720px);
    margin: auto;
    padding: 0;
    border: 0;
    border-radius: 20px;
    background: #fff;
    color: var(--tu-ink);
    box-shadow: 0 30px 90px rgba(15, 52, 102, .28);
    overflow: hidden;
}
.tu-career-why-dialog::backdrop { background: rgba(8, 29, 58, .54); backdrop-filter: blur(2px); }
.tu-career-why-dialog__shell {
    display: flex;
    flex-direction: column;
    max-height: min(82dvh, 720px);
}
.tu-career-why-dialog__head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
    padding: 18px 20px 15px;
    border-bottom: 1px solid var(--tu-line);
    background: #fff;
}
.tu-career-why-dialog__eyebrow {
    margin-bottom: 3px;
    color: var(--tu-red);
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .07em;
    text-transform: uppercase;
}
.tu-career-why-dialog__head h3 { margin: 0; color: var(--tu-blue); font-size: 21px; line-height: 1.2; }
.tu-career-why-dialog__close {
    flex: 0 0 40px;
    width: 40px;
    height: 40px;
    padding: 0;
    display: grid;
    place-items: center;
    border: 1px solid var(--tu-line);
    border-radius: 50%;
    background: #F7F9FC;
    color: var(--tu-blue);
    font-size: 25px;
    font-weight: 400;
    line-height: 1;
}
.tu-career-why-dialog__body {
    display: grid;
    gap: 16px;
    padding: 18px 20px 22px;
    overflow-y: auto;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
}
.tu-career-why-section { display: grid; gap: 8px; }
.tu-career-why-section > strong { color: var(--tu-blue); font-size: 13px; }
.tu-career-why-section--muted { padding-top: 14px; border-top: 1px solid var(--tu-line); }
.tu-career-why-tags { display: flex; flex-wrap: wrap; gap: 6px; }
.tu-career-why-tags span {
    padding: 5px 8px;
    border-radius: 999px;
    background: #EDF7F1;
    color: #0F3466;
    font-size: 12px;
    font-weight: 700;
}
.tu-career-why-tags--warning span { background: #FFF4EA; color: #9A4B00; }
.tu-career-why-tags--muted span { background: #F2F4F7; color: var(--tu-muted); }
.tu-career-why__scores {
    display: grid;
    grid-template-columns: repeat(3, minmax(0,1fr));
    gap: 8px;
}
.tu-career-why__scores > span {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-width: 0;
    gap: 2px;
    padding: 11px;
    border-radius: 12px;
    background: #F7F9FC;
    border: 1px solid var(--tu-line);
    color: var(--tu-muted);
    font-size: 10px;
    font-weight: 700;
}
.tu-career-why__scores strong { color: var(--tu-blue); font-size: 19px; line-height: 1.1; }
.tu-career-why__scores small { color: var(--tu-muted); font-size: 9px; line-height: 1.25; }
.tu-career-why__scores .tu-career-why__final { background: var(--tu-blue); color: rgba(255,255,255,.78); border-color: var(--tu-blue); }
.tu-career-why__scores .tu-career-why__final strong { color: #fff; }
.tu-modal-open, .tu-modal-open body { overflow: hidden; }

@media (max-width: 640px) {
    .tu-career-why-button { min-height: 36px; margin-top: 8px; font-size: 12px; }
    .tu-career-why-dialog[open] {
        position: fixed;
        inset: auto 0 0 0;
        width: 100%;
        max-width: none;
        max-height: 86dvh;
        margin: 0;
        border-radius: 22px 22px 0 0;
    }
    .tu-career-why-dialog__shell { max-height: 86dvh; }
    .tu-career-why-dialog__head { padding: 16px 16px 13px; }
    .tu-career-why-dialog__head h3 { font-size: 19px; }
    .tu-career-why-dialog__body { gap: 14px; padding: 15px 16px calc(18px + env(safe-area-inset-bottom)); }
    .tu-career-why__scores { gap: 6px; }
    .tu-career-why__scores > span { padding: 9px 7px; }
    .tu-career-why__scores strong { font-size: 17px; }
    .tu-career-why-tags span { font-size: 11px; }
}

/* ========================================================================== 
   TERMINALES — parcours de test complet · v1
   Mobile-first, institutionnel, visuel. #FF5757 reste un accent, pas un fond.
   ========================================================================== */

:root {
    --tu-red-soft: #FFF0F0;
    --tu-blue-xsoft: #F6F9FC;
    --tu-dark: #0A2648;
}

body.tu-auth-page { padding-bottom: 0; }

/* Accent saumon : information, attention, étapes actives */
.tu-career-why-button__icon { background: var(--tu-red); }
.tu-info-dot {
    width: 22px; height: 22px; flex: 0 0 22px;
    display: inline-grid; place-items: center;
    border-radius: 999px; background: var(--tu-red); color: #fff;
    font: 900 12px/1 Georgia, serif;
}
.tu-accent-text { color: var(--tu-red-dark); }
.tu-icon-accent { background: var(--tu-red-soft) !important; color: var(--tu-red-dark) !important; }

/* Auth */
.tu-auth {
    min-height: 100dvh;
    display: grid;
    background:
        radial-gradient(circle at 90% 8%, rgba(255,87,87,.14), transparent 28%),
        linear-gradient(160deg, var(--tu-blue) 0 34%, var(--tu-bg) 34% 100%);
}
.tu-auth__inner {
    width: min(100% - 28px, 980px);
    margin: auto;
    padding: max(24px, env(safe-area-inset-top)) 0 max(24px, env(safe-area-inset-bottom));
    display: grid;
    gap: 18px;
}
.tu-auth__brand { color:#fff; padding: 8px 4px 2px; }
.tu-auth__brandline { display:flex; align-items:center; gap:12px; }
.tu-auth__brandmark {
    width:46px; height:46px; border-radius:13px 13px 13px 4px;
    display:grid; place-items:center; background:#fff; color:var(--tu-blue);
    font-size:26px; font-weight:900; position:relative;
}
.tu-auth__brandmark::after { content:""; position:absolute; width:10px; height:10px; right:-3px; bottom:-3px; border-radius:50%; background:var(--tu-red); border:2px solid var(--tu-blue); }
.tu-auth__brand strong { display:block; font-size:17px; letter-spacing:.12em; }
.tu-auth__brand small { color:rgba(255,255,255,.76); }
.tu-auth__panel {
    width:100%; max-width:520px; justify-self:center;
    background:#fff; border:1px solid rgba(255,255,255,.72); border-radius:24px;
    padding:22px; box-shadow:0 26px 70px rgba(8,38,72,.19);
}
.tu-auth__panel h1 { font-size:clamp(1.7rem,7vw,2.3rem); margin-bottom:8px; }
.tu-auth__lead { color:var(--tu-muted); margin-bottom:20px; }
.tu-auth__field { display:grid; gap:6px; margin-bottom:14px; }
.tu-auth__field label { font-weight:800; font-size:13px; color:var(--tu-blue); }
.tu-auth__submit { width:100%; margin-top:4px; }
.tu-checkline { display:flex; gap:9px; align-items:center; min-height:38px; }

/* Page hero / compact navigation */
.tu-hero {
    position:relative; overflow:hidden;
    background:var(--tu-blue); color:#fff; border:0; border-radius:22px;
    padding:20px; margin-bottom:16px; box-shadow:var(--tu-shadow);
}
.tu-hero::after { content:""; position:absolute; right:-55px; top:-70px; width:180px; height:180px; border-radius:50%; border:28px solid rgba(255,255,255,.06); }
.tu-hero h1,.tu-hero h2,.tu-hero h3 { color:#fff; }
.tu-hero .tu-subtitle,.tu-hero .muted,.tu-hero .tu-note { color:rgba(255,255,255,.76); }
.tu-hero__top { display:flex; align-items:flex-start; justify-content:space-between; gap:14px; position:relative; z-index:1; }
.tu-hero__badge { background:rgba(255,255,255,.12); color:#fff; border:1px solid rgba(255,255,255,.18); }
.tu-hero__stats { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; margin-top:18px; position:relative; z-index:1; }
.tu-hero-stat { padding:10px; border-radius:13px; background:rgba(255,255,255,.09); min-width:0; }
.tu-hero-stat strong { display:block; color:#fff; font-size:20px; line-height:1.05; }
.tu-hero-stat span { color:rgba(255,255,255,.7); font-size:10px; font-weight:800; text-transform:uppercase; letter-spacing:.04em; }
.tu-hero-stat--accent { background:var(--tu-red); }

/* Workflow / progress */
.tu-progress-strip { display:flex; gap:6px; overflow-x:auto; padding:2px 1px 8px; scrollbar-width:none; }
.tu-progress-strip::-webkit-scrollbar { display:none; }
.tu-progress-chip { flex:0 0 auto; display:flex; align-items:center; gap:6px; min-height:38px; padding:7px 10px; border-radius:999px; background:#fff; border:1px solid var(--tu-line); color:var(--tu-muted); font-size:11px; font-weight:850; }
.tu-progress-chip.is-done { background:var(--tu-blue-soft); color:var(--tu-blue); border-color:#C7D7E8; }
.tu-progress-chip.is-current { background:var(--tu-red); color:#fff; border-color:var(--tu-red); }
.tu-progress-dot { width:18px; height:18px; display:grid; place-items:center; border-radius:50%; background:rgba(15,52,102,.08); font-size:10px; }
.tu-progress-chip.is-current .tu-progress-dot { background:rgba(255,255,255,.2); }

/* Forms / fieldsets */
.tu-form-card { background:#fff; border:1px solid var(--tu-line); border-radius:18px; padding:16px; margin-bottom:14px; box-shadow:var(--tu-shadow-soft); }
.tu-form-card__head { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; margin-bottom:14px; }
.tu-form-card__head h2,.tu-form-card__head h3 { margin:0; }
.tu-field { display:grid; gap:6px; margin-bottom:13px; }
.tu-field > label,.tu-field-label { color:var(--tu-blue); font-size:12px; font-weight:850; }
.tu-form-actions { display:flex; flex-wrap:wrap; gap:8px; margin-top:18px; }
.tu-form-actions .tu-btn, .tu-form-actions button { flex:1 1 190px; }
fieldset {
    min-width:0; margin:0 0 14px; padding:15px;
    border:1px solid var(--tu-line); border-radius:16px; background:#fff;
    box-shadow:var(--tu-shadow-soft);
}
legend { max-width:calc(100% - 20px); padding:0 8px; color:var(--tu-blue); font-weight:900; }
.tu-option-grid, .tu-questionnaire .grid { display:grid; grid-template-columns:1fr; gap:9px; }
.item { padding:10px; border:1px solid #E6ECF2; border-radius:12px; background:#FBFCFE; }
.item > label:first-child { font-weight:700; }
.rank-row { display:grid; grid-template-columns:minmax(0,1fr) 86px; gap:10px; align-items:center; padding:8px 0; border-bottom:1px solid #EEF2F6; }
.rank-row:last-of-type { border-bottom:0; }
.rank-warning { color:#A82E2E; background:var(--tu-red-soft); padding:9px 10px; border-radius:10px; margin-top:8px; font-size:12px; font-weight:800; }
.optional { color:var(--tu-muted); font-size:.78em; font-weight:700; }

/* Questionnaire */
.tu-questionnaire-nav { display:flex; gap:7px; overflow-x:auto; padding:2px 0 10px; margin:0 0 14px; scrollbar-width:none; }
.tu-questionnaire-nav::-webkit-scrollbar { display:none; }
.tu-questionnaire-nav a { flex:0 0 auto; min-height:38px; display:inline-flex; align-items:center; padding:7px 11px; border:1px solid var(--tu-line); border-radius:999px; background:#fff; color:var(--tu-muted); text-decoration:none; font-size:11px; font-weight:850; }
.tu-questionnaire-nav a.current { background:var(--tu-blue); border-color:var(--tu-blue); color:#fff; }
.tu-questionnaire-nav a.is-done:not(.current)::before { content:"✓"; color:var(--tu-success); margin-right:5px; font-weight:900; }
.tu-questionnaire__intro { display:flex; align-items:flex-start; gap:10px; padding:12px 14px; border-radius:14px; background:var(--tu-blue-soft); color:var(--tu-blue); margin-bottom:14px; }
.tu-questionnaire__intro .tu-info-dot { margin-top:1px; }

/* Selection cards */
.tu-choice-grid { display:grid; gap:10px; }
.tu-choice-card { position:relative; display:block; border:1px solid var(--tu-line); border-radius:16px; background:#fff; padding:15px; box-shadow:var(--tu-shadow-soft); }
.tu-choice-card h3 { margin-bottom:5px; }
.tu-choice-card--accent { border-top:4px solid var(--tu-red); }
.tu-choice-card--blue { border-top:4px solid var(--tu-blue); }
.tu-choice-card__radio { display:flex; gap:9px; align-items:flex-start; padding:9px 0; }

/* Team */
.tu-team-section { margin:0 0 22px; }
.tu-team-section > .tu-section-title { margin-bottom:10px; }
.tu-team-cards { display:grid; gap:10px; }
.tu-team-card { background:#fff; border:1px solid var(--tu-line); border-radius:16px; padding:14px; box-shadow:var(--tu-shadow-soft); }
.tu-team-card__top { display:flex; justify-content:space-between; gap:12px; align-items:flex-start; margin-bottom:10px; }
.tu-team-card__name { color:var(--tu-blue); font-weight:900; font-size:16px; }
.tu-team-card__meta { color:var(--tu-muted); font-size:12px; overflow-wrap:anywhere; }
.tu-team-card__forms { display:grid; gap:8px; }
.tu-team-card__forms form { margin:0; }
.tu-inline-form { display:flex; flex-wrap:wrap; gap:8px; align-items:center; }
.tu-inline-form > input,.tu-inline-form > select { flex:1 1 180px; }
.tu-inline-form > button,.tu-inline-form > .tu-btn { flex:0 1 auto; }
.tu-permission-grid { display:grid; gap:7px; margin:10px 0; }
.tu-permission-grid label { display:flex; align-items:center; gap:8px; min-height:34px; }
.tu-copy-row { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:8px; }

/* Student / coach cards */
.tu-person-grid { display:grid; gap:10px; }
.tu-person-card { display:grid; gap:11px; padding:15px; background:#fff; border:1px solid var(--tu-line); border-radius:17px; box-shadow:var(--tu-shadow-soft); }
.tu-person-card__top { display:flex; align-items:flex-start; justify-content:space-between; gap:10px; }
.tu-person-card__name { color:var(--tu-blue); font-size:17px; font-weight:900; text-decoration:none; }
.tu-person-card__meta { color:var(--tu-muted); font-size:12px; }
.tu-person-card__footer { display:flex; flex-wrap:wrap; gap:7px; align-items:center; padding-top:10px; border-top:1px solid #EDF1F5; }
.tu-student-card-journey__activity{color:#8290A0;font-size:10px}
.tu-student-card-journey{display:grid;gap:9px;padding:12px;border:1px solid #DCE5EF;border-radius:12px;background:#F8FAFC}.tu-student-card-journey__head,.tu-student-card-journey__status{display:flex;align-items:center;justify-content:space-between;gap:8px}.tu-student-card-journey__head{color:#52657A;font-size:12px;font-weight:800}.tu-student-card-journey__head strong{color:#0F3466;font-size:17px}.tu-student-card-journey__track{height:7px;overflow:hidden;border-radius:999px;background:#E2E9F1}.tu-student-card-journey__track>span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#174A83,#FF5757)}.tu-student-card-journey__steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:3px}.tu-student-card-journey__steps>span{display:grid;justify-items:center;gap:3px;min-width:0;color:#93A2B2;font-size:9px;text-align:center}.tu-student-card-journey__steps i{display:grid;place-items:center;width:20px;height:20px;border:1px solid currentColor;border-radius:50%;font-style:normal;font-size:10px;font-weight:900}.tu-student-card-journey__steps small{overflow:hidden;max-width:100%;font-size:9px;text-overflow:ellipsis;white-space:nowrap}.tu-student-card-journey__steps .is-done{color:#27845A}.tu-student-card-journey__steps .is-current{color:#0F3466;font-weight:900}.tu-student-card-journey__steps .is-current i{border-color:#0F3466;background:#0F3466;color:#fff}.tu-student-card-journey__steps .is-locked{color:#A7B3C0}.tu-student-card-journey__status{color:#66798D;font-size:10px}.tu-student-card-journey__status span:last-child{text-align:right}.tu-student-card-journey__status strong{color:#334A62}@media(max-width:430px){.tu-student-card-journey__status{align-items:flex-start;flex-direction:column}.tu-student-card-journey__status span:last-child{text-align:left}}
.tu-mini-progress { height:7px; border-radius:999px; background:#E8EEF4; overflow:hidden; }
.tu-mini-progress > span { display:block; height:100%; border-radius:inherit; background:var(--tu-blue); }

/* Matching */
.tu-match-list { display:grid; gap:12px; }
.tu-match-card { background:#fff; border:1px solid var(--tu-line); border-radius:18px; overflow:hidden; box-shadow:var(--tu-shadow-soft); }
.tu-match-card__head { display:grid; grid-template-columns:50px minmax(0,1fr) auto; gap:11px; align-items:center; padding:14px; border-bottom:1px solid #EEF2F6; }
.tu-match-card__rank { color:var(--tu-blue); font-size:23px; font-weight:950; letter-spacing:-.04em; }
.tu-match-card__title { color:var(--tu-blue); font-size:16px; font-weight:900; }
.tu-match-card__score { min-width:58px; text-align:center; padding:8px; border-radius:12px; background:var(--tu-blue); color:#fff; font-size:18px; font-weight:900; }
.tu-match-card__body { padding:14px; display:grid; gap:12px; }
.tu-score-pair { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.tu-score-box { padding:10px; border-radius:12px; background:#F8FAFC; border:1px solid #E7EDF3; }
.tu-score-box span { display:block; color:var(--tu-muted); font-size:10px; font-weight:800; text-transform:uppercase; }
.tu-score-box strong { color:var(--tu-blue); font-size:18px; }
.tu-feedback-options { display:grid; gap:7px; }
.tu-feedback-option { display:flex; gap:8px; align-items:center; min-height:42px; padding:8px 10px; border:1px solid #E4EAF0; border-radius:11px; background:#FBFCFE; }

/* Profile */
.tu-profile-sections { display:grid; gap:12px; }
.tu-riasec-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
.tu-riasec-item { padding:11px; border:1px solid #E5EBF1; border-radius:12px; background:#FBFCFE; }
.tu-riasec-item label { display:block; color:var(--tu-blue); font-size:11px; font-weight:850; margin-bottom:5px; }

/* Parcoursup compact visual dashboard */
.tu-parcoursup-status { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; margin-bottom:14px; }
.tu-parcoursup-status > div { min-width:0; padding:11px; background:#fff; border:1px solid var(--tu-line); border-radius:14px; }
.tu-parcoursup-status small { display:block; color:var(--tu-muted); font-size:9px; font-weight:850; text-transform:uppercase; letter-spacing:.04em; }
.tu-parcoursup-status strong { display:block; color:var(--tu-blue); margin-top:3px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.tu-parcoursup-status .is-accent { background:var(--tu-red); border-color:var(--tu-red); }
.tu-parcoursup-status .is-accent small,.tu-parcoursup-status .is-accent strong { color:#fff; }
.tu-formation-list { display:grid; gap:10px; }
.tu-formation-card { padding:15px; border:1px solid var(--tu-line); border-radius:16px; background:#fff; box-shadow:var(--tu-shadow-soft); }
.tu-formation-card__top { display:flex; gap:10px; align-items:flex-start; justify-content:space-between; }
.tu-formation-card h2,.tu-formation-card h3 { margin:0 0 5px; }

/* Safer mobile tables without breaking semantics */
.tu-mobile-cards { width:100%; }
@media (max-width:760px) {
    .tu-mobile-cards, .tu-mobile-cards tbody, .tu-mobile-cards tr, .tu-mobile-cards td { display:block; width:100%; }
    .tu-mobile-cards thead { display:none; }
    .tu-mobile-cards tr { margin:0 0 10px; padding:13px; border:1px solid var(--tu-line); border-radius:15px; background:#fff; box-shadow:var(--tu-shadow-soft); }
    .tu-mobile-cards td { display:grid; grid-template-columns:92px minmax(0,1fr); gap:9px; border:0; padding:6px 0; }
    .tu-mobile-cards td::before { content:attr(data-label); color:var(--tu-muted); font-size:9px; font-weight:900; text-transform:uppercase; letter-spacing:.04em; }
}

/* Generic legacy page normalization once linked to terminales-ui.css */
.tu-legacy-page main h2 { margin-top:22px; }
.tu-legacy-page ul,.tu-legacy-page ol { padding-left:22px; }
.tu-legacy-page form { max-width:100%; }
.tu-legacy-page table { border:1px solid var(--tu-line); border-radius:14px; overflow:hidden; }

@media (min-width:700px) {
    .tu-auth__inner { grid-template-columns:.9fr 1.1fr; align-items:center; gap:54px; }
    .tu-auth__brand { align-self:center; }
    .tu-auth__panel { justify-self:end; padding:30px; }
    .tu-option-grid, .tu-questionnaire .grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .tu-choice-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .tu-team-cards { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .tu-person-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .tu-riasec-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
    .tu-match-card__body { grid-template-columns:minmax(0,1fr) minmax(280px,.7fr); }
    .tu-hero { padding:24px; }
}

@media (min-width:980px) {
    .tu-team-cards { grid-template-columns:repeat(3,minmax(0,1fr)); }
    .tu-person-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
    .tu-choice-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

@media (max-width:520px) {
    .tu-hero__stats { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .tu-hero-stat:last-child:nth-child(3) { grid-column:1 / -1; }
    .tu-parcoursup-status { grid-template-columns:1fr 1fr; }
    .tu-parcoursup-status > div:last-child:nth-child(3) { grid-column:1 / -1; }
    .tu-copy-row { grid-template-columns:1fr; }
    .tu-match-card__head { grid-template-columns:42px minmax(0,1fr) 58px; }
}
.tu-career-why-button__icon { background:#FF5757 !important; }
.tu-container > .wrap { width:100%; max-width:none; margin:0; padding:0; }

/* =========================================================
   Navigation shell v1 — navigation globale unique
   ========================================================= */
.tu-desktop-nav { gap: 3px; }
.tu-nav-menu { position: relative; }
.tu-nav-menu > summary {
    list-style: none;
    color: rgba(255,255,255,.86);
    padding: 9px 10px;
    border-radius: 9px;
    font-weight: 700;
    cursor: pointer;
    user-select: none;
    white-space: nowrap;
}
.tu-nav-menu > summary::-webkit-details-marker { display: none; }
.tu-nav-menu > summary:hover,
.tu-nav-menu > summary.is-active,
.tu-nav-menu[open] > summary { background: rgba(255,255,255,.11); color: #fff; }
.tu-nav-menu__panel {
    position: absolute;
    top: calc(100% + 10px);
    left: 0;
    z-index: 90;
    min-width: 230px;
    padding: 8px;
    background: #fff;
    border: 1px solid var(--tu-line);
    border-radius: 14px;
    box-shadow: 0 18px 44px rgba(15,52,102,.18);
}
.tu-nav-menu__panel--right { left: auto; right: 0; min-width: 245px; }
.tu-nav-menu__panel a,
.tu-nav-menu__logout {
    width: 100%;
    min-height: 40px;
    display: flex;
    align-items: center;
    padding: 9px 10px;
    border: 0;
    border-radius: 9px;
    background: transparent;
    color: var(--tu-ink) !important;
    text-decoration: none;
    font: inherit;
    font-weight: 750;
    text-align: left;
    cursor: pointer;
}
.tu-nav-menu__panel a:hover,
.tu-nav-menu__logout:hover { background: var(--tu-blue-soft); color: var(--tu-blue) !important; }
.tu-nav-account__identity { padding: 9px 10px 11px; border-bottom: 1px solid var(--tu-line); margin-bottom: 5px; }
.tu-nav-account__identity strong,
.tu-nav-account__identity span { display: block; }
.tu-nav-account__identity strong { color: var(--tu-blue); }
.tu-nav-account__identity span { color: var(--tu-muted); font-size: 11px; overflow-wrap: anywhere; }

/* Sous-navigation unique d'un dossier élève */
.tu-student-subnav {
    position: sticky;
    top: calc(64px + env(safe-area-inset-top));
    z-index: 42;
    background: rgba(255,255,255,.96);
    border-bottom: 1px solid var(--tu-line);
    backdrop-filter: blur(12px);
}
.tu-student-subnav__inner {
    width: min(100%, var(--tu-max));
    margin: 0 auto;
    padding: 0 14px;
    min-height: 46px;
    display: flex;
    gap: 3px;
    align-items: center;
    overflow-x: auto;
    scrollbar-width: none;
}
.tu-student-subnav__inner::-webkit-scrollbar { display: none; }
.tu-student-subnav__name {
    flex: 0 0 auto;
    max-width: 155px;
    padding-right: 10px;
    margin-right: 4px;
    border-right: 1px solid var(--tu-line);
    color: var(--tu-blue);
    font-size: 11px;
    font-weight: 900;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.tu-student-subnav a {
    flex: 0 0 auto;
    min-height: 36px;
    display: inline-flex;
    align-items: center;
    padding: 7px 9px;
    border-radius: 9px;
    color: var(--tu-muted);
    text-decoration: none;
    font-size: 11px;
    font-weight: 800;
    white-space: nowrap;
}
.tu-student-subnav a:hover,
.tu-student-subnav a.is-active { background: var(--tu-blue-soft); color: var(--tu-blue); }
.tu-student-subnav a.is-active { box-shadow: inset 0 -2px 0 var(--tu-red); }

/* Barre mobile: 4 destinations max, Plus ouvre le reste */
.tu-mobile-nav button.tu-mobile-nav__more {
    min-width: 0;
    min-height: 50px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 2px;
    color: var(--tu-muted);
    background: transparent;
    border: 0;
    border-radius: 12px;
    font: inherit;
    font-size: 10px;
    font-weight: 800;
    cursor: pointer;
}
.tu-mobile-nav button.tu-mobile-nav__more.is-active { background: var(--tu-blue-soft); color: var(--tu-blue); }
.tu-mobile-nav button.tu-mobile-nav__more svg { width: 21px; height: 21px; stroke-width: 2; }
body.tu-more-open { overflow: hidden; }
.tu-more[hidden] { display: none !important; }
.tu-more { position: fixed; inset: 0; z-index: 100; }
.tu-more__backdrop { position: absolute; inset: 0; width: 100%; border: 0; background: rgba(7,25,48,.48); backdrop-filter: blur(2px); }
.tu-more__sheet {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    max-height: min(78vh, 680px);
    overflow-y: auto;
    padding: 9px 16px calc(20px + env(safe-area-inset-bottom));
    background: #fff;
    border-radius: 22px 22px 0 0;
    box-shadow: 0 -20px 54px rgba(15,52,102,.2);
}
.tu-more__handle { width: 42px; height: 4px; margin: 0 auto 12px; border-radius: 999px; background: #CFD9E5; }
.tu-more__head { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding-bottom: 12px; border-bottom: 1px solid var(--tu-line); }
.tu-more__head strong,
.tu-more__head span { display: block; }
.tu-more__head strong { color: var(--tu-blue); font-size: 18px; }
.tu-more__head span { color: var(--tu-muted); font-size: 12px; }
.tu-more__close { width: 42px; height: 42px; display: grid; place-items: center; border: 0; border-radius: 50%; background: var(--tu-blue-soft); color: var(--tu-blue); font-size: 25px; line-height: 1; cursor: pointer; }
.tu-more__links { display: grid; gap: 2px; padding: 10px 0; }
.tu-more__links a { min-height: 46px; display: flex; align-items: center; justify-content: space-between; padding: 10px 8px; border-bottom: 1px solid #EDF1F5; color: var(--tu-ink); text-decoration: none; font-weight: 800; }
.tu-more__links a span { color: var(--tu-red); font-size: 22px; font-weight: 400; }
.tu-more__logout { margin: 0; }
.tu-more__logout button { width: 100%; min-height: 46px; border: 1px solid #F2B8B8; border-radius: 12px; background: #FFF6F6; color: #A53232; font: inherit; font-weight: 850; cursor: pointer; }

/* Dashboard = point d'entrée, pas second menu anarchique */
.tu-dashboard-section { margin-bottom: 18px; }
.tu-dashboard-links { display: grid; gap: 10px; }
.tu-dashboard-link {
    min-width: 0;
    display: grid;
    grid-template-columns: 42px minmax(0,1fr) auto;
    gap: 11px;
    align-items: center;
    min-height: 76px;
    padding: 13px;
    border: 1px solid var(--tu-line);
    border-radius: 15px;
    background: #fff;
    box-shadow: var(--tu-shadow-soft);
    color: var(--tu-ink);
    text-decoration: none;
}
.tu-dashboard-link:hover { border-color: #B9C9DA; color: var(--tu-ink); transform: translateY(-1px); }
.tu-dashboard-link__icon { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 12px; background: var(--tu-blue-soft); color: var(--tu-blue); font-weight: 950; }
.tu-dashboard-link--accent .tu-dashboard-link__icon { background: rgba(255,87,87,.12); color: var(--tu-red-dark); }
.tu-dashboard-link strong,
.tu-dashboard-link small { display: block; }
.tu-dashboard-link strong { color: var(--tu-blue); font-size: 15px; }
.tu-dashboard-link small { margin-top: 2px; color: var(--tu-muted); font-size: 11px; }
.tu-dashboard-link__arrow { color: var(--tu-red); font-size: 24px; }

/* Les anciennes pages admin gagnent le shell sans nécessiter une refonte métier */
body.tu-with-shell > .wrap { margin-top: 0; }

@media (min-width: 700px) {
    .tu-dashboard-links { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .tu-student-subnav__inner { padding-left: 20px; padding-right: 20px; }
}
@media (min-width: 980px) {
    .tu-dashboard-links { grid-template-columns: repeat(4,minmax(0,1fr)); }
    .tu-dashboard-link { grid-template-columns: 42px minmax(0,1fr); }
    .tu-dashboard-link__arrow { display: none; }
}
@media (max-width: 699px) {
    .tu-student-subnav { top: calc(64px + env(safe-area-inset-top)); }
    .tu-student-subnav__name { display: none; }
}


/* ==========================================================================\n   Questionnaire Experience V1 — RIASEC / tactile / glissières\n   ========================================================================== */
.tu-questionnaire { padding-bottom: 96px; }
.tu-questionnaire-hero {
    display:grid; gap:12px; margin:0 0 16px; padding:17px;
    border-radius:20px; background:linear-gradient(145deg,var(--tu-blue),#16477f); color:#fff;
    box-shadow:0 14px 32px rgba(15,52,102,.15);
}
.tu-questionnaire-hero__top { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; }
.tu-questionnaire-hero h2 { margin:2px 0 4px; color:#fff; font-size:clamp(20px,4.8vw,30px); }
.tu-questionnaire-hero p { margin:0; color:rgba(255,255,255,.82); font-size:13px; line-height:1.5; }
.tu-questionnaire-hero__step { flex:0 0 auto; display:grid; place-items:center; width:48px; height:48px; border-radius:15px; background:var(--tu-red); color:#fff; font-weight:950; font-size:16px; }
.tu-questionnaire-progress { height:7px; overflow:hidden; border-radius:999px; background:rgba(255,255,255,.18); }
.tu-questionnaire-progress > span { display:block; height:100%; border-radius:inherit; background:var(--tu-red); transition:width .25s ease; }
.tu-questionnaire-nav { position:relative; }
.tu-questionnaire-nav a.current { box-shadow:0 0 0 3px rgba(255,87,87,.14); }

.tu-question-card {
    border:1px solid var(--tu-line); border-radius:18px; background:#fff;
    box-shadow:var(--tu-shadow-soft); padding:15px; margin-bottom:12px;
}
.tu-question-card__title { margin:0 0 5px; color:var(--tu-blue); font-size:15px; font-weight:900; line-height:1.35; }
.tu-question-card__hint { margin:0; color:var(--tu-muted); font-size:12px; line-height:1.45; }
.tu-question-section-title { display:flex; align-items:center; gap:9px; margin:22px 0 10px; }
.tu-question-section-title:first-child { margin-top:0; }
.tu-question-section-title__icon { width:30px; height:30px; display:grid; place-items:center; border-radius:10px; background:var(--tu-red-soft); color:var(--tu-red); font-weight:950; }
.tu-question-section-title h3 { margin:0; font-size:16px; }

/* RIASEC : pile verticale réordonnable */
.tu-riasec-shell { max-width:760px; margin:0 auto; }
.tu-riasec-round[hidden] { display:none !important; }
.tu-riasec-round__head { margin-bottom:12px; }
.tu-riasec-round__head strong { display:block; color:var(--tu-blue); font-size:18px; }
.tu-riasec-round__head span { color:var(--tu-muted); font-size:12px; }
.tu-riasec-direction { display:flex; align-items:center; justify-content:space-between; gap:12px; margin:10px 2px 8px; color:var(--tu-muted); font-size:11px; font-weight:850; }
.tu-riasec-direction span:first-child { color:var(--tu-red); }
.tu-sortable-list { list-style:none; margin:0; padding:0; display:grid; gap:8px; }
.tu-sort-item {
    position:relative; display:grid; grid-template-columns:40px 34px minmax(0,1fr) 72px; gap:8px; align-items:center;
    min-height:66px; padding:8px 8px 8px 6px; border:1px solid #DCE5EE; border-radius:15px; background:#fff;
    box-shadow:0 4px 12px rgba(15,52,102,.045); transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease,background .15s ease;
}
.tu-sort-item.is-dragging { z-index:30; opacity:.92; transform:scale(1.015); border-color:var(--tu-red); box-shadow:0 14px 28px rgba(15,52,102,.18); background:#fff; }
.tu-sort-item__rank { width:34px; height:34px; display:grid; place-items:center; border-radius:11px; background:var(--tu-blue-soft); color:var(--tu-blue); font-weight:950; font-size:13px; }
.tu-sort-item:first-child .tu-sort-item__rank { background:var(--tu-red); color:#fff; }
.tu-sort-item__text { color:var(--tu-ink); font-weight:750; line-height:1.35; font-size:13px; }
.tu-drag-handle {
    width:40px; height:46px; border:0; border-radius:11px; background:#F4F7FA; color:var(--tu-blue); box-shadow:none;
    display:grid; place-items:center; padding:0; cursor:grab; touch-action:none; font-size:18px; font-weight:950;
}
.tu-drag-handle::before { content:'≡'; transform:rotate(90deg); }
.tu-drag-handle:active { cursor:grabbing; background:var(--tu-red-soft); color:var(--tu-red); }
.tu-sort-arrows { display:grid; grid-template-columns:1fr 1fr; gap:4px; }
.tu-sort-arrow { min-width:0; min-height:34px; padding:0; border-radius:9px; background:#F4F7FA; color:var(--tu-blue); box-shadow:none; font-size:14px; }
.tu-sort-arrow:disabled { opacity:.28; cursor:default; }
.tu-sort-instruction { margin:10px 0 14px; padding:11px 13px; border-left:4px solid var(--tu-red); border-radius:0 10px 10px 0; background:#FFF5F5; color:var(--tu-ink); font-size:13px; font-weight:750; line-height:1.45; }
.tu-sort-instruction__mobile { display:none; }
.tu-riasec-status { display:flex; align-items:center; gap:8px; margin:10px 2px 0; color:var(--tu-muted); font-size:12px; }
.tu-riasec-status::before { content:''; width:8px; height:8px; flex:0 0 auto; border-radius:50%; background:#C9D4DF; }
.tu-riasec-round[data-validated="1"] .tu-riasec-status { color:#0F3466; font-weight:800; }
.tu-riasec-round[data-validated="1"] .tu-riasec-status::before { background:#0F3466; }
.tu-riasec-actions { position:sticky; bottom:74px; z-index:20; display:flex; gap:8px; margin:15px -2px 0; padding:9px; border:1px solid var(--tu-line); border-radius:16px; background:rgba(255,255,255,.94); backdrop-filter:blur(10px); box-shadow:0 9px 24px rgba(15,52,102,.12); }
.tu-riasec-actions > * { flex:1 1 0; }
.tu-riasec-finish { margin-top:12px; }

/* Cartes de sélection — checkboxes réelles masquées, cible tactile pleine carte */
.tu-toggle-grid { display:grid; grid-template-columns:1fr; gap:8px; }
.tu-toggle-input { position:absolute !important; opacity:0 !important; pointer-events:none !important; width:1px !important; height:1px !important; }
.tu-toggle-card {
    position:relative; display:flex; align-items:center; gap:10px; min-height:54px; padding:11px 13px;
    border:1px solid #DCE5EE; border-radius:14px; background:#fff; cursor:pointer; user-select:none;
    color:var(--tu-ink); font-weight:750; line-height:1.3; transition:.15s ease;
}
.tu-toggle-card::after { content:'+'; margin-left:auto; width:26px; height:26px; display:grid; place-items:center; border-radius:50%; background:#F1F5F9; color:var(--tu-blue); font-weight:950; }
.tu-toggle-input:checked + .tu-toggle-card { border-color:var(--tu-red); background:var(--tu-red-soft); box-shadow:0 0 0 2px rgba(255,87,87,.08); }
.tu-toggle-input:checked + .tu-toggle-card::after { content:'✓'; background:var(--tu-red); color:#fff; }
.tu-toggle-card__icon { font-size:20px; line-height:1; }
.tu-ranking-zone { margin-top:12px; padding:12px; border:1px dashed #C9D6E3; border-radius:16px; background:#F8FAFC; }
.tu-ranking-zone__head { display:flex; align-items:center; justify-content:space-between; gap:8px; margin-bottom:9px; }
.tu-ranking-zone__head strong { color:var(--tu-blue); font-size:13px; }
.tu-ranking-zone__head span { color:var(--tu-muted); font-size:11px; }
.tu-ranking-zone .tu-sort-item { grid-template-columns:38px 30px minmax(0,1fr) 72px; min-height:58px; }
.tu-ranking-empty { padding:15px 10px; text-align:center; color:var(--tu-muted); font-size:12px; }

/* Glissières tactiles 5 positions */
.tu-scale-card { padding:14px; border:1px solid var(--tu-line); border-radius:17px; background:#fff; box-shadow:var(--tu-shadow-soft); margin-bottom:10px; }
.tu-scale-card__question { color:var(--tu-ink); font-weight:800; line-height:1.4; font-size:14px; }
.tu-scale-card__value { display:inline-flex; align-items:center; min-height:30px; margin-top:8px; padding:5px 10px; border-radius:999px; background:#EFF3F7; color:var(--tu-muted); font-size:11px; font-weight:900; }
.tu-scale-card.is-touched .tu-scale-card__value { background:var(--tu-red-soft); color:#A92C2C; }
.tu-range-wrap { padding:14px 2px 2px; }
.tu-range {
    width:100%; height:34px; margin:0; padding:0; border:0; background:transparent; box-shadow:none; appearance:none; -webkit-appearance:none; cursor:pointer; touch-action:pan-y;
}
.tu-range:focus { box-shadow:none; }
.tu-range::-webkit-slider-runnable-track { height:9px; border-radius:999px; background:linear-gradient(to right,var(--tu-red) 0 var(--tu-range-fill,50%),#DCE5EE var(--tu-range-fill,50%) 100%); }
.tu-range::-moz-range-track { height:9px; border-radius:999px; background:#DCE5EE; }
.tu-range::-moz-range-progress { height:9px; border-radius:999px; background:var(--tu-red); }
.tu-range::-webkit-slider-thumb { appearance:none; -webkit-appearance:none; width:30px; height:30px; margin-top:-10.5px; border:4px solid #fff; border-radius:50%; background:var(--tu-red); box-shadow:0 2px 9px rgba(15,52,102,.28); }
.tu-range::-moz-range-thumb { width:24px; height:24px; border:4px solid #fff; border-radius:50%; background:var(--tu-red); box-shadow:0 2px 9px rgba(15,52,102,.28); }
.tu-range:not(.is-touched)::-webkit-slider-runnable-track { background:#DCE5EE; }
.tu-range:not(.is-touched)::-webkit-slider-thumb { background:#B8C4D0; }
.tu-range:not(.is-touched)::-moz-range-progress { background:#DCE5EE; }
.tu-range:not(.is-touched)::-moz-range-thumb { background:#B8C4D0; }
.tu-range-labels { display:flex; justify-content:space-between; gap:12px; margin-top:2px; color:var(--tu-muted); font-size:10px; font-weight:750; }
.tu-range-labels span:last-child { text-align:right; }

/* Champs plus structurés */
.tu-field-grid { display:grid; grid-template-columns:1fr; gap:10px; }
.tu-field-card { display:grid; gap:6px; padding:13px; border:1px solid var(--tu-line); border-radius:15px; background:#fff; }
.tu-field-card > span:first-child { color:var(--tu-blue); font-size:12px; font-weight:900; }
.tu-field-card input,.tu-field-card select,.tu-field-card textarea { margin:0; }
.tu-inline-metrics { display:grid; grid-template-columns:1fr; gap:9px; }
.tu-switch-line { display:flex; align-items:center; gap:10px; min-height:52px; padding:11px 13px; border:1px solid var(--tu-line); border-radius:14px; background:#fff; cursor:pointer; }
.tu-switch-line input { width:22px; height:22px; accent-color:var(--tu-red); }
.tu-chip-grid { display:flex; flex-wrap:wrap; gap:7px; }
.tu-chip-input { position:absolute !important; opacity:0 !important; width:1px !important; height:1px !important; pointer-events:none; }
.tu-chip-choice { display:inline-flex; align-items:center; min-height:42px; padding:8px 12px; border:1px solid #DCE5EE; border-radius:999px; background:#fff; color:var(--tu-blue); font-size:12px; font-weight:800; cursor:pointer; }
.tu-chip-input:checked + .tu-chip-choice { background:var(--tu-blue); border-color:var(--tu-blue); color:#fff; }
.tu-chip-input.is-negative:checked + .tu-chip-choice { background:var(--tu-red); border-color:var(--tu-red); color:#fff; }

/* Phobies */
.tu-phobia-card { padding:0; overflow:hidden; }
.tu-phobia-card .tu-toggle-card { border:0; border-radius:0; }
.tu-phobia-intensity { padding:0 13px 13px; border-top:1px solid #EEF2F6; }
.tu-phobia-intensity[hidden] { display:none; }

/* Synthèse */
.tu-summary-grid { display:grid; gap:8px; }
.tu-summary-step { display:flex; align-items:center; gap:10px; padding:12px 13px; border:1px solid var(--tu-line); border-radius:14px; background:#fff; }
.tu-summary-step__status { width:30px; height:30px; display:grid; place-items:center; border-radius:10px; background:#EEF3F7; color:var(--tu-muted); font-weight:950; }
.tu-summary-step.is-done .tu-summary-step__status { background:#EAF1F8; color:#0F3466; }
.tu-summary-step strong { color:var(--tu-blue); font-size:13px; }
.tu-summary-step small { display:block; color:var(--tu-muted); margin-top:2px; }

/* Restitution RIASEC visuelle */
.tu-riasec-visual { display:grid; gap:14px; align-items:center; }
.tu-riasec-radar { width:min(100%,330px); aspect-ratio:1; margin:0 auto; }
.tu-riasec-radar canvas { width:100%; height:100%; display:block; }
.tu-riasec-dominants { display:flex; flex-wrap:wrap; gap:7px; justify-content:center; }
.tu-riasec-dominant { display:inline-flex; align-items:center; gap:6px; padding:7px 10px; border-radius:999px; background:var(--tu-blue-soft); color:var(--tu-blue); font-size:11px; font-weight:900; }
.tu-riasec-dominant:first-child { background:var(--tu-red); color:#fff; }

@media (min-width:700px) {
    .tu-questionnaire-hero { grid-template-columns:1fr; padding:21px 23px; }
    .tu-toggle-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .tu-field-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .tu-inline-metrics { grid-template-columns:repeat(3,minmax(0,1fr)); }
    .tu-riasec-actions { position:static; padding:0; border:0; background:transparent; backdrop-filter:none; box-shadow:none; margin-top:16px; }
    .tu-riasec-visual { grid-template-columns:minmax(260px,330px) minmax(0,1fr); }
    .tu-riasec-dominants { justify-content:flex-start; }
}
@media (min-width:960px) {
    .tu-questionnaire { max-width:980px; }
    .tu-sort-item { grid-template-columns:42px 36px minmax(0,1fr) 78px; padding:9px; }
    .tu-sort-item__text { font-size:14px; }
}
@media (prefers-reduced-motion:reduce) {
    .tu-sort-item,.tu-questionnaire-progress > span { transition:none; }
}


/* ==========================================================================
   Questionnaire Experience V2 — héritage UX plugin / modules / RIASEC slots
   ========================================================================== */
.tu-module-deck {
    display:grid !important;
    grid-auto-flow:column;
    grid-auto-columns:minmax(230px,82vw);
    grid-template-columns:none !important;
    gap:9px !important;
    overflow-x:auto;
    padding:2px 2px 12px !important;
    scroll-snap-type:x proximity;
}
.tu-module-deck .tu-module-card {
    scroll-snap-align:start;
    min-height:72px !important;
    display:grid !important;
    grid-template-columns:42px minmax(0,1fr) auto;
    align-items:center;
    gap:10px;
    padding:10px 11px !important;
    border:1px solid #DCE5EE !important;
    border-radius:16px !important;
    background:#fff !important;
    color:var(--tu-ink) !important;
    box-shadow:0 4px 14px rgba(15,52,102,.045);
    text-decoration:none;
}
.tu-module-card__icon {
    width:42px; height:42px; display:grid; place-items:center;
    border-radius:13px; background:var(--tu-blue-soft); color:var(--tu-blue);
    font-size:18px; font-weight:950;
}
.tu-module-card__copy { min-width:0; }
.tu-module-card__copy strong { display:block; color:var(--tu-blue); font-size:12px; font-weight:950; }
.tu-module-card__copy small { display:block; margin-top:2px; color:var(--tu-muted); font-size:10px; line-height:1.25; }
.tu-module-card__state {
    padding:5px 7px; border-radius:999px; background:#F2F5F8; color:var(--tu-muted);
    font-size:9px; font-weight:950; white-space:nowrap;
}
.tu-module-card.current { border-color:var(--tu-red) !important; box-shadow:0 0 0 3px rgba(255,87,87,.10) !important; }
.tu-module-card.current .tu-module-card__icon { background:var(--tu-red); color:#fff; }
.tu-module-card.current .tu-module-card__state { background:var(--tu-red-soft); color:#A92C2C; }
.tu-module-card.is-done:not(.current) .tu-module-card__icon { background:#EAF1F8; color:#0F3466; }
.tu-module-card.is-done:not(.current) .tu-module-card__state { background:#EAF1F8; color:#0F3466; }
.tu-module-card.is-done:not(.current)::before { content:none !important; }

/* RIASEC : véritables emplacements de classement, inspirés du plugin historique */
.tu-riasec-shell { max-width:920px; }
.tu-riasec-round__head {
    display:flex; align-items:end; justify-content:space-between; gap:12px;
    padding:14px 15px; margin-bottom:10px; border:1px solid var(--tu-line); border-radius:16px; background:#fff;
}
.tu-riasec-round__head strong { font-size:19px; }
.tu-riasec-direction { margin:8px 4px 10px; }
.tu-riasec-ranking { display:grid; grid-template-columns:1fr; gap:10px; }
.tu-riasec-slot {
    display:block !important; min-height:0 !important; padding:0 !important;
    overflow:hidden; border:1px dashed #CBD6E1 !important; border-radius:17px !important;
    background:#F8FAFC !important; box-shadow:none !important;
}
.tu-riasec-slot__head {
    display:grid; grid-template-columns:24px minmax(0,1fr) 28px; align-items:center; gap:6px;
    min-height:39px; padding:7px 10px; color:#fff; background:var(--tu-blue);
}
.tu-riasec-slot__head strong { font-size:12px; font-weight:950; }
.tu-riasec-slot__medal { font-size:14px; text-align:center; }
.tu-riasec-slot__number {
    width:24px; height:24px; display:grid; place-items:center; justify-self:end;
    border-radius:8px; background:rgba(255,255,255,.18); color:#fff; font-size:10px; font-weight:950;
}
.tu-riasec-slot[data-position="1"] .tu-riasec-slot__head { background:#FFD43B; color:#493B00; }
.tu-riasec-slot[data-position="1"] .tu-riasec-slot__number { color:#493B00; background:rgba(255,255,255,.42); }
.tu-riasec-slot[data-position="2"] .tu-riasec-slot__head { background:#C8CDD3; color:#26313D; }
.tu-riasec-slot[data-position="2"] .tu-riasec-slot__number { color:#26313D; background:rgba(255,255,255,.48); }
.tu-riasec-slot[data-position="3"] .tu-riasec-slot__head { background:#D88732; color:#fff; }
.tu-riasec-card {
    position:relative; display:grid; grid-template-columns:38px 38px minmax(0,1fr) auto; align-items:center; gap:8px;
    min-height:84px; margin:11px; padding:10px; border:2px solid var(--riasec-accent,#0F3466); border-radius:14px;
    background:#fff; box-shadow:0 4px 12px rgba(15,52,102,.08);
}
.tu-riasec-slot.is-dragging { opacity:.75; transform:scale(.985); }
.tu-riasec-slot.is-dragging .tu-riasec-card { box-shadow:0 16px 30px rgba(15,52,102,.22); }
.tu-riasec-card .tu-drag-handle { width:38px; height:46px; }
.tu-riasec-card__icon {
    width:38px; height:38px; display:grid; place-items:center; border-radius:12px;
    background:color-mix(in srgb,var(--riasec-accent) 12%,white); font-size:20px;
}
.tu-riasec-card .tu-sort-item__text { font-size:13px; font-weight:700; line-height:1.35; }
.tu-riasec-card .tu-sort-arrows { width:68px; }
.tu-riasec-card .tu-sort-arrow { min-height:36px; }

/* Les champs de questionnaire n'utilisent jamais le style natif du navigateur */
.tu-questionnaire input[type="text"],
.tu-questionnaire input[type="email"],
.tu-questionnaire input[type="number"],
.tu-questionnaire select,
.tu-questionnaire textarea {
    width:100%; min-height:48px; padding:11px 13px; border:1px solid #C9D6E3; border-radius:12px;
    background:#fff; color:var(--tu-ink); font:inherit; font-size:16px; line-height:1.35;
    box-shadow:inset 0 1px 0 rgba(15,52,102,.02);
}
.tu-questionnaire textarea { min-height:100px; resize:vertical; }
.tu-questionnaire input:focus,
.tu-questionnaire select:focus,
.tu-questionnaire textarea:focus {
    outline:none; border-color:var(--tu-blue); box-shadow:0 0 0 3px rgba(15,52,102,.11);
}
.tu-field-card { gap:8px; padding:14px; }

@media (min-width:760px) {
    .tu-module-deck {
        grid-auto-flow:row; grid-auto-columns:auto; grid-template-columns:repeat(3,minmax(0,1fr)) !important;
        overflow:visible;
    }
    .tu-module-deck .tu-module-card { grid-template-columns:40px minmax(0,1fr); }
    .tu-module-card__state { grid-column:2; justify-self:start; margin-top:-3px; }
    .tu-riasec-ranking { grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
    .tu-riasec-card { grid-template-columns:36px 36px minmax(0,1fr); min-height:134px; align-content:center; }
    .tu-riasec-card .tu-sort-arrows {
        grid-column:1 / -1; width:100%; grid-template-columns:1fr 1fr; margin-top:4px;
    }
    .tu-riasec-card .tu-sort-item__text { font-size:14px; }
}
@media (min-width:1080px) {
    .tu-module-deck { grid-template-columns:repeat(4,minmax(0,1fr)) !important; }
}


/* ==========================================================================\n   Guided Journey V1 — shell commun / parcours élève / cohérence visuelle\n   ========================================================================== */
body { padding-bottom:0 !important; background:#F5F7FA; }
.tu-mobile-nav,.tu-student-subnav { display:none !important; }
.tu-icon { width:20px; height:20px; display:block; flex:0 0 auto; }

.tu-app-header { position:sticky; top:0; z-index:1000; background:#fff; border-bottom:1px solid #DCE5EE; box-shadow:0 5px 18px rgba(15,52,102,.07); }
.tu-app-header__main { width:min(1180px,calc(100% - 28px)); min-height:68px; margin:0 auto; display:flex; align-items:center; gap:18px; }
.tu-global-nav { display:flex; align-items:center; gap:4px; min-width:0; margin-left:auto; }
.tu-global-nav > a,.tu-global-nav > .tu-nav-menu > summary { display:flex; align-items:center; gap:7px; min-height:42px; padding:9px 11px; border-radius:11px; color:#415269; font-size:12px; font-weight:800; text-decoration:none; cursor:pointer; }
.tu-global-nav > a:hover,.tu-global-nav > .tu-nav-menu > summary:hover { background:#F1F5F9; color:#0F3466; }
.tu-global-nav > a.is-active,.tu-global-nav > .tu-nav-menu > summary.is-active { background:#EEF4FB; color:#0F3466; }
.tu-global-nav .tu-icon { width:17px; height:17px; }
.tu-account-menu { position:relative; margin-left:2px; }
.tu-account-menu > summary { list-style:none; cursor:pointer; }
.tu-account-menu > summary::-webkit-details-marker { display:none; }
.tu-avatar { width:38px; height:38px; display:grid; place-items:center; border-radius:12px; background:#0F3466; color:#fff; font-size:12px; font-weight:950; letter-spacing:.03em; }

.tu-journey-bar { border-top:1px solid #EDF1F5; background:#FAFBFD; }
.tu-journey-bar__inner { width:min(1180px,calc(100% - 28px)); margin:0 auto; display:grid; grid-template-columns:200px minmax(0,1fr); align-items:center; gap:18px; min-height:74px; }
.tu-journey-progress-summary__copy { display:flex; align-items:baseline; justify-content:space-between; gap:8px; margin-bottom:7px; }
.tu-journey-progress-summary__copy strong { color:#0F3466; font-size:12px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.tu-journey-progress-summary__copy span { color:#FF5757; font-size:11px; font-weight:950; white-space:nowrap; }
.tu-journey-progress-track { height:7px; overflow:hidden; border-radius:999px; background:#E3EAF1; }
.tu-journey-progress-track > span { display:block; height:100%; border-radius:inherit; background:linear-gradient(90deg,#0F3466,#FF5757); }
.tu-journey-nav { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:6px; }
.tu-journey-step { min-width:0; display:flex; align-items:center; gap:7px; min-height:46px; padding:7px 8px; border:1px solid transparent; border-radius:12px; text-decoration:none; color:#64748B; background:transparent; }
.tu-journey-step:hover { background:#fff; border-color:#DCE5EE; }
.tu-journey-step__number { width:27px; height:27px; flex:0 0 auto; display:grid; place-items:center; border-radius:9px; background:#E8EDF3; color:#66788D; font-size:11px; font-weight:950; }
.tu-journey-step__label { min-width:0; font-size:11px; font-weight:850; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.tu-journey-step.is-done .tu-journey-step__number { background:#0F3466; color:#fff; }
.tu-journey-step.is-done .tu-journey-step__label { color:#0F3466; }
.tu-journey-step.is-active { background:#FFF3F3; border-color:#FFD1D1; color:#B53333; }
.tu-journey-step.is-active .tu-journey-step__number { background:#FF5757; color:#fff; }
.tu-journey-step.is-active .tu-journey-step__label { color:#9E2E2E; }

.tu-app-footer { margin-top:34px; border-top:1px solid #DCE5EE; background:#fff; }
.tu-app-footer__inner { width:min(1180px,calc(100% - 28px)); min-height:66px; margin:0 auto; display:flex; align-items:center; justify-content:space-between; gap:14px; color:#7B899A; font-size:11px; }
.tu-app-footer strong { color:#0F3466; }

.tu-student-dashboard-hero { position:relative; overflow:hidden; display:grid; grid-template-columns:minmax(0,1fr) 180px; gap:20px; margin:22px 0; padding:28px; border-radius:24px; background:linear-gradient(135deg,#0F3466 0%,#183F73 68%,#244D7D 100%); box-shadow:0 18px 38px rgba(15,52,102,.18); }
.tu-student-dashboard-hero__content { position:relative; z-index:2; max-width:680px; }
.tu-student-dashboard-hero h1 { margin:3px 0 7px; color:#fff; font-size:clamp(28px,4vw,42px); }
.tu-student-dashboard-hero p { margin:0 0 20px; color:rgba(255,255,255,.78); font-size:14px; }
.tu-eyebrow--light { color:#FFD0D0 !important; }
.tu-student-dashboard-hero__mark { align-self:center; justify-self:center; width:140px; height:140px; display:grid; place-items:center; border-radius:38px; background:rgba(255,255,255,.08); color:#fff; transform:rotate(-6deg); }
.tu-student-dashboard-hero__mark .tu-icon { width:74px; height:74px; stroke-width:1.25; }
.tu-student-dashboard-progress { max-width:520px; margin-bottom:18px; }
.tu-student-dashboard-progress > div:first-child { display:flex; align-items:baseline; gap:8px; margin-bottom:8px; color:#fff; }
.tu-student-dashboard-progress strong { font-size:24px; }
.tu-student-dashboard-progress span { font-size:11px; color:rgba(255,255,255,.72); }
.tu-student-dashboard-progress__track { height:9px; border-radius:999px; overflow:hidden; background:rgba(255,255,255,.16); }
.tu-student-dashboard-progress__track > span { display:block; height:100%; border-radius:inherit; background:#FF5757; }
.tu-btn--large { min-height:48px; padding:12px 17px; font-size:13px; }

.tu-journey-cards { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:10px; }
.tu-journey-card { position:relative; display:grid; grid-template-columns:42px minmax(0,1fr); gap:10px; min-height:132px; padding:15px; border:1px solid #DCE5EE; border-radius:18px; background:#fff; box-shadow:0 7px 19px rgba(15,52,102,.055); text-decoration:none; color:#1F2937; }
.tu-journey-card:hover { transform:translateY(-2px); box-shadow:0 12px 26px rgba(15,52,102,.10); }
.tu-journey-card__number { position:absolute; top:10px; right:11px; color:#A6B2BF; font-size:11px; font-weight:950; }
.tu-journey-card__icon { width:42px; height:42px; display:grid; place-items:center; border-radius:13px; background:#EEF4FB; color:#0F3466; }
.tu-journey-card__copy strong { display:block; margin:3px 0 4px; color:#0F3466; font-size:13px; }
.tu-journey-card__copy small { display:block; color:#738196; font-size:10px; line-height:1.35; }
.tu-journey-card__state { grid-column:1 / -1; align-self:end; justify-self:start; padding:5px 8px; border-radius:999px; background:#F0F3F6; color:#718096; font-size:9px; font-weight:950; }
.tu-journey-card.is-done { border-color:#C7D6E7; background:#FBFDFF; }
.tu-journey-card.is-done .tu-journey-card__icon { background:#0F3466; color:#fff; }
.tu-journey-card.is-done .tu-journey-card__state { background:#EAF1F8; color:#0F3466; }

.tu-student-summary-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.tu-summary-tile { display:flex; align-items:center; gap:12px; min-height:86px; padding:14px; border:1px solid #DCE5EE; border-radius:17px; background:#fff; }
.tu-summary-tile__icon { width:42px; height:42px; display:grid; place-items:center; border-radius:13px; background:#FFF0F0; color:#FF5757; }
.tu-summary-tile strong { display:block; color:#0F3466; font-size:21px; }
.tu-summary-tile span:last-child { display:block; margin-top:2px; color:#738196; font-size:10px; font-weight:800; }

.tu-profile-overview-grid { display:grid; grid-template-columns:1.15fr .85fr; gap:14px; }
.tu-icon-badge { width:42px; height:42px; display:grid; place-items:center; border-radius:13px; background:#EEF4FB; color:#0F3466; }
.tu-icon-badge--accent { background:#FFF0F0; color:#FF5757; }
.tu-profile-data { margin:0; display:grid; gap:0; }
.tu-profile-data > div { display:grid; grid-template-columns:155px minmax(0,1fr); gap:12px; padding:11px 0; border-top:1px solid #EEF2F6; }
.tu-profile-data > div:first-child { border-top:0; }
.tu-profile-data dt { color:#7B899A; font-size:11px; font-weight:800; }
.tu-profile-data dd { margin:0; color:#26384E; font-size:12px; font-weight:850; }
.tu-step-intro-card,.tu-next-step-card { display:flex; align-items:center; gap:16px; margin-bottom:15px; padding:18px; border:1px solid #DCE5EE; border-radius:20px; background:#fff; box-shadow:0 8px 22px rgba(15,52,102,.06); }
.tu-step-intro-card__number { width:50px; height:50px; display:grid; place-items:center; flex:0 0 auto; border-radius:16px; background:#0F3466; color:#fff; font-size:20px; font-weight:950; }
.tu-step-intro-card__check { margin-left:auto; width:42px; height:42px; display:grid; place-items:center; border-radius:50%; background:#FFF0F0; color:#FF5757; }
.tu-step-intro-card h2,.tu-next-step-card h2 { margin:2px 0 4px; color:#0F3466; font-size:18px; }
.tu-step-intro-card p,.tu-next-step-card p { margin:0; color:#738196; font-size:12px; }
.tu-next-step-card { justify-content:space-between; margin-top:15px; border-color:#FFD1D1; background:#FFF9F9; }

.tu-guidance-status { display:flex; align-items:center; justify-content:space-between; gap:18px; margin:16px 0 20px; padding:18px 20px; border:1px solid #D7E2EE; border-left:5px solid #0F3466; border-radius:8px; background:#fff; box-shadow:0 9px 24px rgba(15,52,102,.07); }
.tu-guidance-status__main { display:flex; align-items:center; gap:13px; min-width:0; }
.tu-guidance-status__main p { margin:3px 0 0; color:#66788D; font-size:13px; }
.tu-guidance-status__side { display:flex; align-items:center; gap:12px; color:#0F3466; font-size:13px; }
.tu-guidance-status--coach_action { background:#F8FAFC; }
.tu-student-waiting-content { position:relative; filter:grayscale(.85); opacity:.42; pointer-events:none; user-select:none; }
.tu-profile-edit-disclosure { margin-top:16px; }
.tu-profile-edit-disclosure > summary { width:max-content; list-style:none; cursor:pointer; }
.tu-profile-edit-disclosure > summary::-webkit-details-marker { display:none; }
.tu-profile-edit-disclosure[open] > summary { margin-bottom:12px; }
.tu-profile-edit-revisions { margin-bottom:12px; padding:9px 11px; border-radius:6px; background:#EEF4FB; color:#0F3466; font-size:12px; font-weight:850; }
.tu-orientation-riasec-compact { min-width:300px; }
.tu-orientation-riasec-compact .tu-riasec-radar-panel { padding:4px; background:#fff; }

@media (max-width:700px) {
    .tu-guidance-status,.tu-guidance-status__main,.tu-guidance-status__side { align-items:stretch; flex-direction:column; }
    .tu-guidance-status { padding:15px; }
    .tu-orientation-riasec-compact { min-width:0; width:100%; }
    .tu-profile-edit-disclosure > summary { width:100%; box-sizing:border-box; }
}

/* Aucun vert décoratif : succès/terminé restent dans la palette Terminales. */
.tu-alert.success,.msg.success { background:#EEF4FB !important; border-color:#C9D7E7 !important; color:#0F3466 !important; }
.tu-summary-step.is-done .tu-summary-step__status { background:#EAF1F8 !important; color:#0F3466 !important; }
.tu-module-card.is-done:not(.current) .tu-module-card__icon,.tu-module-card.is-done:not(.current) .tu-module-card__state { background:#EAF1F8 !important; color:#0F3466 !important; }
.tu-riasec-round[data-validated="1"] .tu-riasec-status { color:#0F3466 !important; }
.tu-riasec-round[data-validated="1"] .tu-riasec-status::before { background:#0F3466 !important; }

/* RIASEC : drag uniquement, aucune flèche. */
.tu-sort-arrows,.tu-sort-arrow { display:none !important; }
.tu-riasec-card { grid-template-columns:42px 38px minmax(0,1fr) !important; }
.tu-ranking-zone .tu-sort-item { grid-template-columns:42px 30px minmax(0,1fr) !important; }
.tu-drag-handle { width:42px; min-height:48px; }
.tu-drag-handle::before { content:'⋮⋮'; transform:none; letter-spacing:-3px; font-size:18px; }
.tu-riasec-card__icon { color:var(--riasec-accent); font-size:13px; font-weight:950; }

/* Formulaires : espace commun et aucune saisie collée. */
.tu-form-grid { gap:14px !important; }
.tu-field { display:grid; gap:7px; }
.tu-field input,.tu-field select,.tu-field textarea,.tu-inline-form input,.tu-inline-form select,.tu-inline-form textarea { min-height:46px; padding:10px 12px; border:1px solid #CBD6E1; border-radius:12px; background:#fff; color:#26384E; font:inherit; font-size:14px; }
.tu-field input:focus,.tu-field select:focus,.tu-field textarea:focus { outline:none; border-color:#0F3466; box-shadow:0 0 0 3px rgba(15,52,102,.10); }

@media (max-width:900px) {
    .tu-app-header { position:sticky; }
    .tu-app-header__main { width:calc(100% - 20px); min-height:62px; gap:8px; }
    .tu-brand__tagline { display:none; }
    .tu-global-nav { flex:1 1 auto; overflow-x:auto; scrollbar-width:none; }
    .tu-global-nav::-webkit-scrollbar { display:none; }
    .tu-global-nav > a,.tu-global-nav > .tu-nav-menu > summary { min-height:40px; padding:8px 9px; flex:0 0 auto; }
    .tu-global-nav > a span,.tu-global-nav > .tu-nav-menu > summary > span:not(:last-child) { display:none; }
    .tu-global-nav .tu-icon { width:20px; height:20px; }
    .tu-journey-bar__inner { width:100%; grid-template-columns:1fr; gap:8px; padding:10px 10px 8px; }
    .tu-journey-progress-summary { padding:0 3px; }
    .tu-journey-nav { display:flex; gap:7px; overflow-x:auto; padding-bottom:2px; scrollbar-width:none; }
    .tu-journey-nav::-webkit-scrollbar { display:none; }
    .tu-journey-step { flex:0 0 auto; min-height:40px; padding:6px 9px; background:#fff; border-color:#E1E8EF; }
    .tu-journey-step__label { font-size:10px; overflow:visible; }
    .tu-journey-step__number { width:24px; height:24px; border-radius:8px; }
    .tu-student-dashboard-hero { grid-template-columns:1fr; padding:22px 18px; border-radius:20px; }
    .tu-student-dashboard-hero__mark { display:none; }
    .tu-journey-cards { grid-template-columns:1fr; }
    .tu-journey-card { min-height:82px; grid-template-columns:42px minmax(0,1fr) auto; align-items:center; }
    .tu-journey-card__state { grid-column:3; align-self:center; justify-self:end; }
    .tu-journey-card__number { display:none; }
    .tu-student-summary-grid,.tu-profile-overview-grid { grid-template-columns:1fr; }
    .tu-next-step-card { align-items:flex-start; flex-direction:column; }
    .tu-next-step-card .tu-btn { width:100%; }
    .tu-app-footer__inner { min-height:74px; flex-direction:column; align-items:flex-start; justify-content:center; }
}


/* ORIENTATION_PROJECT_ACTIONS_V2 */
.tu-career-feedback-actions {
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    align-items:stretch;
    margin-top:10px;
}
.tu-career-feedback-actions > button,
.tu-career-feedback-actions > form,
.tu-career-feedback-actions > .tu-career-project-present {
    flex:1 1 220px;
}
.tu-career-feedback-actions > form {
    display:flex;
}
.tu-career-feedback-actions > form > button,
.tu-career-feedback-actions > button,
.tu-career-action-btn {
    width:100%;
    justify-content:center;
    text-align:center;
}
.tu-career-project-present {
    min-height:48px;
    display:flex;
    align-items:center;
    justify-content:center;
    text-align:center;
}
.tu-results-toggle-wrap {
    display:flex;
    justify-content:center;
    margin-top:14px;
}
/* /ORIENTATION_PROJECT_ACTIONS_V2 */


/* ORIENTATION_PROJECT_ACTIONS_V3 */
.tu-career-feedback-actions {
    display:grid !important;
    grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
    gap:10px;
    width:100%;
    align-items:stretch;
    margin-top:10px;
}
.tu-career-feedback-actions > button,
.tu-career-feedback-actions > form,
.tu-career-feedback-actions > .tu-career-project-present {
    width:100% !important;
    min-width:0 !important;
    margin:0 !important;
}
.tu-career-feedback-actions > form {
    display:block !important;
}
.tu-career-feedback-actions > button,
.tu-career-feedback-actions > form > button,
.tu-career-action-btn {
    box-sizing:border-box;
    width:100% !important;
    min-height:48px !important;
    height:48px !important;
    padding:0 14px !important;
    display:flex !important;
    align-items:center;
    justify-content:center;
    text-align:center;
    white-space:nowrap;
}
.tu-career-project-present {
    box-sizing:border-box;
    min-height:48px !important;
    display:flex !important;
    align-items:center;
    justify-content:center;
    text-align:center;
}

.tu-career-ranking {
    margin-top:12px;
}
.tu-career-ranking__summary {
    list-style:none;
    cursor:pointer;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    min-height:52px;
    padding:12px 15px;
    border:1px solid var(--tu-line);
    border-radius:12px;
    background:var(--tu-blue-xsoft);
    color:var(--tu-blue);
    font-weight:800;
}
.tu-career-ranking__summary::-webkit-details-marker { display:none; }
.tu-career-ranking__summary::after {
    content:'+';
    flex:0 0 28px;
    width:28px;
    height:28px;
    display:grid;
    place-items:center;
    border-radius:999px;
    background:var(--tu-blue);
    color:#fff;
    font-size:20px;
    line-height:1;
}
.tu-career-ranking[open] > .tu-career-ranking__summary::after { content:'−'; }
.tu-career-ranking__summary strong {
    margin-left:auto;
    font-size:12px;
    color:var(--tu-muted);
}
.tu-career-ranking__content { margin-top:12px; }

@media (max-width:520px) {
    .tu-career-feedback-actions {
        grid-template-columns:1fr;
    }
    .tu-career-ranking__summary {
        align-items:flex-start;
        flex-wrap:wrap;
    }
    .tu-career-ranking__summary strong {
        margin-left:0;
    }
    .tu-career-ranking__summary::after {
        margin-left:auto;
    }
}
/* /ORIENTATION_PROJECT_ACTIONS_V3 */

/* ORIENTATION_PROJECT_UI_V4 */
/* Le classement est une action principale, volontairement très visible. */
.tu-career-ranking__summary {
    box-sizing:border-box;
    width:100%;
    min-height:68px;
    padding:16px 18px;
    border:0;
    border-radius:16px;
    background:var(--tu-red);
    color:#fff;
    box-shadow:0 7px 16px rgba(255,87,87,.22);
    font-size:16px;
    font-weight:900;
    line-height:1.2;
    transition:transform .15s ease, background .15s ease, box-shadow .15s ease;
}
.tu-career-ranking__summary:hover {
    background:var(--tu-red-dark);
    color:#fff;
    box-shadow:0 9px 20px rgba(255,87,87,.28);
}
.tu-career-ranking__summary:active { transform:translateY(1px); }
.tu-career-ranking__summary strong {
    margin-left:auto;
    padding:7px 10px;
    border-radius:999px;
    background:rgba(255,255,255,.20);
    color:#fff;
    font-size:12px;
    font-weight:900;
    white-space:nowrap;
}
.tu-career-ranking__summary::after {
    flex:0 0 34px;
    width:34px;
    height:34px;
    background:#fff;
    color:var(--tu-red);
    font-weight:900;
}
.tu-career-ranking[open] > .tu-career-ranking__summary {
    border-radius:16px 16px 10px 10px;
}

/* Deux actions de même poids : mêmes dimensions, responsive par flex-wrap. */
.tu-career-feedback-actions {
    display:flex !important;
    flex-wrap:wrap !important;
    gap:10px !important;
    width:100% !important;
    align-items:stretch !important;
}
.tu-career-feedback-actions > button,
.tu-career-feedback-actions > form,
.tu-career-feedback-actions > .tu-career-project-present {
    flex:1 1 180px !important;
    width:auto !important;
    min-width:0 !important;
    margin:0 !important;
}
.tu-career-feedback-actions > form {
    display:flex !important;
}
.tu-career-feedback-actions > button,
.tu-career-feedback-actions > form > button,
.tu-career-action-btn {
    box-sizing:border-box !important;
    width:100% !important;
    min-height:48px !important;
    height:48px !important;
    padding:0 14px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    text-align:center !important;
    white-space:nowrap;
}

/* Projet métier : chaque métier devient une vraie carte autonome. */
.tu-project-intro { max-width:860px; }
.tu-project-career-card {
    margin:18px 0;
    padding:0;
    overflow:hidden;
    border:1px solid #D7E1EC;
    border-radius:17px;
    background:#fff;
    box-shadow:0 5px 16px rgba(15,52,102,.07);
}
.tu-project-career-head {
    display:flex;
    align-items:center;
    gap:12px;
    padding:14px 16px;
    border-bottom:1px solid #DFE7EF;
    background:var(--tu-blue-xsoft);
}
.tu-project-career-rank {
    flex:0 0 48px;
    width:48px;
    height:48px;
    display:grid;
    place-items:center;
    border-radius:14px;
    background:var(--tu-red);
    color:#fff;
    font-size:16px;
    font-weight:950;
    box-shadow:0 4px 10px rgba(255,87,87,.18);
}
.tu-project-career-title { min-width:0; }
.tu-project-career-title h3 {
    margin:0 0 3px;
    color:var(--tu-blue);
    font-size:20px;
    line-height:1.2;
    font-weight:950;
}
.tu-project-career-form {
    padding:15px 16px 10px;
}
.tu-project-career-fields {
    display:grid;
    grid-template-columns:minmax(150px,220px) minmax(260px,1fr);
    gap:14px;
    align-items:stretch;
    margin-bottom:12px;
}
.tu-project-rank-field input {
    box-sizing:border-box;
    width:100%;
    min-height:44px;
    margin-top:5px;
    padding:8px 10px;
    border:1px solid #C9D6E3;
    border-radius:10px;
    background:#fff;
}
.tu-project-parcoursup-choice {
    display:flex;
    flex-direction:column;
    justify-content:center;
    gap:5px;
    padding:10px 12px;
    border:1px solid #D7E1EC;
    border-radius:12px;
    background:#F8FAFC;
}
.tu-project-parcoursup-line {
    display:flex;
    align-items:center;
    gap:8px;
}
.tu-project-parcoursup-line input { margin:0; }
.tu-project-career-form textarea {
    box-sizing:border-box;
    width:100%;
}
.tu-project-career-actions {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
    padding:0 16px 16px;
}
.tu-project-career-actions > form { display:flex; margin:0; }
.tu-project-action-btn {
    box-sizing:border-box;
    width:100% !important;
    min-height:48px !important;
    height:48px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    margin:0 !important;
    text-align:center;
}
.tu-project-help {
    margin-top:15px;
    padding:12px 14px;
    border-radius:12px;
    background:#F8FAFC;
}

@media (max-width:700px) {
    .tu-career-ranking__summary {
        min-height:64px;
        padding:14px;
        font-size:15px;
    }
    .tu-career-ranking__summary strong {
        order:3;
        flex-basis:auto;
        margin-left:0;
    }
    .tu-project-career-fields {
        grid-template-columns:1fr;
    }
    .tu-project-career-actions {
        grid-template-columns:1fr;
    }
    .tu-project-career-head {
        align-items:flex-start;
    }
}
/* /ORIENTATION_PROJECT_UI_V4 */


/* ORIENTATION_PROJECT_UI_V5 */
.tu-career-ranking { margin-top:14px; }
.tu-career-ranking-toggle {
    box-sizing:border-box !important;
    width:100% !important;
    min-height:68px !important;
    display:grid !important;
    grid-template-columns:minmax(0,1fr) auto 42px !important;
    align-items:center !important;
    gap:14px !important;
    padding:14px 18px !important;
    border:0 !important;
    border-radius:16px !important;
    background:#FF5757 !important;
    color:#fff !important;
    box-shadow:0 7px 18px rgba(255,87,87,.22) !important;
    text-align:left !important;
    cursor:pointer !important;
}
.tu-career-ranking-toggle:hover { background:#FF5757 !important; filter:brightness(.96); }
.tu-career-ranking-toggle__label { font-size:17px; font-weight:950; line-height:1.2; }
.tu-career-ranking-toggle strong {
    white-space:nowrap;
    padding:7px 10px;
    border-radius:999px;
    background:rgba(255,255,255,.18);
    color:#fff;
    font-size:13px;
}
.tu-career-ranking-toggle__icon {
    width:38px; height:38px; display:grid; place-items:center;
    border-radius:12px; background:#fff; color:#FF5757;
    font-size:25px; font-weight:950; line-height:1;
}
.tu-career-ranking__content[hidden] { display:none !important; }
.tu-career-ranking__content { margin-top:12px; }

/* Deux actions des fiches recommandées : dimensions réellement identiques. */
.tu-career-feedback-actions {
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:10px !important;
    width:100% !important;
}
.tu-career-feedback-actions > button,
.tu-career-feedback-actions > form,
.tu-career-feedback-actions > .tu-career-project-present {
    width:100% !important; min-width:0 !important; margin:0 !important;
}
.tu-career-feedback-actions > form { display:flex !important; }
.tu-career-feedback-actions > button,
.tu-career-feedback-actions > form > button,
.tu-career-action-btn {
    box-sizing:border-box !important;
    width:100% !important;
    min-width:0 !important;
    height:48px !important; min-height:48px !important; max-height:48px !important;
    padding:0 10px !important; margin:0 !important;
    display:flex !important; align-items:center !important; justify-content:center !important;
    white-space:nowrap !important; text-align:center !important;
    font-size:13px !important; line-height:1 !important;
}
.tu-career-feedback-actions .tu-btn--accent { background:#FF5757 !important; color:#fff !important; }

/* Projet métier : titre + deux actions en haut à droite. */
.tu-project-career-head {
    display:grid !important;
    grid-template-columns:48px minmax(0,1fr) 286px !important;
    align-items:center !important;
    gap:12px !important;
}
.tu-project-career-actions {
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:8px !important;
    width:286px !important;
    padding:0 !important;
    margin:0 !important;
}
.tu-project-career-actions > form { display:flex !important; width:100% !important; margin:0 !important; }
.tu-project-action-btn {
    box-sizing:border-box !important;
    width:100% !important;
    min-width:0 !important;
    height:44px !important; min-height:44px !important; max-height:44px !important;
    padding:0 8px !important; margin:0 !important;
    display:flex !important; align-items:center !important; justify-content:center !important;
    border-radius:10px !important;
    font-size:12px !important; font-weight:900 !important; line-height:1 !important;
    white-space:nowrap !important; text-align:center !important;
}
.tu-project-action-btn--save { background:#0F3466 !important; color:#fff !important; }
.tu-project-action-btn--delete { background:#FF5757 !important; color:#fff !important; }
.tu-project-action-btn--save:hover, .tu-project-action-btn--delete:hover { filter:brightness(.95); }

@media (max-width:760px) {
    .tu-project-career-head {
        grid-template-columns:48px minmax(0,1fr) !important;
        align-items:start !important;
    }
    .tu-project-career-actions {
        grid-column:1 / -1 !important;
        width:100% !important;
        margin-top:4px !important;
    }
}
@media (max-width:520px) {
    .tu-career-ranking-toggle {
        grid-template-columns:minmax(0,1fr) 38px !important;
        min-height:72px !important; padding:13px 14px !important; gap:10px !important;
    }
    .tu-career-ranking-toggle strong {
        grid-column:1; grid-row:2; justify-self:start; padding:4px 8px;
    }
    .tu-career-ranking-toggle__icon { grid-column:2; grid-row:1 / span 2; }
    .tu-career-feedback-actions { grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
    .tu-career-feedback-actions > button,
    .tu-career-feedback-actions > form > button,
    .tu-career-action-btn { font-size:12px !important; padding:0 6px !important; }
}
/* /ORIENTATION_PROJECT_UI_V5 */


/* =========================================================
   Orientation + Parcoursup visual polish 2026-08-23
   Accent officiel : #FF5757
   ========================================================= */

/* Projet métier : structure nette, actions réellement en haut à droite. */
.tu-project-career-card {
    border:1px solid #E2E6EA !important;
    box-shadow:0 6px 18px rgba(10,38,72,.06) !important;
}
.tu-project-career-head {
    display:grid !important;
    grid-template-columns:54px minmax(0,1fr) auto !important;
    align-items:center !important;
    gap:14px !important;
    padding:15px 16px !important;
    background:#FFF8F8 !important;
    border-bottom:1px solid #F1DEDE !important;
}
.tu-project-career-rank {
    background:#FF5757 !important;
    color:#fff !important;
}
.tu-project-career-title h3 {
    color:#0A2648 !important;
    font-size:21px !important;
    letter-spacing:-.01em;
}
.tu-project-career-actions {
    justify-self:end !important;
    display:grid !important;
    grid-template-columns:repeat(2,136px) !important;
    gap:8px !important;
    width:auto !important;
    padding:0 !important;
    margin:0 !important;
}
.tu-project-career-actions > form {
    width:136px !important;
    margin:0 !important;
}
.tu-project-action-btn,
.tu-project-career-actions > form > .tu-project-action-btn {
    box-sizing:border-box !important;
    width:136px !important;
    min-width:136px !important;
    max-width:136px !important;
    height:44px !important;
    min-height:44px !important;
    max-height:44px !important;
    padding:0 10px !important;
    margin:0 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    border-radius:10px !important;
    font-size:13px !important;
    font-weight:900 !important;
    line-height:1 !important;
    white-space:nowrap !important;
}
.tu-project-action-btn--save {
    background:#FF5757 !important;
    border:1px solid #FF5757 !important;
    color:#fff !important;
    box-shadow:0 4px 10px rgba(255,87,87,.18) !important;
}
.tu-project-action-btn--delete {
    background:#fff !important;
    border:1px solid #FF5757 !important;
    color:#C93636 !important;
    box-shadow:none !important;
}
.tu-project-action-btn--save:hover { background:#F04D4D !important; }
.tu-project-action-btn--delete:hover { background:#FFF0F0 !important; color:#B42318 !important; }

/* Le classement est un vrai CTA saumon très visible. */
.tu-career-ranking-toggle {
    background:#FF5757 !important;
    border:2px solid #FF5757 !important;
    color:#fff !important;
    box-shadow:0 8px 20px rgba(255,87,87,.20) !important;
}
.tu-career-ranking-toggle:hover { background:#F04D4D !important; border-color:#F04D4D !important; }

/* Parcoursup : moins de bleu, hiérarchie plus neutre. */
.tu-parcoursup-results-page .tu-formation-list { gap:12px !important; }
.tu-parcoursup-results-page .tu-formation-card--result {
    border:1px solid #E3E7EB !important;
    background:#fff !important;
    box-shadow:0 5px 16px rgba(10,38,72,.055) !important;
}
.tu-parcoursup-results-page .tu-formation-card--result h3 {
    color:#0A2648 !important;
    font-size:18px !important;
}
.tu-parcoursup-results-page .tu-badge--career {
    background:#F3F5F7 !important;
    border:1px solid #E4E7EB !important;
    color:#344054 !important;
}
.tu-parcoursup-results-page .tu-badge--coherence {
    background:#FFF0F0 !important;
    border:1px solid #FFD1D1 !important;
    color:#B42318 !important;
    font-weight:900 !important;
}
.tu-parcoursup-results-page .tu-badge--added {
    background:#F6F7F8 !important;
    border:1px solid #E2E5E9 !important;
    color:#475467 !important;
}
.tu-parcoursup-results-page .tu-formation-card__actions {
    display:flex !important;
    flex-wrap:wrap !important;
    gap:8px !important;
    align-items:center !important;
    margin-top:12px !important;
}
.tu-parcoursup-results-page .tu-btn--neutral {
    background:#F2F4F7 !important;
    border:1px solid #E1E5EA !important;
    color:#344054 !important;
    box-shadow:none !important;
}
.tu-parcoursup-results-page .tu-btn--neutral:hover {
    background:#EAECF0 !important;
    color:#1D2939 !important;
}
.tu-parcoursup-results-page .tu-btn--formation-add {
    background:#FF5757 !important;
    border:1px solid #FF5757 !important;
    color:#fff !important;
    box-shadow:0 4px 10px rgba(255,87,87,.16) !important;
}
.tu-parcoursup-results-page .tu-btn--formation-add:hover {
    background:#F04D4D !important;
    border-color:#F04D4D !important;
    color:#fff !important;
}

@media (max-width:760px) {
    .tu-project-career-head {
        grid-template-columns:50px minmax(0,1fr) !important;
        align-items:start !important;
    }
    .tu-project-career-actions {
        grid-column:1 / -1 !important;
        justify-self:stretch !important;
        width:100% !important;
        grid-template-columns:repeat(2,minmax(0,1fr)) !important;
        margin-top:4px !important;
    }
    .tu-project-career-actions > form {
        width:100% !important;
    }
    .tu-project-action-btn,
    .tu-project-career-actions > form > .tu-project-action-btn {
        width:100% !important;
        min-width:0 !important;
        max-width:none !important;
    }
}

@media (max-width:430px) {
    .tu-project-career-head { padding:13px 12px !important; gap:10px !important; }
    .tu-project-career-actions { gap:7px !important; }
    .tu-project-action-btn,
    .tu-project-career-actions > form > .tu-project-action-btn {
        height:42px !important;
        min-height:42px !important;
        max-height:42px !important;
        padding:0 6px !important;
        font-size:12px !important;
    }
    .tu-parcoursup-results-page .tu-formation-card__actions,
    .tu-parcoursup-results-page .tu-formation-card__actions > form {
        width:100% !important;
    }
    .tu-parcoursup-results-page .tu-formation-card__actions .tu-btn {
        width:100% !important;
        justify-content:center !important;
    }
}


/* PARCOURSUP_GUIDED_FLOW_V1 */
.tu-parcoursup-subnav {
    display:flex;
    gap:8px;
    margin:-4px 0 14px;
    padding:5px;
    width:max-content;
    max-width:100%;
    background:#fff;
    border:1px solid var(--tu-line);
    border-radius:14px;
    box-shadow:var(--tu-shadow-soft);
}
.tu-parcoursup-subnav a {
    min-height:40px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:8px 16px;
    border-radius:10px;
    color:var(--tu-muted);
    font-weight:850;
    text-decoration:none;
}
.tu-parcoursup-subnav a.is-active {
    background:var(--tu-blue);
    color:#fff;
}

.tu-parcoursup-journey {
    margin-bottom:18px;
    padding:18px;
    background:#fff;
    border:1px solid var(--tu-line);
    border-top:4px solid #FF5757;
    border-radius:18px;
    box-shadow:var(--tu-shadow-soft);
}
.tu-parcoursup-journey__head {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    margin-bottom:11px;
}
.tu-parcoursup-journey__head strong {
    display:block;
    color:var(--tu-blue);
    font-size:18px;
}
.tu-parcoursup-journey__percent {
    min-width:64px;
    min-height:46px;
    display:grid;
    place-items:center;
    padding:7px 10px;
    border-radius:13px;
    background:#FFF0F0;
    color:#C93636;
    font-size:18px;
    font-weight:950;
}
.tu-parcoursup-journey__bar {
    height:9px;
    overflow:hidden;
    margin-bottom:15px;
    border-radius:99px;
    background:#EDF1F5;
}
.tu-parcoursup-journey__bar span {
    display:block;
    height:100%;
    border-radius:inherit;
    background:#FF5757;
    transition:width .25s ease;
}
.tu-parcoursup-steps {
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:9px;
}
.tu-parcoursup-step {
    min-width:0;
    min-height:78px;
    display:flex;
    align-items:center;
    gap:10px;
    padding:11px;
    border:1px solid var(--tu-line);
    border-radius:14px;
    background:#FAFBFC;
    color:var(--tu-ink);
    text-decoration:none;
}
.tu-parcoursup-step:hover {
    border-color:#F6BABA;
    background:#FFF8F8;
    color:var(--tu-ink);
}
.tu-parcoursup-step__number {
    width:32px;
    height:32px;
    flex:0 0 32px;
    display:grid;
    place-items:center;
    border-radius:10px;
    background:#E9EEF4;
    color:var(--tu-blue);
    font-weight:950;
}
.tu-parcoursup-step__copy { min-width:0; }
.tu-parcoursup-step__copy strong {
    display:block;
    color:var(--tu-blue);
    font-size:13px;
    line-height:1.2;
}
.tu-parcoursup-step__copy small {
    display:block;
    margin-top:3px;
    color:var(--tu-muted);
    font-size:11px;
    line-height:1.25;
}
.tu-parcoursup-step.is-done {
    border-color:#FFD0D0;
    background:#FFF7F7;
}
.tu-parcoursup-step.is-done .tu-parcoursup-step__number {
    background:#FF5757;
    color:#fff;
}
.tu-parcoursup-step.is-current {
    border:2px solid #FF5757;
    background:#fff;
    box-shadow:0 5px 16px rgba(255,87,87,.11);
}
.tu-parcoursup-step.is-current .tu-parcoursup-step__number {
    background:#FF5757;
    color:#fff;
}

.tu-parcoursup-next-card {
    background:linear-gradient(135deg,#FFF8F8 0,#fff 70%);
}
.tu-parcoursup-overview-grid {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:12px;
    margin-bottom:16px;
}
.tu-parcoursup-overview-card {
    display:grid;
    grid-template-columns:44px minmax(0,1fr);
    gap:12px;
    margin:0;
}
.tu-parcoursup-overview-card__number {
    width:42px;
    height:42px;
    display:grid;
    place-items:center;
    border-radius:13px;
    background:#FFF0F0;
    color:#C93636;
    font-weight:950;
    font-size:17px;
}
.tu-parcoursup-overview-card h2 { margin-bottom:7px; }
.tu-parcoursup-overview-card a { font-weight:850; }
.tu-parcoursup-follow-card {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
}
.tu-parcoursup-analysis-check { border-left:4px solid #FF5757; }

/* Accent d'action Parcoursup : couleur de charte exacte. */
.tu-btn--formation-add {
    background:#FF5757 !important;
    border-color:#FF5757 !important;
    color:#fff !important;
}
.tu-btn--formation-add:hover {
    background:#F04D4D !important;
    border-color:#F04D4D !important;
    color:#fff !important;
}

@media (max-width:900px) {
    .tu-parcoursup-steps { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .tu-parcoursup-overview-grid { grid-template-columns:1fr; }
}
@media (max-width:600px) {
    .tu-parcoursup-subnav { width:100%; }
    .tu-parcoursup-subnav a { flex:1 1 0; }
    .tu-parcoursup-journey { padding:14px; }
    .tu-parcoursup-journey__head { align-items:flex-start; }
    .tu-parcoursup-steps { grid-template-columns:1fr; }
    .tu-parcoursup-step { min-height:64px; }
    .tu-parcoursup-follow-card { align-items:stretch; flex-direction:column; }
    .tu-parcoursup-follow-card .tu-actions,
    .tu-parcoursup-follow-card .tu-btn { width:100%; }
}
/* /PARCOURSUP_GUIDED_FLOW_V1 */


/* FORMATIONS_HOME_SOFTEN_V1 */
.tu-formations-home .tu-parcoursup-journey {
    border-top:1px solid #FFD6D6 !important;
}
.tu-formations-home .tu-card--accent {
    border-top:1px solid #FFD6D6 !important;
}
.tu-formations-home .tu-parcoursup-next-card {
    background:linear-gradient(135deg,#FFFDFC 0,#fff 72%) !important;
}
.tu-formations-home .tu-section-title .tu-badge--accent {
    background:#FFF3F2 !important;
    color:#C93636 !important;
    border:1px solid #FFD6D6 !important;
}
/* /FORMATIONS_HOME_SOFTEN_V1 */


/* STUDY_LEVEL_MENU_V1 */
.tu-study-level-page-card { max-width:920px; }
.tu-study-level-selector {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:12px;
    margin:18px 0 12px;
}
.tu-study-level-selector__choice {
    min-height:70px;
    display:flex;
    align-items:center;
    gap:12px;
    padding:14px 16px;
    border:1px solid #DDE3EA;
    border-radius:14px;
    background:#fff;
    color:#0F3466;
    font-size:16px;
    font-weight:900;
    cursor:pointer;
}
.tu-study-level-selector__choice:has(input:checked) {
    border-color:#FF9B9B;
    background:#FFF6F6;
}
.tu-study-level-selector__choice input {
    width:22px;
    height:22px;
    flex:0 0 22px;
    margin:0;
    accent-color:#FF5757;
}
.tu-study-level-selector__actions { margin-top:18px; }
@media (max-width:700px) {
    .tu-study-level-selector { grid-template-columns:1fr; }
    .tu-study-level-selector__choice { min-height:58px; }
    .tu-study-level-selector__actions,
    .tu-study-level-selector__actions .tu-btn { width:100%; }
}
/* /STUDY_LEVEL_MENU_V1 */


/* PARCOURSUP_PROGRESS_5_STEPS_V1 */
.tu-parcoursup-steps {
    grid-template-columns:repeat(5,minmax(0,1fr));
}
@media (max-width:1100px) {
    .tu-parcoursup-steps { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:600px) {
    .tu-parcoursup-steps { grid-template-columns:1fr; }
}
/* /PARCOURSUP_PROGRESS_5_STEPS_V1 */

/* UX_SIMPLIFICATION_PASS_V1
   Moins de navigation dans les pages, une action principale et les détails à la demande. */
.tu-page-head--compact { margin-bottom:12px !important; }

.tu-dashboard-focus {
    display:grid;
    grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);
    gap:18px;
    margin:22px 0 16px;
    padding:24px;
    border:1px solid var(--tu-line);
    border-radius:22px;
    background:#fff;
    box-shadow:var(--tu-shadow-soft);
}
.tu-dashboard-focus__main { align-self:center; max-width:620px; }
.tu-dashboard-focus h1 { margin:3px 0 18px; }
.tu-dashboard-focus__progress { max-width:520px; margin-bottom:18px; }
.tu-dashboard-focus__progress-head { display:flex; align-items:baseline; gap:8px; margin-bottom:8px; }
.tu-dashboard-focus__progress-head strong { color:var(--tu-blue); font-size:22px; }
.tu-dashboard-focus__progress-head span { color:var(--tu-muted); font-size:12px; }
.tu-dashboard-focus .tu-student-dashboard-progress__track { background:#E8EDF3; }
.tu-dashboard-focus__cta { width:100%; max-width:420px; }
.tu-dashboard-status-list { display:grid; gap:8px; }
.tu-dashboard-status {
    display:grid;
    grid-template-columns:38px minmax(0,1fr) 28px;
    gap:10px;
    align-items:center;
    min-height:64px;
    padding:10px 12px;
    border:1px solid #E3E8EE;
    border-radius:14px;
    background:#FAFBFC;
}
.tu-dashboard-status__icon { width:38px; height:38px; display:grid; place-items:center; border-radius:11px; background:#EEF3F8; color:var(--tu-blue); }
.tu-dashboard-status__icon .tu-icon { width:20px; height:20px; }
.tu-dashboard-status__copy strong { display:block; color:var(--tu-blue); font-size:13px; }
.tu-dashboard-status__copy small { display:block; margin-top:1px; color:var(--tu-muted); font-size:11px; }
.tu-dashboard-status__state { display:grid; place-items:center; width:26px; height:26px; border-radius:50%; background:#EDF1F5; color:#7A8796; font-weight:950; }
.tu-dashboard-status.is-done .tu-dashboard-status__state { background:#0F3466; color:#fff; }
.tu-dashboard-profile-details { margin-bottom:18px; }

.tu-disclosure {
    margin:12px 0 16px;
    border:1px solid var(--tu-line);
    border-radius:15px;
    background:#fff;
    overflow:hidden;
}
.tu-disclosure > summary {
    min-height:52px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding:12px 14px;
    cursor:pointer;
    list-style:none;
    color:var(--tu-blue);
    font-weight:900;
}
.tu-disclosure > summary::-webkit-details-marker { display:none; }
.tu-disclosure > summary::after { content:'+'; color:var(--tu-red); font-size:20px; font-weight:950; line-height:1; }
.tu-disclosure[open] > summary::after { content:'−'; }
.tu-disclosure > summary small { margin-left:auto; color:var(--tu-muted); font-size:11px; font-weight:700; }
.tu-disclosure__body { padding:0 14px 14px; }
.tu-disclosure--compact { margin:8px 0 12px; }
.tu-disclosure--compact > summary { min-height:44px; padding:9px 12px; font-size:12px; }
.tu-disclosure--spaced { margin:0 0 16px; }
.tu-disclosure .card:last-child,.tu-disclosure .tu-card:last-child { margin-bottom:0; }

.tu-inline-help {
    margin:0 0 14px;
    border:1px solid #E1E7ED;
    border-radius:12px;
    background:#fff;
}
.tu-inline-help > summary {
    display:flex;
    align-items:center;
    min-height:42px;
    padding:9px 12px;
    cursor:pointer;
    list-style:none;
    color:var(--tu-blue);
    font-size:12px;
    font-weight:850;
}
.tu-inline-help > summary::-webkit-details-marker { display:none; }
.tu-inline-help > summary::after { content:'+'; margin-left:auto; color:var(--tu-red); font-size:17px; font-weight:950; }
.tu-inline-help[open] > summary::after { content:'−'; }
.tu-inline-help > div { padding:0 12px 11px; color:var(--tu-muted); font-size:13px; }
.tu-inline-help > .tu-inline-help__fields { display:grid; padding:0 12px 12px; color:inherit; font-size:inherit; }
.tu-inline-help--end { margin-top:10px; }
.tu-review-links { display:flex; flex-wrap:wrap; gap:7px; }
.tu-review-links a { padding:5px 8px; border-radius:8px; background:#F1F4F7; text-decoration:none; font-size:11px; font-weight:800; }

.tu-flow-head {
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:18px;
    margin:18px 0 16px;
    padding-bottom:13px;
    border-bottom:1px solid var(--tu-line);
}
.tu-flow-head h1 { margin-top:2px; font-size:clamp(1.55rem,3vw,2rem); }
.tu-flow-head__progress { width:min(280px,38vw); }
.tu-flow-head__progress > span { display:block; margin-bottom:6px; color:var(--tu-muted); font-size:11px; font-weight:900; text-align:right; }
.tu-flow-head .tu-questionnaire-progress { height:6px; background:#E5EAF0; }
.tu-flow-head .tu-questionnaire-progress > span { background:var(--tu-red); }
.tu-questionnaire-complete{display:flex;align-items:center;gap:12px;margin:0 0 14px;padding:13px 14px;border:1px solid #c9ded5;border-radius:10px;background:#f3f8f6}.tu-questionnaire-complete__icon{display:grid;place-items:center;flex:0 0 32px;width:32px;height:32px;border-radius:50%;background:#dceee6;color:#24684f;font-weight:900}.tu-questionnaire-complete>div{display:grid;gap:2px;min-width:0;margin-right:auto}.tu-questionnaire-complete strong{color:#245b49}.tu-questionnaire-complete small{color:#667085}.tu-questionnaire-locked{opacity:.52;filter:grayscale(.35);pointer-events:none;user-select:none}.tu-questionnaire-editing{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 14px;padding:10px 12px;border:1px solid #d8e2ec;border-radius:8px;background:#f8fafc;color:#173b67}.tu-questionnaire-editing a{font-size:.82rem;font-weight:800}
@media(max-width:600px){.tu-questionnaire-complete{align-items:flex-start;flex-wrap:wrap}.tu-questionnaire-complete .tu-btn{width:100%;justify-content:center}}
.tu-skip-action { display:inline-flex; align-items:center; justify-content:center; min-height:40px; padding:7px 9px; color:var(--tu-muted); font-size:12px; font-weight:800; text-decoration:none; }
.tu-skip-action:hover { color:var(--tu-red-dark); }
.tu-form-actions .tu-skip-action { flex:0 0 auto; }
.tu-riasec-actions [data-riasec-prev]:disabled { display:none; }
.tu-riasec-shell:has(.tu-riasec-finish:not([hidden])) .tu-riasec-round:not([hidden]) .tu-riasec-actions { display:none; }
.tu-riasec-finish .tu-btn { min-height:50px; }
.tu-flow-finish {
    display:flex;
    align-items:center;
    gap:12px;
    padding:16px;
    border:1px solid #FFD1D1;
    border-radius:16px;
    background:#FFF9F9;
}
.tu-flow-finish__check { width:38px; height:38px; flex:0 0 38px; display:grid; place-items:center; border-radius:50%; background:var(--tu-red); color:#fff; font-weight:950; }
.tu-flow-finish h2 { margin:0 0 2px; font-size:18px; }
.tu-flow-finish p { margin:0; color:var(--tu-muted); font-size:12px; }
.tu-flow-primary-form { margin-top:12px; }
.tu-flow-primary-form .tu-btn { width:100%; }

.tu-compact-menu { position:relative; }
.tu-compact-menu > summary { min-height:38px; display:inline-flex; align-items:center; padding:7px 11px; border:1px solid var(--tu-line); border-radius:10px; background:#fff; color:var(--tu-blue); cursor:pointer; list-style:none; font-size:12px; font-weight:850; }
.tu-compact-menu > summary::-webkit-details-marker { display:none; }
.tu-compact-menu__panel { position:absolute; z-index:20; right:0; top:calc(100% + 6px); width:min(330px,88vw); padding:12px; border:1px solid var(--tu-line); border-radius:12px; background:#fff; box-shadow:var(--tu-shadow); }
.tu-compact-menu__panel form { display:grid; gap:8px; }

.tu-flow-page-intro {
    max-width:760px;
    margin:22px auto 16px;
    padding:28px;
    border:1px solid var(--tu-line);
    border-radius:20px;
    background:#fff;
    box-shadow:var(--tu-shadow-soft);
    text-align:center;
}
.tu-flow-page-intro h1,.tu-flow-page-intro h2 { margin:2px 0 8px; }
.tu-flow-page-intro p { max-width:580px; margin:0 auto 18px; color:var(--tu-muted); }
.tu-flow-page-intro--compact { padding:22px; }

.tu-compact-settings { display:grid; gap:0; }
.tu-compact-setting { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:11px 0; border-top:1px solid #EDF1F4; }
.tu-compact-setting:first-child { border-top:0; }
.tu-compact-setting > div { min-width:0; }
.tu-compact-setting strong { display:block; color:var(--tu-blue); font-size:13px; }
.tu-compact-setting span { display:block; margin-top:2px; color:var(--tu-muted); font-size:11px; }
.tu-compact-setting a,.tu-text-action { flex:0 0 auto; color:var(--tu-blue); font-size:12px; font-weight:850; text-decoration:none; }

.tu-formation-filter-card--compact { padding:14px !important; }
.tu-formation-filter-card--compact .tu-section-title { margin-bottom:10px; }
.tu-formation-filter-card--compact .tu-section-title h2 { margin:0; font-size:17px; }
.tu-formation-filter-card--compact .tu-filter-live { margin-top:8px; }
.tu-inline-action-card { display:flex; align-items:center; justify-content:space-between; gap:12px; margin:0 0 12px; padding:11px 13px; border:1px solid #FFD1D1; border-radius:13px; background:#FFF9F9; }
.tu-inline-action-card > span { color:var(--tu-blue); font-size:13px; font-weight:800; }
.tu-inline-action-card form { margin:0; }
.tu-card-detail { margin-top:10px; border-top:1px solid #EDF0F3; padding-top:8px; }
.tu-card-detail > summary { cursor:pointer; color:var(--tu-blue); font-size:12px; font-weight:850; }
.tu-card-detail p { margin:8px 0 0; color:var(--tu-muted); font-size:13px; }

.counter-grid--essential { grid-template-columns:repeat(2,minmax(0,1fr)) !important; margin-bottom:10px !important; }
.tu-mini-stats { display:flex; gap:18px; flex-wrap:wrap; }
.tu-mini-stats span { display:flex; align-items:baseline; gap:5px; }
.tu-mini-stats strong { color:var(--tu-blue); }

@media (max-width:820px) {
    .tu-dashboard-focus { grid-template-columns:1fr; padding:18px; }
    .tu-dashboard-focus__cta { max-width:none; }
    .tu-flow-page-intro { margin-top:14px; padding:20px 16px; }
}
@media (max-width:700px) {
    .tu-flow-head { align-items:flex-start; margin-top:12px; }
    .tu-flow-head__progress { width:118px; flex:0 0 118px; }
    .tu-form-actions { position:sticky; z-index:18; bottom:10px; align-items:center; padding:8px; border:1px solid var(--tu-line); border-radius:14px; background:rgba(255,255,255,.96); box-shadow:0 8px 24px rgba(15,52,102,.12); backdrop-filter:blur(10px); }
    .tu-form-actions .tu-btn,.tu-form-actions button { flex:1 1 auto; min-width:0; }
    .tu-form-actions .tu-skip-action { flex:0 0 auto; }
    .tu-disclosure > summary small { display:none; }
    .tu-inline-action-card { align-items:stretch; flex-direction:column; }
    .tu-inline-action-card .tu-btn { width:100%; }
    .tu-compact-setting { align-items:flex-start; }
    .counter-grid--essential { grid-template-columns:1fr 1fr !important; }
}
@media (max-width:480px) {
    .tu-dashboard-focus { margin-top:12px; padding:15px; border-radius:17px; }
    .tu-dashboard-status { min-height:58px; padding:8px 10px; }
    .tu-flow-head { gap:10px; }
    .tu-flow-head__progress { width:96px; flex-basis:96px; }
    .tu-study-level-options { grid-template-columns:1fr !important; }
    .counter-grid--essential { grid-template-columns:1fr !important; }
}
/* /UX_SIMPLIFICATION_PASS_V1 */

/* FORMATIONS_LINEAR_FLOW_V1
   Une seule page Formations : réglages repliables, aucune sous-navigation interne,
   progression naturelle du haut vers le bas et résultats visibles au même endroit. */
.tu-formations-linear-page { background:#F6F8FB; }
.tu-linear-flow { max-width:1040px; padding-top:22px; padding-bottom:64px; }
.tu-linear-flow__head { margin:0 0 18px; }
.tu-linear-flow__head h1 { margin:2px 0 8px; color:var(--tu-blue); font-size:clamp(30px,4vw,44px); line-height:1.04; }
.tu-linear-careers { display:flex; flex-wrap:wrap; gap:6px; margin-top:10px; }
.tu-linear-careers span { padding:5px 9px; border-radius:999px; background:#EAF0F7; color:#0F3466; font-size:11px; font-weight:800; }
.tu-linear-saved { width:max-content; margin:-6px 0 12px; padding:5px 9px; border-radius:999px; background:#EEF3F8; color:#0F3466; font-size:11px; font-weight:850; }

.tu-linear-step { margin:0 0 10px; border:1px solid #DCE4ED; border-radius:15px; background:#fff; box-shadow:0 4px 14px rgba(15,52,102,.035); overflow:hidden; scroll-margin-top:110px; }
.tu-linear-step > summary { display:grid; grid-template-columns:minmax(130px,.55fr) minmax(0,1.45fr) auto; align-items:center; gap:16px; min-height:64px; padding:12px 16px; cursor:pointer; list-style:none; }
.tu-linear-step > summary::-webkit-details-marker { display:none; }
.tu-linear-step[open] > summary { border-bottom:1px solid #EDF1F5; }
.tu-linear-step__title { color:#0F3466; font-size:14px; font-weight:900; }
.tu-linear-step__value { min-width:0; color:#667085; font-size:13px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.tu-linear-step__toggle { color:#FF5757; font-size:11px; font-weight:900; }
.tu-linear-step__body { padding:16px; }
.tu-linear-form { display:grid; gap:14px; }
.tu-linear-form > .tu-btn { justify-self:start; min-width:190px; }

.tu-linear-choice-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; }
.tu-linear-choice-list--3 { grid-template-columns:repeat(3,minmax(0,1fr)); }
.tu-linear-choice { display:flex; gap:10px; align-items:center; min-height:56px; padding:11px 12px; border:1px solid #DCE3EB; border-radius:12px; background:#fff; cursor:pointer; }
.tu-linear-choice:has(input:checked) { border-color:#FFAAAA; background:#FFF7F7; }
.tu-linear-choice:has(input:disabled) { opacity:.45; cursor:not-allowed; }
.tu-linear-choice input { width:19px; height:19px; flex:0 0 19px; margin:0; accent-color:#FF5757; }
.tu-linear-choice strong { display:block; color:#0F3466; font-size:13px; }
.tu-linear-choice small { display:block; margin-top:2px; color:#778399; font-size:11px; line-height:1.3; }
.tu-linear-multi-careers { display:flex; flex-wrap:wrap; gap:7px; padding:10px; border-radius:11px; background:#F8FAFC; }
.tu-linear-multi-careers[hidden] { display:none; }
.tu-linear-multi-careers label { display:flex; align-items:center; gap:6px; padding:6px 8px; border:1px solid #E2E8F0; border-radius:9px; background:#fff; color:#0F3466; font-size:12px; font-weight:750; }
.tu-linear-multi-careers input { accent-color:#FF5757; }

.tu-linear-location-fields { display:grid; grid-template-columns:minmax(0,1fr) 180px; gap:10px; }
.tu-linear-location-fields[hidden], .tu-linear-location-fields [hidden] { display:none !important; }
.tu-linear-form label > span, .tu-linear-more label > span { display:block; margin-bottom:5px; color:#667085; font-size:11px; font-weight:800; }
.tu-linear-form input[type=text], .tu-linear-form select, .tu-linear-more select { width:100%; box-sizing:border-box; min-height:42px; padding:9px 10px; border:1px solid #CDD6E0; border-radius:9px; background:#fff; color:#18202A; font:inherit; }
.tu-linear-more { width:min(360px,100%); }
.tu-linear-more > summary { cursor:pointer; color:#667085; font-size:11px; font-weight:800; }
.tu-linear-more > label { display:block; margin-top:8px; }
.tu-linear-auto-save { color:#7A8699; font-size:11px; }

.tu-linear-results { margin-top:20px; scroll-margin-top:110px; }
.tu-linear-results__head { display:flex; align-items:baseline; justify-content:space-between; gap:12px; margin:18px 0 10px; }
.tu-linear-results__head h2 { margin:0; color:#0F3466; font-size:21px; }
.tu-linear-results__head span { color:#667085; font-size:12px; font-weight:800; }
.tu-linear-launch, .tu-linear-update, .tu-linear-empty { padding:18px; border:1px solid #DCE4ED; border-radius:15px; background:#fff; }
.tu-linear-launch { display:flex; align-items:center; justify-content:space-between; gap:16px; }
.tu-linear-launch h2 { margin:0; color:#0F3466; font-size:18px; }
.tu-linear-launch form { margin:0; }
.tu-linear-update { display:flex; align-items:center; justify-content:space-between; gap:14px; color:#0F3466; font-size:13px; font-weight:800; }
.tu-linear-empty h2 { margin:0 0 4px; font-size:18px; }
.tu-linear-empty p { margin:0; color:#667085; }

.tu-formations-linear-page .tu-analysis-wait { display:grid; grid-template-columns:auto minmax(0,1fr); gap:13px; align-items:start; padding:18px; border:1px solid #FFD0D0; border-radius:15px; background:#FFFAFA; }
.tu-formations-linear-page .tu-analysis-spinner { width:30px; height:30px; border:4px solid #FFE1E1; border-top-color:#FF5757; border-radius:50%; animation:tu-analysis-spin .9s linear infinite; }
.tu-formations-linear-page .tu-analysis-wait h2 { margin:0 0 3px; color:#0F3466; font-size:18px; }
.tu-formations-linear-page .tu-analysis-wait p { margin:0 0 5px; color:#667085; font-size:13px; }
.tu-formations-linear-page .tu-analysis-wait small { color:#8793A4; }
.tu-formations-linear-page .tu-analysis-retry { grid-column:1/-1; margin:2px 0 0; }

.tu-formations-linear-page .tu-study-level-options { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
.tu-formations-linear-page .tu-study-level-choice { display:flex; align-items:center; gap:8px; min-height:48px; padding:9px 11px; border:1px solid #DFE4EA; border-radius:10px; background:#fff; cursor:pointer; color:#0F3466; font-weight:800; }
.tu-formations-linear-page .tu-study-level-choice:has(input:checked) { border-color:#FFBABA; background:#FFF7F7; }
.tu-formations-linear-page .tu-study-level-choice input { width:18px; height:18px; margin:0; accent-color:#FF5757; }
.tu-formations-linear-page .tu-study-level-count { margin-left:auto; color:#7A8699; font-size:11px; }
.tu-formations-linear-page .tu-formation-list { display:grid; gap:10px; }
.tu-formations-linear-page .tu-formation-card--result { padding:15px; border:1px solid #DDE5ED; border-radius:14px; background:#fff; box-shadow:none; }
.tu-formations-linear-page .tu-formation-card--result h3 { margin:0 0 4px; color:#0F3466; font-size:16px; line-height:1.25; }
.tu-formations-linear-page .tu-formation-card__top { display:flex; justify-content:space-between; gap:12px; align-items:flex-start; }
.tu-formations-linear-page .tu-formation-career-tags { margin-top:8px; }
.tu-formations-linear-page .tu-card-detail { margin-top:9px; padding-top:7px; border-top:1px solid #EDF1F4; }
.tu-formations-linear-page .tu-card-detail > summary { cursor:pointer; color:#667085; font-size:11px; font-weight:800; }
.tu-formations-linear-page .tu-card-detail p { margin:7px 0 0; color:#667085; font-size:12px; }
.tu-formations-linear-page .tu-card-detail a { color:#0F3466; font-weight:800; }
.tu-formations-linear-page .tu-formation-card__actions { display:flex; justify-content:flex-end; margin-top:10px; }
.tu-formations-linear-page .tu-formation-card__actions form { margin:0; }
.tu-formations-linear-page .tu-formation-card[hidden] { display:none !important; }
.tu-linear-dev-tools { width:max-content; margin:18px 0 0 auto; }
.tu-linear-dev-tools > summary { cursor:pointer; color:#98A2B3; font-size:10px; font-weight:800; }
.tu-linear-dev-tools form { margin-top:7px; }

@keyframes tu-analysis-spin { to { transform:rotate(360deg); } }

@media (max-width:760px) {
    .tu-linear-flow { width:min(100% - 22px,1040px); padding-top:14px; }
    .tu-linear-flow__head { margin-bottom:12px; }
    .tu-linear-step > summary { grid-template-columns:minmax(95px,.7fr) minmax(0,1.3fr) auto; min-height:58px; gap:9px; padding:10px 12px; }
    .tu-linear-step__value { font-size:11px; }
    .tu-linear-step__body { padding:12px; }
    .tu-linear-choice-list, .tu-linear-choice-list--3 { grid-template-columns:1fr; }
    .tu-linear-location-fields { grid-template-columns:1fr; }
    .tu-linear-form > .tu-btn { width:100%; justify-self:stretch; }
    .tu-formations-linear-page .tu-study-level-options { grid-template-columns:1fr; }
    .tu-linear-launch, .tu-linear-update { align-items:stretch; flex-direction:column; }
    .tu-linear-launch .tu-btn, .tu-linear-update .tu-btn { width:100%; }
    .tu-formations-linear-page .tu-formation-card__top { flex-direction:column; }
    .tu-formations-linear-page .tu-formation-card__actions, .tu-formations-linear-page .tu-formation-card__actions form, .tu-formations-linear-page .tu-formation-card__actions .tu-btn { width:100%; }
}

@media (max-width:480px) {
    .tu-linear-step > summary { grid-template-columns:1fr auto; }
    .tu-linear-step__title { grid-column:1; }
    .tu-linear-step__value { grid-column:1; grid-row:2; white-space:normal; }
    .tu-linear-step__toggle { grid-column:2; grid-row:1 / span 2; align-self:center; }
    .tu-linear-careers span { max-width:100%; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
}
/* /FORMATIONS_LINEAR_FLOW_V1 */

/* UX_SIMPLIFICATION_PASS_V2
   Navigation = menu du haut. Pages = contenu utile, actions compactes,
   titres identiques au menu et détails repliés par défaut. */
.tu-flow-head__section,
.tu-page-subsection {
    margin-top:3px;
    color:var(--tu-muted);
    font-size:13px;
    font-weight:800;
}
.tu-flow-head h1 { margin-bottom:0; }

/* Les actions ne deviennent plus de grandes barres rouges sur desktop. */
.tu-form-actions { justify-content:flex-end; }
.tu-form-actions .tu-btn,
.tu-form-actions button {
    flex:0 0 auto;
    min-width:150px;
}
.tu-riasec-finish {
    display:flex;
    justify-content:flex-end;
    margin-top:12px;
}
.tu-riasec-finish .tu-btn {
    width:auto !important;
    min-width:150px;
    min-height:42px;
}
.tu-flow-primary-form {
    display:flex;
    justify-content:flex-end;
}
.tu-flow-primary-form .tu-btn {
    width:auto;
    min-width:180px;
}
.tu-dashboard-focus__cta {
    width:auto;
    max-width:none;
}
.tu-linear-form > .tu-btn {
    width:auto;
    min-width:170px;
    justify-self:end;
}

/* Classement métiers : commande secondaire compacte, pas un bandeau CTA. */
.tu-career-ranking {
    margin-top:10px;
}
.tu-career-ranking-toggle {
    width:auto !important;
    min-height:40px !important;
    display:inline-flex !important;
    grid-template-columns:none !important;
    align-items:center !important;
    gap:8px !important;
    padding:8px 10px 8px 12px !important;
    border:1px solid #DDE4EC !important;
    border-radius:10px !important;
    background:#fff !important;
    color:#0F3466 !important;
    box-shadow:none !important;
    text-align:left !important;
}
.tu-career-ranking-toggle:hover {
    background:#F7F9FB !important;
    border-color:#C8D3DF !important;
    filter:none !important;
}
.tu-career-ranking-toggle__label {
    font-size:12px !important;
    font-weight:850 !important;
}
.tu-career-ranking-toggle strong {
    padding:3px 7px !important;
    border-radius:999px !important;
    background:#EEF2F6 !important;
    color:#657489 !important;
    font-size:10px !important;
}
.tu-career-ranking-toggle__icon {
    width:24px !important;
    height:24px !important;
    border-radius:7px !important;
    background:#FFF0F0 !important;
    color:#FF5757 !important;
    font-size:16px !important;
}

/* Parcoursup : la liste initiale reste une liste, les formulaires sont repliés. */
.tu-parcoursup-wishes-page .wrap {
    margin-top:20px;
}
.tu-parcoursup-wishes-page .top {
    margin-bottom:8px;
}
.wish-page-summary {
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:8px 14px;
    margin:8px 0 16px;
    color:#667085;
    font-size:12px;
}
.wish-page-summary > strong {
    color:#0F3466;
    font-size:13px;
}
.wish-page-summary__details {
    position:relative;
}
.wish-page-summary__details > summary {
    cursor:pointer;
    list-style:none;
    color:#0F3466;
    font-weight:800;
}
.wish-page-summary__details > summary::-webkit-details-marker { display:none; }
.wish-page-summary__details > summary::after {
    content:'+';
    margin-left:5px;
    color:#FF5757;
}
.wish-page-summary__details[open] > summary::after { content:'−'; }
.wish-page-summary__details > div {
    position:absolute;
    z-index:10;
    top:calc(100% + 6px);
    right:0;
    min-width:210px;
    padding:9px 10px;
    border:1px solid #DDE4EC;
    border-radius:10px;
    background:#fff;
    box-shadow:0 10px 28px rgba(15,52,102,.12);
    white-space:nowrap;
}

.tu-parcoursup-wishes-page .section-head {
    margin:22px 0 8px;
    align-items:center;
}
.tu-parcoursup-wishes-page .section-head h2 {
    margin:0;
    font-size:18px;
}
.tu-parcoursup-wishes-page .section-head__count {
    padding:4px 8px;
    font-size:11px;
}

.tu-parcoursup-wishes-page .wish-groups {
    gap:8px;
}
.tu-parcoursup-wishes-page .wish-group {
    border:1px solid #DCE4EC;
    border-radius:13px;
    background:#fff;
    overflow:hidden;
}
.tu-parcoursup-wishes-page .wish-group__head {
    display:grid;
    grid-template-columns:auto minmax(0,1fr);
    gap:8px;
    align-items:center;
    padding:8px 10px;
    border-bottom:0;
    background:#fff;
}
.tu-parcoursup-wishes-page .wish-group__head .wish-order-controls {
    align-self:center;
}
.tu-parcoursup-wishes-page .wish-order-controls {
    gap:3px;
}
.tu-parcoursup-wishes-page .wish-order-btn {
    width:28px;
    height:28px;
    border-color:#E4E8EE;
    border-radius:7px;
    background:#F8FAFC;
    color:#7B8796;
    font-size:14px;
    box-shadow:none;
}
.tu-parcoursup-wishes-page .wish-order-btn:hover:not(:disabled),
.tu-parcoursup-wishes-page .wish-order-btn:focus-visible:not(:disabled) {
    background:#EEF2F6;
    color:#0F3466;
}
.tu-parcoursup-wishes-page .wish-group__toggle {
    min-width:0;
    width:100%;
    display:grid;
    grid-template-columns:minmax(0,1fr) auto 24px;
    gap:10px;
    align-items:center;
    padding:4px 2px;
    border:0;
    border-radius:0;
    background:transparent;
    color:inherit;
    box-shadow:none;
    text-align:left;
}
.tu-parcoursup-wishes-page .wish-group__toggle:hover {
    background:transparent;
    color:inherit;
}
.tu-parcoursup-wishes-page .wish-group__copy {
    min-width:0;
    display:block;
}
.tu-parcoursup-wishes-page .wish-group__number {
    display:block;
    margin:0 0 2px;
    color:#FF5757;
    font-size:9px;
    font-weight:900;
    letter-spacing:.05em;
    text-transform:uppercase;
}
.tu-parcoursup-wishes-page .wish-group__title {
    display:block;
    overflow:hidden;
    color:#0F3466;
    font-size:14px;
    font-weight:900;
    line-height:1.25;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.tu-parcoursup-wishes-page .wish-group__meta {
    display:block;
    overflow:hidden;
    margin-top:2px;
    color:#667085;
    font-size:11px;
    font-weight:500;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.tu-parcoursup-wishes-page .wish-group__rule {
    padding:4px 7px;
    font-size:10px;
    white-space:nowrap;
}
.tu-parcoursup-wishes-page .wish-group__chevron {
    display:grid;
    place-items:center;
    width:24px;
    height:24px;
    color:#FF5757;
    font-size:18px;
    transition:transform .15s ease;
}
.tu-parcoursup-wishes-page .wish-group__toggle[aria-expanded="true"] .wish-group__chevron {
    transform:rotate(180deg);
}
.tu-parcoursup-wishes-page .wish-group__body {
    border-top:1px solid #EDF1F5;
    background:#FBFCFD;
}
.tu-parcoursup-wishes-page .wish-group__body[hidden] {
    display:none !important;
}
.tu-parcoursup-wishes-page .wish-group__body > .warning-box {
    margin:10px 12px 0;
}
.tu-parcoursup-wishes-page .wish-subwish-list {
    gap:0;
}

.tu-parcoursup-wishes-page .wish-item {
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:12px;
    padding:12px 14px;
    border-bottom:1px solid #EDF1F5;
    background:#fff;
}
.tu-parcoursup-wishes-page .wish-item:last-child { border-bottom:0; }
.tu-parcoursup-wishes-page .wish-item.is-subwish {
    margin-left:0;
    padding-left:48px;
    border-left:0;
}
.tu-parcoursup-wishes-page .wish-subwish-order {
    left:8px;
    top:12px;
}
.tu-parcoursup-wishes-page .wish-item__main {
    grid-column:1 / -1;
}
.tu-parcoursup-wishes-page .wish-title {
    margin:1px 0 3px;
    font-size:14px;
}
.tu-parcoursup-wishes-page .wish-place {
    font-size:12px;
}
.tu-parcoursup-wishes-page .wish-item__edit {
    min-width:0;
}
.tu-parcoursup-wishes-page .wish-preparation-form {
    display:grid;
    grid-template-columns:minmax(180px,280px) auto;
    gap:8px 10px;
    align-items:end;
}
.tu-parcoursup-wishes-page .wish-fields {
    gap:0;
}
.tu-parcoursup-wishes-page .wish-fields label > span {
    margin-bottom:3px;
    font-size:10px;
}
.tu-parcoursup-wishes-page .wish-fields select {
    min-height:36px;
    padding:6px 8px;
    font-size:12px;
}
.tu-parcoursup-wishes-page .wish-save-btn {
    min-height:36px;
    padding:7px 10px;
    font-size:12px;
}
.tu-parcoursup-wishes-page .wish-notes-disclosure {
    grid-column:1 / -1;
    margin-top:1px;
}
.tu-parcoursup-wishes-page .wish-notes-disclosure > summary,
.tu-parcoursup-wishes-page .wish-structure-edit > summary {
    display:inline-flex;
    align-items:center;
    gap:5px;
    cursor:pointer;
    color:#667085;
    font-size:11px;
    font-weight:800;
    list-style:none;
}
.tu-parcoursup-wishes-page .wish-notes-disclosure > summary::-webkit-details-marker,
.tu-parcoursup-wishes-page .wish-structure-edit > summary::-webkit-details-marker { display:none; }
.tu-parcoursup-wishes-page .wish-notes-disclosure > summary::before,
.tu-parcoursup-wishes-page .wish-structure-edit > summary::before {
    content:'+';
    color:#FF5757;
}
.tu-parcoursup-wishes-page .wish-notes-disclosure[open] > summary::before,
.tu-parcoursup-wishes-page .wish-structure-edit[open] > summary::before {
    content:'−';
}
.tu-parcoursup-wishes-page .wish-notes {
    margin-top:6px;
}
.tu-parcoursup-wishes-page .wish-notes textarea {
    min-height:62px;
    font-size:12px;
}
.tu-parcoursup-wishes-page .wish-structure-edit {
    margin-top:7px;
    padding-top:7px;
}
.tu-parcoursup-wishes-page .wish-item__links {
    min-width:118px;
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:7px;
}
.tu-parcoursup-wishes-page .wish-item__links a {
    font-size:11px;
    font-weight:800;
    text-decoration:none;
}
.tu-parcoursup-wishes-page .wish-compare--inline {
    flex-direction:row;
    gap:6px;
    font-size:11px;
    cursor:pointer;
}
.tu-parcoursup-wishes-page .wish-compare--inline input {
    width:15px;
    height:15px;
}
.tu-parcoursup-wishes-page .btn-remove {
    padding:5px 7px;
    border-color:transparent;
    background:transparent;
    color:#9B2C2C;
    font-size:11px;
}
.tu-parcoursup-wishes-page .wish-compare-action {
    position:sticky;
    bottom:10px;
    z-index:15;
    width:max-content;
    margin:14px 0 0 auto;
    padding:6px;
    border:1px solid #FFD0D0;
    border-radius:11px;
    background:rgba(255,255,255,.96);
    box-shadow:0 8px 22px rgba(15,52,102,.10);
}
.tu-parcoursup-wishes-page .wish-compare-action[hidden] { display:none !important; }
.tu-parcoursup-wishes-page .wish-compare-action .btn-accent {
    padding:7px 10px;
    font-size:12px;
}

@media (max-width:700px) {
    .tu-form-actions {
        justify-content:flex-end;
    }
    .tu-form-actions .tu-btn,
    .tu-form-actions button {
        flex:0 0 auto;
        min-width:140px;
    }
    .tu-flow-primary-form .tu-btn,
    .tu-linear-form > .tu-btn,
    .tu-dashboard-focus__cta {
        width:auto;
        max-width:100%;
    }
    .tu-career-ranking-toggle {
        max-width:100%;
    }
    .tu-parcoursup-wishes-page .wish-page-summary__details > div {
        left:0;
        right:auto;
    }
    .tu-parcoursup-wishes-page .wish-group__head {
        grid-template-columns:auto minmax(0,1fr);
        gap:6px;
        padding:7px 8px;
    }
    .tu-parcoursup-wishes-page .wish-order-btn {
        width:26px;
        height:30px;
    }
    .tu-parcoursup-wishes-page .wish-group__toggle {
        grid-template-columns:minmax(0,1fr) 22px;
        gap:6px;
    }
    .tu-parcoursup-wishes-page .wish-group__rule {
        display:none;
    }
    .tu-parcoursup-wishes-page .wish-group__title {
        font-size:13px;
        white-space:normal;
    }
    .tu-parcoursup-wishes-page .wish-group__meta {
        white-space:normal;
    }
    .tu-parcoursup-wishes-page .wish-item {
        grid-template-columns:1fr;
        padding:11px 10px;
    }
    .tu-parcoursup-wishes-page .wish-item.is-subwish {
        padding-left:44px;
    }
    .tu-parcoursup-wishes-page .wish-preparation-form {
        grid-template-columns:minmax(0,1fr) auto;
    }
    .tu-parcoursup-wishes-page .wish-item__links {
        min-width:0;
        flex-direction:row;
        align-items:center;
        flex-wrap:wrap;
    }
}
/* /UX_SIMPLIFICATION_PASS_V2 */

/* STUDENT_MOBILE_UX_V1 — 25/08/2026 */
.tu-journey-step.is-locked {
    opacity:.5;
    cursor:default;
    user-select:none;
}
.tu-dashboard-status.is-locked { opacity:.62; }
.tu-dashboard-status.is-locked .tu-dashboard-status__state { color:var(--tu-muted); }

/* RIASEC : l'action de série reste dans le flux, jamais flottante. */
.tu-riasec-actions {
    position:static !important;
    bottom:auto !important;
    z-index:auto !important;
    margin-top:12px !important;
    padding:0 !important;
    border:0 !important;
    background:transparent !important;
    backdrop-filter:none !important;
    box-shadow:none !important;
}
.tu-riasec-actions > * { min-height:44px; }
.tu-inline-help > summary small { margin-left:8px; }

/* Écran bloquant volontaire pendant la génération du profil/matching. */
.tu-processing-overlay[hidden] { display:none !important; }
.tu-processing-overlay {
    position:fixed;
    inset:0;
    z-index:3000;
    display:grid;
    place-items:center;
    padding:22px;
    background:rgba(15,52,102,.86);
    backdrop-filter:blur(7px);
}
.tu-processing-card {
    width:min(100%,430px);
    padding:28px 24px;
    border-radius:22px;
    background:#fff;
    box-shadow:0 24px 60px rgba(4,27,55,.28);
    text-align:center;
}
.tu-processing-card h2 { margin:14px 0 8px; }
.tu-processing-card p { margin:0; color:var(--tu-muted); }
.tu-processing-spinner {
    width:44px;
    height:44px;
    display:inline-block;
    border:5px solid #FFE0E0;
    border-top-color:var(--tu-red);
    border-radius:50%;
    animation:tu-student-processing-spin .8s linear infinite;
}
body.tu-is-processing { overflow:hidden; }
@keyframes tu-student-processing-spin { to { transform:rotate(360deg); } }

@media (max-width:700px) {
    /* Sur mobile, les flèches évitent le conflit entre glissement et défilement. */
    .tu-sort-instruction { margin:8px 0 12px; padding:10px 11px; font-size:12px; }
    .tu-sort-instruction__desktop { display:none; }
    .tu-sort-instruction__mobile { display:inline; }
    .tu-sort-arrows {
        display:grid !important;
        grid-template-columns:1fr 1fr;
        gap:4px;
        width:92px;
        flex:0 0 92px;
    }
    .tu-sort-arrow {
        display:inline-flex !important;
        min-width:0 !important;
        min-height:44px !important;
        padding:0 !important;
        border:1px solid #DCE4EC !important;
        border-radius:9px !important;
        background:#fff !important;
        color:var(--tu-red) !important;
        box-shadow:none !important;
        font-size:18px !important;
        font-weight:950 !important;
    }
    .tu-sort-arrow:disabled { opacity:.22 !important; }
    .tu-drag-handle { display:none !important; }

    .tu-riasec-shell { width:100%; }
    .tu-riasec-ranking { gap:6px !important; }
    .tu-riasec-slot { min-height:0 !important; }
    .tu-riasec-slot__head {
        min-height:27px !important;
        padding:4px 8px !important;
    }
    .tu-riasec-slot__medal { font-size:11px !important; }
    .tu-riasec-slot__head strong { font-size:10px !important; }
    .tu-riasec-slot__number { min-width:24px !important; min-height:21px !important; font-size:10px !important; }
    .tu-riasec-card {
        grid-template-columns:30px minmax(0,1fr) 92px !important;
        gap:7px !important;
        min-height:48px !important;
        padding:6px 7px !important;
    }
    .tu-riasec-card__icon { font-size:12px !important; }
    .tu-riasec-card .tu-sort-item__text {
        font-size:12px !important;
        line-height:1.25 !important;
        font-weight:700 !important;
    }
    .tu-riasec-direction { margin:6px 2px !important; }
    .tu-riasec-round__head { margin-bottom:7px !important; }
    .tu-riasec-round__head strong { font-size:16px !important; }
    .tu-riasec-round__head span { font-size:11px !important; }

    .tu-ranking-zone { padding:9px !important; }
    .tu-ranking-zone .tu-sort-item {
        grid-template-columns:30px minmax(0,1fr) 92px !important;
        gap:7px !important;
        min-height:48px !important;
        padding:6px !important;
    }
    .tu-ranking-zone .tu-sort-item__text {
        font-size:12px !important;
        line-height:1.25 !important;
    }
    .tu-ranking-zone__head { align-items:flex-start; }

    .tu-processing-card { padding:24px 18px; border-radius:19px; }
}
/* /STUDENT_MOBILE_UX_V1 */

/* =========================================================
   STUDENT_MOBILE_FEEDBACK_V1
   ========================================================= */
.tu-career-section-head{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}
.tu-career-formations-cta{margin-left:auto}
.tu-career-continue-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 18px;padding:14px 16px;border:1px solid rgba(255,87,87,.28);border-radius:14px;background:#fff7f6}
.tu-career-continue-bar div{display:grid;gap:2px}.tu-career-continue-bar small{color:#667085}
.tu-feedback-fieldset{border:0;padding:0;margin:0;min-width:0}.tu-feedback-fieldset legend{font-weight:850;margin-bottom:8px}
.tu-feedback-options--cards{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px;margin:8px 0 10px}
.tu-feedback-options--cards .tu-feedback-option{position:relative;display:flex;align-items:center;justify-content:center;gap:6px;min-height:44px;padding:8px 7px;border:1px solid #dfe3e8;border-radius:11px;background:#fff;font-size:12px;font-weight:750;text-align:center;cursor:pointer;transition:border-color .15s ease,background .15s ease,box-shadow .15s ease}
.tu-feedback-options--cards .tu-feedback-option input{position:absolute;opacity:0;pointer-events:none}
.tu-feedback-option__icon{display:grid;place-items:center;color:#FF5757;flex:0 0 auto}.tu-feedback-option__icon .tu-icon{width:18px;height:18px}
.tu-feedback-options--cards .tu-feedback-option:has(input:checked){border-color:#FF5757;background:#fff3f1;box-shadow:0 0 0 2px rgba(255,87,87,.08)}
.tu-feedback-optional{margin-top:8px;border-top:1px solid #edf0f3;padding-top:8px}.tu-feedback-optional>summary{cursor:pointer;list-style:none;color:#0F3466;font-size:13px;font-weight:800;padding:7px 0}.tu-feedback-optional>summary::-webkit-details-marker{display:none}.tu-feedback-optional>summary:before{content:'+';display:inline-grid;place-items:center;width:20px;height:20px;margin-right:6px;border-radius:50%;background:#fff0ee;color:#FF5757;font-weight:900}.tu-feedback-optional[open]>summary:before{content:'−'}.tu-feedback-optional>summary span{color:#667085;font-weight:600}.tu-feedback-optional__body{display:grid;gap:8px;padding-top:4px}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
@media(max-width:700px){
  .tu-career-section-head{align-items:stretch}.tu-career-formations-cta{width:100%;justify-content:center;margin-left:0}
  .tu-career-continue-bar{align-items:stretch;flex-direction:column}.tu-career-continue-bar .tu-btn{width:100%;justify-content:center}
  .tu-feedback-options--cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.tu-feedback-options--cards .tu-feedback-option:last-child{grid-column:1/-1}
  .tu-feedback-options--cards .tu-feedback-option{min-height:40px;padding:7px 6px;font-size:12px}
}

/* STUDENT_MOBILE_UX_V2 — 25/08/2026 */
/* Questionnaire : toutes les actions restent dans le flux, jamais flottantes. */
.tu-questionnaire .tu-form-actions {
    position:static !important;
    bottom:auto !important;
    z-index:auto !important;
    padding:0 !important;
    border:0 !important;
    background:transparent !important;
    box-shadow:none !important;
    backdrop-filter:none !important;
}

/* RIASEC : le rang reste neutre ; la couleur pastel appartient à la proposition. */
.tu-riasec-slot__head,
.tu-riasec-slot[data-position="1"] .tu-riasec-slot__head,
.tu-riasec-slot[data-position="2"] .tu-riasec-slot__head,
.tu-riasec-slot[data-position="3"] .tu-riasec-slot__head {
    background:#F3F5F7 !important;
    color:#465362 !important;
}
.tu-riasec-slot__number,
.tu-riasec-slot[data-position="1"] .tu-riasec-slot__number,
.tu-riasec-slot[data-position="2"] .tu-riasec-slot__number {
    color:#465362 !important;
    background:#fff !important;
}
.tu-riasec-card {
    background:var(--riasec-accent,#F7F8FA) !important;
    border:1px solid #D5DCE4 !important;
}
.tu-riasec-card__icon {
    background:rgba(255,255,255,.72) !important;
    color:#0F3466 !important;
    border:1px solid rgba(15,52,102,.08);
}
.tu-riasec-card .tu-sort-item__text {
    display:block;
    padding:7px 9px;
    border:1px solid #D7DEE6;
    border-radius:10px;
    background:rgba(255,255,255,.78);
}
.tu-riasec-direction { display:none !important; }

.tu-riasec-mobile-dimensions { display:none; }

@media (max-width:700px) {
    .tu-riasec-radar-layout { display:block !important; }
    .tu-riasec-radar-panel { display:none !important; }
    .tu-riasec-mobile-dimensions { display:grid; gap:7px; }
    .tu-riasec-mobile-dimension {
        display:grid;
        grid-template-columns:34px minmax(0,1fr) auto;
        gap:9px;
        align-items:center;
        padding:9px 10px;
        border:1px solid #DCE4EC;
        border-radius:12px;
        background:#fff;
    }
    .tu-riasec-mobile-dimension__key {
        display:grid;
        place-items:center;
        width:32px;
        height:32px;
        border-radius:10px;
        background:#FFF0EE;
        color:#FF5757;
        font-weight:950;
    }
    .tu-riasec-mobile-dimension__copy { display:grid; gap:1px; min-width:0; }
    .tu-riasec-mobile-dimension__copy strong { font-size:12px; color:#0F3466; }
    .tu-riasec-mobile-dimension__copy small { font-size:10px; color:#667085; }
    .tu-riasec-mobile-dimension__score { font-size:11px; font-weight:900; color:#0F3466; }
    .tu-riasec-summary { margin-top:12px; }
}
/* /STUDENT_MOBILE_UX_V2 */

/* MESSAGING_V2 */
.tu-mailbox-layout{display:grid;grid-template-columns:190px minmax(0,1fr);gap:16px;align-items:start}
.tu-mailbox-folders{display:grid;gap:5px;position:sticky;top:86px}
.tu-mailbox-folders a{padding:10px 12px;border-radius:10px;color:#344054;text-decoration:none;font-weight:750}
.tu-mailbox-folders a.is-active{background:#FFF0EE;color:#B93838}
.tu-mailbox-main{padding:0;overflow:hidden}
.tu-mailbox-compose{display:flex;align-items:end;gap:9px;padding:14px;border-bottom:1px solid #E5EAF0;background:#FAFBFC}
.tu-mailbox-compose .tu-field{flex:1 1 auto;margin:0}
.tu-mail-list{display:grid}
.tu-mail-row{display:grid;grid-template-columns:28px minmax(150px,210px) minmax(0,1fr) 82px;gap:10px;align-items:center;min-height:66px;padding:10px 14px;border-bottom:1px solid #EEF1F4;text-decoration:none;color:#344054;background:#fff}
.tu-mail-row:hover{background:#FAFBFC}.tu-mail-row.is-unread{background:#FFF8F7}
.tu-mail-row__star{color:#FF5757;font-size:18px;text-align:center}
.tu-mail-row__identity{display:grid;gap:2px;min-width:0}.tu-mail-row__identity strong,.tu-mail-row__identity small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tu-mail-row__identity small{color:#667085}
.tu-mail-row__preview{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#667085}
.tu-mail-row__date{display:grid;justify-items:end;gap:4px;font-size:11px;color:#667085}.tu-mail-row__date b{display:grid;place-items:center;min-width:22px;height:22px;padding:0 6px;border-radius:99px;background:#FF5757;color:#fff}
.tu-conversation-head{align-items:end}.tu-conversation-actions{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.tu-conversation-actions form{margin:0}
.tu-conversation-card{padding:0;overflow:hidden}.tu-chat{display:flex;flex-direction:column;gap:10px;max-height:58vh;overflow:auto;padding:18px;background:#F7F9FB}.tu-chat__msg{max-width:76%;padding:10px 12px;border:1px solid #DDE4EB;border-radius:14px;background:#fff}.tu-chat__msg.is-me{align-self:flex-end;background:#FFF0EE;border-color:#FFD0CB}.tu-chat__meta{font-size:10px;color:#667085;margin-bottom:4px}.tu-chat__body{white-space:pre-wrap;line-height:1.45}.tu-chat-form{padding:14px;border-top:1px solid #E5EAF0;background:#fff}.tu-chat-form textarea{min-height:94px}
@media(max-width:760px){.tu-mailbox-layout{grid-template-columns:1fr}.tu-mailbox-folders{position:static;display:flex;overflow:auto}.tu-mailbox-folders a{white-space:nowrap}.tu-mail-row{grid-template-columns:24px minmax(0,1fr) 62px}.tu-mail-row__preview{grid-column:2/4;font-size:12px}.tu-mail-row__identity{grid-column:2}.tu-mail-row__date{grid-column:3;grid-row:1}.tu-mailbox-compose{align-items:stretch;flex-direction:column}.tu-conversation-actions{justify-content:flex-start}.tu-chat__msg{max-width:90%}}
.tu-mailbox-folders a{display:flex;align-items:center;gap:8px}.tu-mailbox-folders .tu-icon{width:17px;height:17px}
.tu-mailbox-folders form{margin:0 0 8px}.tu-mailbox-new{width:100%;justify-content:center;min-height:44px;border-radius:9px}
.tu-mailbox-main{border-radius:10px;box-shadow:0 4px 14px rgba(15,52,102,.05)}
.tu-mail-item{display:grid;grid-template-columns:32px minmax(0,1fr) 76px;gap:8px;align-items:center;min-height:68px;padding:8px 12px;border-bottom:1px solid #EEF1F4;background:#fff}.tu-mail-item:hover{background:#FAFBFC}.tu-mail-item.is-unread{background:#FFF8F7;border-left:3px solid #FF5757;padding-left:9px}
.tu-mail-item__content{display:grid;grid-template-columns:minmax(145px,210px) minmax(0,1fr) 84px;gap:10px;align-items:center;min-width:0;color:#344054;text-decoration:none}
.tu-mail-item__actions{display:flex;justify-content:flex-end;gap:3px}.tu-mail-item form{margin:0}
.tu-mail-icon-btn{display:grid;place-items:center;width:32px;height:32px;padding:0;border:0;border-radius:8px;background:transparent;color:#77869A;box-shadow:none;font-size:18px}.tu-mail-icon-btn:hover{background:#EEF2F6;color:#0F3466}.tu-mail-icon-btn.is-active{color:#E3A008}.tu-mail-icon-btn--danger:hover{background:#FFF0F0;color:#B93838}.tu-mail-icon-btn .tu-icon{width:17px;height:17px}
.tu-mail-row__date b{width:max-content;height:auto;margin-top:3px;padding:3px 6px;border-radius:6px;font-size:9px}
.tu-chat__message-actions{display:flex;justify-content:flex-end;gap:3px;margin-top:7px;padding-top:6px;border-top:1px solid rgba(102,112,133,.14)}.tu-chat__message-actions form{margin:0}.tu-chat__message-actions button{display:grid;place-items:center;width:28px;height:28px;padding:0;border:0;border-radius:7px;background:transparent;color:#718096;box-shadow:none;font-size:15px}.tu-chat__message-actions button:hover{background:rgba(15,52,102,.08);color:#0F3466}.tu-chat__message-actions button.is-danger:hover{background:#FFE4E4;color:#B93838}.tu-chat__message-actions .tu-icon{width:15px;height:15px}
.tu-compose-dialog{width:min(620px,calc(100% - 28px));margin:auto 18px 18px auto;padding:0;border:1px solid #D8E1EA;border-radius:10px;background:#fff;box-shadow:0 22px 60px rgba(15,52,102,.24)}.tu-compose-dialog::backdrop{background:rgba(15,36,62,.22)}.tu-compose-dialog form{display:grid;margin:0}.tu-compose-dialog__head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;background:#0F3466;color:#fff}.tu-compose-dialog__head button{display:grid;place-items:center;width:30px;height:30px;padding:0;border:0;border-radius:7px;background:transparent;color:#fff;box-shadow:none;font-size:22px}.tu-compose-dialog__head button:hover{background:rgba(255,255,255,.12)}
.tu-compose-recipient{display:grid;grid-template-columns:28px minmax(0,1fr);align-items:center;padding:0 14px;border-bottom:1px solid #E7ECF1;color:#667085;font-size:13px}.tu-compose-recipient input[type=text]{min-height:46px;padding:10px 0;border:0;outline:0;background:#fff;font:inherit}.tu-compose-dialog textarea{min-height:220px;padding:14px;border:0;outline:0;resize:vertical;font:inherit;line-height:1.5}.tu-compose-dialog__actions{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 14px;border-top:1px solid #E7ECF1}.tu-compose-dialog__actions .tu-note{color:#B93838}
@media(max-width:760px){.tu-mail-item{grid-template-columns:32px minmax(0,1fr) 70px}.tu-mail-item__content{grid-template-columns:minmax(0,1fr) 68px}.tu-mail-item__content .tu-mail-row__identity{grid-column:1}.tu-mail-item__content .tu-mail-row__preview{grid-column:1/3;font-size:12px}.tu-mail-item__content .tu-mail-row__date{grid-column:2;grid-row:1}.tu-mail-item__actions{align-self:start}}
@media(max-width:620px){.tu-compose-dialog{width:calc(100% - 16px);margin:auto 8px 8px}.tu-compose-dialog textarea{min-height:180px}}
/* /MESSAGING_V2 */

/* COACH_DASHBOARD_V2 */
.tu-coach-dashboard-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:18px 0}
.tu-coach-kpi{display:grid;gap:4px;padding:16px;border:1px solid #DCE4EC;border-radius:15px;background:#fff;text-decoration:none;color:#344054;box-shadow:0 5px 15px rgba(15,52,102,.04)}
.tu-coach-kpi>span{font-size:11px;font-weight:800;color:#667085}.tu-coach-kpi>strong{font-size:26px;color:#0F3466}.tu-coach-kpi>small{color:#667085}
.tu-coach-dashboard-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);gap:14px}
.tu-dashboard-student-list,.tu-dashboard-message-list{display:grid}
.tu-dashboard-student-row,.tu-dashboard-message-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 3px;border-bottom:1px solid #EEF1F4;text-decoration:none;color:#344054}
.tu-dashboard-student-row>span:first-child,.tu-dashboard-message-row>span{display:grid;gap:2px;min-width:0}.tu-dashboard-student-row small,.tu-dashboard-message-row small{color:#667085;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tu-dashboard-student-row__progress{display:grid;justify-items:end;white-space:nowrap}.tu-dashboard-message-row>b{display:grid;place-items:center;min-width:24px;height:24px;border-radius:99px;background:#FF5757;color:#fff}
.tu-link-button{padding:0;border:0;background:none;color:#0F3466;box-shadow:none;font:inherit;font-weight:800;text-decoration:underline;cursor:pointer}
.tu-usage-bar{height:10px;border-radius:99px;background:#E8EDF4;overflow:hidden}.tu-usage-bar span{display:block;height:100%;background:#0F3466}
@media(max-width:900px){.tu-coach-dashboard-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.tu-coach-dashboard-grid{grid-template-columns:1fr}}
@media(max-width:580px){.tu-coach-dashboard-kpis{grid-template-columns:1fr 1fr}.tu-coach-kpi{padding:12px}.tu-coach-kpi>strong{font-size:22px}}
/* /COACH_DASHBOARD_V2 */

/* COACH_DASHBOARD_V3 */
.tu-coach-dashboard-kpis .tu-coach-kpi{position:relative;grid-template-columns:minmax(0,1fr) 42px;grid-template-rows:auto auto auto;gap:3px 10px;overflow:hidden;padding:17px 16px;border-radius:12px}
.tu-coach-kpi>span:not(.tu-coach-kpi__icon),.tu-coach-kpi>strong,.tu-coach-kpi>small{grid-column:1}
.tu-coach-kpi__icon{grid-column:2;grid-row:1/3;display:grid;place-items:center;width:40px;height:40px;border-radius:11px}
.tu-coach-kpi__icon .tu-icon{width:21px;height:21px}
.tu-coach-kpi--candidates{border-color:#C9DCF2;background:#F4F8FD}.tu-coach-kpi--candidates .tu-coach-kpi__icon{background:#DCEBFA;color:#245B93}
.tu-coach-kpi--projects{border-color:#D8D0ED;background:#F8F6FC}.tu-coach-kpi--projects .tu-coach-kpi__icon{background:#EAE4F7;color:#66518F}
.tu-coach-kpi--messages{border-color:#F5CFD2;background:#FFF7F7}.tu-coach-kpi--messages .tu-coach-kpi__icon{background:#FFE1E1;color:#C43E46}
.tu-coach-kpi--credits{border-color:#CDE4D6;background:#F4FAF6}.tu-coach-kpi--credits .tu-coach-kpi__icon{background:#DDF1E4;color:#34724B}
.tu-coach-kpi:hover{transform:translateY(-1px);box-shadow:0 9px 22px rgba(15,52,102,.09)}
.tu-coach-credit-panel{border-color:#D7E4DC;background:#FBFDFC}
.tu-coach-credit-panel__head{display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:13px;align-items:center}
.tu-coach-credit-panel__head h2{margin:2px 0;color:#173F2A}.tu-coach-credit-panel__icon{display:grid;place-items:center;width:46px;height:46px;border-radius:12px;background:#DDF1E4;color:#34724B}.tu-coach-credit-panel__icon .tu-icon{width:24px;height:24px}
.tu-coach-credit-scale{margin-top:16px}.tu-coach-credit-scale .tu-usage-bar{height:13px;padding:2px;background:#E4ECE7}.tu-coach-credit-scale .tu-usage-bar span{border-radius:99px;background:linear-gradient(90deg,#51A66F,#FFB75B,#FF5757)}
.tu-coach-credit-scale>div:last-child{display:flex;justify-content:space-between;gap:10px;margin-top:7px;color:#6B7D70;font-size:11px}.tu-coach-credit-scale strong{color:#34724B}
@media(max-width:580px){.tu-coach-credit-panel__head{grid-template-columns:42px minmax(0,1fr)}.tu-coach-credit-panel__head>a{grid-column:2}.tu-coach-kpi__icon{width:36px;height:36px}}
/* /COACH_DASHBOARD_V3 */

/* CAREER_SELECTION_V2 */
.tu-career-search{display:grid;grid-template-columns:minmax(220px,.8fr) minmax(260px,1.2fr);gap:14px;align-items:center;margin:12px 0 16px;padding:14px;border:1px solid #DCE4EC;border-radius:15px;background:#FAFBFC}
.tu-career-search__copy{display:grid;gap:4px}.tu-career-search__copy strong{color:#0F3466}.tu-career-search__copy span{font-size:12px;color:#667085;line-height:1.4}
.tu-career-search__field{position:relative}.tu-career-search__field input{width:100%;min-height:45px;padding:10px 12px;border:1px solid #C9D6E3;border-radius:11px;background:#fff;font:inherit}
.tu-career-search__results{position:absolute;z-index:80;left:0;right:0;top:calc(100% + 5px);max-height:310px;overflow:auto;border:1px solid #DCE4EC;border-radius:12px;background:#fff;box-shadow:0 14px 32px rgba(15,52,102,.15)}
.tu-career-search__result{display:grid;width:100%;gap:2px;padding:10px 12px;border:0;border-bottom:1px solid #EEF1F4;border-radius:0;background:#fff;color:#344054;text-align:left;box-shadow:none}.tu-career-search__result:hover{background:#FFF8F7}.tu-career-search__result strong{font-size:13px}.tu-career-search__result small{color:#667085}
.tu-career-search__empty{padding:14px;color:#667085}.tu-career-search__status{grid-column:1/-1;min-height:18px;font-size:12px;color:#667085}
.tu-career-autosave{min-height:20px;margin-top:7px;color:#667085;font-size:11px}.tu-career-autosave__selected,.tu-career-autosave.is-selected{color:#B93838;font-weight:800}
.tu-career-final-action{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:18px 0 4px;padding:15px;border:1px solid rgba(255,87,87,.26);border-radius:14px;background:#FFF8F7}.tu-career-final-action>div{display:grid;gap:3px}.tu-career-final-action strong{color:#0F3466}.tu-career-final-action small{color:#667085}
@media(max-width:700px){.tu-career-search{grid-template-columns:1fr;gap:10px}.tu-career-search__status{grid-column:auto}.tu-career-final-action{align-items:stretch;flex-direction:column}.tu-career-final-action .tu-btn{width:100%;justify-content:center}}
/* /CAREER_SELECTION_V2 */

/* ORIENTATION_ASYNC_V1 */
.tu-orientation-processing{display:flex;align-items:flex-start;gap:14px;padding:16px 18px;margin:0 0 18px;border:1px solid #D9E2EC;border-radius:14px;background:#F8FAFC;color:#0F3466}
.tu-orientation-processing strong{font-size:16px}.tu-orientation-processing p{margin:4px 0 0;color:#667085;font-size:14px;line-height:1.45}
.tu-orientation-processing__spinner{width:22px;height:22px;flex:0 0 22px;border:3px solid #E4E7EC;border-top-color:#FF5757;border-radius:50%;animation:tu-spin .8s linear infinite}
@keyframes tu-spin{to{transform:rotate(360deg)}}
/* /ORIENTATION_ASYNC_V1 */

/* ACTION_FORM_LINK_V1 */
.tu-action-form{margin:0;padding:0}.tu-action--button{width:100%;font:inherit;text-align:left;cursor:pointer;border-left:0;border-right:0;border-top:0}
/* /ACTION_FORM_LINK_V1 */
/* Candidate/coach workspaces for Formations and Parcoursup. */
.tu-workspace-tabs{display:flex;gap:4px;width:fit-content;max-width:100%;padding:4px;margin:0 0 16px;background:#e9eef4;border:1px solid #d8e0e9;border-radius:8px;overflow-x:auto}
.tu-workspace-tabs a{display:flex;align-items:center;justify-content:center;min-height:38px;padding:0 16px;color:#536273;font-weight:800;text-decoration:none;white-space:nowrap;border-radius:6px}
.tu-workspace-tabs a.is-active{background:#fff;color:#0f3466;box-shadow:0 1px 4px rgba(15,52,102,.12)}
.tu-alert--usage{border-color:#f4c77b;background:#fff9ed}
.tu-coach-selection-bar{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:18px;padding:16px;border:1px solid #d8e0e9;border-radius:8px;background:#f8fafc}
.tu-coach-selection-bar>div:first-child{display:grid;gap:3px}.tu-coach-selection-bar span{color:#667085;font-size:13px}
@media(max-width:700px){.tu-workspace-tabs{width:100%;box-sizing:border-box}.tu-workspace-tabs a{flex:1;padding:0 10px}.tu-coach-selection-bar{align-items:stretch;flex-direction:column}.tu-coach-selection-bar .tu-actions,.tu-coach-selection-bar form,.tu-coach-selection-bar .tu-btn{width:100%}}
