/* ==========================================================================
   InstaUpload — Design system InstaPresse (Sprint B2)
   Chargé APRÈS instaupload-2.css : surcharge progressive, scopée aux
   conteneurs du plugin. Palette = les 7 points du logo InstaPresse.
   ========================================================================== */

#instaupload-modal,
#instaupload-preview-popup {
    /* Palette officielle InstaPresse (points du logo) */
    --iu-red: #D02931;
    --iu-red-dark: #A21A16;
    --iu-yellow: #F3CD36;
    --iu-lime: #ACC114;
    --iu-green: #009468;
    --iu-green-hover: #007d56;
    --iu-teal: #009DB3;
    --iu-blue: #134985;
    --iu-black: #1C1C1D;
    --iu-text: #2F2F2F;
    --iu-muted: #959595;
    --iu-border: #CECECE;
    --iu-bg-soft: #FCFCFC;
    --iu-bg-light: #F4F4F4;
    --iu-white: #FFFFFF;
    --iu-font-title: 'Dosis', 'Rubik', -apple-system, sans-serif;
    --iu-font-body: 'Rubik', -apple-system, 'Segoe UI', sans-serif;
    --iu-radius-input: 10px;
    --iu-radius-panel: 16px;
    --iu-radius-pill: 999px;
    --iu-shadow-action: 0 6px 18px rgba(0, 148, 104, .25);

    font-family: var(--iu-font-body);
    color: var(--iu-text);
}

/* ── Typographie ─────────────────────────────────────────────────────── */
#instaupload-preview-popup .instaupload-preview-popup__header h3,
#instaupload-modal h3,
#instaupload-modal h4,
#instaupload-preview-popup .iu-spec-panel__title,
#instaupload-preview-popup .iu-faces-org__title {
    font-family: var(--iu-font-title);
    font-weight: 700;
    color: var(--iu-black);
    letter-spacing: .01em;
}

/* ── Stepper : pastilles reliées (langage des points du logo) ────────── */
#instaupload-preview-popup .iu-stepper__item {
    color: var(--iu-muted);
    font-family: var(--iu-font-body);
    font-size: 13px;
    font-weight: 500;
}

#instaupload-preview-popup .iu-stepper__num {
    width: 26px;
    height: 26px;
    border-radius: 50%;
    background: var(--iu-white);
    border: 2px solid var(--iu-border);
    color: var(--iu-muted);
    font-family: var(--iu-font-title);
    font-size: 13px;
    font-weight: 700;
    transition: all .2s ease;
}

#instaupload-preview-popup .iu-stepper__item.is-active {
    color: var(--iu-black);
    font-weight: 700;
}

#instaupload-preview-popup .iu-stepper__item.is-active .iu-stepper__num {
    background: var(--iu-red);
    border-color: var(--iu-red);
    color: var(--iu-white);
    box-shadow: 0 0 0 4px rgba(208, 41, 49, .15);
}

#instaupload-preview-popup .iu-stepper__item.is-done {
    color: var(--iu-green);
}

#instaupload-preview-popup .iu-stepper__item.is-done .iu-stepper__num {
    background: var(--iu-green);
    border-color: var(--iu-green);
    color: var(--iu-white);
}

#instaupload-preview-popup .iu-stepper__sep {
    width: 32px;
    height: 2px;
    background: var(--iu-border);
    margin: 0 10px;
    border-radius: 2px;
}

#instaupload-preview-popup .iu-stepper__item.is-done .iu-stepper__sep,
#instaupload-preview-popup .iu-stepper__item.is-done + .iu-stepper__item .iu-stepper__sep {
    background: var(--iu-green);
}

/* ── Chips : point couleur + label ───────────────────────────────────── */
#instaupload-preview-popup .iu-chip {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 4px 12px;
    border-radius: var(--iu-radius-pill);
    font-size: 12px;
    font-weight: 500;
    background: var(--iu-bg-light);
    color: var(--iu-text);
    border: none;
}

#instaupload-preview-popup .iu-chip::before {
    content: '';
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--iu-muted);
    flex-shrink: 0;
}

#instaupload-preview-popup .iu-chip--neutral {
    background: rgba(0, 157, 179, .1);
    color: var(--iu-teal);
}

#instaupload-preview-popup .iu-chip--neutral::before {
    background: var(--iu-teal);
}

#instaupload-preview-popup .iu-chip--ok {
    background: rgba(0, 148, 104, .1);
    color: var(--iu-green-hover);
    font-weight: 700;
}

#instaupload-preview-popup .iu-chip--ok::before {
    background: var(--iu-green);
}

#instaupload-preview-popup .iu-chip--warn {
    background: rgba(243, 205, 54, .18);
    color: var(--iu-text);
    font-weight: 700;
}

#instaupload-preview-popup .iu-chip--warn::before {
    background: var(--iu-yellow);
}

/* ── Boutons : pill vert InstaPresse ─────────────────────────────────── */
#instaupload-preview-popup .iu-spec-panel__attach,
#instaupload-modal .iu-spec-panel__attach {
    width: auto;
    min-width: 180px;
    padding: 12px 28px;
    border: none;
    border-radius: var(--iu-radius-pill);
    background: var(--iu-green);
    color: var(--iu-white);
    font-family: var(--iu-font-body);
    font-size: 14px;
    font-weight: 500;
    margin-bottom: 0;
    transition: background .2s ease, box-shadow .2s ease, transform .1s ease;
}

#instaupload-preview-popup .iu-spec-panel__attach:hover:not(:disabled),
#instaupload-modal .iu-spec-panel__attach:hover:not(:disabled) {
    background: var(--iu-green-hover);
    box-shadow: var(--iu-shadow-action);
}

#instaupload-preview-popup .iu-spec-panel__attach:active:not(:disabled) {
    transform: scale(.98);
}

#instaupload-preview-popup .iu-spec-panel__attach:disabled {
    opacity: .45;
    cursor: not-allowed;
}

#instaupload-preview-popup .iu-spec-panel__secondary,
#instaupload-modal .iu-spec-panel__secondary {
    width: auto;
    min-width: 140px;
    padding: 11px 24px;
    border-radius: var(--iu-radius-pill);
    border: 1px solid var(--iu-border);
    background: var(--iu-white);
    color: var(--iu-text);
    font-size: 14px;
    font-weight: 500;
    margin-bottom: 0;
    transition: border-color .2s ease, color .2s ease;
}

#instaupload-preview-popup .iu-spec-panel__secondary:hover,
#instaupload-modal .iu-spec-panel__secondary:hover {
    background: var(--iu-white);
    border-color: var(--iu-black);
    color: var(--iu-black);
}

#instaupload-preview-popup .iu-spec-panel__close,
#instaupload-modal .iu-spec-panel__close {
    border-radius: var(--iu-radius-pill);
    color: var(--iu-muted);
}

/* Override préflight ERROR : rouge marque, pas vert */
#instaupload-preview-popup .iu-preflight__override-btn {
    background: var(--iu-red);
}

#instaupload-preview-popup .iu-preflight__override-btn:hover:not(:disabled) {
    background: var(--iu-red-dark);
    box-shadow: 0 6px 18px rgba(208, 41, 49, .25);
}

/* ── Footer ──────────────────────────────────────────────────────────── */
#instaupload-preview-popup .instaupload-preview-popup__footer {
    padding: 16px 24px;
    border-top: 1px solid var(--iu-bg-light);
    background: var(--iu-white);
}

#instaupload-preview-popup .iu-wf-footer {
    justify-content: space-between;
    gap: 12px;
}

/* ── Bannières : liseré gauche, jaune = action uniquement ────────────── */
#instaupload-preview-popup .iu-wf-banner {
    border-radius: var(--iu-radius-input);
    padding: 10px 14px;
    font-size: 13px;
    border: none;
    border-left: 4px solid transparent;
}

#instaupload-preview-popup .iu-wf-banner--action {
    background: rgba(243, 205, 54, .14);
    border-left-color: var(--iu-yellow);
    color: var(--iu-text);
}

#instaupload-preview-popup .iu-wf-banner--action strong {
    font-family: var(--iu-font-title);
    font-size: 14px;
}

#instaupload-preview-popup .iu-wf-banner--error {
    background: rgba(208, 41, 49, .07);
    border-left-color: var(--iu-red);
    color: var(--iu-red-dark);
}

#instaupload-preview-popup .iu-wf-info-accordion {
    background: rgba(0, 157, 179, .06);
    border: none;
    border-left: 4px solid var(--iu-teal);
    border-radius: var(--iu-radius-input);
    padding: 8px 14px;
    font-size: 12px;
    color: var(--iu-text);
}

#instaupload-preview-popup .iu-wf-info-accordion summary {
    color: var(--iu-teal);
    font-weight: 500;
}

/* ── Panneau Organisation des faces : cartes radio ───────────────────── */
#instaupload-preview-popup .iu-faces-org {
    border-top: 1px solid var(--iu-bg-light);
}

#instaupload-preview-popup .iu-faces-org__hint {
    margin: 0 0 10px;
    font-size: 12px;
    color: var(--iu-muted);
    line-height: 1.4;
}

/* Les deux options côte à côte (deux colonnes) */
#instaupload-preview-popup .iu-faces-org__options {
    display: flex;
    gap: 8px;
    align-items: stretch;
}

#instaupload-preview-popup .iu-faces-org__options .iu-faces-org__option {
    flex: 1 1 0;
    min-width: 0;
    margin-bottom: 0;
}

#instaupload-preview-popup .iu-faces-org__sub {
    display: block;
    font-size: 11px;
    color: var(--iu-muted);
    margin-top: 1px;
}

#instaupload-preview-popup .iu-faces-org__option {
    position: relative;
    border: 1px solid var(--iu-border);
    border-radius: var(--iu-radius-panel);
    padding: 12px 14px 12px 44px;
    background: var(--iu-white);
    cursor: pointer;
    transition: border-color .2s ease, box-shadow .2s ease;
}

#instaupload-preview-popup .iu-faces-org__option::before {
    content: '';
    position: absolute;
    left: 14px;
    top: 14px;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    border: 2px solid var(--iu-border);
    background: var(--iu-white);
    transition: border-color .2s ease;
}

#instaupload-preview-popup .iu-faces-org__option:hover {
    border-color: var(--iu-teal);
}

#instaupload-preview-popup .iu-faces-org__option.is-suggested {
    border-color: var(--iu-teal);
    background: rgba(0, 157, 179, .05);
}

#instaupload-preview-popup .iu-faces-org__option.is-selected {
    border-color: var(--iu-green);
    box-shadow: 0 0 0 3px rgba(0, 148, 104, .12);
}

#instaupload-preview-popup .iu-faces-org__option.is-selected::before {
    border-color: var(--iu-green);
    background: var(--iu-green);
    box-shadow: inset 0 0 0 3px var(--iu-white);
}

#instaupload-preview-popup .iu-faces-org__option strong {
    font-size: 13px;
    color: var(--iu-black);
}

#instaupload-preview-popup .iu-faces-org__detail {
    color: var(--iu-muted);
    font-size: 12px;
}

#instaupload-preview-popup .iu-faces-org__match {
    color: var(--iu-green-hover);
    font-weight: 500;
}

/* ── Toolbar preview : barre pill flottante ──────────────────────────── */
#instaupload-preview-popup .iu-preview-toolbar {
    background: var(--iu-white);
    border: 1px solid var(--iu-bg-light);
    border-radius: var(--iu-radius-pill);
    padding: 6px 10px;
    margin: 10px 16px;
    box-shadow: 0 2px 10px rgba(28, 28, 29, .06);
    gap: 4px;
}

#instaupload-preview-popup .iu-zoom-btn {
    min-width: 36px;
    height: 36px;
    border: none;
    border-radius: var(--iu-radius-pill);
    background: transparent;
    color: var(--iu-text);
    font-family: var(--iu-font-body);
    font-size: 15px;
    font-weight: 500;
    transition: background .15s ease, color .15s ease;
}

#instaupload-preview-popup .iu-zoom-btn--text {
    padding: 0 14px;
    font-size: 13px;
}

#instaupload-preview-popup .iu-zoom-btn:hover {
    background: var(--iu-bg-light);
    color: var(--iu-black);
    border-color: transparent;
}

#instaupload-preview-popup .iu-zoom-btn.is-active {
    background: var(--iu-black);
    color: var(--iu-white);
}

#instaupload-preview-popup .iu-zoom-level {
    font-size: 12px;
    font-weight: 500;
    color: var(--iu-muted);
    min-width: 84px;
}

/* ── Dropzone : halftone de points couleur ───────────────────────────── */
#instaupload-modal .instaupload-upload-zone {
    border: 2px dashed var(--iu-border);
    border-radius: var(--iu-radius-panel);
    background-color: var(--iu-bg-soft);
    background-image:
        radial-gradient(circle, rgba(208, 41, 49, .10) 2px, transparent 2.5px),
        radial-gradient(circle, rgba(0, 157, 179, .10) 2px, transparent 2.5px),
        radial-gradient(circle, rgba(0, 148, 104, .10) 2px, transparent 2.5px);
    background-size: 46px 46px, 46px 46px, 46px 46px;
    background-position: 0 0, 15px 15px, 30px 30px;
    padding: 36px 20px;
}

#instaupload-modal .instaupload-upload-zone:hover {
    border-color: var(--iu-teal);
    background-color: var(--iu-white);
}

#instaupload-modal .instaupload-upload-zone.dragover {
    border-color: var(--iu-green);
    background-color: rgba(0, 148, 104, .06);
}

/* ── Progression : dégradé vert → turquoise ──────────────────────────── */
#instaupload-modal .instaupload-progress-bar,
#instaupload-modal #instaupload-progress .instaupload-progress-bar {
    height: 8px;
    background: var(--iu-bg-light);
    border-radius: var(--iu-radius-pill);
}

#instaupload-modal .instaupload-progress-fill,
#instaupload-modal #instaupload-progress-fill {
    background: linear-gradient(90deg, var(--iu-green), var(--iu-teal));
    border-radius: var(--iu-radius-pill);
}

#instaupload-modal .instaupload-progress-text,
#instaupload-modal #instaupload-progress-text {
    font-family: var(--iu-font-body);
    font-size: 13px;
    font-weight: 500;
    color: var(--iu-text);
}

/* ── Panneaux latéraux ───────────────────────────────────────────────── */
#instaupload-preview-popup .iu-spec-panel__section,
#instaupload-preview-popup .iu-spec-panel__pending {
    border-radius: var(--iu-radius-panel);
}

#instaupload-preview-popup .iu-spec-panel__textarea {
    border-radius: var(--iu-radius-input);
    border-color: var(--iu-border);
    font-family: var(--iu-font-body);
}

#instaupload-preview-popup .iu-spec-panel__textarea:focus {
    border-color: var(--iu-teal);
    outline: none;
    box-shadow: 0 0 0 3px rgba(0, 157, 179, .15);
}

/* ── Layout : le preview occupe le maximum de superficie ─────────────── */
#instaupload-preview-popup .instaupload-preview-popup__content {
    width: 96%;
    max-width: 1440px;
    height: 94vh;
    max-height: none;
    margin: 3vh auto;
    border-radius: var(--iu-radius-panel);
}

#instaupload-preview-popup .instaupload-preview-popup__header {
    padding: 10px 20px;
}

#instaupload-preview-popup .iu-stepper {
    background: var(--iu-bg-soft);
    border-bottom: 1px solid var(--iu-bg-light);
    padding: 8px 20px;
    gap: 0;
}

#instaupload-preview-popup .iu-workflow-chips {
    padding: 6px 20px;
    border-bottom: 1px solid var(--iu-bg-light);
    gap: 8px;
}

#instaupload-preview-popup .instaupload-preview-popup__media {
    flex: 1 1 auto;
    min-width: 0;
}

#instaupload-preview-popup .instaupload-preview-popup__details {
    flex: 0 0 290px;
    padding: 12px 12px 8px;
}

#instaupload-preview-popup .instaupload-preview-popup__media-viewport-wrap {
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
    flex-direction: column;
    position: relative;
}

#instaupload-preview-popup .instaupload-preview-popup__warnings {
    max-height: 20vh;
    border-top: none;
    padding: 6px 16px 10px;
}

/* Bannières latérales discrètes (sous Spécifications) */
#instaupload-preview-popup .iu-sidebar-warnings {
    margin-top: 10px;
}

#instaupload-preview-popup .iu-sidebar-warnings .iu-wf-banner,
#instaupload-preview-popup .iu-sidebar-warnings .iu-wf-info-accordion {
    font-size: 12px;
    padding: 8px 12px;
    opacity: .92;
}

/* ── Grille de pages : tuiles verticales vignette + numéro + pastille ── */
#instaupload-preview-popup .iu-pages-grid-wrap {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 5;
    padding: 8px 14px;
    border-top: 1px solid var(--iu-bg-light);
    max-height: 46%;
    overflow-y: auto;
    background: rgba(252, 252, 252, .96);
    backdrop-filter: blur(3px);
}

#instaupload-preview-popup .iu-pages-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

/* Tuile = vignette seule ; numéro et pastille en surimpression dedans */
#instaupload-preview-popup .iu-page-tile {
    position: relative;
    width: 48px;
    flex-shrink: 0;
}

#instaupload-preview-popup .iu-page-tile__thumb {
    position: relative;
    width: 48px;
    height: 64px;
    border: 2px solid var(--iu-border);
    border-radius: 6px;
    background: var(--iu-white);
    overflow: hidden;
    cursor: pointer;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: border-color .15s ease, box-shadow .15s ease, filter .15s ease, opacity .15s ease;
}

#instaupload-preview-popup .iu-page-tile__thumb:hover {
    border-color: var(--iu-teal);
}

/* Sélectionnée = encerclée verte ; non sélectionnée = grise */
#instaupload-preview-popup .iu-page-tile.is-selected .iu-page-tile__thumb {
    border-color: var(--iu-green);
}

#instaupload-preview-popup .iu-page-tile.is-unselected .iu-page-tile__thumb {
    filter: grayscale(1);
    opacity: .5;
}

#instaupload-preview-popup .iu-page-tile.is-current .iu-page-tile__thumb {
    border-color: var(--iu-black);
    box-shadow: 0 0 0 2px rgba(28, 28, 29, .25);
}

#instaupload-preview-popup .iu-page-tile.is-current.is-selected .iu-page-tile__thumb {
    border-color: var(--iu-black);
}

#instaupload-preview-popup .iu-page-tile__placeholder {
    font-family: var(--iu-font-title);
    font-size: 14px;
    font-weight: 700;
    color: var(--iu-border);
}

#instaupload-preview-popup .iu-page-tile__canvas {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}

/* Numéro : pastille sombre en haut à gauche DANS la vignette */
#instaupload-preview-popup .iu-page-tile__num {
    position: absolute;
    top: 2px;
    left: 2px;
    z-index: 2;
    min-width: 16px;
    height: 16px;
    padding: 0 4px;
    border-radius: var(--iu-radius-pill);
    background: rgba(28, 28, 29, .82);
    color: var(--iu-white);
    font-family: var(--iu-font-title);
    font-size: 10px;
    font-weight: 700;
    line-height: 16px;
    text-align: center;
    pointer-events: none;
}

#instaupload-preview-popup .iu-page-tile.is-current .iu-page-tile__num {
    background: var(--iu-black);
}

/* Pastille de rôle : centrée en bas DANS la vignette */
#instaupload-preview-popup .iu-page-tile__role {
    position: absolute;
    bottom: 3px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 2;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    border: none;
    font-family: var(--iu-font-title);
    font-size: 10px;
    font-weight: 700;
    line-height: 1;
    cursor: pointer;
    padding: 0;
    transition: transform .15s ease, box-shadow .15s ease;
}

#instaupload-preview-popup .iu-page-tile__role.role-recto {
    background: var(--iu-red);
    color: var(--iu-white);
}

#instaupload-preview-popup .iu-page-tile__role.role-verso-common {
    background: var(--iu-blue);
    color: var(--iu-white);
    box-shadow: 0 0 0 2px rgba(19, 73, 133, .3);
}

#instaupload-preview-popup .iu-page-tile__role.role-verso {
    background: var(--iu-white);
    color: var(--iu-blue);
    border: 2px solid var(--iu-blue);
}

#instaupload-preview-popup .iu-page-tile__role.role-unused {
    background: var(--iu-bg-light);
    color: var(--iu-muted);
    border: 1px dashed var(--iu-muted);
}

#instaupload-preview-popup .iu-page-tile__role:not(:disabled):hover {
    transform: translateX(-50%) scale(1.18);
}

#instaupload-preview-popup .iu-page-tile__role:disabled {
    cursor: default;
}

/* Badge de sélection : rond vert ✓ / gris, en haut à droite DANS la vignette */
#instaupload-preview-popup .iu-page-tile__sel {
    position: absolute;
    top: 2px;
    right: 2px;
    z-index: 2;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    border: 2px solid var(--iu-border);
    background: var(--iu-bg-light);
    color: transparent;
    cursor: pointer;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: background .15s ease, border-color .15s ease, transform .15s ease;
}

#instaupload-preview-popup .iu-page-tile__sel-icon {
    font-size: 10px;
    line-height: 1;
    font-weight: 700;
}

#instaupload-preview-popup .iu-page-tile.is-selected .iu-page-tile__sel {
    background: var(--iu-green);
    border-color: var(--iu-green);
    color: var(--iu-white);
}

#instaupload-preview-popup .iu-page-tile__sel:not(:disabled):hover {
    transform: scale(1.15);
}

#instaupload-preview-popup .iu-wf-step-crop .iu-page-tile__sel,
#instaupload-preview-popup .iu-wf-step-validation .iu-page-tile__sel {
    pointer-events: none;
}

/* Rangée d'outils de la grille : Tout sélectionner / désélectionner */
#instaupload-preview-popup .iu-pages-grid__tools {
    display: flex;
    gap: 8px;
    margin-bottom: 8px;
}

#instaupload-preview-popup .iu-pages-grid__tool {
    border: 1px solid var(--iu-border);
    border-radius: var(--iu-radius-pill);
    background: var(--iu-white);
    color: var(--iu-text);
    font-family: var(--iu-font-body);
    font-size: 11px;
    font-weight: 500;
    padding: 4px 12px;
    cursor: pointer;
    transition: border-color .15s ease, color .15s ease;
}

#instaupload-preview-popup .iu-pages-grid__tool:hover {
    border-color: var(--iu-blue);
    color: var(--iu-blue);
}

#instaupload-preview-popup .iu-wf-step-crop .iu-pages-grid__tools,
#instaupload-preview-popup .iu-wf-step-validation .iu-pages-grid__tools {
    display: none;
}

/* La bande de vignettes ne compte JAMAIS comme hauteur d'affichage :
   le viewport lui-même la réserve en padding (les vues se conforment). */
#instaupload-preview-popup .iu-zoom-viewport {
    padding-bottom: var(--iu-grid-h, 0px);
    box-sizing: border-box;
}

#instaupload-preview-popup .iu-zoom-stage.is-consult-frame .iu-crop-viewport {
    cursor: default;
}

#instaupload-preview-popup .iu-pages-grid__meta {
    margin-top: 8px;
    font-size: 12px;
    color: var(--iu-muted);
}

#instaupload-preview-popup .iu-faces-carousel-hint {
    margin: 6px 16px 8px;
    font-size: 12px;
    color: var(--iu-muted);
    font-family: var(--iu-font-body);
}

/* ── Consultation : visuel centré dans la zone au-dessus de la grille ── */
#instaupload-preview-popup .iu-zoom-stage.is-consult {
    align-items: center;
    justify-content: center;
}

#instaupload-preview-popup .iu-zoom-stage.is-consult .iu-file-stage {
    margin: auto;
    box-shadow: 0 4px 24px rgba(28, 28, 29, .14);
}

/* Légende cadrage : en haut à gauche du preview */
#instaupload-preview-popup .iu-crop-viewport .iu-overlay-legend,
#instaupload-preview-popup .iu-overlay-legend {
    top: 10px;
    left: 10px;
    bottom: auto;
    background: rgba(255, 255, 255, .92);
    border-radius: var(--iu-radius-pill);
    font-size: 11px;
}

/* Zoom exact : libellé cliquable + champ */
#instaupload-preview-popup .iu-zoom-level {
    cursor: pointer;
    border-radius: var(--iu-radius-pill);
    padding: 4px 8px;
    min-width: 84px;
}

#instaupload-preview-popup .iu-zoom-level:hover {
    background: var(--iu-bg-light);
    color: var(--iu-black);
}

#instaupload-preview-popup .iu-zoom-exact-wrap {
    display: inline-flex;
    align-items: center;
    gap: 2px;
    font-size: 12px;
    color: var(--iu-muted);
}

#instaupload-preview-popup #iu-zoom-exact {
    width: 62px;
    height: 30px;
    border: 1px solid var(--iu-teal);
    border-radius: var(--iu-radius-pill);
    padding: 0 10px;
    font-size: 13px;
    font-family: var(--iu-font-body);
    text-align: center;
}

/* Progression des visuels attendus (panneau Faces) */
#instaupload-preview-popup .iu-faces-org__progress {
    margin-top: 10px;
    padding: 10px 12px;
    border-radius: var(--iu-radius-input);
    background: rgba(243, 205, 54, .12);
    border-left: 4px solid var(--iu-yellow);
}

#instaupload-preview-popup .iu-faces-org__progress-head {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 8px;
    font-size: 12px;
    color: var(--iu-text);
}

#instaupload-preview-popup .iu-faces-org__progress-bar {
    margin-top: 6px;
    height: 8px;
    border-radius: var(--iu-radius-pill);
    background: var(--iu-white);
    overflow: hidden;
}

#instaupload-preview-popup .iu-faces-org__progress-bar span {
    display: block;
    height: 100%;
    border-radius: var(--iu-radius-pill);
    background: linear-gradient(90deg, var(--iu-green), var(--iu-teal));
}

#instaupload-preview-popup .iu-faces-org__progress-hint {
    margin: 8px 0 0;
    font-size: 12px;
    color: var(--iu-text);
}

/* ── Footer : groupe + bouton Ajouter un fichier (bordure bleu foncé) ── */
#instaupload-preview-popup .iu-wf-footer__group {
    display: inline-flex;
    gap: 10px;
    flex-wrap: wrap;
}

#instaupload-preview-popup .iu-wf-add-file {
    border: 2px solid var(--iu-blue) !important;
    color: var(--iu-blue) !important;
    font-weight: 700 !important;
}

#instaupload-preview-popup .iu-wf-add-file:hover:not(:disabled) {
    background: var(--iu-blue) !important;
    color: var(--iu-white) !important;
}

#instaupload-preview-popup .iu-spec-panel__secondary:disabled {
    opacity: .45;
    cursor: not-allowed;
}

/* Guidage : pulsation sur l'élément qui manque */
@keyframes iuPulse {
    0%, 100% { box-shadow: 0 0 0 0 rgba(19, 73, 133, .4); }
    50% { box-shadow: 0 0 0 8px rgba(19, 73, 133, 0); }
}

#instaupload-preview-popup .iu-pulse {
    animation: iuPulse .8s ease-in-out 2;
    border-radius: var(--iu-radius-pill);
}

#instaupload-preview-popup #instaupload-pending-note-wrap.iu-pulse {
    border-radius: var(--iu-radius-input);
}

/* Sélecteur « Ajouter des faces » : fichiers déjà joints ou nouveau */
#instaupload-preview-popup .iu-add-faces-chooser {
    position: absolute;
    left: 24px;
    bottom: 84px;
    z-index: 30;
    display: flex;
    flex-direction: column;
    gap: 6px;
    min-width: 260px;
    max-width: 340px;
    padding: 14px;
    background: var(--iu-white);
    border: 1px solid var(--iu-bg-light);
    border-radius: var(--iu-radius-panel);
    box-shadow: 0 12px 32px rgba(28, 28, 29, .18);
}

#instaupload-preview-popup .iu-add-faces-chooser__title {
    font-family: var(--iu-font-title);
    font-size: 14px;
    color: var(--iu-black);
    margin-bottom: 2px;
}

#instaupload-preview-popup .iu-add-faces-chooser__file,
#instaupload-preview-popup .iu-add-faces-chooser__upload,
#instaupload-preview-popup .iu-add-faces-chooser__cancel {
    text-align: left;
    border: 1px solid var(--iu-border);
    border-radius: var(--iu-radius-input);
    background: var(--iu-white);
    padding: 9px 12px;
    font-family: var(--iu-font-body);
    font-size: 13px;
    color: var(--iu-text);
    cursor: pointer;
    transition: border-color .15s ease, background .15s ease;
}

#instaupload-preview-popup .iu-add-faces-chooser__file:hover {
    border-color: var(--iu-blue);
    background: rgba(19, 73, 133, .05);
}

#instaupload-preview-popup .iu-add-faces-chooser__pages {
    color: var(--iu-muted);
    font-size: 12px;
}

#instaupload-preview-popup .iu-add-faces-chooser__upload {
    border: 2px solid var(--iu-blue);
    color: var(--iu-blue);
    font-weight: 700;
}

#instaupload-preview-popup .iu-add-faces-chooser__upload:hover {
    background: var(--iu-blue);
    color: var(--iu-white);
}

#instaupload-preview-popup .iu-add-faces-chooser__cancel {
    border: none;
    color: var(--iu-muted);
    text-align: center;
}

/* Marques du document (TrimBox/BleedBox lus dans le PDF) */
#instaupload-preview-popup .iu-doc-marks {
    position: absolute;
    inset: 0;
    pointer-events: none;
    z-index: 3;
}

#instaupload-preview-popup .iu-doc-mark {
    position: absolute;
    pointer-events: none;
    border-style: dashed;
    border-width: 2px;
}

#instaupload-preview-popup .iu-doc-mark--trim {
    border-color: rgba(28, 28, 29, .85);
    box-shadow: 0 0 0 1px rgba(255, 255, 255, .6);
}

#instaupload-preview-popup .iu-doc-mark--bleed {
    border-color: var(--iu-teal);
}

/* Boîte de progression : le nombre de lots attendus en évidence */
#instaupload-preview-popup .iu-faces-org__progress-big {
    font-family: var(--iu-font-title);
    font-size: 20px;
    font-weight: 800;
    color: var(--iu-black);
}

#instaupload-preview-popup .iu-faces-org__add-faces {
    margin-top: 8px;
    border: 2px solid var(--iu-blue);
    border-radius: var(--iu-radius-pill);
    background: var(--iu-white);
    color: var(--iu-blue);
    font-family: var(--iu-font-body);
    font-size: 12px;
    font-weight: 700;
    padding: 7px 16px;
    cursor: pointer;
    transition: background .15s ease, color .15s ease;
}

#instaupload-preview-popup .iu-faces-org__add-faces:hover {
    background: var(--iu-blue);
    color: var(--iu-white);
}

/* Case « fichiers séparément » sous la note */
#instaupload-preview-popup .iu-note-add-later {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-top: 8px;
    font-size: 12px;
    color: var(--iu-text);
    cursor: pointer;
}

#instaupload-preview-popup .iu-note-add-later input {
    width: 18px;
    height: 18px;
    accent-color: var(--iu-green);
    cursor: pointer;
}

/* Récap produit en haut des spécifications */
#instaupload-preview-popup .iu-spec-panel__recap {
    margin: 0 0 10px;
    font-size: 12px;
    font-weight: 500;
    color: var(--iu-teal);
    line-height: 1.4;
}

/* ── Accessibilité ───────────────────────────────────────────────────── */
#instaupload-modal button:focus-visible,
#instaupload-preview-popup button:focus-visible,
#instaupload-modal a:focus-visible,
#instaupload-preview-popup a:focus-visible,
#instaupload-preview-popup summary:focus-visible {
    outline: 2px solid var(--iu-teal);
    outline-offset: 2px;
}

#instaupload-preview-popup .iu-zoom-btn,
#instaupload-preview-popup .iu-page-carousel__arrow {
    min-height: 44px;
    min-width: 44px;
}

@media (prefers-reduced-motion: reduce) {
    #instaupload-modal *,
    #instaupload-preview-popup * {
        transition: none !important;
        animation: none !important;
    }
}
