    #mai-app-workspace, #mai-app-workspace form, #mai-app-workspace div, #mai-app-workspace label, #mai-app-workspace button, #mai-app-workspace input { box-sizing: border-box !important; }
    #mai-app-workspace { width:100% !important; font-family:sans-serif !important; color:#fff !important; }
    .mai-board-grid { display:grid !important; grid-template-columns:1fr 1fr !important; gap:20px !important; margin-bottom:20px !important; padding:20px 25px 0 25px !important; }
    @media(max-width:768px){ .mai-board-grid { grid-template-columns:1fr !important; } }
    @media(max-width:768px) { .mai-board-cell.mai-cell-loaded { background:#1c1c1f !important; } }
    .mai-board-cell { background:#141416 !important; border:none !important; border-radius:12px !important; padding:0 !important; display:flex !important; flex-direction:column !important; }
    .mai-adv-toggle-btn { background:transparent !important; border:1px solid #27272a !important; border-radius:6px !important; color:#71717a !important; font-size:11px !important; padding:6px 12px !important; cursor:pointer !important; display:flex !important; align-items:center !important; transition:all .15s !important; }
    .mai-adv-toggle-btn:hover,.mai-adv-toggle-btn.open { border-color:#52525b !important; color:#a1a1aa !important; }
    .mai-cell-header { font-size:14px !important; text-transform:uppercase !important; letter-spacing:1.5px !important; font-weight:700 !important; color:#d4d0d0 !important; margin-bottom:16px !important; }
    .mai-drag-zone { background:#09090b !important; border:2px dashed #27272a !important; border-radius:8px !important; padding:20px 20px !important; text-align:center !important; cursor:pointer !important; transition:border 0.2s !important; }
    .mai-drag-zone:hover { border-color:#dc3545 !important; }
    .mai-drag-icon { font-size:24px !important; display:block !important; margin-bottom:8px !important; color:#5e6571 !important; }
    .mai-btn-rec-zone .mai-drag-icon { color:#5e6571 !important; }
    .mai-drag-text { font-size:13px !important; color:#e4e4e7 !important; margin:0 0 6px 0 !important; text-transform: uppercase !important; font-weight: 800 !important;}
    .mai-file-name-indicator { color:#5e6571 !important; font-family:monospace !important; font-size:11px !important; }
    .mai-voix-actions-row { display:flex !important; gap:10px !important; width:100% !important; }
    .mai-action-selector { flex:1 !important; background:#202024 !important; border:1px solid #27272a !important; color:#fff !important; padding:14px 8px !important; border-radius:8px !important; cursor:pointer !important; font-size:12px !important; font-weight:600 !important; text-transform:none !important;}
    .rec-live-neon { border-color:#dc354544 !important; }
    .rec-live-neon::before { content:""; display:inline-block !important; width:6px !important; height:6px !important; background:#dc3545 !important; border-radius:50% !important; margin-right:6px !important; vertical-align:middle !important; }
    .mai-console-rack { background:#141416 !important; border:none !important; border-radius:12px !important; padding:24px 24px 0 24px !important; margin-bottom:20px !important; }
    .mai-presets-rack { display:grid !important; grid-template-columns:repeat(5,1fr) !important; gap:8px !important; }
    @media(max-width:640px){ .mai-presets-rack { grid-template-columns:repeat(3,1fr) !important; } }
    .mai-rack-btn { background:#202024 !important; border:1px solid #27272a !important; color:#a1a1aa !important; padding:12px 4px !important; border-radius:8px !important; font-size:11px !important; font-weight:600; cursor:pointer !important; text-transform:uppercase !important;}
    .mai-rack-btn.active, .mai-rack-btn:hover { border-color:#303741  !important; color:#fff !important; background:#303741  !important; }
    .mai-sliders-rack { background:#09090b !important; border:1px solid #1f1f23 !important; padding:20px !important; border-radius:8px !important; margin-top:15px !important; display:none !important; grid-template-columns:1fr 1fr !important; gap:16px !important; }
    .mai-sliders-rack.open { display:grid !important; }
    @media(max-width:600px){ .mai-sliders-rack.open { grid-template-columns:1fr !important; } }
    .mai-fader-cell { display:flex !important; flex-direction:column !important; gap:4px !important; color:#a1a1aa !important; font-size:11px !important; text-transform:uppercase; }
    .mai-fader-row { display:flex !important; align-items:center !important; gap:10px !important; }
    .mai-fader-row input[type=range] { flex:1 !important; accent-color:#dc3545 !important; cursor:pointer !important; height:4px !important; background:#27272a !important; border:none !important; }
    .mai-fader-row span { min-width:45px !important; text-align:right !important; font-family:monospace !important; color:#dc3545 !important; font-weight:700 !important; font-size:12px !important; }
    .mai-waveform-track-lane { width:100% !important; height:65px !important; background:#000 !important; border:1px solid #1f1f23 !important; border-radius:6px !important; margin-bottom:12px !important; overflow:hidden !important; }
    .mai-wave-indicator { font-size:11px !important; color:#a1a1aa !important; display:flex !important; justify-content:space-between !important; margin-bottom:4px !important; text-transform:uppercase; font-weight:600; }
    .mai-offset-fader { width:100% !important; accent-color:#dc3545 !important; cursor:pointer !important; margin-top:0 !important; margin-bottom:25px !important; }
    .mai-preview-btn { width:100% !important; background:#202024 !important; border:1px solid #202024 !important; color:#b6b9be  !important; padding:12px !important; border-radius:6px !important; font-weight:800 !important; cursor:pointer !important; text-transform:uppercase !important;}
    /* .mai-master-trigger-btn legacy rule removed */
    
    .mai-player-card { background:#141416 !important; border:4px solid #dc3545 !important; padding:25px !important; border-radius:16px !important; text-align:center !important; margin-top:20px !important; }
    .mai-daw-player { background:#09090b !important; border:1px solid #232329 !important; padding:20px !important; border-radius:12px !important; display:flex !important; align-items:center !important; gap:18px !important; margin:20px 0 !important; width:100% !important; box-sizing:border-box !important;}
    
    .mai-reset-btn { 
        background: #dc3545 !important; border: none !important; width: 44px !important; height: 44px !important; 
        border-radius: 50% !important; cursor: pointer !important; display: inline-flex !important; 
        align-items: center !important; justify-content: center !important; padding: 0 !important; 
        box-shadow: none !important; outline: none !important; line-height: 0 !important; transition: transform 0.1s !important;
    }
    .mai-reset-btn:hover { transform: scale(1.05) !important; background: #c82333 !important;}
    .mai-reset-btn svg { width: 22px !important; height: 22px !important; display: block !important; margin: 0 !important; padding: 0 !important;}
    
    .mai-timeline-block { flex-grow:1 !important; display:flex !important; flex-direction:column !important; gap:6px !important; }
    .mai-timer-row { display:flex !important; justify-content:space-between !important; font-size:10px !important; font-family:monospace !important; color:#71717a !important; }
    .mai-canvas-wrap { height:40px !important; width:100% !important; cursor:pointer !important; }
    .mai-canvas-wrap canvas { width:100% !important; height:40px !important; display:block !important; }
    
    /* SANCTUARISATION DOUBLE COUCHE DE L'ESPACE CLIENT */
    .siac-wrap { width: 100% !important; display: flex !important; flex-direction: column !important; gap: 20px !important; font-family: sans-serif !important; box-sizing: border-box !important; margin-top: 10px !important;}
    .siac-row { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 20px !important; width: 100% !important; box-sizing: border-box !important;}
    @media(max-width:768px) { .siac-row { grid-template-columns: 1fr !important; } }
    
    .siac-card { 
        background: #141416 !important; border: 1px solid #232329 !important; 
        padding:24px !important; display:flex !important; flex-direction:column !important; 
        justify-content:space-between !important; min-height:150px !important; box-sizing:border-box !important; 
        width: 100% !important; float: none !important; clear: both !important;
    }
    .siac-profil { display: flex !important; align-items: center !important; gap: 16px !important; width: 100% !important; text-align: left !important;}
    .siac-avatar { width: 48px !important; height: 48px !important; border-radius: 50% !important; background: #dc3545 !important; color: #fff !important; font-size: 16px !important; font-weight: 700 !important; display: flex !important; align-items: center !important; justify-content: center !important; margin: 0 !important;}
    .siac-username { color: #fff !important; font-weight: 700 !important; font-size: 18px !important; margin: 0 !important; line-height: 1.2 !important;}
    .siac-email { color: #71717a !important; font-size: 13px !important; margin: 4px 0 0 0 !important; font-family: sans-serif !important;}
    .siac-buttons-row { display: flex !important; gap: 10px !important; margin-top: 15px !important; width: 100% !important; justify-content: flex-start !important;}
    .siac-section-title { color: #71717a !important; font-size: 11px !important; font-weight: 700 !important; text-transform: uppercase !important; letter-spacing: 1px !important; margin: 0 0 10px 0 !important; text-align: left !important;}
    .siac-credits-count { display: flex !important; align-items: baseline !important; gap: 8px !important; margin-top: auto !important; justify-content: flex-start !important;}
    .siac-nb { color: #dc3545 !important; font-size: 38px !important; font-weight: 700 !important; font-family: monospace !important; }
    .siac-label { color: #a1a1aa !important; font-size: 13px !important; }
    .siac-credits-suffix { color:#52525b !important; font-size:12px !important; margin-left:6px !important; align-self:center !important; }
    .mai-dashboard-btn { flex:1 !important; padding:11px 16px !important; font-size:12px !important; border-radius:6px !important; text-decoration:none !important; display:inline-flex !important; align-items:center !important; gap:7px !important; font-weight:600 !important; cursor:pointer !important; justify-content:center !important; transition:all .15s !important; border:1px solid #2e2e35 !important; background:#202024 !important; color:#aaa !important; }
    .mai-dashboard-btn svg { flex-shrink:0 !important; opacity:.8 !important; }
    .mai-btn-session:hover { border-color:#22c55e !important; color:#22c55e !important; background:#0a1f12 !important; }
    .mai-btn-logout:hover  { border-color:#dc3545 !important; color:#fff !important; background:#1c0d0e !important; }
    /* Masquer le badge rouge natif du thème sur le bouton utilisateur */
    .sia-user-btn--in [class*="badge"], .sia-user-btn--in [class*="count"], .sia-user-btn--in [class*="notif"] { display:none !important; }

    
    .mai-logout-btn { padding: 11px 20px !important; font-size: 12px !important; background: #202024 !important; border: 1px solid #2e2e35 !important; border-radius: 6px !important; text-decoration: none !important; color: #aaa !important; display: inline-flex !important; align-items: center !important; gap: 6px !important; font-weight: 600 !important; cursor: pointer !important; text-transform: none !important; box-shadow: none !important;}
    .mai-logout-btn:hover { border-color:#dc3545 !important; color:#fff !important; background:#1c0d0e !important; }
    .mai-logout-btn .dashicons { font-size: 15px !important; width: 15px !important; height: 15px !important; color: #71717a !important; display: inline-block !important; }
    
    .mai-checkout-upsell { background:#141416 !important; border:1px solid #1f1f24 !important; padding:24px !important; width:100% !important; box-sizing:border-box !important;}
    .mai-checkout-upsell h3 { font-size:18px !important; color:#fff !important; text-transform: uppercase !important; letter-spacing:0.5px !important; margin:0 0 16px 0 !important; text-align:center !important;}
    .mai-checkout-grid { display:grid !important; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)) !important; gap:16px !important; margin-top:12px !important; width:100% !important; box-sizing:border-box !important;}
    .mai-pack-link { background:#141416 !important; border:1px solid #27272a !important; border-radius:10px !important; padding:24px 12px !important; display:flex !important; flex-direction:column !important; align-items:center !important; text-decoration:none !important; color:#fff !important; transition:all 0.2s ease-in-out !important; }
    .mai-pack-link:hover { border-color:#dc3545 !important; background:#19191d !important; transform:translateY(-2px) !important; }
    .mai-pack-price { font-size:24px !important; font-weight:800 !important; color:#dc3545 !important; margin:8px 0 !important; font-family:monospace !important; }
    .mai-pack-link small { color:#71717a !important; font-size:11px !important; font-weight:500 !important; }
    .mai-pack-link strong { font-size:14px !important; letter-spacing:0.5px !important; color:#fff !important;}

    /* ── ARCHIVES BLOC ──────────────────────────────────────── */
    .mai-archives-wrap { width:100% !important; margin-top:40px !important; box-sizing:border-box !important; }
    .mai-archives-header { display:flex !important; align-items:center !important; gap:12px !important; margin-bottom:16px !important; }
    .mai-archives-title { color:#fff !important; font-size:13px !important; font-weight:700 !important; text-transform:uppercase !important; letter-spacing:1px !important; }
    .mai-archives-badge { background:#0f172a !important; color:#3b82f6 !important; border:1px solid #1d4ed8 !important; font-size:10px !important; font-weight:700 !important; padding:3px 9px !important; border-radius:20px !important; text-transform:uppercase !important; letter-spacing:0.5px !important; }
    .mai-archives-empty { color:#52525b !important; font-size:13px !important; padding:24px !important; text-align:center !important; background:#0d0d0f !important; border:1px dashed #27272a !important; border-radius:8px !important; }
    .mai-archives-list { display:flex !important; flex-direction:column !important; gap:8px !important; }
    .mai-archive-item { background:none !important; border:1px solid #212129 !important; border-radius:10px !important; padding:14px 16px !important; display:flex !important; flex-direction:column !important; gap:10px !important; box-sizing:border-box !important; transition:border-color 0.15s !important; }
    .mai-archive-bottom-row { display:flex !important; align-items:center !important; gap:12px !important; }
    .mai-archive-meta { flex:1 !important; min-width:0 !important; }
    .mai-archive-actions { flex-shrink:0 !important; display:flex !important; gap:8px !important; align-items:center !important; }
    .mai-archive-item:hover { border-color:#3b82f644 !important; }
    .mai-archive-expired { opacity:0.4 !important; pointer-events:none !important; }
    .mai-archive-wave-wrap { width:100% !important; height:44px !important; }
    .mai-archive-canvas { width:100% !important; height:44px !important; display:block !important; border-radius:4px !important; cursor:crosshair !important; }
    .mai-archive-meta { display:flex !important; flex-direction:column !important; gap:5px !important; }
    .mai-archive-preset-badge { background:#1c0d0e !important; border:1px solid #dc354544 !important; color:#dc3545 !important; font-size:10px !important; font-weight:700 !important; padding:2px 8px !important; border-radius:4px !important; text-transform:uppercase !important; width:fit-content !important; }
    .mai-archive-date { color:#52525b !important; font-size:11px !important; font-family:monospace !important; }
    .mai-archive-expiry { color:#22c55e !important; font-size:10px !important; font-weight:600 !important; }
    .mai-archive-expiry.expired { color:#ef4444 !important; }
    /* Archive buttons (old rule — overridden by the new icon-only rules below) */

    /* ── FX RACK MODULES ─────────────────────────────────────── */
    .mai-rack-fx-section { margin-bottom:0 !important; }
    #mai-fx-rack-section { padding:24px !important; }
    .mai-console-rack { margin-bottom:0 !important; }
    .mai-board-grid { margin-bottom:0 !important; }
    .mai-rack-grid {
        display:grid !important;
        grid-template-columns:repeat(4,1fr) !important;
        gap:8px !important;
    }
    /* FX Rack : fermé par défaut — la classe remplace le style inline */
    #mai-fx-rack-content { display:none !important; }
    #mai-fx-rack-section.fx-rack-open #mai-fx-rack-content { display:grid !important; }
    @media(max-width:800px){ .mai-rack-grid { grid-template-columns:repeat(2,1fr) !important; } }
    @media(max-width:480px){ .mai-rack-grid { grid-template-columns:1fr 1fr !important; } }

    .mai-fx-module {
        background:#0a0a0c !important;
        border:1px solid transparent !important;
        border-radius:8px !important;
        padding:12px 10px !important;
        display:flex !important;
        flex-direction:column !important;
        gap:10px !important;
        transition:border-color .2s !important;
    }
    .mai-fx-module.fx-on { box-shadow: rgb(208 209 208 / 30%) 0px 0px 6px }

    .mai-fx-header {
        display:flex !important;
        align-items:center !important;
        gap:7px !important;
    }
    /* LED toggle button */
    .mai-fx-toggle {
        width:20px !important; height:20px !important;
        border-radius:50% !important;
        border:1.5px solid #333 !important;
        background:#111 !important;
        cursor:pointer !important;
        display:flex !important; align-items:center !important; justify-content:center !important;
        padding:0 !important; flex-shrink:0 !important;
        transition:border-color .15s !important;
    }
    .mai-led {
        width:7px !important; height:7px !important;
        border-radius:50% !important;
        background:#dc3545 !important;
        box-shadow:0 0 4px #dc354588 !important;
        transition:background .15s, box-shadow .15s !important;
        display:block !important;
    }
    .mai-fx-toggle.fx-on { border-color:var(--fx-color, #22c55e) !important; }
    .mai-fx-toggle.fx-on .mai-led {
        background:var(--fx-color, #22c55e) !important;
        box-shadow:0 0 7px var(--fx-color, #22c55e) !important;
    }
    .mai-fx-name {
        color:#52525b !important; font-size:10px !important;
        font-weight:700 !important; text-transform:uppercase !important;
        letter-spacing:.7px !important; flex:1 !important;
        transition:color .15s !important;
    }
    .mai-fx-module.fx-on .mai-fx-name { color:#a1a1aa !important; }
    .mai-fx-icon { color:#2e2e35 !important; transition:color .15s !important; }
    .mai-fx-module.fx-on .mai-fx-icon { color:var(--fx-color, #22c55e) !important; }

    .mai-fx-controls {
        display:flex !important; justify-content:center !important;
        gap:6px !important; flex-wrap:wrap !important;
    }

    /* ── KNOB POTENTIOMÈTRE ───────────────────────────────────── */
    .mai-rack-knob {
        display:flex !important; flex-direction:column !important;
        align-items:center !important; gap:3px !important;
        cursor:ns-resize !important; user-select:none !important;
        -webkit-user-select:none !important;
    }
    .mai-knob-svg { width:50px !important; height:50px !important; display:block !important; }
    .mai-knob-display {
        color:#dc3545 !important; font-size:9.5px !important;
        font-family:monospace !important; font-weight:700 !important;
        min-width:32px !important; text-align:center !important;
        transition:color .15s !important;
    }
    .mai-fx-module.fx-on .mai-knob-display { color:var(--fx-color, #22c55e) !important; }
    .mai-knob-label {
        color:#3f3f46 !important; font-size:8px !important;
        text-transform:uppercase !important; letter-spacing:.4px !important;
        text-align:center !important;
    }
    .mai-fx-module.fx-on .mai-knob-track { stroke:#1a2e1a !important; }
    .mai-fx-module.fx-on .mai-knob-arc   { stroke:var(--fx-color, #22c55e) !important; }

    /* Select gamme */
    .mai-fx-select-wrap {
        display:flex !important; flex-direction:column !important;
        align-items:center !important; gap:4px !important;
        justify-content:center !important;
    }
    .mai-fx-select {
        background:#111114 !important; border:1px solid #27272a !important;
        color:#d4d0d0 !important; font-size:9px !important;
        padding:4px 5px !important; border-radius:4px !important;
        cursor:pointer !important; max-width:80px !important;
    }
    .mai-fx-select option { background:#1a1a1c !important; color:#d4d0d0 !important; }


    /* ── BOARD CELL COMPACT LOADED STATE ─────────────────────── */
    .mai-board-cell { position:relative !important; }
    .mai-cell-default-content { display:flex !important; flex-direction:column !important; }
    .mai-cell-loaded-bar {
        display:none !important; align-items:center !important; justify-content:space-between !important;
        width:100% !important; gap:8px !important;
    }
    .mai-board-cell.mai-cell-loaded .mai-cell-loaded-bar { display:flex !important; }
    .mai-cell-loaded-right { display:flex !important; align-items:center !important; gap:8px !important; min-width:0 !important; flex:1 !important; justify-content:space-between !important; }
    .mai-cell-loaded-name { color:#71717a !important; font-size:11px !important; font-family:monospace !important; overflow:hidden !important; text-overflow:ellipsis !important; white-space:nowrap !important; max-width:140px !important; }
    .mai-cell-reset-btn {
        background:transparent !important; border:1px solid #dc354566 !important; color:#dc3545 !important;
        width:20px !important; height:20px !important; border-radius:50% !important;
        cursor:pointer !important; display:flex !important; align-items:center !important; justify-content:center !important;
        padding:0 !important; flex-shrink:0 !important; transition:all .15s !important;
    }
    .mai-cell-reset-btn:hover { background:#dc354522 !important; border-color:#dc3545 !important; }
    .mai-board-cell.mai-cell-loaded {
        background:#272727  !important; border-color:#232329 !important;
        padding:12px 16px !important; min-height:0 !important;
    }
    .mai-board-cell.mai-cell-loaded .mai-cell-loaded-name { color:#94949d !important; }
    .mai-board-cell.mai-cell-loaded .mai-cell-reset-btn { border-color:#94949d !important; color:#94949d !important; }
    .mai-board-cell.mai-cell-loaded .mai-cell-reset-btn:hover { background:#1c0d0e !important; border-color:#dc3545 !important; color:#a7a0a0  !important; }
    .mai-board-cell.mai-cell-loaded .mai-cell-default-content { display:none !important; }
    .mai-board-cell.mai-cell-loaded .mai-cell-loaded-bar { display:flex !important; }

    /* ── RECORD BUTTON ────────────────────────────────────────── */
    .mai-btn-rec-large {
        flex:1 !important; display:flex !important; flex-direction:column !important;
        align-items:center !important; justify-content:center !important; gap:4px !important;
        background:#1a0a0b !important; border:1.5px solid #dc354544 !important;
        border-radius:8px !important; cursor:pointer !important; padding:10px 8px !important;
        color:#dc3545 !important; font-size:10px !important; font-weight:700 !important;
        text-transform:uppercase !important; letter-spacing:0.5px !important;
        transition:border-color .2s, background .2s !important;
    }
    .mai-btn-rec-large:hover { border-color:#dc3545 !important; background:#220f10 !important; }
    .mai-rec-svg { color:#dc3545 !important; display:block !important; }

    .mai-btn-stop-large {
        flex:1 !important; display:flex !important; flex-direction:column !important;
        align-items:center !important; justify-content:center !important; gap:4px !important;
        background:#dc3545 !important; border:none !important;
        border-radius:8px !important; cursor:pointer !important; padding:10px 8px !important;
        color:#fff !important; font-size:12px !important; font-weight:700 !important;
        font-family:monospace !important;
    }
    .mai-stop-svg { color:#fff !important; display:block !important; }

    @keyframes mai-rec-pulse {
        0%   { transform:scale(1);   opacity:1; }
        50%  { transform:scale(1.25); opacity:0.7; }
        100% { transform:scale(1);   opacity:1; }
    }
    .mai-btn-stop-large .mai-stop-svg { animation: mai-rec-pulse 1s ease-in-out infinite !important; }

    /* ── VU METERS ────────────────────────────────────────────── */
    .mai-track-with-vu { display:flex !important; gap:8px !important; align-items:stretch !important; }
    .mai-track-with-vu .mai-waveform-track-lane { flex:1 !important; }
    .mai-vu-meter {
        width:14px !important; display:flex !important; flex-direction:column !important;
        align-items:center !important; gap:3px !important; flex-shrink:0 !important;
    }
    .mai-vu-bar-wrap {
        flex:1 !important; width:14px !important; background:#0d0d0f !important;
        border:1px solid #1f1f23 !important; border-radius:3px !important;
        overflow:hidden !important; display:flex !important; flex-direction:column !important; justify-content:flex-end !important;
    }
    .mai-vu-fill {
        width:100% !important; height:0%;
        background: linear-gradient(to top, #22c55e 0%, #eab308 70%, #ef4444 90%) !important;
        transition:height 80ms linear !important;
        border-radius:2px !important;
    }
    .mai-vu-label { color:#3f3f46 !important; font-size:7px !important; text-transform:uppercase !important; letter-spacing:.3px !important; }

    /* ── ARCHIVE TIME ROW ─────────────────────────────────────── */
    .mai-arch-time-row { display:flex !important; justify-content:space-between !important; align-items:center !important; margin-bottom:3px !important; }
    .mai-arch-cur-time  { color:#3b82f6 !important; font-size:10px !important; font-family:monospace !important; font-weight:700 !important; }
    .mai-arch-total-time { color:#3f3f46 !important; font-size:10px !important; font-family:monospace !important; }

    /* ── ARCHIVE BUTTONS ICON ONLY ────────────────────────────── */
    .mai-arch-play-btn {
        width:32px !important; height:32px !important;
        background:#09090b !important; border:1px solid #27272a !important; color:#fff !important;
        border-radius:6px !important; cursor:pointer !important;
        display:flex !important; align-items:center !important; justify-content:center !important;
        padding:0 !important; flex-shrink:0 !important;
        transition:border-color .15s, color .15s !important;
    }
    .mai-arch-play-btn:hover, .mai-arch-play-btn.playing { border-color:#22c55e !important; color:#22c55e !important; }
    .mai-arch-dl-btn {
        width:32px !important; height:32px !important;
        background:#aba3a3 !important; color:#0a0a0c !important;
        border-radius:6px !important; text-decoration:none !important;
        display:flex !important; align-items:center !important; justify-content:center !important;
        flex-shrink:0 !important; transition:background .15s !important;
    }
    .mai-arch-dl-btn:hover { background:#ffffff !important; color:#0a0a0c !important; }


    /* ── VOIX INPUT GRID ──────────────────────────────────────── */
    .mai-voix-input-grid { display:grid !important; grid-template-columns:1fr 1fr !important; gap:12px !important; margin-top:0 !important; }
    .mai-voix-upload-zone, .mai-btn-rec-zone { padding:20px 12px !important; min-height:100px !important; }
    .mai-btn-rec-zone { background:#0a0a0c !important; border:2px dashed #27272a !important; border-radius:8px !important; cursor:pointer !important; width:100% !important; transition:border-color .2s, background .2s !important; display:flex !important; flex-direction:column !important; align-items:center !important; justify-content:center !important; gap:6px !important; }
    .mai-btn-rec-zone:hover { border-color:#aba3a344 !important; }
    .mai-btn-rec-zone #mai-rec-svg { color:#6d6e6d  !important; transition:color .2s !important; }
    .mai-btn-rec-zone .mai-drag-text { color:#e6dddf  !important; font-weight:800 !important; text-transform:uppercase !important; letter-spacing:1px !important; }
    /* État enregistrement actif */
    .mai-btn-rec-zone.recording { background:#2d0a0a !important; border-color:#dc3545 !important; border-style:solid !important; }
    .mai-btn-rec-zone.recording #mai-rec-svg { color:#dc3545 !important; animation:mai-rec-pulse 1s ease-in-out infinite !important; }
    .mai-btn-rec-zone.recording .mai-drag-text { color:#dc3545 !important; }
    .mai-btn-rec-zone.recording #mai-rec-timer { display:block !important; color:#dc3545 !important; }

    /* ── FIX VU METER HEIGHT ──────────────────────────────────── */
    .mai-vu-meter { height:65px !important; }
    .mai-vu-bar-wrap { height:52px !important; flex:none !important; }

    /* ── KNOB COULEUR PAR DÉFAUT → #aba3a3 ───────────────────── */
    .mai-knob-arc   { stroke:#aba3a3 !important; }
    .mai-knob-display { color:#aba3a3 !important; }
    /* État actif : reprend la couleur de l'effet */
    .mai-fx-module.fx-on .mai-knob-arc   { stroke:var(--fx-color, #aba3a3) !important; }
    .mai-fx-module.fx-on .mai-knob-display { color:var(--fx-color, #aba3a3) !important; }

    /* ── CORE RACK ─────────────────────────────────────────────── */
    .mai-core-rack { margin-top:14px !important; }
    .mai-core-module { padding:10px 8px !important; }
    .mai-core-module .mai-fx-header { margin-bottom:6px !important; }

    /* ── SUBMIT BUTTON PREMIUM ────────────────────────────────── */
    .mai-master-trigger-btn {
        width:100% !important; padding:18px 30px !important; float: left !important;
        flex-direction:column !important; align-items:center !important; gap:0 !important;
        background:#b02828 !important;
        border:1px solid #202024  !important; border-radius:14px !important;
        color:#fff !important; font-size:15px !important; font-weight:800 !important;
        letter-spacing:3px !important; text-transform:uppercase !important;
        cursor:pointer !important; position:relative !important; overflow:hidden !important;
        transition:all 0.35s !important;
        box-shadow:0 0 40px rgba(171,163,163,.06) !important;
    }
    .mai-master-trigger-btn::before {
        content:"" !important; position:absolute !important; inset:0 !important;
        background:linear-gradient(105deg, transparent 30%, rgba(171,163,163,.07) 50%, transparent 70%) !important;
        transform:translateX(-100%) !important; transition:transform 0.6s !important;
    }
    .mai-master-trigger-btn:hover::before { transform:translateX(100%) !important; }
    .mai-master-trigger-btn:hover {
        background:#a91523 !important;
        border-color:#a91523 !important;
        box-shadow:0 0 50px rgba(169,21,35,.35), 0 8px 28px rgba(0,0,0,.5) !important;
        transform:translateY(-2px) !important;
        letter-spacing:4px !important;
    }
    .mai-master-trigger-btn:active { transform:translateY(0) !important; }
    .mai-master-trigger-btn svg { margin-right:8px !important; vertical-align:middle !important; opacity:.8 !important; }


    /* Archive share button */
    .mai-arch-share-btn {
        width:36px !important; height:36px !important;
        background:#09090b !important; border:1px solid #27272a !important; color:#aba3a3 !important;
        border-radius:6px !important; cursor:pointer !important;
        display:flex !important; align-items:center !important; justify-content:center !important;
        padding:0 !important; flex-shrink:0 !important;
        transition:border-color .15s, color .15s, background .15s !important;
        position:relative !important;
    }
    .mai-arch-share-btn:hover { border-color:#aba3a3 !important; color:#fff !important; background:#1a1a1c !important; }
    .mai-arch-share-btn.copied { border-color:#22c55e !important; color:#22c55e !important; }


    /* Rack effets supplementaires -- collapsible */
    .mai-fx-rack-header { cursor:pointer !important; user-select:none !important; }
    .mai-fx-rack-header:hover { color:#d4d0d0 !important; }
    .mai-fx-chevron-wrap { color:#52525b !important; transition:transform .2s !important; display:inline-flex !important; align-items:center !important; }
    .mai-fx-rack-header.open .mai-fx-chevron-wrap { transform:rotate(180deg) !important; }


    button#mai-submit-btn { display:block; width: 100% !important; text-align: center !important; border-radius: 10px !important; padding:17px 25px !important; }
    button#mai-submit-btn svg { width:54px !important; height:54px !important; }
    .mai-board-cell { padding:0 !important; }
    .mai-board-grid, #mai-daw-visualizer-rack { border-bottom:2px dashed #292727 !important; padding:20px 25px 25px 25px !important; }
    /* Slider + preview btn : même ligne sur desktop */
    @media(min-width:769px) {
        #mai-offset-slider-wrapper { display:flex !important; flex-wrap:wrap !important; align-items:center !important; gap:10px !important; }
        #mai-offset-slider-wrapper > div:first-child { flex:0 0 100% !important; }
        #mai-offset-slider { flex:3 !important; min-width:0 !important; }
        #mai-preview-sync-trigger { flex:1 !important; width:auto !important; min-width:0 !important; white-space:normal !important; }
        /* Bouton preview : flex interne pour icône + texte */
        #mai-preview-sync-trigger { display:flex !important; flex-direction:column !important; align-items:center !important; justify-content:center !important; gap:4px !important; padding:10px 8px !important; text-align:center !important; }
    }

    /* SVG animé du bouton Submit — pause par défaut, run pendant traitement */
    #mai-submit-icon .anim-beat-red,
    #mai-submit-icon .anim-structure {
        animation-play-state: paused !important;
    }
    #mai-submit-icon.animating .anim-beat-red,
    #mai-submit-icon.animating .anim-structure {
        animation-play-state: running !important;
    }
    #mai-submit-btn:disabled #mai-submit-icon .anim-beat-red,
    #mai-submit-btn:disabled #mai-submit-icon .anim-structure {
        animation-play-state: running !important;
    }

    /* ── Inputs Pseudo + Email ─────────────────────────────────── */
    .mai-text-input {
        width: 100% !important;
        background: #0a0a0c !important;
        border: 1px solid #27272a !important;
        border-radius: 8px !important;
        color: #e4e4e7 !important;
        font-size: 14px !important;
        padding: 18px 16px !important;
        box-sizing: border-box !important;
        outline: none !important;
        transition: border-color .2s !important;
        font-family: inherit !important;
        margin-bottom: 10px !important;
    }
    .mai-text-input::placeholder { color: #52525b !important; }
    .mai-text-input:focus {
        border-color: #dc3545 !important;
        box-shadow: 0 0 0 2px rgba(220,53,69,.15) !important;
    }

    /* ── Inputs row 50/50 avec icônes ──────────────────────────── */
    .mai-inputs-row {
        display: flex !important;
        gap: 12px !important;
        margin-bottom: 10px !important;
        padding: 0 25px !important;
        margin-top: 15px !important;
    }
    .mai-input-group {
        flex: 1 !important;
        position: relative !important;
    }
    .mai-input-icon {
        position: absolute !important;
        left: 12px !important;
        top: 50% !important;
        transform: translateY(-50%) !important;
        color: #52525b !important;
        pointer-events: none !important;
        display: flex !important;
        align-items: center !important;
    }
    .mai-input-group .mai-text-input {
        padding-left: 36px !important;
        margin-bottom: 0 !important;
    }
    @media(max-width:600px) {
        .mai-inputs-row { flex-direction: column !important; }
    }

    /* Couronne sur avatar bouton utilisateur — 2x blanc flat */
    .mai-ub-crown {
        position: absolute !important;
        top: -9px !important;
        right: -8px !important;
        width: 20px !important;
        height: 20px !important;
        pointer-events: none !important;
        filter: drop-shadow(0 0 3px rgba(255,255,255,.4)) !important;
    }
    .mai-ub-crown svg { display:block !important; }

    /* ── Bouton Lancer le mixage : centré, largeur définie ──────── */
    .mai-submit-wrap {
        padding: 0 25px !important;
        display: flex !important;
        justify-content: center !important;
        margin-bottom: 20px !important;
    }
    button#mai-submit-btn {
		align-items: left !important;
		text-align: center !important;
        width: 100% !important;
        align-self: center !important;
    }
    @media(max-width:768px) {
        button#mai-submit-btn { width: 100% !important; }
    }

    /* ── Émulation Micro ─────────────────────────────────────── */
    #mai-mic-emulation-rack { margin-bottom: 10px !important; }
    .mai-mic-grid {
        display: grid !important;
        grid-template-columns: repeat(4, 1fr) !important;
        gap: 8px !important;
        margin-top: 12px !important;
    }
    @media(max-width:600px) { .mai-mic-grid { grid-template-columns: repeat(2, 1fr) !important; } }
    .mai-mic-btn {
        background: #0a0a0c !important;
        border: 1px solid #27272a !important;
        border-radius: 8px !important;
        color: #71717a !important;
        padding: 12px 8px !important;
        cursor: pointer !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        gap: 4px !important;
        transition: all .15s !important;
        text-align: center !important;
    }
    .mai-mic-btn:hover { border-color: #52525b !important; color: #a1a1aa !important; }
    .mai-mic-btn.active {
        background: #303741  !important;
        color: #fff !important;
    }
    .mai-mic-icon { font-size: 18px !important; display: block !important; }
    .mai-mic-name { font-size: 13px !important; font-weight: 800 !important; letter-spacing: 0.5px !important; line-height: 1.2 !important; display: block !important; text-transform: uppercase !important;}
    .mai-mic-sub  { font-size: 12px !important; color: #52525b !important; display: block !important; }
    .mai-mic-btn.active .mai-mic-sub { color: #a1a1aa !important; }
    .mai-mic-tag  { font-size: 10px !important; background: #27272a !important; border-radius: 3px !important; padding: 2px 5px !important; letter-spacing: 0.5px !important; margin-top: 2px !important; display: block !important; }
    .mai-mic-btn.active .mai-mic-tag { background: #202024 !important; color: #787e82  !important; }
span#mai-submit-label {font-size: 0.9rem !important;}

    /* ── File meta info ─────────────────────────────────────── */
    .mai-file-meta { display:flex !important; gap:8px !important; flex-wrap:wrap !important; margin-top:4px !important; align-items:center !important; }
    .mai-meta-dur, .mai-meta-size { font-size:10px !important; color:#52525b !important; }
    .mai-meta-bpm { font-size:10px !important; color:#a78bfa !important; font-weight:700 !important; }
    .mai-clip-warn { font-size:10px !important; color:#ef4444 !important; font-weight:700 !important; animation: mai-pulse .8s infinite !important; }

    /* ── Auto-sync ───────────────────────────────────────────── */
    .mai-autosync-label { display:flex !important; align-items:center !important; gap:8px !important; font-size:12px !important; color:#a1a1aa !important; cursor:pointer !important; user-select:none !important; }
    .mai-autosync-label input { accent-color:#dc3545 !important; }

    /* ── Tempo-sync delay ────────────────────────────────────── */
    .mai-tempo-label { display:flex !important; align-items:center !important; gap:10px !important; font-size:11px !important; color:#71717a !important; margin-bottom:6px !important; }
    .mai-bpm-tag { background:#1a1a2e !important; color:#a78bfa !important; padding:2px 8px !important; border-radius:4px !important; font-size:10px !important; font-weight:700 !important; }
    .mai-tempo-btns { display:flex !important; gap:6px !important; flex-wrap:wrap !important; }
    .mai-tempo-btn { background:#0a0a0c !important; border:1px solid #27272a !important; border-radius:5px !important; color:#71717a !important; font-size:10px !important; padding:5px 10px !important; cursor:pointer !important; transition:all .12s !important; }
    .mai-tempo-btn:hover, .mai-tempo-btn.active { border-color:#dc3545 !important; color:#fff !important; background:#1a0406 !important; }
    .mai-tempo-btn--dot { border-style:dashed !important; }

    /* ── Export format ───────────────────────────────────────── */
    .mai-export-format {
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
        gap: 20px !important;
        padding: 6px 25px 10px 25px !important;
        margin-bottom: 4px !important;
    }
    .mai-fmt-label {
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
        gap: 8px !important;
        font-size: 12px !important;
        font-weight: 600 !important;
        color: #a1a1aa !important;
        cursor: pointer !important;
        user-select: none !important;
        padding: 8px 14px !important;
        border: 1px solid #303741 !important;
        border-radius: 6px !important;
        transition: all .15s !important;
        background: none !important;
        letter-spacing: .5px !important;
		margin-top:0 important;
    }
    .mai-fmt-label:has(input:checked) {
        border-color: #303741 !important;
        color: #fff !important;
        background: #303741 !important;
    }
    .mai-fmt-label input[type="radio"] {
        appearance: none !important;
        -webkit-appearance: none !important;
        width: 12px !important;
        height: 12px !important;
        border: 2px solid #52525b !important;
        border-radius: 50% !important;
        margin: 0 !important;
        padding: 0 !important;
        flex-shrink: 0 !important;
        cursor: pointer !important;
        transition: all .15s !important;
        position: relative !important;
    }
    .mai-fmt-label input[type="radio"]:checked {
        border-color: #dc3545 !important;
        background: #dc3545 !important;
    }

    /* ── Result meta (LUFS + BPM + format) ───────────────────── */
    .mai-result-meta { display:flex !important; gap:8px !important; padding:8px 25px !important; flex-wrap:wrap !important; }
    .mai-res-badge { background:#18181b !important; border:1px solid #27272a !important; border-radius:4px !important; padding:3px 10px !important; font-size:11px !important; font-weight:700 !important; color:#a1a1aa !important; }

    @keyframes mai-pulse { 0%,100%{opacity:1} 50%{opacity:.4} }

    /* ════════════════════════════════════════════════════════════
       SÉQUENCEUR v2 — Architecture fiable, canvas sans CSS size
       ════════════════════════════════════════════════════════════ */
    #mai-seq-root { background:#060608; border:1px solid #18181b; border-radius:10px; overflow:hidden; margin-bottom:20px; }

    /* Transport */
    .mai-tp { display:flex; align-items:center; justify-content:space-between; background:#0a0a0c; padding:7px 12px; border-bottom:1px solid #18181b; gap:8px; flex-wrap:wrap; }
    .mai-tp-l,.mai-tp-c,.mai-tp-r { display:flex; align-items:center; gap:5px; }
    .mai-tp-c { flex:1; justify-content:center; }
    .mai-tp-btn { background:#141416; border:1px solid #27272a; border-radius:4px; color:#a1a1aa; cursor:pointer; padding:4px 8px; font-size:12px; transition:all .1s; display:flex; align-items:center; gap:3px; }
    .mai-tp-btn:hover,.mai-tp-btn.on { border-color:#dc3545; color:#fff; background:#1a0406; }
    .mai-tp-play.on { border-color:#22c55e; background:#0a160a; }
    .mai-tp-time { font-family:monospace; font-size:12px; color:#e4e4e7; background:#0d0d0f; border:1px solid #27272a; border-radius:4px; padding:3px 8px; min-width:110px; text-align:center; }
    .mai-tp-bpm { background:#12122a; color:#a78bfa; padding:2px 8px; border-radius:4px; font-size:11px; font-weight:700; font-family:monospace; }
    .mai-tp-z { padding:4px 7px; font-size:13px; font-weight:700; }
    .mai-tp-add { padding:4px 10px; font-size:11px; }
    .mai-tp-zlbl { font-size:11px; color:#71717a; min-width:30px; text-align:center; }

    /* Corps séquenceur */
    .mai-seq-body { display:flex; height:auto; overflow:hidden; }
    .mai-seq-hdr-col { width:175px; min-width:175px; background:#0d0d0f; border-right:1px solid #18181b; flex-shrink:0; overflow-y:hidden; }
    .mai-seq-corner { background:#060608; border-bottom:1px solid #18181b; display:flex; align-items:center; padding:0 8px; }
    .mai-seq-scroll { flex:1; overflow-x:auto; overflow-y:hidden; position:relative; }
    .mai-seq-inner { position:relative; display:inline-block; min-width:100%; }
    .mai-seq-ruler-cv { display:block; }
    .mai-seq-lanes-wrap { position:relative; width:100%; }
    .mai-seq-ph { position:absolute; top:0; left:0; width:2px; background:#dc3545; pointer-events:none; z-index:10; box-shadow:0 0 6px #dc354566; }

    /* Header de piste */
    .mai-seq-hdr { height:72px; border-bottom:1px solid #18181b; padding:4px 8px; display:flex; flex-direction:column; justify-content:center; gap:3px; }
    .mseq-hdr-top { display:flex; align-items:center; gap:5px; }
    .mseq-badge { font-size:7px; font-weight:900; letter-spacing:1px; padding:2px 4px; border-radius:2px; color:#fff; opacity:.8; flex-shrink:0; }
    .mseq-name { font-size:11px; font-weight:600; color:#e4e4e7; flex:1; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; cursor:default; }
    .mseq-del { background:none; border:none; color:#52525b; cursor:pointer; font-size:11px; padding:0 2px; }
    .mseq-del:hover { color:#ef4444; }
    .mseq-hdr-btns { display:flex; align-items:center; gap:4px; }
    .mseq-btn { font-size:10px; font-weight:700; padding:2px 5px; border:1px solid #27272a; border-radius:3px; background:#0a0a0c; color:#71717a; cursor:pointer; transition:all .1s; }
    .mseq-btn:hover { border-color:#52525b; color:#a1a1aa; }
    .mseq-m.on { background:#1a0406; border-color:#dc3545; color:#dc3545; }
    .mseq-s.on { background:#1a1a04; border-color:#f59e0b; color:#f59e0b; }
    .mseq-vol { display:flex; align-items:center; gap:3px; flex:1; }
    .mseq-fdr { flex:1; height:3px; accent-color:#dc3545; cursor:pointer; }
    .mseq-vol-lbl { font-size:9px; color:#52525b; min-width:26px; }
    .mseq-hdr-file { display:flex; gap:4px; margin-top:2px; }
    .mseq-uplbl { display:flex; align-items:center; gap:3px; font-size:9px; color:#71717a; background:#141416; border:1px solid #27272a; border-radius:3px; padding:2px 5px; cursor:pointer; transition:color .1s; }
    .mseq-uplbl:hover { color:#fff; }
    .mseq-recbtn { font-size:9px; padding:2px 5px; border:1px solid #27272a; border-radius:3px; background:#0a0a0c; color:#71717a; cursor:pointer; transition:all .1s; }
    .mseq-recbtn.on { border-color:#ef4444; color:#ef4444; }

    /* Lane */
    .mseq-lane { height:72px; border-bottom:1px solid #18181b; position:relative; overflow:visible; }
    .mseq-vu { position:absolute; left:0; top:6px; width:6px; height:60px; background:#0d0d0f; display:flex; align-items:flex-end; overflow:hidden; z-index:2; }
    .mseq-cv { cursor:grab; border-radius:3px; }
    .mseq-cv:active { cursor:grabbing; }
    .mseq-off-lbl { position:absolute; bottom:2px; font-size:8px; font-family:monospace; color:rgba(255,255,255,.4); pointer-events:none; z-index:5; }

    /* Autosync / tempo */
    .mai-seq-asw { display:flex; align-items:center; gap:12px; flex-wrap:wrap; padding:7px 12px; background:#0d0d0f; border-top:1px solid #18181b; }

    @media(max-width:600px) {
        .mai-seq-hdr-col { width:130px; min-width:130px; }
        .mseq-name { font-size:10px; }
    }

    /* ── Play/Stop transport buttons ──────────────────────────── */
    .mai-tp-play {
        background: #dc3545 !important;
        border-color: #dc3545 !important;
        border-radius: 50% !important;
        width: 38px !important;
        height: 38px !important;
        padding: 0 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
    }
    .mai-tp-play:hover { background: #b91c2c !important; border-color: #b91c2c !important; }
    .mai-tp-play.on { background: #16a34a !important; border-color: #16a34a !important; }
    .mai-tp-stop {
        background: #1c1c1f !important;
        border-color: #27272a !important;
        border-radius: 6px !important;
        width: 30px !important;
        height: 30px !important;
        padding: 0 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
    }
    .mai-tp-stop:hover { border-color: #dc3545 !important; }

    /* ── Icônes note musique / micro dans loaded bar ──────────── */
    .mai-cell-loaded-right svg:first-child { opacity: .9; }

    /* ── Badge tonalité détectée ──────────────────────────────── */
    .mai-key-badge {
        display:inline-flex; align-items:center; gap:4px;
        background:#1a1a2e; color:#a78bfa;
        border:1px solid #3b1f6e; border-radius:4px;
        padding:2px 8px; font-size:10px; font-weight:700;
        letter-spacing:.5px; margin-top:4px; cursor:default;
        animation: mai-key-pop .3s ease;
    }
    @keyframes mai-key-pop { from{transform:scale(.8);opacity:0} to{transform:scale(1);opacity:1} }

    /* ── Valeur ms sous les boutons tempo ─────────────────────── */
    .mai-tempo-ms {
        display:block; font-size:9px; color:#52525b;
        font-family:monospace; margin-top:2px;
        transition:color .2s;
    }
    .mai-tempo-btn.active .mai-tempo-ms { color:#dc3545; font-weight:700; }
    .mai-tempo-btn { display:flex; flex-direction:column; align-items:center; }

    /* ── Transport center + right — plus grand ─────────────────── */
    .mai-tp-c .mai-tp-bpm { font-size:13px !important; padding:4px 12px !important; }
    .mai-tp-c .mai-tp-btn { padding:6px 12px !important; font-size:12px !important; }
    .mai-tp-r .mai-tp-btn, .mai-tp-r .mai-zoom-btn { padding:6px 11px !important; font-size:12px !important; min-height:32px !important; }
    .mai-tp-r .mai-tp-add { font-size:11px !important; padding:6px 14px !important; }
    .mai-tp-r .mai-zoom-label { font-size:12px !important; }
    .mai-transport-c { gap:8px !important; }
    .mai-transport-r { gap:6px !important; }

    /* ── Dashboard — historique commandes ──────────────────────── */
    .siac-orders { margin-top:12px; border-top:1px solid #27272a; padding-top:10px; }
    .siac-orders-title { font-size:10px; color:#52525b; text-transform:uppercase; letter-spacing:.5px; margin-bottom:8px; }
    .siac-order-row { display:flex; align-items:center; gap:8px; padding:4px 0; border-bottom:1px solid #1c1c1f; }
    .siac-order-date { font-size:10px; color:#52525b; flex-shrink:0; font-family:monospace; }
    .siac-order-pack { font-size:11px; color:#a1a1aa; flex:1; }
    .siac-order-cr   { font-size:11px; color:#22c55e; font-weight:700; flex-shrink:0; }

    /* ── Player card — titre aperçu traitement ────────────────── */
    .mai-player-title {
        display: flex !important;
        align-items: center !important;
        gap: 6px !important;
        font-size: 14px !important;
        font-weight: 700 !important;
        color: #e4e4e7 !important;
        margin: 0 0 14px !important;
        letter-spacing: .3px !important;
    }
    .mai-player-title--ready { color: #22c55e !important; }
    .mai-player-title span:not(.mai-preview-badge) { flex: 1 !important; }
    .mai-preview-badge {
        background: #27272a !important;
        color: #a1a1aa !important;
        font-size: 10px !important;
        font-weight: 600 !important;
        padding: 2px 7px !important;
        border-radius: 20px !important;
        letter-spacing: .5px !important;
    }

    /* ═══════════════════════════════════════════════════════════
       MODALE ENREGISTREMENT — Bobines vintage
       ═══════════════════════════════════════════════════════════ */
    .mai-rec-modal {
        display:none; position:fixed; inset:0; z-index:1000000;
        align-items:center; justify-content:center;
    }
    .mai-rec-modal.visible .mai-rec-box { transform:translateY(0) scale(1); opacity:1; }
    .mai-rec-overlay {
        position:absolute; inset:0;
        background:rgba(0,0,0,.82); backdrop-filter:blur(8px);
    }
    .mai-rec-box {
        position:relative; z-index:1;
        background:#0d0c0a;
        border:1px solid #3a2a10;
        border-radius:16px;
        width:min(560px, 96vw);
        box-shadow:0 24px 80px rgba(0,0,0,.8), 0 0 0 1px #5a4020 inset;
        transform:translateY(20px) scale(.97); opacity:0;
        transition:transform .28s cubic-bezier(.34,1.56,.64,1), opacity .22s ease;
    }

    /* Header */
    .mai-rec-header {
        display:flex; align-items:center; justify-content:space-between;
        padding:12px 16px; border-bottom:1px solid #1c1810;
    }
    .mai-rec-header-left { display:flex; align-items:center; gap:8px; }
    .mai-rec-dot {
        width:9px; height:9px; border-radius:50%;
        background:#444; border:1px solid #666;
        transition:background .2s;
    }
    .mai-rec-dot.recording { background:#dc3545; box-shadow:0 0 6px #dc354588; animation:rec-blink .7s ease infinite; }
    @keyframes rec-blink { 0%,100%{opacity:1} 50%{opacity:.4} }
    .mai-rec-header-title { font-size:19px !important; font-weight:700 !important; color:#e4e4e7; letter-spacing:1px; font-family:monospace; text-transform:uppercase; }
    .mai-rec-close-btn {
        background:none; border:none; color:#52525b; cursor:pointer;
        padding:4px; border-radius:4px; transition:color .1s; display:flex;
    }
    .mai-rec-close-btn:hover { color:#e4e4e7; }

    /* Corps */
    .mai-rec-body {
        display:flex; align-items:center; gap:0;
        padding:16px 12px 12px;
    }

    /* VU-mètre */
    .mai-rec-vu-panel {
        display:flex; flex-direction:column; align-items:center;
        gap:6px; width:48px; flex-shrink:0;
    }
    .mai-rec-panel-lbl { font-size:10px !important; font-weight:800; color:#71717a; letter-spacing:1px; font-family:monospace; text-transform:uppercase; margin-top:18px; display:block; }
    .mai-rec-vu-track {
        position:relative; width:20px;
        height:160px; background:#0a0a0a;
        border:1px solid #27272a; border-radius:3px;
        overflow:hidden; padding:3px;
    }
    .mai-rec-vu-seg-wrap {
        display:flex; flex-direction:column; gap:2px; height:100%;
        justify-content:flex-end;
    }
    .mai-vu-seg {
        width:100%; height:5px; border-radius:1px;
        background:#1a1a1a; transition:background .04s;
        flex-shrink:0;
    }
    .mai-vu-seg--green.active  { background:#22c55e; box-shadow:0 0 3px #22c55e66; }
    .mai-vu-seg--yellow.active { background:#eab308; box-shadow:0 0 3px #eab30866; }
    .mai-vu-seg--red.active    { background:#ef4444; box-shadow:0 0 4px #ef444488; }

    /* Bobines */
    .mai-rec-reel-panel { flex:1; display:flex; justify-content:center; align-items:center; }
    .mai-rec-reel-svg { width:100%; max-width:360px; height:auto; display:block; filter:drop-shadow(0 4px 12px rgba(0,0,0,.6)); }

    /* Potentiomètre */
    .mai-rec-gain-panel {
        display:flex; flex-direction:column; align-items:center;
        gap:6px; width:80px; flex-shrink:0;
    }
    .mai-rec-knob-wrap {
        position:relative; cursor:ns-resize; user-select:none;
        width:68px; height:68px;
    }
    .mai-rec-knob-svg { display:block; width:100%; height:100%; }
    .mai-rec-knob-value {
        position:absolute; bottom:-25px; left:50%;
        transform:translateX(-50%);
        font-size:18px !important; font-weight:800; color:#e4e4e7; font-family:monospace;
        white-space:nowrap; letter-spacing:1px;
    }

    /* Footer */
    .mai-rec-footer {
        display:flex; align-items:center; justify-content:space-between;
        padding:10px 16px 14px;
        border-top:1px solid #1c1810;
    }
    .mai-rec-time-wrap { display:flex; align-items:center; gap:6px; }
    .mai-rec-modal-timer { font-family:monospace; font-size:20px; font-weight:700; color:#e4e4e7; letter-spacing:2px; }
    .mai-rec-stop-btn {
        display:flex; align-items:center; gap:6px;
        background:#dc3545; border:none; color:#fff;
        border-radius:8px; padding:9px 18px;
        font-size:13px; font-weight:700; cursor:pointer;
        transition:background .12s; letter-spacing:.5px;
    }
    .mai-rec-stop-btn:hover { background:#b91c2c; }

    /* Mobile */
    @media(max-width:500px) {
        .mai-rec-gain-panel { display:none; }
        .mai-rec-vu-panel { width:36px; }
        .mai-rec-modal-timer { font-size:16px; }
    }

    /* ── Banner erreur checkout ──────────────────────────────── */
    .siac-error-banner {
        background:#1a0606; border:1px solid #7f1d1d; border-radius:8px;
        color:#fca5a5; font-size:13px; padding:12px 16px;
        margin-bottom:16px; display:flex; align-items:center; gap:8px;
    }

    /* ── Bloc statut PRO ─────────────────────────────────────── */
    .siac-pro-card { background:#0d1117; border:1px solid #7c3aed; border-radius:10px; padding:16px; margin-bottom:16px; }
    .siac-pro-header { display:flex; align-items:center; gap:10px; margin-bottom:12px; }
    .siac-pro-badge { background:linear-gradient(135deg,#7c3aed,#a855f7); color:#fff; font-size:12px; font-weight:800; padding:4px 12px; border-radius:20px; letter-spacing:.5px; }
    .siac-pro-active-badge { background:#14532d; color:#4ade80; font-size:10px; font-weight:700; padding:3px 8px; border-radius:10px; }
    .siac-pro-cancel-badge { background:#1c1408; color:#f59e0b; font-size:10px; font-weight:700; padding:3px 8px; border-radius:10px; }
    .siac-pro-details { margin-bottom:12px; }
    .siac-pro-row { display:flex; justify-content:space-between; align-items:center; padding:5px 0; border-bottom:1px solid #1c1c1f; font-size:12px; }
    .siac-pro-lbl { color:#71717a; }
    .siac-pro-val { color:#e4e4e7; font-weight:600; }
    .siac-pro-val em { color:#71717a; font-style:normal; }
    .siac-cancel-btn { background:none; border:1px solid #52525b; color:#71717a; font-size:11px; padding:6px 12px; border-radius:6px; cursor:pointer; transition:all .15s; }
    .siac-cancel-btn:hover { border-color:#ef4444; color:#ef4444; }
    .siac-cancel-note { font-size:11px; color:#52525b; margin-top:8px; }
    .siac-cancel-note--warn { color:#f59e0b; }

    /* ── Indicateur CLIP ────────────────────────────────────── */
    .mai-rec-clip-led {
        width:100%; height:6px;
        background:#1a1a1a; border:1px solid #27272a; border-radius:2px;
        margin-bottom:4px; transition:background .04s, box-shadow .04s;
    }
    .mai-rec-clip-led.clip-active {
        background:#ef4444;
        box-shadow:0 0 6px #ef4444aa; border-color:#ef4444;
    }

    /* ── Cercle rouge timer (remplace horloge) ────────────────── */
    .mai-rec-dot-circle {
        width:20px; height:20px; border-radius:50%;
        background:#3a3a3a; border:2px solid #52525b; flex-shrink:0;
        transition:all .2s;
    }
    .mai-rec-dot-circle.recording {
        background:#dc3545; border-color:#dc3545;
        box-shadow:0 0 10px #dc354577; animation:rec-blink .7s ease infinite;
    }

    /* ── Bouton REC vintage ────────────────────────────────────── */
    .mai-rec-start-btn {
        position:relative; width:72px; height:72px;
        background:none; border:none; cursor:pointer; padding:0;
        display:flex; align-items:center; justify-content:center;
        flex-shrink:0;
    }
    .mai-rec-start-ring {
        position:absolute; inset:0; border-radius:50%;
        border:3px solid #3a3a3a; background:#111;
        box-shadow:0 2px 8px rgba(0,0,0,.6), inset 0 1px 0 rgba(255,255,255,.05);
        transition:all .15s;
    }
    .mai-rec-start-inner {
        position:relative; display:flex; flex-direction:column;
        align-items:center; justify-content:center; gap:2px;
        width:56px; height:56px; border-radius:50%;
        background:radial-gradient(circle at 38% 35%, #c0392b, #7b0000);
        box-shadow:0 2px 6px rgba(0,0,0,.5), inset 0 1px 0 rgba(255,255,255,.15);
        color:#fff; transition:all .15s;
    }
    .mai-rec-start-label { font-size:10px; font-weight:900; letter-spacing:2px; font-family:monospace; }
    .mai-rec-start-btn:hover .mai-rec-start-inner {
        background:radial-gradient(circle at 38% 35%, #e74c3c, #9b1010);
        box-shadow:0 0 16px rgba(220,53,69,.5), inset 0 1px 0 rgba(255,255,255,.2);
    }
    .mai-rec-start-btn.active .mai-rec-start-inner {
        background:radial-gradient(circle at 38% 35%, #ff6b6b, #cc0000);
        box-shadow:0 0 24px rgba(255,50,50,.8), inset 0 1px 0 rgba(255,255,255,.25);
        animation:rec-pulse-btn .6s ease infinite;
    }
    .mai-rec-start-btn.active .mai-rec-start-ring { border-color:#dc3545; box-shadow:0 0 12px rgba(220,53,69,.4); }
    .mai-rec-start-btn:disabled, .mai-rec-start-btn.disabled { opacity:.35; cursor:not-allowed; }
    @keyframes rec-pulse-btn { 0%,100%{box-shadow:0 0 20px rgba(255,50,50,.7)} 50%{box-shadow:0 0 36px rgba(255,50,50,1)} }

    /* ── Switch micro vintage ──────────────────────────────────── */
    .mai-mic-switch-wrap {
        display:flex; align-items:center; justify-content:center;
        gap:8px; padding:6px 12px;
        background:#2f2f2f; border:1px solid #444; border-radius:20px;
    }
    .mai-mic-sw-lbl { font-size:10px; font-family:monospace; color:#b1a3a3; text-align:center; letter-spacing:.5px; line-height:1.2; text-transform:uppercase; }
    .mai-mic-switch { background:none; border:none; padding:0; cursor:pointer; display:flex; align-items:center; }
    .mai-mic-switch-groove {
        width:44px; height:22px; background:#1c1c1c; border:2px solid #333;
        border-radius:11px; position:relative; display:block; transition:background .2s;
        box-shadow:inset 0 2px 4px rgba(0,0,0,.5);
    }
    .mai-mic-switch-knob {
        position:absolute; top:2px; left:2px; width:14px; height:14px;
        background:linear-gradient(135deg, #ab641b, #9d5812); border-radius:50%;
        transition:transform .2s; box-shadow:0 1px 3px rgba(0,0,0,.6);
    }
    .mai-mic-switch.studio .mai-mic-switch-groove { background:#1a1a2a; border-color:#1e3a5f; }
    .mai-mic-switch.studio .mai-mic-switch-knob { transform:translateX(22px); background:linear-gradient(135deg, #ab641b, #9d5812); }

    /* Layout footer avec REC centré */
    .mai-rec-footer { justify-content:space-between; align-items:center; }

    /* ── Image de fond modale ────────────────────────────────── */
    .mai-rec-bg {
        position:absolute; inset:0;
        background:url('https://spitforge.com/wp-content/uploads/2026/06/icon-trnasparente.png') no-repeat center / 200px auto;
        opacity:0.35;
        pointer-events:none;
        z-index:0;
    }
    .mai-rec-header,.mai-rec-body,.mai-rec-footer { position:relative; z-index:1; }

    /* ── .mai-player-title ────────────────────────────────────── */
    .mai-player-title { font-size:2rem !important; font-weight:800 !important; color:#cbc7c7 !important; }

    /* ── Pack link strong ─────────────────────────────────────── */
    .mai-pack-link strong { text-transform:uppercase !important; font-size:14px !important; color:#cbc7c7 !important; }

    /* ── Record button hover ──────────────────────────────────── */
    button#mai-btn-rec:hover { border-color:#dc3545 !important; }

    /* ── Wrapper séquenceur ───────────────────────────────── */
    .mai-seq-wrapper { padding:0 25px; }

    /* ── Header séquenceur simplifié ─────────────────────── */
    .mseq-hdr-btns { display:none !important; }     /* S, M, fader masqués */
    .mseq-name     { display:none !important; }     /* noms de piste masqués */
    .mseq-hdr-top  { justify-content:center; gap:4px; }
    .mseq-badge    { width:8px; height:8px; border-radius:50%; padding:0; font-size:0; flex-shrink:0; }
    /* ── Archive items ───────────────────────────────────── */
    .mai-archive-item { background:#000000cc !important; border:1px solid #5d5d5d5c !important; }

    /* ── Dashboard 3 colonnes ────────────────────────────────── */
    .siac-row { grid-template-columns: 1fr 1fr 1fr !important; }
    .siac-card--profile { }
    .siac-card--credits { }
    .siac-card--orders  { }
    .siac-orders-list   { margin-top:8px; }
    .siac-orders-empty  { font-size:12px; color:#52525b; margin-top:8px; }
    .siac-order-pro     { color:#a78bfa !important; }
    .siac-pro-mini      { margin-top:14px; border-top:1px solid #27272a; padding-top:12px; }
    @media(max-width:720px) {
        .siac-row { grid-template-columns: 1fr !important; }
    }

    /* ── Séquenceur nouveaux boutons ─────────────────────────── */
    .mai-tp-snap   { font-size:10px !important; min-width:52px; letter-spacing:.3px; }
    .mai-tp-region { font-size:10px !important; font-weight:700; min-width:26px; }
    .mai-tp-btn.on { background:#7c3aed !important; color:#fff !important; }
    .mai-tp-region.on { background:#a855f7 !important; }

    /* Indicateur peak/RMS sous la waveform — via canvas, pas CSS */
    /* Fondu entrée/sortie — via canvas */

    /* ════════════════════════════════════════════════════════════
       MODALE RECORD — MOBILE (≤ 620px)
       ════════════════════════════════════════════════════════════ */
    @media (max-width: 620px) {
        /* Box plein écran */
        .mai-rec-modal { align-items: stretch; }
        .mai-rec-box {
            width: 100% !important; height: 100% !important;
            border-radius: 0 !important; border: none !important;
            box-shadow: none !important;
            display: flex; flex-direction: column;
            transform: none !important; opacity: 1 !important;
        }
        .mai-rec-modal.visible .mai-rec-box { transform: none !important; }

        /* Titre */
        .mai-rec-header {
            justify-content: center; text-align: center;
            padding: 14px 16px;
        }
        .mai-rec-header-left { flex: 1; justify-content: center; }
        .mai-rec-close-btn   { position: absolute; right: 12px; top: 14px; }

        /* Corps */
        .mai-rec-body {
            flex-direction: column; align-items: center;
            padding: 8px 0; flex: 1; justify-content: center;
        }

        /* VU masqué */
        .mai-rec-vu-panel { display: none !important; }
        /* Gain mobile visible */
        .mai-rec-gain-mobile { display: flex !important; }

        /* Bobines pleine largeur */
        .mai-rec-reel-panel { width: 100%; padding: 0 8px; order: 1; }
        .mai-rec-reel-svg   { max-width: 100%; }

        /* Gain desktop caché sur mobile */
        .mai-rec-gain-desktop { display: none !important; }
        /* Gain mobile visible */
        .mai-rec-gain-mobile { display: flex !important; }

        /* Footer : une seule rangée [GAIN] [⏱ 0:00] [● REC] */
        .mai-rec-footer {
            flex-direction: column; padding: 10px 16px 14px;
            align-items: center; gap: 10px; justify-content: flex-start;
        }
        /* Rangée contrôles */
        .mai-rec-footer-controls {
            display: flex; align-items: center;
            justify-content: center; gap: 16px; width: 100%;
        }
        /* Gain inline compact */
        .mai-rec-gain-mobile {
            display: flex !important; flex-direction: column;
            align-items: center; gap: 4px;
        }
        .mai-rec-gain-mobile .mai-rec-knob-wrap { width: 48px; height: 48px; }
        .mai-rec-gain-mobile .mai-rec-panel-lbl { font-size: 8px !important; margin-top: 4px !important; }
        .mai-rec-gain-mobile .mai-rec-knob-value { font-size: 10px !important; }

        /* Switch centré en dessous */
        .mai-mic-switch-wrap {
            justify-content: center; width: 100%;
            border-radius: 20px; padding: 6px 20px;
        }

        /* Timer + REC compacts */
        .mai-rec-modal-timer { font-size: 26px !important; }
        .mai-rec-start-btn   { width: 68px; height: 68px; }
    }

    /* ── Switch couleurs : Tél=bleu, Studio=orange ───────────── */
    .mai-mic-switch-knob {
        background: linear-gradient(135deg, #2563eb, #1d4ed8) !important;
    }
    .mai-mic-switch.studio .mai-mic-switch-groove { background: #1a2a1a; border-color: #7c4a00; }
    .mai-mic-switch.studio .mai-mic-switch-knob {
        transform: translateX(22px);
        background: linear-gradient(135deg, #f97316, #ea580c) !important;
    }

    /* ════════════════════════════════════════════════════════════
       MODALE RECORD — DESKTOP : [GAIN gauche] [REC centre] [SWITCH droite]
       Timer seul sous le magnétophone
       ════════════════════════════════════════════════════════════ */

    /* Footer desktop : 3 zones */
    .mai-rec-footer {
        display: flex; flex-direction: row;
        align-items: center; justify-content: space-between;
        padding: 12px 20px; gap: 12px;
    }
    /* Gain desktop visible, gain mobile caché par défaut */
    .mai-rec-gain-desktop { display: flex; flex-direction: column; align-items: center; }
    .mai-rec-gain-panel-inner { display: flex; flex-direction: column; align-items: center; }
    .mai-rec-footer-center {
        display: flex; flex-direction: column;
        align-items: center; gap: 8px; flex: 0 0 auto;
    }
    /* Gain mobile : caché sur desktop */
    .mai-rec-gain-mobile { display: none !important; }

    /* Timer : seul sous le SVG dans le reel panel */
    .mai-rec-reel-panel { display: flex; flex-direction: column; align-items: center; }
    .mai-rec-reel-panel .mai-rec-time-wrap {
        margin-top: 10px; justify-content: center;
    }
    .mai-rec-reel-panel .mai-rec-time-wrap .mai-rec-modal-timer { font-size: 22px; }

    /* Dot-circle dans le time-wrap du reel */
    .mai-rec-reel-panel .mai-rec-dot-circle { flex-shrink: 0; }

    /* ── Ajustements padding ─────────────────────────────────── */
    .mai-console-rack  { padding: 0 !important; }
    .mai-export-format { padding: 6px 0 10px 0 !important; }
    .mai-submit-wrap   { padding: 0 !important; }

    /* ── Switcher WAV / MP3 ──────────────────────────────────── */
    .mai-fmt-switcher {
        display: flex; background: #111; border-radius: 8px;
        padding: 3px; gap: 2px; border: 1px solid #27272a;
    }
    .mai-fmt-btn {
        flex: 1; padding: 8px 18px; border: none; border-radius: 6px;
        background: transparent; color: #52525b;
        font-size: 12px; font-weight: 700; letter-spacing: .5px;
        cursor: pointer; transition: all .15s; font-family: monospace;
        text-transform: uppercase;
    }
    .mai-fmt-btn:hover { color: #a1a1aa; }
    .mai-fmt-btn.active[data-fmt="wav"] {
        background: #2563eb; color: #fff;
        box-shadow: 0 1px 6px rgba(37,99,235,.45);
    }
    .mai-fmt-btn.active[data-fmt="mp3"] {
        background: #f97316; color: #fff;
        box-shadow: 0 1px 6px rgba(249,115,22,.45);
    }

    /* ── Dashboard boutons ───────────────────────────────────── */
    .mai-dashboard-btn { background: #202024 !important; }

    /* ── Switch vintage export WAV/MP3 ──────────────────────── */
    .mai-fmt-vintage-wrap {
        display: flex; align-items: center; justify-content: center;
        gap: 10px; padding: 6px 14px;
        background: #303741; border: 1px solid #444; border-radius: 20px;
        width: fit-content; margin: 0 auto;
    }
    .mai-fmt-lbl { font-size: 14px; font-family: monospace; color: #b1a3a3; letter-spacing: .5px; text-transform: uppercase; white-space: nowrap; }
    .mai-fmt-vintage-sw { background: none; border: none; padding: 0; cursor: pointer; display: flex; align-items: center; }
    .mai-fmt-sw-groove {
        width: 44px; height: 22px; background: #1a1a2a; border: 2px solid #1e3a5f;
        border-radius: 11px; position: relative; display: block;
        transition: background .2s, border-color .2s;
        box-shadow: inset 0 2px 4px rgba(0,0,0,.5);
    }
    .mai-fmt-sw-knob {
        position: absolute; top: 2px; left: 2px; width: 14px; height: 14px;
        background: linear-gradient(135deg, #2563eb, #1d4ed8);
        border-radius: 50%; transition: transform .2s; box-shadow: 0 1px 3px rgba(0,0,0,.6);
    }
    .mai-fmt-vintage-sw.mp3-active .mai-fmt-sw-groove { background: #1a1200; border-color: #7c4a00; }
    .mai-fmt-vintage-sw.mp3-active .mai-fmt-sw-knob {
        transform: translateX(22px);
        background: linear-gradient(135deg, #f97316, #ea580c);
    }

    /* ── Export format : centré ─────────────────────────────── */
    #mai-export-format-wrap { display: flex !important; justify-content: center !important; }

    /* ── Backgrounds none ────────────────────────────────────── */
    .mai-btn-rec-zone, .mai-drag-zone, .mai-text-input { background: none !important; }

    /* ── Vintage switch format background ───────────────────── */
    .mai-fmt-vintage-wrap { background: #303741 !important; }

    /* ── Login modal logo ────────────────────────────────────── */
    .sia-login-logo { height: 120px !important; }

    /* ── Login remember checkbox ─────────────────────────────── */
    .sia-login-remember input[type="checkbox"] { width: 16px !important; height: 16px; }

    /* ── Form icons (contact + DAW) ──────────────────────────── */

    /* ── Form icons positionnement ──────────────────────────── */
    .mai-input-with-icon { margin-top: -6px !important; }

    /* ── Mobile : label switch format plus petit ─────────────── */
    @media (max-width: 640px) {
        .mai-fmt-lbl { font-size: 0.65rem !important; }
    }

    /* ── "Tes infos personnelles" padding gauche ─────────────── */
    .mai-form-identity .mai-cell-header { padding-left: 15px; }

    /* ── CF7 bouton submit : gauche desktop, centré mobile ───── */
    .wpcf7-submit, input.wpcf7-submit {
        display: block;
        margin-left: 0;
        margin-right: auto;
    }
    @media (max-width: 640px) {
        .wpcf7-submit, input.wpcf7-submit {
            margin-left: auto;
            margin-right: auto;
        }
    }

    /* ── FX rack section padding ─────────────────────────────── */
    #mai-fx-rack-section { padding: 24px 0 8px 0 !important; }

    /* ── Mobile : login box sans fond ni bordure ─────────────── */
    @media (max-width: 640px) {
        #sia-login-box { background: transparent !important; border: none !important; box-shadow: none !important; }
        span#mai-submit-label { font-size: 0.7rem !important; letter-spacing: 1px !important; line-height: 0.7rem !important; }
    }

    /* ── "Tes infos personnelles" padding ────────────────────── */
    .mai-form-identity .mai-cell-header { padding: 0 25px !important; }

    /* ── Dashboard PRO status ────────────────────────────────── */
    .siac-nb-pro { font-size: 1.3rem; color: #a78bfa; font-weight: 800; letter-spacing: .5px; }
    .siac-pro-status { margin-top: 8px; display: flex; flex-direction: column; gap: 4px; }
    .siac-pro-status-line { font-size: 11px; color: #71717a; font-family: monospace; }

    /* ── Dashboard PRO credits ───────────────────────────────── */
    .siac-nb-pro { line-height: 1.25rem !important; color: #dbdbdb !important; }
    .siac-pro-badge { font-weight: 700 !important; }
    .siac-pro-top-row { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
    .siac-pro-status-line { display: block; width: 100%; margin-top: 5px; }

    /* ── User button → /compte/ (déjà correct, CSS confirmation) ── */
    .sia-user-btn { cursor: pointer; }

    /* ── Dashboard PRO overrides ────────────────────────── */
    .siac-pro-row    { padding: 0 0 10px 0 !important; }
    .siac-cancel-btn { margin-top: 15px !important; }
    .siac-nb-pro     { font-size: 2.1rem !important; line-height: 1.70rem !important; }
    span.siac-pro-status-line { display: none !important; }
    .siac-pro-badge  { display: none !important; }

    /* ── Switch format : curseur blanc ──────────────────────── */
    .mai-fmt-sw-knob {
        background: #ffffff !important;
        box-shadow: 0 1px 4px rgba(0,0,0,.5);
    }
    .mai-fmt-vintage-sw.mp3-active .mai-fmt-sw-knob {
        background: #ffffff !important;
    }

    /* ── Bouton téléchargement master ───────────────────────── */
    .mai-dl-btn {
        display: inline-flex; align-items: center; gap: 10px;
        background: linear-gradient(135deg, #1a1a2e, #16213e);
        color: #e2e8f0 !important; text-decoration: none !important;
        border: 1px solid #2563eb55; border-radius: 10px;
        padding: 14px 28px; font-size: 15px; font-weight: 700;
        letter-spacing: .5px; margin-top: 16px;
        transition: all .2s; cursor: pointer;
        box-shadow: 0 4px 20px rgba(37,99,235,.2);
    }
    .mai-dl-btn:hover {
        background: linear-gradient(135deg, #1e3a8a, #1d4ed8);
        border-color: #3b82f6;
        box-shadow: 0 6px 28px rgba(37,99,235,.45);
        transform: translateY(-1px);
        color: #fff !important;
    }
    .mai-dl-btn svg { opacity: .85; }

    /* ── Submit label + steps ───────────────────────────────── */
    span#mai-submit-label { font-size: 1.1rem !important; }
    #mai-submit-steps     { font-size: 0.9rem !important; }

    /* ── Form icon + contact wrapper ────────────────────────── */
    .mai-form-icon      { bottom: 14px !important; z-index: 1000 !important; }
    .mai-contact-wrapper { background: none !important; padding: 25px !important; border-radius: 0 !important; }

    /* ── Séquenceur : VU colonne fixe à gauche ──────────────── */
    .mai-seq-body { display: flex !important; flex-direction: row !important; align-items: flex-start; overflow: hidden; }
    .mai-seq-vu-col {
        flex-shrink: 0 !important;
        width: 20px;
        display: flex; flex-direction: column;
        background: #0d0d0f;
        border-right: 1px solid #18181b;
        z-index: 2;
        align-self: stretch;
    }
    .mai-seq-vu-ruler-spacer {
        flex-shrink: 0;
        height: 24px; /* RULER_H */
        border-bottom: 1px solid #18181b;
    }
    .mseq-vu-wrap {
        flex-shrink: 0;
        height: 72px; /* LANE_H */
        border-bottom: 1px solid #18181b;
        display: flex; align-items: center; justify-content: center;
        position: relative;
    }
    /* Override le position:absolute du VU quand il est dans vuCol */
    .mai-seq-vu-col .mseq-vu {
        position: relative !important;
        left: auto !important;
        top: auto !important;
        width: 6px;
        height: 60px;
    }
    .mai-seq-scroll { flex: 1 !important; min-width: 0; overflow-x: auto; }
    /* Masquer le VU résiduel dans les lanes (déplacé vers vuCol) */
    .mseq-lane > .mseq-vu { display: none !important; }

    /* ── Rec modal header title ──────────────────────────────── */
    .mai-rec-header-title { margin-top: 70px !important; }

    /* ── Bouton REC centré ───────────────────────────────────── */
    .mai-rec-footer-center { align-items: center !important; justify-content: center !important; }
    .mai-rec-footer { justify-content: center !important; gap: 20px !important; }

    /* ── Switch au dessus du footer (global) ────────────────── */
    .mai-mic-switch-wrap {
        order: -1; /* monte au dessus si flex-column */
        justify-content: center; width: 100%;
        margin-bottom: 8px;
    }

    /* ── Mobile : gain visible, layout vertical ─────────────── */
    @media (max-width: 620px) {
        /* Gain desktop caché, gain mobile visible */
        .mai-rec-gain-desktop { display: none !important; }
        .mai-rec-gain-mobile  { display: flex !important; flex-direction: column; align-items: center; gap: 4px; }

        /* Layout footer mobile : vertical */
        .mai-rec-footer {
            flex-direction: column !important;
            align-items: center !important;
            gap: 12px !important;
        }

        /* Ordre : titre > SVG > switch > timer > gain > rec */
        .mai-rec-header  { order: 1; }
        .mai-rec-body    { order: 2; }
        .mai-mic-switch-wrap { order: 3; margin: 8px 0; }
        .mai-rec-footer  { order: 4; }

        /* Dans le footer sur mobile : timer puis gain puis REC */
        .mai-rec-footer-center {
            flex-direction: column !important;
            align-items: center !important;
            gap: 10px !important;
        }
        .mai-rec-time-wrap { order: 1; }
        .mai-rec-gain-mobile { order: 2; }
        .mai-rec-start-btn { order: 3; }
    }

    /* ── Gain micro unifié (au-dessus du switch) ─────────────── */
    .mai-rec-gain-unified {
        display: flex; flex-direction: column;
        align-items: center; justify-content: center;
        padding: 12px 0 28px; /* bottom pour la valeur */
        width: 100%;
    }
    /* Taille 90px */
    #mai-rec-knob-wrap {
        position: relative;
        width: 90px !important; height: 90px !important;
        cursor: ns-resize; flex-shrink: 0;
        overflow: visible !important;
    }
    .mai-rec-knob-svg { width: 90px !important; height: 90px !important; display: block; }
    .mai-rec-knob-value {
        position: absolute;
        bottom: -20px; left: 50%;
        transform: translateX(-50%);
        font-size: 14px !important; font-weight: 800;
        color: #e4e4e7; font-family: monospace;
        white-space: nowrap; pointer-events: none;
    }
    /* Cacher les anciennes versions */
    .mai-rec-gain-desktop { display: none !important; }
    .mai-rec-gain-mobile  { display: none !important; }


/* ══════════════════════════════════════════════════════════════════
   MONÉTISATION : gate publicitaire avant rendu (non-PRO)
   ══════════════════════════════════════════════════════════════════ */
.mai-ad-gate-overlay {
    position: fixed; inset: 0; z-index: 999999;
    background: rgba(10, 10, 14, 0.88);
    backdrop-filter: blur(4px);
    display: flex; align-items: center; justify-content: center;
    padding: 20px;
}
.mai-ad-gate-modal {
    background: #16161c; border: 1px solid rgba(255,255,255,0.08);
    border-radius: 16px; padding: 28px; max-width: 420px; width: 100%;
    box-shadow: 0 20px 60px rgba(0,0,0,0.5);
    text-align: center; color: #e4e4e7;
}
.mai-ad-gate-modal h3 { margin: 0 0 10px; font-size: 18px; font-weight: 800; }
.mai-ad-gate-modal p, .mai-ad-gate-sub { font-size: 14px; color: #a1a1aa; margin: 0 0 16px; }
.mai-ad-gate-choices { text-align: left; font-size: 13px; color: #d4d4d8; padding-left: 18px; margin-bottom: 18px; }
.mai-ad-gate-choices li { margin-bottom: 6px; }
.mai-ad-gate-actions { display: flex; gap: 10px; flex-wrap: wrap; justify-content: center; }
.mai-ad-gate-actions button {
    flex: 1; min-width: 140px; padding: 10px 16px; border-radius: 10px;
    font-weight: 700; font-size: 13px; cursor: pointer; border: none;
}
.mai-btn-primary { background: linear-gradient(135deg,#ff3b3b,#ff7a3b); color: #fff; }
.mai-btn-secondary { background: rgba(255,255,255,0.08); color: #e4e4e7; }
.mai-ad-gate-slot {
    background: #0d0d11; border: 1px dashed rgba(255,255,255,0.15);
    border-radius: 10px; min-height: 200px; display: flex;
    align-items: center; justify-content: center; margin-bottom: 16px;
}
.mai-ad-gate-placeholder { color: #52525b; font-size: 13px; }
.mai-ad-gate-progress { height: 4px; background: rgba(255,255,255,0.08); border-radius: 4px; overflow: hidden; }
.mai-ad-gate-progress-bar { height: 100%; width: 0%; background: linear-gradient(90deg,#ff3b3b,#ff7a3b); transition: width 0.1s linear; }
