{"__meta":{"id":"01KZXRDT7CV96Q341JJ08NTKCE","tabUuid":null,"batchId":null,"timestamp":"2026-08-13T14:29:10.508Z","utime":1786631350.508707,"method":"GET","url":"http://127.0.0.1:8000/trades/create?parent_trade_id=29&position_type=addin","component":null,"requestType":"http","status":200,"redirectLocation":null,"serverTimingMs":4.652291,"visitId":null},"http":{"requestHeaders":{"host":"127.0.0.1:8000","connection":"keep-alive","sec-ch-ua":"\"Not=A?Brand\";v=\"99\", \"Google Chrome\";v=\"151\", \"Chromium\";v=\"151\"","sec-ch-ua-mobile":"?0","sec-ch-ua-platform":"\"macOS\"","upgrade-insecure-requests":"1","user-agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/151.0.0.0 Safari/537.36","accept":"text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7","sec-fetch-site":"same-origin","sec-fetch-mode":"navigate","sec-fetch-user":"?1","sec-fetch-dest":"document","referer":"http://127.0.0.1:8000/trades/29/","accept-encoding":"gzip, deflate, br, zstd","accept-language":"fr-FR,fr;q=0.9,en-US;q=0.8,en;q=0.7","cookie":"[REDACTED]"},"responseHeaders":{"content-type":"text/html; charset=utf-8","cache-control":"no-cache, private","date":"Thu, 13 Aug 2026 14:29:10 GMT","vary":"X-Inertia","x-inertia-devtools-id":"01KZXRDT7CV96Q341JJ08NTKCE","x-inertia-devtools-parent-out":"01KZXRDT7CV96Q341JJ08NTKCE"},"requestBody":{"status":"present","value":{"position_type":"addin","parent_trade_id":"29"}},"responseBody":{"status":"present","value":"<!DOCTYPE html>\n<html lang=\"fr\" data-theme=\"dark\">\n<head>\n    <meta charset=\"UTF-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n\n    <title>Nouveau trade — ICT Performance Lab</title>\n\n    <script>\n        (() => {\n            const savedTheme = localStorage.getItem('ict-theme') || 'dark';\n            document.documentElement.dataset.theme = savedTheme;\n        })();\n    </script>\n\n    <style>\n        :root,\n        html[data-theme=\"dark\"] {\n            --bg-base: #070b12;\n            --bg-surface: #0d1420;\n            --bg-elevated: #111a2b;\n            --bg-hover: #162033;\n\n            --border: rgba(255, 255, 255, 0.06);\n            --border-strong: rgba(255, 255, 255, 0.10);\n\n            --text-primary: #e8edf5;\n            --text-secondary: #8b9cb8;\n            --text-muted: #5c6b82;\n\n            --accent: #3b82f6;\n            --accent-hover: #2563eb;\n            --accent-light: #60a5fa;\n            --accent-glow: rgba(59, 130, 246, 0.22);\n\n            --positive: #22c55e;\n            --negative: #ef4444;\n\n            --long: #22c55e;\n            --long-bg: rgba(34, 197, 94, 0.10);\n\n            --short: #ef4444;\n            --short-bg: rgba(239, 68, 68, 0.10);\n\n            --radius: 10px;\n            --radius-sm: 6px;\n\n            --font-sans:\n                -apple-system,\n                BlinkMacSystemFont,\n                \"Segoe UI\",\n                Roboto,\n                \"Helvetica Neue\",\n                Arial,\n                sans-serif;\n\n            --font-mono:\n                \"SF Mono\",\n                \"Fira Code\",\n                \"Roboto Mono\",\n                monospace;\n        }\n\n        html[data-theme=\"light\"] {\n            --bg-base: #f4f6fa;\n            --bg-surface: #ffffff;\n            --bg-elevated: #f8fafc;\n            --bg-hover: #edf1f6;\n\n            --border: rgba(15, 23, 42, 0.08);\n            --border-strong: rgba(15, 23, 42, 0.14);\n\n            --text-primary: #172033;\n            --text-secondary: #64748b;\n            --text-muted: #94a3b8;\n\n            --accent: #2563eb;\n            --accent-hover: #1d4ed8;\n            --accent-light: #3b82f6;\n            --accent-glow: rgba(37, 99, 235, 0.16);\n\n            --positive: #16a34a;\n            --negative: #dc2626;\n\n            --long: #16a34a;\n            --long-bg: rgba(22, 163, 74, 0.09);\n\n            --short: #dc2626;\n            --short-bg: rgba(220, 38, 38, 0.08);\n        }\n\n        * {\n            box-sizing: border-box;\n        }\n\n        html {\n            font-size: 15px;\n        }\n\n        body {\n            margin: 0;\n            min-height: 100vh;\n\n            font-family: var(--font-sans);\n\n            background: var(--bg-base);\n            color: var(--text-primary);\n\n            line-height: 1.5;\n            -webkit-font-smoothing: antialiased;\n\n            transition:\n                background-color 0.2s ease,\n                color 0.2s ease;\n        }\n\n        body::before {\n            content: \"\";\n\n            position: fixed;\n            inset: 0;\n\n            background:\n                radial-gradient(\n                    ellipse 80% 50% at 50% -20%,\n                    rgba(59, 130, 246, 0.08),\n                    transparent\n                ),\n                radial-gradient(\n                    ellipse 60% 40% at 100% 100%,\n                    rgba(34, 197, 94, 0.04),\n                    transparent\n                );\n\n            pointer-events: none;\n            z-index: -1;\n        }\n\n        .app-topbar {\n            position: sticky;\n            top: 0;\n            z-index: 100;\n\n            display: flex;\n            align-items: center;\n            justify-content: space-between;\n\n            gap: 1rem;\n\n            padding: 0.75rem 1.25rem;\n\n            background: var(--bg-surface);\n\n            border-bottom: 1px solid var(--border);\n\n            box-shadow: 0 5px 25px rgba(0, 0, 0, 0.08);\n        }\n\n        .app-brand {\n            display: flex;\n            flex-direction: column;\n\n            text-decoration: none;\n        }\n\n        .app-brand__name {\n            color: var(--text-primary);\n\n            font-size: 0.9rem;\n            font-weight: 750;\n\n            line-height: 1.2;\n        }\n\n        .app-brand__author {\n            margin-top: 0.15rem;\n\n            color: var(--accent);\n\n            font-size: 0.62rem;\n            font-weight: 650;\n\n            letter-spacing: 0.13em;\n            text-transform: uppercase;\n        }\n\n        .theme-selector {\n            display: flex;\n            align-items: center;\n\n            gap: 0.25rem;\n\n            padding: 0.25rem;\n\n            background: var(--bg-elevated);\n\n            border: 1px solid var(--border-strong);\n            border-radius: 8px;\n        }\n\n        .theme-button {\n            appearance: none;\n\n            border: none;\n\n            padding: 0.45rem 0.75rem;\n\n            background: transparent;\n            color: var(--text-secondary);\n\n            border-radius: 6px;\n\n            font-family: var(--font-sans);\n            font-size: 0.78rem;\n            font-weight: 650;\n\n            cursor: pointer;\n\n            transition:\n                background 0.15s ease,\n                color 0.15s ease,\n                box-shadow 0.15s ease;\n        }\n\n        .theme-button:hover {\n            background: var(--bg-hover);\n            color: var(--text-primary);\n        }\n\n        .theme-button.is-active {\n            background: var(--accent);\n            color: #ffffff;\n\n            box-shadow:\n                0 4px 14px var(--accent-glow);\n        }\n\n        .app-content {\n            position: relative;\n            z-index: 1;\n            width: 100%;\n        }\n\n        @media (max-width: 650px) {\n            .app-topbar {\n                flex-direction: column;\n                align-items: stretch;\n            }\n\n            .theme-selector {\n                width: 100%;\n            }\n\n            .theme-button {\n                flex: 1;\n            }\n        }\n\n        \n    .page {\n        max-width: 950px;\n        margin: 0 auto;\n        padding: 2rem 1.5rem 3rem;\n    }\n\n    .header {\n        display: flex;\n        align-items: flex-start;\n        justify-content: space-between;\n        gap: 1.5rem;\n        margin-bottom: 2rem;\n        flex-wrap: wrap;\n    }\n\n    .header__brand {\n        display: flex;\n        flex-direction: column;\n        gap: 0.35rem;\n    }\n\n    .header__eyebrow {\n        font-size: 0.7rem;\n        font-weight: 650;\n        letter-spacing: 0.14em;\n        text-transform: uppercase;\n        color: var(--accent);\n    }\n\n    .header__title {\n        margin: 0;\n        font-size: clamp(1.7rem, 4vw, 2.2rem);\n        font-weight: 750;\n        letter-spacing: -0.03em;\n    }\n\n    .header__subtitle {\n        margin: 0.15rem 0 0;\n        font-size: 0.95rem;\n        color: var(--text-secondary);\n    }\n\n    .btn {\n        display: inline-flex;\n        align-items: center;\n        justify-content: center;\n        gap: 0.5rem;\n        min-height: 42px;\n        padding: 0.7rem 1.2rem;\n        border: 1px solid transparent;\n        border-radius: var(--radius-sm);\n        font-size: 0.875rem;\n        font-weight: 700;\n        text-decoration: none;\n        cursor: pointer;\n        transition:\n            background 0.15s ease,\n            border-color 0.15s ease,\n            box-shadow 0.15s ease,\n            transform 0.1s ease;\n    }\n\n    .btn:active {\n        transform: scale(0.98);\n    }\n\n    .btn--ghost {\n        background: var(--bg-elevated);\n        color: var(--text-secondary);\n        border-color: var(--border-strong);\n    }\n\n    .btn--ghost:hover {\n        background: var(--bg-hover);\n        color: var(--text-primary);\n    }\n\n    .btn--primary {\n        color: #fff;\n        background: linear-gradient(\n            135deg,\n            var(--accent-light),\n            var(--accent)\n        );\n        box-shadow: 0 8px 24px var(--accent-glow);\n    }\n\n    .btn--primary:hover {\n        background: linear-gradient(\n            135deg,\n            #75b6ff,\n            var(--accent-hover)\n        );\n        transform: translateY(-1px);\n    }\n\n    .alert {\n        padding: 1rem 1.25rem;\n        margin-bottom: 1.5rem;\n        background: rgba(239, 68, 68, 0.08);\n        border: 1px solid rgba(239, 68, 68, 0.25);\n        border-radius: var(--radius);\n        color: #f87171;\n        font-size: 0.875rem;\n    }\n\n    .alert__title {\n        margin: 0 0 0.5rem;\n        font-weight: 700;\n    }\n\n    .alert ul {\n        margin: 0;\n        padding-left: 1.25rem;\n    }\n\n    .risk-manager-card {\n        margin-bottom: 1.5rem;\n        background:\n            linear-gradient(\n                135deg,\n                var(--bg-surface),\n                var(--bg-elevated)\n            );\n        border: 1px solid rgba(59, 130, 246, 0.28);\n        border-radius: var(--radius);\n        overflow: hidden;\n    }\n\n    .risk-manager-card__header {\n        display: flex;\n        align-items: center;\n        justify-content: space-between;\n        gap: 1rem;\n        flex-wrap: wrap;\n        padding: 1rem 1.25rem;\n        background: var(--bg-elevated);\n        border-bottom: 1px solid var(--border);\n    }\n\n    .risk-manager-card__eyebrow {\n        font-size: 0.68rem;\n        font-weight: 700;\n        letter-spacing: 0.1em;\n        text-transform: uppercase;\n        color: var(--accent);\n    }\n\n    .risk-manager-card__title {\n        margin: 0.2rem 0 0;\n        font-size: 0.95rem;\n        font-weight: 750;\n        color: var(--text-primary);\n    }\n\n    .risk-manager-card__risk {\n        font-family: var(--font-mono);\n        font-size: 1.8rem;\n        font-weight: 800;\n        color: var(--accent-light);\n    }\n\n    .risk-manager-card__body {\n        padding: 1.25rem;\n    }\n\n    .risk-manager-grid {\n        display: grid;\n        grid-template-columns: repeat(3, 1fr);\n        gap: 1rem;\n    }\n\n    .risk-manager-metric {\n        padding: 0.85rem 1rem;\n        background: var(--bg-base);\n        border: 1px solid var(--border-strong);\n        border-radius: var(--radius-sm);\n    }\n\n    .risk-manager-metric__label {\n        font-size: 0.68rem;\n        font-weight: 700;\n        letter-spacing: 0.08em;\n        text-transform: uppercase;\n        color: var(--text-muted);\n    }\n\n    .risk-manager-metric__value {\n        margin-top: 0.3rem;\n        font-family: var(--font-mono);\n        font-size: 1rem;\n        font-weight: 750;\n        color: var(--text-primary);\n    }\n\n    .risk-manager-progress {\n        margin-top: 1rem;\n    }\n\n    .risk-manager-progress__top {\n        display: flex;\n        justify-content: space-between;\n        gap: 1rem;\n        margin-bottom: 0.45rem;\n        color: var(--text-secondary);\n        font-size: 0.75rem;\n    }\n\n    .risk-manager-progress__track {\n        height: 8px;\n        overflow: hidden;\n        background: var(--bg-base);\n        border-radius: 999px;\n    }\n\n    .risk-manager-progress__fill {\n        height: 100%;\n        background: linear-gradient(\n            90deg,\n            var(--accent),\n            var(--accent-light)\n        );\n        border-radius: inherit;\n    }\n\n    .risk-manager-card__rule {\n        margin-top: 0.8rem;\n        color: var(--text-muted);\n        font-size: 0.72rem;\n        line-height: 1.5;\n    }\n\n    .trade-mode {\n        display: grid;\n        grid-template-columns: repeat(2, minmax(0, 1fr));\n        gap: 0.85rem;\n    }\n\n    .trade-mode__option {\n        display: block;\n        cursor: pointer;\n    }\n\n    .trade-mode__option input {\n        position: absolute;\n        opacity: 0;\n        pointer-events: none;\n    }\n\n    .trade-mode__card {\n        display: flex;\n        align-items: flex-start;\n        gap: 0.75rem;\n        min-height: 100%;\n        padding: 0.9rem 1rem;\n        background: var(--bg-base);\n        border: 1px solid var(--border-strong);\n        border-radius: var(--radius-sm);\n        transition:\n            border-color 0.15s ease,\n            background 0.15s ease,\n            box-shadow 0.15s ease;\n    }\n\n    .trade-mode__option:hover .trade-mode__card {\n        background: var(--bg-hover);\n    }\n\n    .trade-mode__option input:checked + .trade-mode__card {\n        border-color: var(--accent);\n        box-shadow: 0 0 0 3px var(--accent-glow);\n    }\n\n    .trade-mode__dot {\n        width: 14px;\n        height: 14px;\n        margin-top: 0.2rem;\n        border: 2px solid var(--text-muted);\n        border-radius: 50%;\n        flex-shrink: 0;\n    }\n\n    .trade-mode__option input:checked + .trade-mode__card .trade-mode__dot {\n        border-color: var(--accent-light);\n        box-shadow: inset 0 0 0 3px var(--bg-base);\n        background: var(--accent-light);\n    }\n\n    .trade-mode__title {\n        display: block;\n        font-size: 0.87rem;\n        font-weight: 750;\n        color: var(--text-primary);\n    }\n\n    .trade-mode__help {\n        display: block;\n        margin-top: 0.2rem;\n        font-size: 0.74rem;\n        line-height: 1.45;\n        color: var(--text-muted);\n    }\n\n    .position-type {\n        display: grid;\n        grid-template-columns: repeat(2, minmax(0, 1fr));\n        gap: 0.85rem;\n    }\n\n    .position-type__option {\n        display: block;\n        cursor: pointer;\n    }\n\n    .position-type__option input {\n        position: absolute;\n        opacity: 0;\n        pointer-events: none;\n    }\n\n    .position-type__card {\n        display: flex;\n        align-items: flex-start;\n        gap: 0.75rem;\n        min-height: 100%;\n        padding: 0.9rem 1rem;\n        background: var(--bg-base);\n        border: 1px solid var(--border-strong);\n        border-radius: var(--radius-sm);\n        transition:\n            border-color 0.15s ease,\n            background 0.15s ease,\n            box-shadow 0.15s ease;\n    }\n\n    .position-type__option:hover .position-type__card {\n        background: var(--bg-hover);\n    }\n\n    .position-type__option input:checked + .position-type__card {\n        border-color: var(--accent);\n        box-shadow: 0 0 0 3px var(--accent-glow);\n    }\n\n    .position-type__dot {\n        width: 14px;\n        height: 14px;\n        margin-top: 0.2rem;\n        border: 2px solid var(--text-muted);\n        border-radius: 50%;\n        flex-shrink: 0;\n    }\n\n    .position-type__option input:checked + .position-type__card .position-type__dot {\n        border-color: var(--accent-light);\n        box-shadow: inset 0 0 0 3px var(--bg-base);\n        background: var(--accent-light);\n    }\n\n    .position-type__title {\n        display: block;\n        font-size: 0.87rem;\n        font-weight: 750;\n        color: var(--text-primary);\n    }\n\n    .position-type__help {\n        display: block;\n        margin-top: 0.2rem;\n        font-size: 0.74rem;\n        line-height: 1.45;\n        color: var(--text-muted);\n    }\n\n    .conditional-field[hidden] {\n        display: none !important;\n    }\n\n    .form-card {\n        background: var(--bg-surface);\n        border: 1px solid var(--border);\n        border-radius: var(--radius);\n        overflow: hidden;\n    }\n\n    .form-section + .form-section {\n        border-top: 1px solid var(--border);\n    }\n\n    .form-section__header {\n        padding: 1rem 1.5rem;\n        background: var(--bg-elevated);\n        border-bottom: 1px solid var(--border);\n    }\n\n    .form-section__title {\n        margin: 0;\n        font-size: 0.75rem;\n        font-weight: 700;\n        letter-spacing: 0.1em;\n        text-transform: uppercase;\n        color: var(--text-muted);\n    }\n\n    .addin-only-summary {\n        margin-top: 0.9rem;\n        padding: 0.9rem 1rem;\n        border: 1px solid var(--border);\n        border-radius: 10px;\n        background: var(--bg-base);\n    }\n\n    .addin-only-summary__title {\n        margin-bottom: 0.35rem;\n        font-size: 0.68rem;\n        font-weight: 800;\n        letter-spacing: 0.07em;\n        text-transform: uppercase;\n        color: var(--text-muted);\n    }\n\n    .addin-only-summary__value {\n        font-family: var(--font-mono);\n        font-size: 0.86rem;\n        font-weight: 800;\n        color: var(--text-primary);\n    }\n\n    .addin-only-summary__help {\n        margin-top: 0.3rem;\n        font-size: 0.72rem;\n        line-height: 1.45;\n        color: var(--text-secondary);\n    }\n\n    .addin-hidden {\n        display: none !important;\n    }\n\n    .form-section__body {\n        padding: 1.5rem;\n    }\n\n    .form-grid {\n        display: grid;\n        grid-template-columns: repeat(2, 1fr);\n        gap: 1.25rem;\n    }\n\n    .form-grid--3 {\n        grid-template-columns: repeat(3, 1fr);\n    }\n\n    .form-grid--1 {\n        grid-template-columns: 1fr;\n    }\n\n    .field {\n        display: flex;\n        flex-direction: column;\n        gap: 0.4rem;\n    }\n\n    .field__label {\n        font-size: 0.8rem;\n        font-weight: 650;\n        color: var(--text-secondary);\n    }\n\n    .field__input,\n    .field__select,\n    .field__textarea {\n        width: 100%;\n        padding: 0.65rem 0.85rem;\n        background: var(--bg-base);\n        border: 1px solid var(--border-strong);\n        border-radius: var(--radius-sm);\n        color: var(--text-primary);\n        font-family: var(--font-sans);\n        font-size: 0.875rem;\n    }\n\n    .field__input:focus,\n    .field__select:focus,\n    .field__textarea:focus {\n        outline: none;\n        border-color: var(--accent);\n        box-shadow: 0 0 0 3px var(--accent-glow);\n    }\n\n    .field__input::placeholder,\n    .field__textarea::placeholder {\n        color: var(--text-muted);\n    }\n\n    .field__textarea {\n        min-height: 100px;\n        resize: vertical;\n    }\n\n    .field__input--mono {\n        font-family: var(--font-mono);\n    }\n\n    .field__error {\n        font-size: 0.78rem;\n        color: var(--negative);\n    }\n\n    .checkbox-grid {\n        display: grid;\n        grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));\n        gap: 0.75rem;\n    }\n\n    .checkbox {\n        display: flex;\n        align-items: center;\n        gap: 0.6rem;\n        padding: 0.65rem 0.85rem;\n        background: var(--bg-base);\n        border: 1px solid var(--border-strong);\n        border-radius: var(--radius-sm);\n        cursor: pointer;\n    }\n\n    .checkbox:hover {\n        background: var(--bg-hover);\n    }\n\n    .checkbox input {\n        width: 16px;\n        height: 16px;\n        accent-color: var(--accent);\n    }\n\n    .checkbox__label {\n        font-size: 0.85rem;\n    }\n\n    .form-actions {\n        display: flex;\n        justify-content: flex-end;\n        gap: 0.75rem;\n        padding: 1.5rem;\n        background: var(--bg-elevated);\n        border-top: 1px solid var(--border);\n    }\n\n    .footer {\n        margin-top: 2rem;\n        text-align: center;\n        font-size: 0.75rem;\n        color: var(--text-muted);\n    }\n\n    @media (max-width: 768px) {\n        .form-grid,\n        .form-grid--3 {\n            grid-template-columns: 1fr;\n        }\n\n        .header {\n            flex-direction: column;\n        }\n\n        .form-actions {\n            flex-direction: column-reverse;\n        }\n\n        .form-actions .btn {\n            width: 100%;\n        }\n\n        .risk-manager-grid,\n        .trade-mode,\n        .position-type {\n            grid-template-columns: 1fr;\n        }\n    }\n\n    </style>\n<script id=\"browser-logger-active\">\n(function() {\n    const ENDPOINT = 'http://127.0.0.1:8000/_boost/browser-logs';\n    const logQueue = [];\n    let flushTimeout = null;\n    const captureTypes = [\"error\",\"warning\",\"info\",\"log\",\"debug\",\"table\"];\n\n    console.log('🔍 Browser logger active (MCP server detected). Posting to: ' + ENDPOINT);\n\n    // Store original console methods\n    const originalConsole = {\n        log: console.log,\n        debug: console.debug,\n        info: console.info,\n        error: console.error,\n        warn: console.warn,\n        table: console.table\n    };\n\n    // Helper to safely stringify values\n    function safeStringify(obj) {\n        const seen = new WeakSet();\n        return JSON.stringify(obj, (key, value) => {\n            if (typeof value === 'object' && value !== null) {\n                if (seen.has(value)) return '[Circular]';\n                seen.add(value);\n            }\n            if (value instanceof Error) {\n                return {\n                    name: value.name,\n                    message: value.message,\n                    stack: value.stack\n                };\n            }\n            return value;\n        });\n    }\n\n    // Normalize log type for consistency (e.g., 'warn' to 'warning')\n    function normalizeType(type) {\n        return type === 'warn' ? 'warning' : type;\n    }\n\n    // Determine if a log type should be captured based on configured levels\n    function shouldCapture(type) {\n        return captureTypes.includes(normalizeType(type));\n    }\n\n    // Batch and send logs\n    function flushLogs() {\n        if (logQueue.length === 0) return;\n\n        const batch = logQueue.splice(0, logQueue.length);\n\n        fetch(ENDPOINT, {\n            method: 'POST',\n            headers: {\n                'Content-Type': 'application/json',\n                'X-Requested-With': 'XMLHttpRequest'\n            },\n            body: JSON.stringify({ logs: batch })\n        }).catch(err => {\n            // Silently fail to avoid infinite loops\n            originalConsole.error('Failed to send logs:', err);\n        });\n    }\n\n    // Debounced flush (100ms)\n    function scheduleFlush() {\n        if (flushTimeout) clearTimeout(flushTimeout);\n        flushTimeout = setTimeout(flushLogs, 100);\n    }\n\n    // Intercept console methods\n    ['log', 'debug', 'info', 'error', 'warn', 'table'].forEach(method => {\n        console[method] = function(...args) {\n            // Call original method\n            originalConsole[method].apply(console, args);\n\n            // Capture log data\n            try {\n                if (!shouldCapture(method)) {\n                    return;\n                }\n\n                logQueue.push({\n                    type: method,\n                    timestamp: new Date().toISOString(),\n                    data: args.map(arg => {\n                        try {\n                            return typeof arg === 'object' ? JSON.parse(safeStringify(arg)) : arg;\n                        } catch (e) {\n                            return String(arg);\n                        }\n                    }),\n                    url: window.location.href,\n                    userAgent: navigator.userAgent\n                });\n\n                scheduleFlush();\n            } catch (e) {\n                // Fail silently\n            }\n        };\n    });\n\n    // Global error handlers for uncaught errors\n    const originalOnError = window.onerror;\n    window.onerror = function boostErrorHandler(errorMsg, url, lineNumber, colNumber, error) {\n        try {\n            if (shouldCapture('error')) {\n                logQueue.push({\n                    type: 'uncaught_error',\n                    timestamp: new Date().toISOString(),\n                    data: [{\n                        message: errorMsg,\n                        filename: url,\n                        lineno: lineNumber,\n                        colno: colNumber,\n                        error: error ? {\n                            name: error.name,\n                            message: error.message,\n                            stack: error.stack\n                        } : null\n                    }],\n                    url: window.location.href,\n                    userAgent: navigator.userAgent\n                });\n\n                scheduleFlush();\n            }\n\n        } catch (e) {\n            // Fail silently\n        }\n\n        // Call original handler if it exists\n        if (originalOnError && typeof originalOnError === 'function') {\n            return originalOnError(errorMsg, url, lineNumber, colNumber, error);\n        }\n\n        // Let the error continue to propagate\n        return false;\n    }\n    window.addEventListener('error', (event) => {\n        try {\n            if (!shouldCapture('error')) {\n                return false;\n            }\n\n            logQueue.push({\n                type: 'window_error',\n                timestamp: new Date().toISOString(),\n                data: [{\n                    message: event.message,\n                    filename: event.filename,\n                    lineno: event.lineno,\n                    colno: event.colno,\n                    error: event.error ? {\n                        name: event.error.name,\n                        message: event.error.message,\n                        stack: event.error.stack\n                    } : null\n                }],\n                url: window.location.href,\n                userAgent: navigator.userAgent\n            });\n\n            scheduleFlush();\n        } catch (e) {\n            // Fail silently\n        }\n\n        // Let the error continue to propagate\n        return false;\n    });\n    window.addEventListener('unhandledrejection', (event) => {\n        try {\n            if (!shouldCapture('error')) {\n                return false;\n            }\n\n            logQueue.push({\n                type: 'error',\n                timestamp: new Date().toISOString(),\n                data: [{\n                    message: 'Unhandled Promise Rejection',\n                    reason: event.reason instanceof Error ? {\n                        name: event.reason.name,\n                        message: event.reason.message,\n                        stack: event.reason.stack\n                    } : event.reason\n                }],\n                url: window.location.href,\n                userAgent: navigator.userAgent\n            });\n\n            scheduleFlush();\n        } catch (e) {\n            // Fail silently\n        }\n\n        // Let the rejection continue to propagate\n        return false;\n    });\n\n    // Flush on page unload\n    window.addEventListener('beforeunload', () => {\n        if (logQueue.length > 0) {\n            navigator.sendBeacon(ENDPOINT, JSON.stringify({ logs: logQueue }));\n        }\n    });\n})();\n</script>\n</head>\n\n<body>\n\n<header class=\"app-topbar\">\n\n    <a\n        href=\"http://127.0.0.1:8000/trades\"\n        class=\"app-brand\"\n    >\n        <span class=\"app-brand__name\">\n            ICT Performance Lab\n        </span>\n\n        <span class=\"app-brand__author\">\n            by Jul\n        </span>\n    </a>\n\n    <div\n        class=\"theme-selector\"\n        aria-label=\"Thème de l'application\"\n    >\n\n        <button\n            type=\"button\"\n            class=\"theme-button\"\n            data-theme-choice=\"dark\"\n        >\n            ☾ Sombre\n        </button>\n\n        <button\n            type=\"button\"\n            class=\"theme-button\"\n            data-theme-choice=\"light\"\n        >\n            ☀ Clair\n        </button>\n\n    </div>\n\n</header>\n\n<main class=\"app-content\">\n    \n\n<div class=\"page\">\n\n    <header class=\"header\">\n\n        <div class=\"header__brand\">\n\n            <span class=\"header__eyebrow\">\n                ICT Performance Lab by Jul\n            </span>\n\n            <h1 class=\"header__title\">\n                Nouvel Add-in\n            </h1>\n\n            <p class=\"header__subtitle\">\n                                    Renforcement de l'idée eur\n                    · Long\n                            </p>\n\n        </div>\n\n        <a\n            href=\"http://127.0.0.1:8000/trades\"\n            class=\"btn btn--ghost\"\n        >\n            ← Retour\n        </a>\n\n    </header>\n\n\n            <div\n            style=\"\n                margin-bottom: 1.25rem;\n                padding: 1rem 1.15rem;\n                border: 1px solid rgba(34, 197, 94, 0.35);\n                border-radius: var(--radius-sm);\n                background: rgba(34, 197, 94, 0.08);\n            \"\n        >\n            <div\n                style=\"\n                    font-size: 0.7rem;\n                    font-weight: 800;\n                    letter-spacing: 0.12em;\n                    text-transform: uppercase;\n                    color: #16a34a;\n                    margin-bottom: 0.35rem;\n                \"\n            >\n                Add-in\n            </div>\n\n            <div style=\"font-weight: 750;\">\n                Rattaché à\n                eur\n                · Long\n                · 24/08/2026\n            </div>\n\n            <div\n                style=\"\n                    margin-top: 0.35rem;\n                    font-size: 0.82rem;\n                    color: var(--text-secondary);\n                \"\n            >\n                L'actif, la direction, la date et le contexte ICT sont repris automatiquement.\n                Tu renseignes uniquement les informations propres à cette nouvelle exécution.\n            </div>\n        </div>\n    \n\n    \n\n    <section class=\"risk-manager-card\">\n\n        <div class=\"risk-manager-card__header\">\n\n            <div>\n                <div class=\"risk-manager-card__eyebrow\">\n                    Risk Manager\n                </div>\n\n                <h2 class=\"risk-manager-card__title\">\n                    Risque recommandé pour le prochain trade\n                </h2>\n            </div>\n\n            <div\n                id=\"risk-manager-display\"\n                class=\"risk-manager-card__risk\"\n                data-standard-risk=\"0.75\"\n            >\n                0,75%\n            </div>\n\n        </div>\n\n        <div class=\"risk-manager-card__body\">\n\n            <div class=\"risk-manager-grid\">\n\n                <div class=\"risk-manager-metric\">\n                    <div class=\"risk-manager-metric__label\">\n                        Statut\n                    </div>\n\n                    <div class=\"risk-manager-metric__value\">\n                        Objectif du cycle atteint — risque standard\n                    </div>\n                </div>\n\n                <div class=\"risk-manager-metric\">\n                    <div class=\"risk-manager-metric__label\">\n                        Performance cycle\n                    </div>\n\n                    <div class=\"risk-manager-metric__value\">\n                        +\n                        3,42%\n                    </div>\n                </div>\n\n                <div class=\"risk-manager-metric\">\n                    <div class=\"risk-manager-metric__label\">\n                        Objectif\n                    </div>\n\n                    <div class=\"risk-manager-metric__value\">\n                        +3,00%\n                    </div>\n                </div>\n\n            </div>\n\n            <div class=\"risk-manager-progress\">\n\n                <div class=\"risk-manager-progress__top\">\n                    <span>Progression du cycle</span>\n\n                    <span>\n                        100%\n                    </span>\n                </div>\n\n                <div class=\"risk-manager-progress__track\">\n                    <div\n                        class=\"risk-manager-progress__fill\"\n                        style=\"width: 100%;\"\n                    ></div>\n                </div>\n\n            </div>\n\n            <div class=\"risk-manager-card__rule\">\n                Règle :\n                0,75 %\n                → SL :\n                0,50 %\n                → SL :\n                0,25 % ·\n                Un TP remonte d'un niveau ·\n                À +3,00 % sur le cycle :\n                retour/maintien au risque standard\n                0,75 %.\n            </div>\n\n        </div>\n\n    </section>\n\n    <div class=\"form-card\">\n\n        <form\n            method=\"POST\"\n            action=\"http://127.0.0.1:8000/trades\"\n        >\n\n            <input type=\"hidden\" name=\"_token\" value=\"zYyBlEroyprye79TWA2c9rV6xFNwc3C8Pyn5UvJA\" autocomplete=\"off\">\n\n            \n\n            <section class=\"form-section\">\n\n                <div class=\"form-section__header\">\n                    <h2 class=\"form-section__title\">\n                        Identification\n                    </h2>\n                </div>\n\n                <div class=\"form-section__body\">\n\n                    <div class=\"field\" style=\"margin-bottom: 1.25rem;\">\n\n                        <label class=\"field__label\">\n                            Mode du trade\n                        </label>\n\n                        <div class=\"trade-mode\">\n\n                            <label class=\"trade-mode__option\">\n\n                                <input\n                                    type=\"radio\"\n                                    name=\"trade_mode\"\n                                    value=\"real\"\n                                    checked                                >\n\n                                <span class=\"trade-mode__card\">\n                                    <span class=\"trade-mode__dot\"></span>\n\n                                    <span>\n                                        <span class=\"trade-mode__title\">\n                                            Trade réel\n                                        </span>\n\n                                        <span class=\"trade-mode__help\">\n                                            Trade réellement exécuté. Il compte dans la performance réelle et le Risk Manager.\n                                        </span>\n                                    </span>\n                                </span>\n\n                            </label>\n\n                            <label class=\"trade-mode__option\">\n\n                                <input\n                                    type=\"radio\"\n                                    name=\"trade_mode\"\n                                    value=\"paper\"\n                                                                    >\n\n                                <span class=\"trade-mode__card\">\n                                    <span class=\"trade-mode__dot\"></span>\n\n                                    <span>\n                                        <span class=\"trade-mode__title\">\n                                            Paper Trade\n                                        </span>\n\n                                        <span class=\"trade-mode__help\">\n                                            Setup non exécuté à conserver pour l'analyse, sans impacter les performances réelles.\n                                        </span>\n                                    </span>\n                                </span>\n\n                            </label>\n\n                        </div>\n\n                        \n                    </div>\n\n                    <div\n                        id=\"real-position-fields\"\n                        class=\"field conditional-field\"\n                        style=\"margin-bottom: 1.25rem;\"\n                    >\n\n                        <label class=\"field__label\">\n                            Type de position\n                        </label>\n\n                        <div class=\"position-type\">\n\n                            <label class=\"position-type__option\">\n\n                                <input\n                                    type=\"radio\"\n                                    name=\"position_type\"\n                                    value=\"main\"\n                                                                    >\n\n                                <span class=\"position-type__card\">\n                                    <span class=\"position-type__dot\"></span>\n\n                                    <span>\n                                        <span class=\"position-type__title\">\n                                            Trade principal\n                                        </span>\n\n                                        <span class=\"position-type__help\">\n                                            Nouvelle idée de trade. Elle compte dans la limite de trades réels autorisés.\n                                        </span>\n                                    </span>\n                                </span>\n\n                            </label>\n\n                            <label class=\"position-type__option\">\n\n                                <input\n                                    type=\"radio\"\n                                    name=\"position_type\"\n                                    value=\"addin\"\n                                    checked                                >\n\n                                <span class=\"position-type__card\">\n                                    <span class=\"position-type__dot\"></span>\n\n                                    <span>\n                                        <span class=\"position-type__title\">\n                                            Add-in\n                                        </span>\n\n                                        <span class=\"position-type__help\">\n                                            Renforcement d’un trade principal déjà ouvert. Il reste rattaché à la même idée.\n                                        </span>\n                                    </span>\n                                </span>\n\n                            </label>\n\n                        </div>\n\n                        \n                    </div>\n\n                    <div\n                        id=\"parent-trade-field\"\n                        class=\"field conditional-field\"\n                        style=\"margin-bottom: 1.25rem;\"\n                        hidden\n                    >\n\n                        <label class=\"field__label\">\n                            Trade principal à renforcer\n                        </label>\n\n                        <select\n                            name=\"parent_trade_id\"\n                            class=\"field__select\"\n                        >\n                            <option value=\"\">\n                                Choisir un trade principal…\n                            </option>\n\n                            \n                                <option\n                                    value=\"29\"\n                                    data-risk-limit=\"0.75\"\n                                    data-risk-used=\"0.75\"\n                                    data-risk-remaining=\"0.00\"\n                                    data-trade-date=\"2026-08-24\"\n                                    data-asset=\"eur\"\n                                    data-direction=\"Long\"\n                                    selected                                >\n                                    24/08/2026\n                                    —\n                                    eur\n                                    · Long\n                                    · 09:00\n                                </option>\n\n                            \n                                <option\n                                    value=\"2\"\n                                    data-risk-limit=\"0.75\"\n                                    data-risk-used=\"1.00\"\n                                    data-risk-remaining=\"0.00\"\n                                    data-trade-date=\"2026-08-10\"\n                                    data-asset=\"EURUSD\"\n                                    data-direction=\"Long\"\n                                                                    >\n                                    10/08/2026\n                                    —\n                                    EURUSD\n                                    · Long\n                                    · 14:30\n                                </option>\n\n                                                    </select>\n\n                        <span class=\"trade-mode__help\">\n                            Seuls tes trades réels principaux ouverts sont proposés.\n                        </span>\n\n                        \n                        <div\n                            id=\"addin-risk-summary\"\n                            class=\"risk-manager-metric\"\n                            style=\"margin-top: 0.9rem;\"\n                            hidden\n                        >\n                            <div class=\"risk-manager-metric__label\">\n                                Risque disponible pour l’add-in\n                            </div>\n\n                            <div class=\"risk-manager-metric__value\">\n                                <span id=\"addin-risk-remaining\">—</span>\n                            </div>\n\n                            <div\n                                class=\"trade-mode__help\"\n                                style=\"margin-top: 0.35rem;\"\n                            >\n                                Limite de l’idée :\n                                <span id=\"addin-risk-limit\">—</span>\n                                · Déjà utilisé :\n                                <span id=\"addin-risk-used\">—</span>\n                            </div>\n                        </div>\n\n                        <div\n                            id=\"addin-parent-summary\"\n                            class=\"addin-only-summary\"\n                            hidden\n                        >\n                            <div class=\"addin-only-summary__title\">\n                                Informations reprises automatiquement\n                            </div>\n\n                            <div\n                                id=\"addin-parent-summary-value\"\n                                class=\"addin-only-summary__value\"\n                            >\n                                —\n                            </div>\n\n                            <div class=\"addin-only-summary__help\">\n                                Pour un add-in, l'actif, la direction, la date et le contexte ICT\n                                sont repris du trade principal. Tu renseignes seulement l'heure\n                                d'entrée et le risque utilisé.\n                            </div>\n                        </div>\n\n                    </div>\n\n                    <div class=\"form-grid\">\n\n                        <div class=\"field addin-inherited-field\">\n\n                            <label class=\"field__label\">\n                                Date du trade\n                            </label>\n\n                            <input\n                                type=\"date\"\n                                name=\"trade_date\"\n                                class=\"field__input\"\n                                value=\"2026-08-13\"\n                                required\n                            >\n\n                        </div>\n\n\n                        <div class=\"field\">\n\n                            <label class=\"field__label\">\n                                Heure d'entrée\n                            </label>\n\n                            <input\n                                type=\"time\"\n                                name=\"entry_time\"\n                                class=\"field__input\"\n                                value=\"\"\n                            >\n\n                        </div>\n\n\n                        <div class=\"field addin-inherited-field\">\n\n                            <label class=\"field__label\">\n                                Actif\n                            </label>\n\n                            <input\n                                type=\"text\"\n                                name=\"asset\"\n                                class=\"field__input field__input--mono\"\n                                value=\"\"\n                                placeholder=\"EURUSD, DXY, SILVER...\"\n                                required\n                            >\n\n                        </div>\n\n\n                        <div class=\"field addin-inherited-field\">\n\n                            <label class=\"field__label\">\n                                Direction\n                            </label>\n\n                            <select\n                                name=\"direction\"\n                                class=\"field__select\"\n                                required\n                            >\n\n                                <option\n                                    value=\"\"\n                                    disabled\n                                    selected                                >\n                                    Choisir…\n                                </option>\n\n                                <option\n                                    value=\"Long\"\n                                                                    >\n                                    Long\n                                </option>\n\n                                <option\n                                    value=\"Short\"\n                                                                    >\n                                    Short\n                                </option>\n\n                            </select>\n\n                        </div>\n\n                    </div>\n\n                </div>\n\n            </section>\n\n\n            \n\n            <section id=\"addin-context-section\" class=\"form-section\">\n\n                <div class=\"form-section__header\">\n\n                    <h2 class=\"form-section__title\">\n                        Contexte ICT\n                    </h2>\n\n                </div>\n\n\n                <div class=\"form-section__body\">\n\n                    <div class=\"form-grid form-grid--3\">\n\n                        <div class=\"field\">\n\n                            <label class=\"field__label\">\n                                Session\n                            </label>\n\n                            <input\n                                type=\"text\"\n                                name=\"session\"\n                                class=\"field__input\"\n                                value=\"\"\n                                placeholder=\"London, New York...\"\n                            >\n\n                        </div>\n\n\n                        <div class=\"field\">\n\n                            <label class=\"field__label\">\n                                Jour\n                            </label>\n\n                            <input\n                                type=\"text\"\n                                name=\"day\"\n                                class=\"field__input\"\n                                value=\"\"\n                                placeholder=\"Lundi, Mardi...\"\n                            >\n\n                        </div>\n\n\n                        <div class=\"field\">\n\n                            <label class=\"field__label\">\n                                Zone HTF\n                            </label>\n\n                            <input\n                                type=\"text\"\n                                name=\"htf_zone\"\n                                class=\"field__input\"\n                                value=\"\"\n                                placeholder=\"FVG 4H, OB 4H, BISI 30m...\"\n                            >\n\n                        </div>\n\n\n                        <div class=\"field\">\n\n                            <label class=\"field__label\">\n                                Type de liquidité\n                            </label>\n\n                            <input\n                                type=\"text\"\n                                name=\"liquidity_type\"\n                                class=\"field__input\"\n                                value=\"\"\n                                placeholder=\"Asia High, Asia Low, PDH, PDL...\"\n                            >\n\n                        </div>\n\n                    </div>\n\n                </div>\n\n            </section>\n\n\n            \n\n            <section id=\"addin-confirmations-section\" class=\"form-section\">\n\n                <div class=\"form-section__header\">\n\n                    <h2 class=\"form-section__title\">\n                        Confirmations\n                    </h2>\n\n                </div>\n\n\n                <div class=\"form-section__body\">\n\n                    <div class=\"checkbox-grid\">\n\n                        \n                        \n                            <label class=\"checkbox\">\n\n                                <input\n                                    type=\"checkbox\"\n                                    name=\"htf_bias\"\n                                    value=\"1\"\n                                                                    >\n\n                                <span class=\"checkbox__label\">\n                                    HTF Bias\n                                </span>\n\n                            </label>\n\n                        \n                            <label class=\"checkbox\">\n\n                                <input\n                                    type=\"checkbox\"\n                                    name=\"liquidity_taken\"\n                                    value=\"1\"\n                                                                    >\n\n                                <span class=\"checkbox__label\">\n                                    Liquidité prise\n                                </span>\n\n                            </label>\n\n                        \n                            <label class=\"checkbox\">\n\n                                <input\n                                    type=\"checkbox\"\n                                    name=\"displacement\"\n                                    value=\"1\"\n                                                                    >\n\n                                <span class=\"checkbox__label\">\n                                    Displacement\n                                </span>\n\n                            </label>\n\n                        \n                            <label class=\"checkbox\">\n\n                                <input\n                                    type=\"checkbox\"\n                                    name=\"mss\"\n                                    value=\"1\"\n                                                                    >\n\n                                <span class=\"checkbox__label\">\n                                    MSS\n                                </span>\n\n                            </label>\n\n                        \n                            <label class=\"checkbox\">\n\n                                <input\n                                    type=\"checkbox\"\n                                    name=\"fvg15\"\n                                    value=\"1\"\n                                                                    >\n\n                                <span class=\"checkbox__label\">\n                                    FVG 15m\n                                </span>\n\n                            </label>\n\n                        \n                            <label class=\"checkbox\">\n\n                                <input\n                                    type=\"checkbox\"\n                                    name=\"breaker\"\n                                    value=\"1\"\n                                                                    >\n\n                                <span class=\"checkbox__label\">\n                                    Breaker\n                                </span>\n\n                            </label>\n\n                        \n                            <label class=\"checkbox\">\n\n                                <input\n                                    type=\"checkbox\"\n                                    name=\"bisi30\"\n                                    value=\"1\"\n                                                                    >\n\n                                <span class=\"checkbox__label\">\n                                    BISI 30m\n                                </span>\n\n                            </label>\n\n                        \n                            <label class=\"checkbox\">\n\n                                <input\n                                    type=\"checkbox\"\n                                    name=\"news\"\n                                    value=\"1\"\n                                                                    >\n\n                                <span class=\"checkbox__label\">\n                                    News\n                                </span>\n\n                            </label>\n\n                        \n                    </div>\n\n\n                    <div\n                        class=\"form-grid\"\n                        style=\"margin-top: 1.25rem;\"\n                    >\n\n                        <div class=\"field\">\n\n                            <label class=\"field__label\">\n                                Type de news\n                            </label>\n\n                            <input\n                                type=\"text\"\n                                name=\"news_type\"\n                                class=\"field__input\"\n                                value=\"\"\n                                placeholder=\"NFP, CPI, FOMC, Trump...\"\n                            >\n\n                        </div>\n\n                    </div>\n\n                </div>\n\n            </section>\n\n\n            \n\n            <section class=\"form-section\">\n\n                <div class=\"form-section__header\">\n                    <h2 class=\"form-section__title\">\n                        Risque & résultat\n                    </h2>\n                </div>\n\n                <div class=\"form-section__body\">\n\n                    <div class=\"form-grid form-grid--3\">\n\n                        <div class=\"field addin-secondary-risk-field\">\n\n                            <label class=\"field__label\">\n                                Risque recommandé (%)\n                            </label>\n\n                            <input\n                                type=\"number\"\n                                id=\"risk-percent\"\n                                name=\"risk_percent\"\n                                class=\"field__input field__input--mono\"\n                                value=\"0.75\"\n                                step=\"0.01\"\n                                min=\"0\"\n                                readonly\n                            >\n\n                        </div>\n\n\n                        <div class=\"field addin-secondary-risk-field\">\n\n                            <label class=\"field__label\">\n                                Risque utilisé (%)\n                            </label>\n\n                            <input\n                                type=\"number\"\n                                id=\"risk-used-percent\"\n                                name=\"risk_used_percent\"\n                                class=\"field__input field__input--mono\"\n                                value=\"0.75\"\n                                step=\"0.01\"\n                                min=\"0\"\n                            >\n\n                        </div>\n\n\n                        <div class=\"field addin-secondary-risk-field\">\n\n                            <label class=\"field__label\">\n                                Résultat\n                            </label>\n\n                            <input\n                                type=\"text\"\n                                name=\"result\"\n                                class=\"field__input\"\n                                value=\"\"\n                                placeholder=\"TP, SL, BE...\"\n                            >\n\n                        </div>\n\n\n                        <div class=\"field addin-secondary-risk-field\">\n\n                            <label class=\"field__label\">\n                                RR planifié\n                            </label>\n\n                            <input\n                                type=\"number\"\n                                name=\"rr_planned\"\n                                class=\"field__input field__input--mono\"\n                                value=\"\"\n                                step=\"0.01\"\n                            >\n\n                        </div>\n\n\n                        <div class=\"field\">\n\n                            <label class=\"field__label\">\n                                RR réalisé\n                            </label>\n\n                            <input\n                                type=\"number\"\n                                name=\"rr_realized\"\n                                class=\"field__input field__input--mono\"\n                                value=\"\"\n                                step=\"0.01\"\n                            >\n\n                        </div>\n\n                    </div>\n\n                </div>\n\n            </section>\n\n\n            \n\n            <section id=\"addin-discipline-section\" class=\"form-section\">\n\n                <div class=\"form-section__header\">\n                    <h2 class=\"form-section__title\">\n                        Discipline\n                    </h2>\n                </div>\n\n                <div class=\"form-section__body\">\n\n                    <div\n                        class=\"checkbox-grid\"\n                        style=\"margin-bottom:1.25rem;\"\n                    >\n\n                        <label class=\"checkbox\">\n\n                            <input\n                                type=\"checkbox\"\n                                name=\"anticipated\"\n                                value=\"1\"\n                                                            >\n\n                            <span class=\"checkbox__label\">\n                                Trade anticipé\n                            </span>\n\n                        </label>\n\n\n                        <label class=\"checkbox\">\n\n                            <input\n                                type=\"checkbox\"\n                                name=\"one_trade_rule_respected\"\n                                value=\"1\"\n                                checked                            >\n\n                            <span class=\"checkbox__label\">\n                                Règle 1 trade / jour respectée\n                            </span>\n\n                        </label>\n\n                    </div>\n\n\n                    <div class=\"form-grid\">\n\n                        <div class=\"field\">\n\n                            <label class=\"field__label\">\n                                Score discipline /10\n                            </label>\n\n                            <input\n                                type=\"number\"\n                                name=\"discipline_score\"\n                                class=\"field__input field__input--mono\"\n                                value=\"\"\n                                min=\"0\"\n                                max=\"10\"\n                            >\n\n                        </div>\n\n\n                        <div class=\"field\">\n\n                            <label class=\"field__label\">\n                                Setup Grade\n                            </label>\n\n                            <input\n                                type=\"text\"\n                                name=\"setup_grade\"\n                                class=\"field__input\"\n                                value=\"\"\n                                placeholder=\"A+, A, B, Hors plan...\"\n                            >\n\n                        </div>\n\n                    </div>\n\n                </div>\n\n            </section>\n\n\n            \n\n            <section id=\"addin-psychology-section\" class=\"form-section\">\n\n                <div class=\"form-section__header\">\n\n                    <h2 class=\"form-section__title\">\n                        Psychologie / analyse\n                    </h2>\n\n                </div>\n\n\n                <div class=\"form-section__body\">\n\n                    <div class=\"form-grid form-grid--1\">\n\n                        <div class=\"field\">\n\n                            <label class=\"field__label\">\n                                Émotion avant le trade\n                            </label>\n\n                            <input\n                                type=\"text\"\n                                name=\"emotion_before\"\n                                class=\"field__input\"\n                                value=\"\"\n                                placeholder=\"Calme, confiance, FOMO...\"\n                            >\n\n                        </div>\n\n\n                        <div class=\"field\">\n\n                            <label class=\"field__label\">\n                                Notes\n                            </label>\n\n                            <textarea\n                                name=\"notes\"\n                                class=\"field__textarea\"\n                                placeholder=\"Contexte et observations...\"\n                            ></textarea>\n\n                        </div>\n\n\n                        <div class=\"field\">\n\n                            <label class=\"field__label\">\n                                Ce qui a bien fonctionné\n                            </label>\n\n                            <textarea\n                                name=\"what_went_well\"\n                                class=\"field__textarea\"\n                                placeholder=\"Points positifs...\"\n                            ></textarea>\n\n                        </div>\n\n\n                        <div class=\"field\">\n\n                            <label class=\"field__label\">\n                                À améliorer\n                            </label>\n\n                            <textarea\n                                name=\"to_improve\"\n                                class=\"field__textarea\"\n                                placeholder=\"Axes d'amélioration...\"\n                            ></textarea>\n\n                        </div>\n\n                    </div>\n\n                </div>\n\n            </section>\n\n\n            \n\n            <section id=\"addin-mt5-section\" class=\"form-section\">\n\n                <div class=\"form-section__header\">\n\n                    <h2 class=\"form-section__title\">\n                        MT5 / FTMO\n                    </h2>\n\n                </div>\n\n\n                <div class=\"form-section__body\">\n\n                    <div class=\"form-grid\">\n\n                        <div class=\"field\">\n\n                            <label class=\"field__label\">\n                                Ticket MT5\n                            </label>\n\n                            <input\n                                type=\"text\"\n                                name=\"mt5_ticket\"\n                                class=\"field__input field__input--mono\"\n                                value=\"\"\n                                placeholder=\"123456789\"\n                            >\n\n                        </div>\n\n\n                        <div class=\"field\">\n\n                            <label class=\"field__label\">\n                                Compte MT5\n                            </label>\n\n                            <input\n                                type=\"text\"\n                                name=\"mt5_account\"\n                                class=\"field__input field__input--mono\"\n                                value=\"\"\n                                placeholder=\"FTMO-123456\"\n                            >\n\n                        </div>\n\n                    </div>\n\n                </div>\n\n            </section>\n\n\n            <div class=\"form-actions\">\n\n                <a\n                    href=\"http://127.0.0.1:8000/trades\"\n                    class=\"btn btn--ghost\"\n                >\n                    Annuler\n                </a>\n\n                <button\n                    type=\"submit\"\n                    class=\"btn btn--primary\"\n                >\n                    Enregistrer le trade\n                </button>\n\n            </div>\n\n        </form>\n\n    </div>\n\n\n    <footer class=\"footer\">\n        ICT Performance Lab by Jul —\n        2026\n    </footer>\n\n</div>\n\n</main>\n\n<script>\n    (() => {\n        const buttons =\n            document.querySelectorAll('[data-theme-choice]');\n\n        function applyTheme(theme) {\n            document.documentElement.dataset.theme = theme;\n\n            localStorage.setItem(\n                'ict-theme',\n                theme\n            );\n\n            buttons.forEach(button => {\n                const active =\n                    button.dataset.themeChoice === theme;\n\n                button.classList.toggle(\n                    'is-active',\n                    active\n                );\n\n                button.setAttribute(\n                    'aria-pressed',\n                    active ? 'true' : 'false'\n                );\n            });\n        }\n\n        const savedTheme =\n            localStorage.getItem('ict-theme') || 'dark';\n\n        applyTheme(savedTheme);\n\n        buttons.forEach(button => {\n            button.addEventListener('click', () => {\n                applyTheme(\n                    button.dataset.themeChoice\n                );\n            });\n        });\n    })();\n</script>\n\n<script>\n    document.addEventListener('DOMContentLoaded', function () {\n        const modeInputs = document.querySelectorAll('input[name=\"trade_mode\"]');\n        const positionInputs = document.querySelectorAll('input[name=\"position_type\"]');\n\n        const realPositionFields = document.getElementById('real-position-fields');\n        const parentTradeField = document.getElementById('parent-trade-field');\n        const parentTradeSelect = parentTradeField\n            ? parentTradeField.querySelector('select[name=\"parent_trade_id\"]')\n            : null;\n\n        const riskDisplay = document.getElementById('risk-manager-display');\n        const riskPercentInput = document.getElementById('risk-percent');\n        const riskUsedInput = document.getElementById('risk-used-percent');\n\n        const addinRiskSummary = document.getElementById('addin-risk-summary');\n        const addinRiskLimit = document.getElementById('addin-risk-limit');\n        const addinRiskUsed = document.getElementById('addin-risk-used');\n        const addinRiskRemaining = document.getElementById('addin-risk-remaining');\n        const addinParentSummary = document.getElementById('addin-parent-summary');\n        const addinParentSummaryValue = document.getElementById('addin-parent-summary-value');\n\n        const inheritedFields = document.querySelectorAll('.addin-inherited-field');\n        const secondaryRiskFields = document.querySelectorAll('.addin-secondary-risk-field');\n\n        const contextSection = document.getElementById('addin-context-section');\n        const confirmationsSection = document.getElementById('addin-confirmations-section');\n        const disciplineSection = document.getElementById('addin-discipline-section');\n        const psychologySection = document.getElementById('addin-psychology-section');\n        const mt5Section = document.getElementById('addin-mt5-section');\n\n        const tradeDateInput = document.querySelector('input[name=\"trade_date\"]');\n        const assetInput = document.querySelector('input[name=\"asset\"]');\n        const directionSelect = document.querySelector('select[name=\"direction\"]');\n        const entryTimeInput = document.querySelector('input[name=\"entry_time\"]');\n\n        const standardRisk = riskDisplay\n            ? parseFloat(riskDisplay.dataset.standardRisk || '0')\n            : 0;\n\n        function selectedValue(name, fallback = null) {\n            const checked = document.querySelector(`input[name=\"${name}\"]:checked`);\n            return checked ? checked.value : fallback;\n        }\n\n        function formatRisk(value) {\n            return Number(value || 0)\n                .toFixed(2)\n                .replace('.', ',') + '%';\n        }\n\n        function selectedParentOption() {\n            if (!parentTradeSelect || !parentTradeSelect.value) {\n                return null;\n            }\n\n            return parentTradeSelect.options[parentTradeSelect.selectedIndex] || null;\n        }\n\n        function applyParentIdentity() {\n            const parentOption = selectedParentOption();\n\n            if (!parentOption) {\n                if (addinParentSummary) {\n                    addinParentSummary.hidden = true;\n                }\n                return;\n            }\n\n            const parentDate = parentOption.dataset.tradeDate || '';\n            const parentAsset = parentOption.dataset.asset || '';\n            const parentDirection = parentOption.dataset.direction || '';\n\n            if (tradeDateInput && parentDate) {\n                tradeDateInput.value = parentDate;\n            }\n\n            if (assetInput && parentAsset) {\n                assetInput.value = parentAsset;\n            }\n\n            if (directionSelect && parentDirection) {\n                directionSelect.value = parentDirection;\n            }\n\n            if (addinParentSummaryValue) {\n                const time = parentOption.textContent\n                    .trim()\n                    .replace(/\\s+/g, ' ');\n\n                addinParentSummaryValue.textContent = time;\n            }\n\n            if (addinParentSummary) {\n                addinParentSummary.hidden = false;\n            }\n        }\n\n        function setAddinCompactMode(isAddin) {\n            inheritedFields.forEach((field) => {\n                field.classList.toggle('addin-hidden', isAddin);\n            });\n\n            secondaryRiskFields.forEach((field) => {\n                field.classList.toggle('addin-hidden', isAddin);\n            });\n\n            [\n                contextSection,\n                confirmationsSection,\n                disciplineSection,\n                psychologySection,\n                mt5Section,\n            ].forEach((section) => {\n                if (section) {\n                    section.classList.toggle('addin-hidden', isAddin);\n                }\n            });\n\n            if (tradeDateInput) {\n                tradeDateInput.required = !isAddin;\n            }\n\n            if (assetInput) {\n                assetInput.required = !isAddin;\n            }\n\n            if (directionSelect) {\n                directionSelect.required = !isAddin;\n            }\n\n            if (entryTimeInput) {\n                entryTimeInput.required = isAddin;\n            }\n\n            if (!isAddin && addinParentSummary) {\n                addinParentSummary.hidden = true;\n            }\n        }\n\n        function refreshRisk() {\n            const tradeMode = selectedValue('trade_mode', 'real');\n            const positionType = selectedValue('position_type', 'main');\n            const isAddin = tradeMode === 'real' && positionType === 'addin';\n            const parentOption = selectedParentOption();\n\n            if (!isAddin || !parentOption) {\n                if (riskDisplay) {\n                    riskDisplay.textContent = formatRisk(standardRisk);\n                }\n\n                if (riskPercentInput) {\n                    riskPercentInput.value = standardRisk.toFixed(2);\n                }\n\n                if (riskUsedInput) {\n                    riskUsedInput.max = '';\n                    if (!riskUsedInput.value || parseFloat(riskUsedInput.value) > standardRisk) {\n                        riskUsedInput.value = standardRisk.toFixed(2);\n                    }\n                }\n\n                if (addinRiskSummary) {\n                    addinRiskSummary.hidden = true;\n                }\n\n                return;\n            }\n\n            const limit = parseFloat(parentOption.dataset.riskLimit || '0');\n            const used = parseFloat(parentOption.dataset.riskUsed || '0');\n            const remaining = parseFloat(parentOption.dataset.riskRemaining || '0');\n\n            if (riskDisplay) {\n                riskDisplay.textContent = formatRisk(remaining);\n            }\n\n            if (riskPercentInput) {\n                riskPercentInput.value = remaining.toFixed(2);\n            }\n\n            if (riskUsedInput) {\n                riskUsedInput.max = remaining.toFixed(2);\n                riskUsedInput.value = remaining.toFixed(2);\n            }\n\n            if (addinRiskLimit) {\n                addinRiskLimit.textContent = formatRisk(limit);\n            }\n\n            if (addinRiskUsed) {\n                addinRiskUsed.textContent = formatRisk(used);\n            }\n\n            if (addinRiskRemaining) {\n                addinRiskRemaining.textContent = formatRisk(remaining);\n            }\n\n            if (addinRiskSummary) {\n                addinRiskSummary.hidden = false;\n            }\n        }\n\n        function refreshPositionFields() {\n            const tradeMode = selectedValue('trade_mode', 'real');\n            const positionType = selectedValue('position_type', 'main');\n\n            const isReal = tradeMode === 'real';\n            const isAddin = isReal && positionType === 'addin';\n\n            if (realPositionFields) {\n                realPositionFields.hidden = !isReal;\n            }\n\n            if (parentTradeField) {\n                parentTradeField.hidden = !isAddin;\n            }\n\n            if (parentTradeSelect) {\n                parentTradeSelect.required = isAddin;\n\n                if (!isAddin) {\n                    parentTradeSelect.value = '';\n                }\n            }\n\n            setAddinCompactMode(isAddin);\n\n            if (isAddin) {\n                applyParentIdentity();\n            }\n\n            refreshRisk();\n        }\n\n        modeInputs.forEach((input) => {\n            input.addEventListener('change', refreshPositionFields);\n        });\n\n        positionInputs.forEach((input) => {\n            input.addEventListener('change', refreshPositionFields);\n        });\n\n        if (parentTradeSelect) {\n            parentTradeSelect.addEventListener('change', function () {\n                applyParentIdentity();\n                refreshRisk();\n            });\n        }\n\n        refreshPositionFields();\n    });\n</script>\n\n</body>\n</html>"}},"props":[],"propValues":[],"route":{"name":"trades.create","uri":"/trades/create","action":"App\\Http\\Controllers\\TradeController@create","actionSource":{"file":"/Users/jul/Documents/ICT-Performance-Lab/app/Http/Controllers/TradeController.php","line":46}},"renderSource":null,"componentPath":null}