/**
 * Recovery de macOS (moteur macos-recovery) — mise en page commune, écran 1280 × 800, apparence sombre.
 * Vérité Sonoma 14.6.1 : VM A1.5 (VMID 1916, 2026-10-24) : barre des menus 24 px #202020 ; « Langue » : carte 800 × 600
 * à (240,100) #323232, liste 246 px à (509,331) ; fenêtre Récupération 499 × 441 à (390,110) #282828, lignes de 92 px
 * (sélection #3d3d3d) ; Utilitaire de disque 1102 × 521 à (89,163), barre latérale 256 px #383838, contenu #1e1e1e ;
 * Installer macOS : carte 800 × 627 à (240,63) #282828 ; démarrage : pomme 76 px à (603,354), barre 160 × 6 à (560,715).
 * Police : famille « SF Recovery », déclarée par chaque version dans home/macOS/<Version>/install/install-fonts.css
 * (SFNS.ttf de la Recovery de cette version, police variable de macOS).
 */
.mr-stage {
    position: fixed;
    inset: 0;
    background: #000000;
    overflow: hidden;
    z-index: 100000;
}

.mr-stage * {
    box-sizing: border-box;
    font-family: inherit;
}

.mr-screen {
    position: absolute;
    top: 0;
    left: 0;
    width: 1280px;
    height: 800px;
    font: 400 13px/16px "SF Recovery", -apple-system, sans-serif;
    color: #dfdfdf;
    background: radial-gradient(ellipse at 50% 45%, #1c1c1c 0%, #141414 60%, #0f0f0f 100%);
    transform-origin: 0 0;
    overflow: hidden;
    user-select: none;
    -webkit-font-smoothing: antialiased;
}

.mr-host {
    position: absolute;
    inset: 0;
}

.mr-symbol {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 16px;
    height: 16px;
}

.mr-symbol svg {
    width: 100%;
    height: 100%;
}

/* --- Démarrage --- */
.mr-boot {
    background: #000000;
}

.mr-boot__apple {
    position: absolute;
    top: 332px;
    left: 0;
    right: 0;
    font-size: 104px;
    line-height: 120px;
    text-align: center;
    color: #ffffff;
}

.mr-boot__track {
    position: absolute;
    top: 715px;
    left: 560px;
    width: 160px;
    height: 6px;
    border-radius: 3px;
    background: #262626;
    overflow: hidden;
}

.mr-boot__fill {
    display: block;
    width: 0;
    height: 100%;
    border-radius: 3px;
    background: #cccccc;
}

.mr-boot__text {
    position: absolute;
    top: 735px;
    left: 0;
    right: 0;
    margin: 0;
    text-align: center;
    color: #cccccc;
}

/* --- Barre des menus --- */
.mr-menubar {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    display: flex;
    align-items: center;
    height: 24px;
    padding-left: 19px;
    font-size: 13px;
    color: #ffffff;
    background: #202020;
}

.mr-menubar__apple {
    margin-right: 21px;
    font-size: 16px;
}

.mr-menubar__item {
    margin-right: 22px;
    font-weight: 500;
}

.mr-menubar__item.is-app {
    font-weight: 700;
}

.mr-menubar__input {
    position: absolute;
    top: 5px;
    right: 12px;
    width: 16px;
    height: 14px;
}

/* --- Langue --- */
.mr-lang {
    position: absolute;
    top: 100px;
    left: 240px;
    width: 800px;
    height: 600px;
    border-radius: 10px;
    background: #323232;
    box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.4), 0 10px 30px rgba(0, 0, 0, 0.5);
}

.mr-lang__globe {
    position: absolute;
    top: 77px;
    left: 365px;
    width: 70px;
    height: 70px;
    color: #0a84ff;
}

.mr-lang__title {
    position: absolute;
    top: 176px;
    left: 0;
    right: 0;
    margin: 0;
    font-size: 26px;
    font-weight: 700;
    line-height: 34px;
    text-align: center;
    color: #e6e6e6;
}

.mr-lang__list {
    position: absolute;
    top: 231px;
    left: 269px;
    width: 247px;
    height: 278px;
    margin: 0;
    padding: 0;
    list-style: none;
    background: #1e1e1e;
    overflow: hidden;
}

.mr-lang__row {
    height: 24px;
    font-size: 13px;
    line-height: 24px;
    text-align: center;
    color: #dddddd;
}

.mr-lang__row.is-selected {
    background: #464646;
}

.mr-lang__scroll {
    position: absolute;
    top: 231px;
    left: 516px;
    width: 15px;
    height: 278px;
    background: #2a2a2a;
}

.mr-lang__thumb {
    position: absolute;
    top: 2px;
    left: 4px;
    width: 7px;
    height: 76px;
    border-radius: 4px;
    background: #6b6b6b;
}

.mr-lang__foot {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 58px;
    border-top: 1px solid #1f1f1f;
}

.mr-lang__next {
    position: absolute;
    top: 15px;
    right: 20px;
    width: 28px;
    height: 28px;
    padding: 0;
    border: 0;
    color: #8c8c8c;
    background: transparent;
}

.mr-lang__arrow {
    width: 24px;
    height: 22px;
}

.mr-lang__legal {
    position: absolute;
    top: 720px;
    left: 260px;
    width: 760px;
    margin: 0;
    font-size: 12px;
    font-weight: 600;
    line-height: 16px;
    text-align: center;
    color: #b0b0b0;
}

/* --- Fenêtre Récupération --- */
.mr-main {
    position: absolute;
    top: 110px;
    left: 390px;
    width: 499px;
    height: 441px;
    padding: 19px 20px 0;
    border-radius: 10px;
    background: #282828;
    box-shadow: 0 0 0 1px #050505, inset 0 0 0 1px #3a3a3a, 0 12px 30px rgba(0, 0, 0, 0.5);
}

.mr-main__row {
    display: flex;
    align-items: center;
    width: 459px;
    height: 92px;
    padding: 0 20px;
    border: 0;
    border-radius: 6px;
    font: inherit;
    text-align: left;
    color: inherit;
    background: transparent;
}

.mr-main__row.is-selected {
    background: #3d3d3d;
}

.mr-main__icon {
    flex: none;
    width: 64px;
    height: 64px;
    margin: 0 12px 0 -6px;
}

.mr-main__text {
    display: flex;
    flex-direction: column;
}

.mr-main__title {
    font-size: 13px;
    font-weight: 500;
    line-height: 16px;
    color: #e6e6e6;
}

.mr-main__desc {
    max-width: 330px;
    font-size: 11px;
    line-height: 14px;
    color: #b5b5b5;
}

.mr-main__continue {
    position: absolute;
    top: 401px;
    right: 20px;
}

/* --- Boutons --- */
.mr-btn {
    height: 21px;
    padding: 0 10px;
    border: 0;
    border-radius: 5px;
    font: inherit;
    font-size: 13px;
    color: #e6e6e6;
    background: #5e5e5e;
    box-shadow: 0 0.5px 0 rgba(255, 255, 255, 0.15) inset, 0 1px 1px rgba(0, 0, 0, 0.3);
}

.mr-btn--primary {
    color: #ffffff;
    background: linear-gradient(#2f7ff0, #1667e0);
}

.mr-btn:disabled {
    color: #7d7d7d;
    background: #3e3e3e;
    box-shadow: none;
}

/* --- Utilitaire de disque --- */
.mr-du {
    position: absolute;
    top: 163px;
    left: 89px;
    width: 1102px;
    height: 521px;
    border-radius: 10px;
    background: #1e1e1e;
    box-shadow: 0 0 0 1px #000000, 0 16px 40px rgba(0, 0, 0, 0.55);
    overflow: hidden;
}

/* Fenêtre derrière une feuille : inactive (barre latérale plus sombre, sélection grise) et contenu assombri. */
.mr-du.is-dimmed .mr-du__main,
.mr-du.is-dimmed .mr-du__side > :not(.mr-du__lights) {
    filter: brightness(0.77);
}

.mr-du.is-dimmed .mr-du__side {
    background: #222222;
}

.mr-du.is-dimmed .mr-du__disk.is-selected {
    background: #585858;
}

/* Pastilles relevées sur la VM (Sonoma comme Sequoia) : fermer et réduire grises, la verte reste vive. */
.mr-du.is-dimmed .mr-du__light {
    background: #5c5c5c;
}

.mr-du.is-dimmed .mr-du__light--zoom {
    background: #28c840;
}

.mr-du__side {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    width: 256px;
    padding: 0 10px;
    background: #383838;
}

.mr-du__lights {
    position: absolute;
    top: 19px;
    left: 20px;
    display: flex;
    gap: 8px;
}

.mr-du__light {
    width: 12px;
    height: 12px;
    border-radius: 50%;
}

.mr-du__light--close {
    background: #ff5f57;
}

.mr-du__light--min {
    background: #5c5c5c;
}

.mr-du__light--zoom {
    background: #28c840;
}

.mr-du__section {
    margin: 54px 0 4px 6px;
    font-size: 11px;
    font-weight: 600;
    color: #8f8f8f;
}

.mr-du__disk {
    display: flex;
    align-items: center;
    gap: 8px;
    width: 236px;
    height: 28px;
    padding: 0 12px;
    border: 0;
    border-radius: 5px;
    font: inherit;
    font-size: 13px;
    text-align: left;
    color: #e6e6e6;
    background: transparent;
}

.mr-du__disk.is-volume {
    padding-left: 12px;
}

.mr-du__disk.is-selected {
    background: #0052d2;
}

.mr-du__disk-icon {
    width: 18px;
    height: 13px;
}

.mr-du__main {
    position: absolute;
    top: 0;
    left: 256px;
    right: 0;
    bottom: 0;
}

.mr-du__toolbar {
    position: relative;
    display: flex;
    align-items: center;
    height: 52px;
    padding: 0 12px 0 15px;
    border-bottom: 1px solid #000000;
    background: #262626;
}

.mr-du__wtitle {
    margin-right: auto;
    margin-left: 9px;
    font-size: 14px;
    font-weight: 700;
    color: #e6e6e6;
}

.mr-du__tool {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 3px;
    min-width: 54px;
    margin-left: 4px;
    color: #dcdcdc;
}

.mr-du__tool.is-disabled {
    color: #5a5a5a;
}

.mr-du__tool--view {
    flex-direction: column;
    margin-left: 0;
}

.mr-du__tool--view .mr-symbol:first-child {
    width: 17px;
    margin-right: 12px;
}

.mr-du__chev {
    position: absolute;
    top: 14px;
    left: 47px;
    width: 8px;
    height: 6px;
}

.mr-du__tool .mr-symbol {
    width: 17px;
    height: 16px;
}

/* Chevron du menu « Présentation » : à droite de l'icône de barre latérale (relevé VM), hors de la règle des symboles. */
.mr-du__tool .mr-du__chev {
    position: absolute;
    top: 14px;
    left: 59px;
    width: 8px;
    height: 6px;
}

.mr-du__tool-group {
    display: flex;
    align-items: center;
    gap: 6px;
}

.mr-du__tool-sep {
    width: 1px;
    height: 12px;
    background: currentColor;
    opacity: 0.6;
}

.mr-du__tool-label {
    font-size: 11px;
    font-weight: 500;
}

.mr-du__head {
    position: relative;
    display: flex;
    align-items: flex-start;
    height: 111px;
    margin: 0 32px;
    padding-top: 25px;
    border-bottom: 1px solid #3a3a3a;
}

.mr-du__head-icon {
    width: 64px;
    height: 64px;
    margin-right: 15px;
}

.mr-du__head-name {
    margin: 4px 0 0;
    font-size: 22px;
    font-weight: 700;
    line-height: 26px;
    color: #e6e6e6;
}

.mr-du__head-name.is-dim {
    color: #8a8a8a;
}

.mr-du__head-sub,
.mr-du__head-ver {
    margin: 2px 0 0;
    font-size: 12px;
    color: #b5b5b5;
}

.mr-du__size {
    position: absolute;
    top: 33px;
    right: 0;
    width: 120px;
    height: 39px;
    border: 1px solid #5b5b5b;
    border-radius: 3px;
    font-size: 17px;
    line-height: 37px;
    text-align: center;
    color: #d0d0d0;
}

.mr-du__usage {
    margin: 27px 32px 0;
}

.mr-du__usage-bar {
    height: 24px;
    border: 1px solid #5b5b5b;
    border-radius: 4px;
    overflow: hidden;
}

.mr-du__usage-fill {
    display: block;
    height: 100%;
    background: #1f6aa5;
}

.mr-du__legend {
    display: flex;
    margin-top: 10px;
}

.mr-du__legend-item {
    position: relative;
    width: 50%;
    padding-left: 16px;
}

.mr-du__dot {
    position: absolute;
    top: 3px;
    left: 2px;
    width: 9px;
    height: 9px;
    border-radius: 2px;
}

.mr-du__dot--0 {
    background: #1f6aa5;
}

.mr-du__dot--1 {
    border: 1px solid #8a8a8a;
}

.mr-du__legend-label {
    display: block;
    font-size: 11px;
    font-weight: 700;
}

.mr-du__legend-value {
    display: block;
    margin-top: 5px;
    font-size: 11px;
    color: #9a9a9a;
}

.mr-du__table {
    display: grid;
    grid-template-columns: 1fr 1fr;
    margin: 92px 32px 0;
    border: 1px solid #5b5b5b;
    border-radius: 3px;
    background: #272727;
}

.mr-du__table.has-usage {
    margin-top: 21px;
}

.mr-du__cell {
    display: flex;
    justify-content: space-between;
    height: 31px;
    padding: 0 10px;
    border-bottom: 1px solid #1e1e1e;
    font-size: 11px;
    line-height: 31px;
}

.mr-du__cell:nth-child(odd) {
    border-right: 1px solid #5b5b5b;
}

.mr-du__cell:nth-last-child(-n+2) {
    border-bottom: 0;
}

/* Feuilles d'effacement */
.mr-sheet {
    position: absolute;
    top: 422px;
    left: 398px;
    width: 485px;
    padding: 23px 20px 58px 92px;
    border-radius: 10px;
    background: #1e1e1e;
    box-shadow: 0 0 0 1px #000000, inset 0 0 0 1px #3c3c3c, 0 10px 30px rgba(0, 0, 0, 0.5);
    transform: translateY(-50%);
}

.mr-sheet__icon {
    position: absolute;
    top: 21px;
    left: 22px;
    width: 58px;
    height: 58px;
}

.mr-sheet__title {
    margin: 0;
    font-size: 13px;
    font-weight: 700;
    color: #e6e6e6;
}

.mr-sheet__text {
    margin: 6px 0 0;
    font-size: 11px;
    line-height: 14px;
    color: #dcdcdc;
}

.mr-sheet__form {
    margin: 14px 0 0 -18px;
}

.mr-sheet__row {
    display: flex;
    align-items: center;
    height: 28px;
}

.mr-sheet__label {
    width: 60px;
    margin-right: 7px;
    text-align: right;
    white-space: nowrap;
}

.mr-sheet__input,
.mr-sheet__popup {
    position: relative;
    width: 256px;
    height: 22px;
    padding: 0 6px;
    border: 0;
    border-radius: 4px;
    font: inherit;
    color: #e6e6e6;
    background: #565656;
    outline: none;
}

.mr-sheet__input {
    box-shadow: 0 0 0 2px #1c648e;
    background: #292929;
}

.mr-sheet__input::selection {
    background: #2d5d9e;
}

.mr-sheet__popup {
    display: flex;
    align-items: center;
}

.mr-sheet__popup-arrows {
    position: absolute;
    top: 3px;
    right: 3px;
    width: 16px;
    height: 16px;
    border-radius: 4px;
    background: #2f7ff0;
}

.mr-sheet__popup-chev {
    position: absolute;
    top: 2px;
    left: 4px;
    width: 8px;
    height: 12px;
    color: #ffffff;
}

.mr-sheet__foot {
    position: absolute;
    right: 20px;
    bottom: 22px;
    display: flex;
    gap: 13px;
}

.mr-sheet__foot .mr-btn {
    min-width: 70px;
}

.mr-sheet--done {
    top: 346px;
    left: 402px;
    width: 476px;
    height: 153px;
    padding: 21px 20px 0 93px;
    transform: none;
}

.mr-sheet__done-icon {
    position: absolute;
    top: 21px;
    left: 26px;
    width: 58px;
    height: 58px;
}

.mr-sheet__done-icon img {
    width: 58px;
    height: 58px;
}

.mr-sheet__badge {
    position: absolute;
    right: -2px;
    bottom: -2px;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: #2eb34e;
}

.mr-sheet__bar {
    height: 6px;
    margin-top: 11px;
    border-radius: 3px;
    background: #1d6fe0;
}

.mr-sheet__details {
    position: absolute;
    left: 26px;
    bottom: 22px;
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 11px;
}

.mr-sheet__disclosure {
    width: 8px;
    height: 8px;
    transform: rotate(-90deg);
}

.mr-sheet__ok {
    position: absolute;
    right: 20px;
    bottom: 22px;
    min-width: 70px;
}

/* --- Installer macOS --- */
.mr-inst {
    position: absolute;
    top: 63px;
    left: 240px;
    width: 800px;
    height: 627px;
    border-radius: 10px;
    text-align: center;
    background: #282828;
    box-shadow: 0 0 0 1px #050505, 0 12px 30px rgba(0, 0, 0, 0.5);
}

.mr-inst.is-dimmed {
    filter: brightness(0.7);
}

.mr-inst__icon {
    position: absolute;
    top: 79px;
    left: 320px;
    width: 164px;
    height: 164px;
}

.mr-inst__icon.is-big {
    top: 123px;
    left: 263px;
    width: 274px;
    height: 274px;
}

.mr-inst__title {
    position: absolute;
    top: 258px;
    left: 0;
    right: 0;
    margin: 0;
    font-size: 25px;
    font-weight: 700;
    line-height: 30px;
    color: #dcdcdc;
}

.mr-inst--welcome .mr-inst__title {
    top: 433px;
}

.mr-inst__text {
    position: absolute;
    top: 312px;
    left: 0;
    right: 0;
    margin: 0;
    font-size: 14px;
    line-height: 18px;
    color: #dcdcdc;
}

.mr-inst--welcome .mr-inst__text {
    top: 486px;
}

.mr-inst__license {
    position: absolute;
    top: 344px;
    left: 111px;
    width: 579px;
    height: 160px;
    padding: 18px 24px;
    border: 1px solid #3a3a3a;
    text-align: left;
    background: #1e1e1e;
}

.mr-inst__license p {
    margin: 0;
    font-size: 12px;
    color: #ffffff;
}

.mr-inst__license-scroll {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    width: 14px;
    background: #343434;
}

.mr-inst__note {
    position: absolute;
    top: 510px;
    left: 100px;
    right: 100px;
    margin: 0;
    font-size: 11px;
    line-height: 14px;
    color: #c6c6c6;
}

.mr-inst__foot {
    position: absolute;
    top: 566px;
    left: 0;
    right: 0;
    display: flex;
    justify-content: center;
    gap: 8px;
}

.mr-inst__foot .mr-btn {
    min-width: 82px;
    height: 27px;
    font-size: 13px;
}

.mr-inst--welcome .mr-inst__foot .mr-btn,
.mr-inst--progress .mr-inst__foot .mr-btn {
    min-width: 83px;
    height: 28px;
}

.mr-inst__disks {
    position: absolute;
    top: 385px;
    left: 0;
    right: 0;
    display: flex;
    justify-content: center;
    gap: 50px;
}

.mr-inst__disk {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 110px;
    padding: 0;
    border: 0;
    font: inherit;
    color: #e6e6e6;
    background: transparent;
}

.mr-inst__disk.is-disabled {
    opacity: 0.4;
}

.mr-inst__disk-icon {
    width: 86px;
    height: 86px;
}

.mr-inst__disk.is-selected .mr-inst__disk-icon {
    border-radius: 6px;
    background: rgba(255, 255, 255, 0.12);
}

.mr-inst__disk-name {
    margin-top: 12px;
    font-size: 12px;
}

.mr-inst__disk-info {
    font-size: 9px;
    line-height: 13px;
}

.mr-inst__disk-icon--progress {
    position: absolute;
    top: 364px;
    left: 360px;
    width: 80px;
    height: 80px;
}

.mr-inst__disk-name--progress {
    position: absolute;
    top: 452px;
    left: 0;
    right: 0;
    margin: 0;
    font-size: 12px;
}

.mr-inst__track {
    position: absolute;
    top: 486px;
    left: 250px;
    width: 300px;
    height: 6px;
    border-radius: 3px;
    background: #3e3e3e;
    overflow: hidden;
}

.mr-inst__fill {
    display: block;
    width: 0;
    height: 100%;
    border-radius: 3px;
    background: #1769e7;
}

.mr-inst__remaining {
    position: absolute;
    top: 505px;
    left: 0;
    right: 0;
    margin: 0;
    font-size: 12px;
}

/* Alerte de confirmation de la licence */
.mr-alert {
    position: absolute;
    top: 277px;
    left: 488px;
    width: 304px;
    height: 197px;
    padding: 20px 16px 0;
    border-radius: 10px;
    text-align: center;
    background: #383838;
    box-shadow: 0 0 0 1px #000000, inset 0 0 0 1px #4a4a4a, 0 12px 30px rgba(0, 0, 0, 0.5);
}

.mr-alert__icon {
    width: 64px;
    height: 64px;
}

.mr-alert__text {
    margin: 13px 0 0;
    font-size: 13px;
    font-weight: 700;
    line-height: 17px;
    color: #e6e6e6;
}

.mr-alert__buttons {
    position: absolute;
    left: 16px;
    right: 16px;
    bottom: 16px;
    display: flex;
    gap: 8px;
}

.mr-alert__buttons .mr-btn {
    flex: 1;
    height: 28px;
}

/* Démarrage pendant l'installation : barre 234 × 6 à (523,715) et temps restant à y 742 (11 px). */
.mr-boot__track--wide {
    left: 523px;
    width: 234px;
}

.mr-boot__track--wide ~ .mr-boot__text {
    top: 738px;
    font-size: 11px;
    color: #ffffff;
}

/* ===================================================================== Assistant réglages (apparence claire)
   Carte 800 × 600 à (240,100) #ececec, ombre portée ; pied à y 642 (trait #d9d9d9), boutons 80 × 28 blancs à y 656 ;
   titres 24 px gras #222 ; textes 12-13 px ; état en haut à droite (« Français », clavier, heure). */
.mr-stage--setup .mr-screen {
    color: #222222;
    background: radial-gradient(ellipse at 50% 40%, #e9e9e9 0%, #e3e3e3 70%, #e0e0e0 100%);
}

.ms-root {
    position: absolute;
    inset: 0;
}

.ms-status {
    position: absolute;
    top: 4px;
    right: 21px;
    display: flex;
    align-items: center;
    gap: 6px;
    height: 18px;
    font-size: 13px;
    color: #ffffff;
    text-shadow: 0 0 6px rgba(0, 0, 0, 0.25);
}

.ms-status__kbd {
    width: 16px;
    height: 12px;
    margin-right: 22px;
    color: #ffffff;
    opacity: 0.85;
}

.ms-card {
    position: absolute;
    top: 100px;
    left: 240px;
    width: 800px;
    height: 600px;
    border-radius: 10px;
    background: #ececec;
    box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.18), 0 8px 24px rgba(0, 0, 0, 0.16);
    overflow: hidden;
}

.ms-card.is-dimmed {
    filter: brightness(0.82);
}

.ms-blocks {
    position: absolute;
    inset: 0;
}

.ms-blocks > * {
    position: absolute;
    margin: 0;
}

.ms-icon {
    color: #0068d9;
}

.ms-title {
    left: 0;
    right: 0;
    font-size: 24px;
    font-weight: 700;
    line-height: 28px;
    text-align: center;
    color: #222222;
}

.ms-text {
    font-size: 12px;
    line-height: 16px;
    text-align: center;
    white-space: pre-line;
    color: #222222;
}

.ms-text.is-left {
    text-align: left;
}

.ms-text.is-small {
    font-size: 11px;
    line-height: 14px;
}

.ms-text.is-muted {
    color: #6b6b6b;
}

.ms-link {
    color: #0068d9;
    cursor: pointer;
}

.ms-link--block {
    font-size: 12px;
    text-align: center;
}

.ms-foot {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    display: flex;
    align-items: center;
    height: 58px;
    padding: 0 16px 0 22px;
    border-top: 1px solid #d9d9d9;
}

.ms-foot__link {
    font-size: 13px;
}

.ms-foot__buttons {
    display: flex;
    gap: 8px;
    margin-left: auto;
}

.mr-stage--setup .ms-btn {
    min-width: 73px;
    height: 29px;
    padding: 0 10px;
    border-radius: 6px;
    font-size: 13px;
    color: #222222;
    background: #ffffff;
    box-shadow: 0 0 0 0.5px rgba(0, 0, 0, 0.18), 0 1px 1px rgba(0, 0, 0, 0.12);
}

.mr-stage--setup .ms-btn:disabled {
    color: #b3b3b3;
    background: #f4f4f4;
}

.ms-busy {
    position: absolute;
    left: 20px;
    bottom: 20px;
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    color: #5a5a5a;
}

.ms-spinner {
    width: 14px;
    height: 14px;
    border-radius: 50%;
    border: 2px dotted #8a8a8a;
}

.ms-hint {
    position: absolute;
    left: 0;
    right: 0;
    margin: 0;
    font-size: 12px;
    font-weight: 600;
    text-align: center;
    color: #ffffff;
}

.ms-hint--0 {
    top: 731px;
}

.ms-hint--1 {
    top: 763px;
}

/* Liste (pays) */
.ms-list {
    padding: 0;
    border: 3px solid #7ea6e0;
    border-radius: 3px;
    list-style: none;
    background: #ffffff;
    overflow: hidden;
}

.ms-list__row {
    height: 20px;
    padding-left: 8px;
    font-size: 13px;
    line-height: 20px;
    color: #222222;
}

.ms-list__row.is-selected {
    color: #ffffff;
    background: #0058d0;
}

.ms-list__scroll {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    width: 15px;
    border-left: 1px solid #ececec;
    background: #fafafa;
}

.ms-list__thumb {
    position: absolute;
    right: 4px;
    width: 7px;
    height: 16px;
    border-radius: 4px;
    background: #c1c1c1;
}

/* Choix (boutons radio) */
.ms-radios {
    display: flex;
    flex-direction: column;
    gap: 11px;
    font-size: 13px;
}

.ms-radios__question {
    margin: 0 0 16px;
}

.ms-radio {
    display: flex;
    align-items: flex-start;
    gap: 7px;
}

.ms-radio:not(.has-sub) {
    margin-top: -5px;
}

.ms-radio__dot {
    flex: none;
    width: 14px;
    height: 14px;
    margin-top: 1px;
    border: 1px solid #b5b5b5;
    border-radius: 50%;
    background: #ffffff;
}

.ms-radio.is-checked .ms-radio__dot {
    border: 4px solid #0068d9;
}

.ms-radio__text {
    display: flex;
    flex-direction: column;
}

.ms-radio__title {
    font-weight: 700;
}

.ms-radio__sub {
    margin-top: 2px;
}

/* Lignes (langues, temps d'écran) */
.ms-rows {
    display: flex;
    flex-direction: column;
    gap: 33px;
}

.ms-rows.is-compact {
    gap: 30px;
}

.ms-row {
    display: flex;
    align-items: flex-start;
    gap: 18px;
}

.ms-row__icon {
    flex: none;
    width: 34px;
    height: 32px;
    color: #0068d9;
}

.ms-row__title {
    margin: 0;
    font-size: 13px;
    font-weight: 700;
}

.ms-row__value {
    margin: 2px 0 0;
    font-size: 13px;
}

.ms-row__value.is-muted {
    color: #6b6b6b;
}

/* Tuiles d'accessibilité */
.ms-tiles {
    left: 100px;
    display: flex;
    gap: 16px;
}

.ms-tile {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 141px;
    height: 141px;
    padding-top: 36px;
    border-radius: 6px;
    background: #ffffff;
    box-shadow: 0 0 0 0.5px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.1);
}

.ms-tile__icon {
    width: 44px;
    height: 38px;
    color: #7a7a7a;
}

.ms-tile__label {
    margin-top: 20px;
    font-size: 15px;
    font-weight: 700;
}

/* Champs, liens */
.ms-input {
    width: 100%;
    height: 22px;
    padding: 0 4px;
    border: 1px solid #c9c9c9;
    border-radius: 0;
    font: inherit;
    font-size: 13px;
    color: #222222;
    background: #ffffff;
    outline: none;
}

.ms-input.is-focus,
.ms-input:focus {
    box-shadow: 0 0 0 3px rgba(0, 104, 217, 0.45);
}

.ms-links {
    left: 0;
    right: 0;
    display: flex;
    flex-direction: column;
    gap: 10px;
    font-size: 13px;
    text-align: center;
}

/* Conditions générales */
.ms-license {
    padding: 0;
    font-size: 11px;
    line-height: 13px;
    color: #6b6b6b;
    overflow: hidden;
    border-bottom: 1px solid #d0d0d0;
}

.ms-license__p {
    margin: 0 0 26px 20px;
    white-space: pre-line;
}

.ms-license__p.is-head {
    margin-bottom: 0;
    margin-left: 0;
    font-size: 13px;
    font-weight: 700;
    color: #222222;
}

.ms-license__letter {
    display: inline-block;
    width: 20px;
}

/* Cases à cocher */
.ms-checks {
    font-size: 13px;
}

.ms-check {
    position: relative;
    display: flex;
    align-items: flex-start;
    gap: 7px;
}

.ms-check input {
    position: absolute;
    opacity: 0;
}

.ms-check__box {
    flex: none;
    width: 14px;
    height: 14px;
    border: 1px solid #b5b5b5;
    border-radius: 3px;
    background: #ffffff;
}

.ms-check input:checked + .ms-check__box {
    border-color: #0068d9;
    background: #0068d9 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14'%3E%3Cpath d='M3 7.3 5.8 10 11 3.8' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 14px no-repeat;
}

.ms-check__sub {
    margin: 9px 0 17px 20px;
    font-size: 11px;
    line-height: 14px;
}

/* Compte */
.ms-account__row {
    display: flex;
    align-items: center;
    height: 31px;
}

.ms-account__label {
    width: 125px;
    padding-right: 6px;
    font-size: 13px;
    text-align: right;
}

.ms-account__inputs {
    display: flex;
    gap: 6px;
    width: 266px;
}

.ms-account__row.is-split .ms-account__inputs {
    width: 340px;
}

.ms-account__hint {
    margin: -4px 0 12px 131px;
    font-size: 11px;
    color: #6b6b6b;
}

.ms-account__picture {
    position: absolute;
    top: 0;
    left: 408px;
    width: 54px;
    height: 54px;
    border-radius: 50%;
}

/* Fuseau horaire */
.ms-tz {
    inset: 0;
}

.ms-tz > * {
    position: absolute;
}

.ms-tz__dot {
    width: 10px;
    height: 10px;
    border: 2px solid #ffffff;
    border-radius: 50%;
    background: #0a7aff;
    box-shadow: 0 0 2px rgba(0, 0, 0, 0.4);
}

.ms-tz__rows {
    display: flex;
    flex-direction: column;
    gap: 6px;
    font-size: 13px;
}

.ms-tz__row {
    display: flex;
    align-items: center;
    height: 20px;
}

.ms-tz__label {
    width: 172px;
    padding-right: 7px;
    text-align: right;
}

.ms-tz__zone {
    color: #6b6b6b;
}

.ms-tz__popup {
    position: relative;
    display: flex;
    align-items: center;
    width: 239px;
    height: 22px;
    padding-left: 10px;
    border-radius: 5px;
    background: #ffffff;
    box-shadow: 0 0 0 0.5px rgba(0, 0, 0, 0.2), 0 1px 1px rgba(0, 0, 0, 0.1);
}

.ms-tz__arrows {
    position: absolute;
    right: 3px;
    width: 16px;
    height: 16px;
    border-radius: 4px;
    color: #ffffff;
    background: #0a7aff;
}

.ms-tz__scroll {
    top: 117px;
    right: 7px;
    width: 7px;
    height: 420px;
    border-radius: 4px;
    background: #c1c1c1;
}

/* Apparence */
.ms-looks {
    left: 85px;
    display: flex;
    gap: 9px;
}

.ms-look {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 0;
    border: 0;
    font: inherit;
    background: transparent;
}

.ms-look__img {
    width: 204px;
    height: 160px;
    border: 5px solid transparent;
    border-radius: 9px;
}

.ms-look.is-selected .ms-look__img {
    border-color: #0068d9;
}

.ms-look__label {
    margin-top: 11px;
    font-size: 13px;
    color: #8a8a8a;
}

.ms-look.is-selected .ms-look__label {
    color: #222222;
}

/* Alertes */
.ms-alert {
    position: absolute;
    left: 488px;
    width: 304px;
    padding: 24px 16px 16px;
    border-radius: 10px;
    text-align: center;
    background: #f4f4f4;
    box-shadow: 0 0 0 0.5px rgba(0, 0, 0, 0.3), 0 12px 30px rgba(0, 0, 0, 0.3);
}

.ms-alert__icon {
    width: 56px;
    height: 56px;
}

.ms-alert__title {
    margin: 14px 0 0;
    font-size: 13px;
    font-weight: 700;
    line-height: 16px;
}

.ms-alert__text {
    margin: 8px 0 0;
    font-size: 11px;
    line-height: 14px;
}

.ms-alert__buttons {
    display: flex;
    gap: 8px;
    margin-top: 16px;
}

.ms-alert.is-stacked .ms-alert__buttons {
    flex-direction: column;
}

.ms-alert__btn {
    flex: 1;
    height: 28px;
    border-radius: 6px;
    font-size: 13px;
    color: #222222;
    background: #dcdcdc;
}

.ms-alert__btn.is-primary {
    color: #ffffff;
    background: linear-gradient(#2f7ff0, #1667e0);
}

.ms-alert__btn.is-focus {
    box-shadow: 0 0 0 3px rgba(80, 120, 220, 0.6);
}

/* « Bienvenue sur le Mac » (Sequoia) : fond noir, titre gris, bouton rond (34 px, #262626) puis libellé blanc. */
.ms-root--welcome {
    background: #000000;
}

.ms-welcome__title {
    position: absolute;
    top: 368px;
    left: 0;
    right: 0;
    margin: 0;
    font-size: 50px;
    font-weight: 700;
    line-height: 60px;
    text-align: center;
    color: #7c7c7c;
}

.ms-welcome__go {
    position: absolute;
    top: 666px;
    left: 623px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    color: #878787;
    background: #262626;
}

.ms-welcome__arrow {
    width: 17px;
    height: 17px;
}

.ms-welcome__label {
    position: absolute;
    top: 712px;
    left: 0;
    right: 0;
    font-size: 13px;
    text-align: center;
    color: #ffffff;
}

/* Fond de l'Assistant tiré du fond d'écran (Ventura), sous la carte ; étiquette à gauche d'un champ (« Identifiant Apple »). */
.ms-root__bg {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}

.ms-field__label {
    position: absolute;
    top: 3px;
    right: calc(100% + 10px);
    font-size: 13px;
    white-space: nowrap;
}
