/* Dashboard Trades public, BrainPredict E2 */
.trades-page {
 position: relative;
 z-index: 1;
 max-width: 1320px;
 margin: 0 auto;
 /* Nav fixe 2 rangées (~5.6rem) + air — évite chevauchement H1 */
 padding: calc(6.85rem + env(safe-area-inset-top, 0px)) 1.5rem 3rem;
}

.trades-header {
 margin-bottom: 1.5rem;
 padding-top: 0.55rem;
}

.trades-header h1 {
 font-family: 'DM Serif Display', serif;
 font-weight: 400;
 font-size: clamp(1.75rem, 4vw, 2.4rem);
 margin-bottom: 0.35rem;
}

.trades-header p {
 color: var(--muted);
 font-size: 0.92rem;
 max-width: 640px;
 line-height: 1.65;
}

/* Contrôles — sous KPI : tabs primaires → WL → secondaires */
.trades-controls {
 margin: 0 0 1.35rem;
 padding-top: 0.15rem;
}

.trades-controls-ux {
 display: flex;
 flex-direction: column;
 gap: 0.65rem;
}

/* Nav primaire En cours | Résultats */
.trades-lifecycle-nav {
 display: inline-flex;
 gap: 0.3rem;
 background: var(--bg2);
 border: 1px solid var(--border);
 border-radius: 11px;
 padding: 0.28rem;
 margin: 0;
 align-self: flex-start;
}

.trades-lifecycle-tab {
 background: transparent;
 border: none;
 color: var(--muted);
 font-family: inherit;
 font-size: 0.88rem;
 font-weight: 700;
 padding: 0.55rem 1.2rem;
 border-radius: 8px;
 cursor: pointer;
 transition: background 0.2s, color 0.2s;
}

.trades-lifecycle-tab:hover {
 color: var(--text);
}

.trades-lifecycle-tab.on {
 background: linear-gradient(135deg, rgba(0, 212, 255, 0.22), rgba(124, 58, 237, 0.18));
 color: var(--text);
 box-shadow: inset 0 0 0 1px rgba(0, 212, 255, 0.3);
}

.trades-lifecycle-tab .n {
 font-family: 'Space Mono', monospace;
 font-size: 0.72rem;
 font-weight: 500;
 opacity: 0.8;
 margin-left: 0.25rem;
}

/* Secondaire : catégorie discrète + Trier par */
.trades-secondary-bar {
 display: flex;
 flex-wrap: wrap;
 gap: 0.55rem 1rem;
 align-items: center;
 padding: 0.5rem 0.65rem;
 border: 1px solid rgba(255, 255, 255, 0.06);
 border-radius: 10px;
 background: rgba(10, 13, 26, 0.55);
}

.trades-secondary-label {
 font-size: 0.62rem;
 letter-spacing: 0.07em;
 text-transform: uppercase;
 color: rgba(232, 237, 245, 0.4);
 font-weight: 600;
 margin-right: 0.2rem;
}

.trades-controls-ux .trades-lab-tools {
 margin: 0;
 display: flex;
 flex-wrap: wrap;
 align-items: center;
 gap: 0.35rem 0.45rem;
}

.trades-controls-ux .trades-lab-tools.hidden {
 display: none;
}

.trades-controls-ux .trades-lab-row {
 margin: 0;
}

.trades-controls-ux .trades-chip {
 border-radius: 7px;
 background: transparent;
 border-color: rgba(255, 255, 255, 0.1);
 font-size: 0.7rem;
 font-weight: 500;
 padding: 0.28rem 0.55rem;
}

.trades-controls-ux .trades-chip.on {
 color: var(--cyan);
 border-color: rgba(0, 212, 255, 0.35);
 background: rgba(0, 212, 255, 0.06);
}

.trades-sort-wrap {
 display: inline-flex;
 flex-wrap: wrap;
 align-items: center;
 gap: 0.35rem;
 margin-left: auto;
}

.trades-sort-select {
 appearance: none;
 -webkit-appearance: none;
 background: var(--bg2)
  url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' fill='none'%3E%3Cpath d='M1 1.5l5 5 5-5' stroke='%234a5568' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E")
  no-repeat right 0.7rem center;
 border: 1px solid var(--border);
 border-radius: 8px;
 color: var(--text);
 font-family: inherit;
 font-size: 0.74rem;
 font-weight: 600;
 padding: 0.4rem 2rem 0.4rem 0.7rem;
 cursor: pointer;
 min-width: 11rem;
}

.trades-sort-select:focus {
 outline: 1px solid rgba(0, 212, 255, 0.4);
}

.trades-status-filters[hidden] {
 display: none !important;
}

.trades-toolbar-legacy[hidden] {
 display: none !important;
}

.trades-toolbar {
 display: flex;
 flex-wrap: wrap;
 gap: 0.75rem 1rem;
 align-items: center;
 justify-content: space-between;
 margin-bottom: 0.85rem;
}

.trades-controls[hidden] {
 display: none !important;
}

.trades-track-tabs {
 display: inline-flex;
 gap: 0.35rem;
 background: var(--bg2);
 border: 1px solid var(--border);
 border-radius: 12px;
 padding: 0.3rem;
 margin-bottom: 1rem;
}
.trades-track-tabs.hidden,
.trades-track-tabs[hidden],
.trades-track-tabs:empty {
 display: none !important;
 height: 0 !important;
 width: 0 !important;
 margin: 0 !important;
 padding: 0 !important;
 border: none !important;
 overflow: hidden !important;
 background: transparent !important;
}

.trades-track-tabs button {
 background: transparent;
 border: none;
 color: var(--muted);
 font-family: inherit;
 font-size: 0.88rem;
 font-weight: 650;
 padding: 0.55rem 1.15rem;
 border-radius: 8px;
 cursor: pointer;
 transition: background 0.2s, color 0.2s;
}

.trades-track-tabs button:hover {
 color: var(--text);
}

.trades-track-tabs button.on {
 background: linear-gradient(135deg, rgba(0, 212, 255, 0.22), rgba(124, 58, 237, 0.2));
 color: var(--text);
 box-shadow: inset 0 0 0 1px rgba(0, 212, 255, 0.3);
}

.trades-row-reel td {
 background: rgba(240, 180, 41, 0.04);
}

.trades-tabs {
 display: inline-flex;
 gap: 0.35rem;
 background: var(--bg2);
 border: 1px solid var(--border);
 border-radius: 10px;
 padding: 0.25rem;
}

.trades-tabs button {
 background: transparent;
 border: none;
 color: var(--muted);
 font-family: inherit;
 font-size: 0.82rem;
 font-weight: 600;
 padding: 0.45rem 0.95rem;
 border-radius: 7px;
 cursor: pointer;
 transition: background 0.2s, color 0.2s;
}

.trades-tabs button:hover {
 color: var(--text);
}

.trades-tabs button.on {
 background: linear-gradient(135deg, rgba(0, 212, 255, 0.18), rgba(124, 58, 237, 0.18));
 color: var(--text);
 box-shadow: inset 0 0 0 1px rgba(0, 212, 255, 0.25);
}

.trades-meta {
 font-size: 0.75rem;
 color: var(--muted);
 font-family: 'Space Mono', monospace;
}

.trades-filter-bar {
 display: flex;
 flex-wrap: nowrap;
 gap: 0.45rem;
 margin-bottom: 0.35rem;
 overflow-x: auto;
 -webkit-overflow-scrolling: touch;
 scrollbar-width: none;
 padding-bottom: 0.35rem;
 mask-image: linear-gradient(to right, transparent, #000 12px, #000 calc(100% - 12px), transparent);
}

.trades-filter-bar::-webkit-scrollbar {
 display: none;
}

.trades-filter-bar.hidden {
 display: none;
}

.trades-chip {
 background: var(--bg2);
 border: 1px solid var(--border);
 border-radius: 999px;
 color: var(--muted);
 font-size: 0.75rem;
 font-weight: 500;
 padding: 0.3rem 0.75rem;
 cursor: pointer;
 transition: border-color 0.2s, color 0.2s, background 0.2s;
 flex-shrink: 0;
 white-space: nowrap;
}

.trades-chip:hover,
.trades-chip.on {
 border-color: rgba(0, 212, 255, 0.45);
 color: var(--cyan);
 background: rgba(0, 212, 255, 0.06);
}

.trades-chip[hidden],
.trades-status-chip[hidden] {
 display: none !important;
}

.trades-kpi-grid {
 display: grid;
 grid-template-columns: repeat(4, 1fr);
 gap: 0.85rem;
 margin: 0 0 1.15rem;
}

.trades-kpi-grid.is-dual-roi {
 grid-template-columns: repeat(4, 1fr);
}

.trades-kpi-grid.is-kpi-triple {
 grid-template-columns: repeat(3, 1fr);
}

.trades-kpi-grid[hidden] {
 display: none !important;
}

.trades-cumul-strip {
 display: grid;
 grid-template-columns: repeat(2, minmax(0, 1fr));
 gap: 0.75rem;
 margin: 0 0 1rem;
}
.trades-cumul-strip[hidden] {
 display: none !important;
}
.trades-cumul-card {
 background: linear-gradient(145deg, rgba(15, 22, 48, 0.85), rgba(10, 14, 30, 0.9));
 border: 1px solid rgba(0, 212, 255, 0.12);
 border-radius: 12px;
 padding: 0.95rem 1rem;
 text-align: center;
}
.trades-cumul-card .label {
 font-size: 0.72rem;
 letter-spacing: 0.06em;
 text-transform: uppercase;
 color: #8b9cb3;
 margin-bottom: 0.35rem;
}
.trades-cumul-card .value {
 font-family: "Space Mono", ui-monospace, monospace;
 font-size: 1.35rem;
 font-weight: 700;
}

@media (max-width: 1024px) {
 .trades-kpi-grid {
 grid-template-columns: repeat(2, 1fr);
 }
 .trades-kpi-grid.is-kpi-triple {
 grid-template-columns: repeat(3, 1fr);
 }
}

@media (max-width: 520px) {
 .trades-kpi-grid {
 grid-template-columns: repeat(2, 1fr);
 gap: 0.65rem;
 }
 .trades-kpi-grid.is-kpi-triple {
 grid-template-columns: 1fr;
 }
 .trades-cumul-strip {
 grid-template-columns: 1fr;
 }
}

.trades-kpi {
 background: linear-gradient(145deg, rgba(15, 22, 48, 0.85), rgba(10, 14, 30, 0.9));
 border: 1px solid rgba(0, 212, 255, 0.12);
 border-radius: 12px;
 padding: 0.95rem 1rem;
 text-align: center;
 transition: border-color 0.2s, box-shadow 0.2s;
}

/* ROI = métrique tête — vert contrasté (fondateur 2026-09-12) */
.trades-kpi.trades-kpi--lead {
 border-color: rgba(0, 232, 122, 0.45);
 box-shadow: inset 0 0 0 1px rgba(0, 232, 122, 0.18);
 background: linear-gradient(
 160deg,
 rgba(0, 232, 122, 0.14),
 rgba(15, 22, 48, 0.9) 48%,
 rgba(10, 14, 30, 0.92)
 );
}

.trades-kpi.trades-kpi--lead .label {
 color: #7af0c8;
}

.trades-kpi.trades-kpi--lead .value {
 font-size: 1.55rem;
 letter-spacing: -0.01em;
 color: #00e87a;
}

.trades-kpi .label {
 font-size: 0.58rem;
 font-weight: 700;
 color: var(--muted);
 text-transform: uppercase;
 letter-spacing: 0.12em;
 margin-bottom: 0.7rem;
}

.trades-kpi .value {
 font-family: 'Space Mono', monospace;
 font-size: 1.25rem;
 font-weight: 700;
 line-height: 1.2;
 margin-top: 0.15rem;
}

.trades-kpi .value.pos,
.trades-table td.pos,
.trades-ranking-table td.pos,
.num.pos,
.pos {
 color: var(--green);
}

.trades-kpi .value.neg,
.trades-table td.neg,
.trades-ranking-table td.neg,
.num.neg,
.neg {
 color: var(--red);
}

.trades-kpi .value.neu,
.trades-table td.neu,
.num.neu,
.neu {
 color: var(--cyan);
}

.trades-section {
 background: var(--bg2);
 border: 1px solid var(--border);
 border-radius: 14px;
 padding: 1.25rem 1.35rem;
 margin-bottom: 1.25rem;
}

.trades-section h2 {
 font-family: 'DM Serif Display', serif;
 font-weight: 400;
 font-size: 1.15rem;
 margin-bottom: 1rem;
 color: var(--text);
}

.trades-section h2 span {
 color: var(--cyan);
 font-size: 0.72rem;
 font-family: 'DM Sans', sans-serif;
 font-weight: 600;
 text-transform: uppercase;
 letter-spacing: 0.1em;
 margin-left: 0.5rem;
}

.trades-charts {
 display: grid;
 grid-template-columns: 1fr 1fr;
 gap: 1rem;
}

@media (max-width: 860px) {
 .trades-charts {
 grid-template-columns: 1fr;
 }
}

.trades-chart-card {
 background: var(--bg3);
 border: 1px solid var(--border-faint);
 border-radius: 12px;
 padding: 1rem;
 min-height: 280px;
}

.trades-chart-card.wide {
 grid-column: 1 / -1;
}

.trades-chart-card h3 {
 font-size: 0.78rem;
 font-weight: 600;
 color: var(--muted);
 text-transform: uppercase;
 letter-spacing: 0.08em;
 margin-bottom: 0.75rem;
}

.trades-chart-wrap {
 position: relative;
 height: 220px;
}

.trades-chart-wrap.tall {
 height: 260px;
}

.trades-table-wrap {
 overflow-x: auto;
}

.trades-table {
 width: 100%;
 border-collapse: collapse;
 font-size: 0.82rem;
}

.trades-table th,
.trades-table td {
 text-align: left;
 padding: 0.55rem 0.5rem;
 border-bottom: 1px solid var(--border-faint);
 vertical-align: middle;
}

.trades-table th {
 color: var(--muted);
 font-weight: 600;
 font-size: 0.68rem;
 text-transform: uppercase;
 letter-spacing: 0.06em;
}

.trades-table tbody tr {
 transition: background 0.15s;
}

.trades-table tbody tr:hover {
 background: rgba(0, 212, 255, 0.04);
}

.trades-table a.trade-link {
 color: var(--cyan);
 text-decoration: none;
 font-weight: 600;
 font-family: 'Space Mono', monospace;
 font-size: 0.78rem;
}

.trades-table a.trade-link:hover {
 text-decoration: underline;
}

.trades-pm {
 display: block;
 margin-top: 0.28rem;
 font-size: 0.65rem;
 line-height: 1.25;
 opacity: 0.7;
 color: var(--muted, rgba(255, 255, 255, 0.55));
 text-decoration: none;
 font-weight: 500;
 letter-spacing: 0.01em;
 white-space: normal;
}
.trades-pm:hover {
 opacity: 1;
 color: var(--cyan, #00d4ff);
}

.trades-pdf-btn {
 display: inline-flex;
 align-items: center;
 justify-content: center;
 gap: 0.28rem;
 font-family: 'Space Mono', monospace;
 font-size: 0.68rem;
 font-weight: 700;
 letter-spacing: 0.04em;
 padding: 0.22rem 0.48rem;
 border-radius: 4px;
 border: 1px solid rgba(0, 212, 255, 0.45);
 background: rgba(0, 212, 255, 0.08);
 color: var(--cyan);
 cursor: pointer;
 line-height: 1.2;
 white-space: nowrap;
}

.trades-pdf-btn .trades-pdf-icon {
 flex-shrink: 0;
 opacity: 0.95;
}

.trades-pdf-btn .trades-pdf-lang {
 font-size: 0.62rem;
 font-weight: 600;
 opacity: 0.85;
 letter-spacing: 0.02em;
}

.trades-pdf-btn.is-locked {
 border-color: rgba(255, 255, 255, 0.22);
 background: rgba(255, 255, 255, 0.04);
 color: rgba(255, 255, 255, 0.55);
}

.trades-pdf-btn:hover {
 background: rgba(0, 212, 255, 0.18);
}

.trades-pdf-btn.is-locked:hover {
 background: rgba(255, 255, 255, 0.08);
 color: rgba(255, 255, 255, 0.75);
}

.trades-pdf-btn:disabled {
 opacity: 0.5;
 cursor: wait;
}

.trades-table th.col-pdf,
.trades-table td.col-pdf {
 text-align: center;
 width: 4.2rem;
}

.trades-table .q {
 max-width: 340px;
 white-space: nowrap;
 overflow: hidden;
 text-overflow: ellipsis;
}

.trades-badge {
 display: inline-block;
 font-size: 0.68rem;
 font-weight: 700;
 padding: 0.15rem 0.45rem;
 border-radius: 4px;
 text-transform: uppercase;
 letter-spacing: 0.04em;
}

/* Sélection garantie L1/BRA (exception fondateur) — distinct du floor 8 */
.trades-status-badges {
 display: flex;
 flex-direction: column;
 align-items: flex-start;
 gap: 0.28rem;
 max-width: 100%;
 width: 100%;
 box-sizing: border-box;
 overflow: hidden;
}

.trades-badge-selection-jour {
 background: rgba(14, 116, 144, 0.14);
 color: #0e7490;
 border: 1px solid rgba(14, 116, 144, 0.35);
 text-transform: none;
 letter-spacing: 0.01em;
 font-weight: 600;
 max-width: 100%;
 width: auto;
 white-space: normal;
 overflow-wrap: anywhere;
 word-break: break-word;
 line-height: 1.25;
 vertical-align: middle;
 display: inline-block;
}

/* Brasileirão — même stack statut, teinte distincte légère */
.trades-badge-selection-jour.is-brasileirao {
 background: rgba(180, 83, 9, 0.12);
 color: #b45309;
 border-color: rgba(180, 83, 9, 0.38);
}

/* Ligue 1 — même stack statut */
.trades-badge-selection-jour.is-ligue1 {
 background: rgba(4, 120, 87, 0.12);
 color: #047857;
 border-color: rgba(4, 120, 87, 0.35);
}

/* Roland-Garros paper */
.trades-badge-selection-jour.is-rg {
 background: rgba(124, 58, 237, 0.10);
 color: #6d28d9;
 border-color: rgba(109, 40, 217, 0.35);
}

.trades-row-reel.trades-row-selection-garantie td,
.trades-row-reel.is-brasileirao td,
.trades-row-reel.is-ligue1 td,
.trades-row-reel.is-rg td {
 box-shadow: inset 3px 0 0 #0e7490;
}

.trades-row-reel.is-brasileirao td {
 box-shadow: inset 3px 0 0 #b45309;
}

.trades-row-reel.is-ligue1 td {
 box-shadow: inset 3px 0 0 #047857;
}

.trades-row-reel.is-rg td {
 box-shadow: inset 3px 0 0 #6d28d9;
}

.trades-badge.gagne {
 background: #00e87a;
 color: #041018;
 font-weight: 800;
 letter-spacing: 0.03em;
 text-transform: uppercase;
}

.trades-badge.perdu {
 background: #ff3b5c;
 color: #fff;
 font-weight: 800;
 letter-spacing: 0.03em;
 text-transform: uppercase;
}

.trades-badge.vendu {
 background: rgba(240, 180, 41, 0.12);
 color: var(--gold);
}

.trades-badge.ouvert {
 background: rgba(0, 212, 255, 0.12);
 color: var(--cyan);
}

.trades-badge.resolu-gain {
 background: #00e87a;
 color: #041018;
 font-weight: 800;
 letter-spacing: 0.03em;
 text-transform: uppercase;
}

.trades-badge.resolu-perte {
 background: #ff3b5c;
 color: #fff;
 font-weight: 800;
 letter-spacing: 0.03em;
 text-transform: uppercase;
}

.trades-badge.void {
 background: rgba(148, 163, 184, 0.16);
 color: #94a3b8;
}

.trades-badge.en-cours {
 background: rgba(0, 212, 255, 0.12);
 color: var(--cyan);
}

.trades-badge.en-cours-teaser {
 background: rgba(124, 58, 237, 0.1);
 color: var(--violet);
 font-size: 0.62rem;
}

/* Pastille bleue vérification CLOB — legacy chip (conservé si fallback) */
.trades-badge-verified {
 background: rgba(0, 212, 255, 0.14);
 color: #00d4ff;
 border: 1px solid rgba(0, 212, 255, 0.45);
 text-transform: none;
 letter-spacing: 0.02em;
 font-weight: 700;
}

/* Signaux discrets : P / conviction / Pari spécial (piste Réel) */
:root {
 --bp-sig-p-fg: #00d4ff;
 --bp-sig-p-bg: rgba(0, 212, 255, 0.14);
 --bp-sig-p-bd: rgba(0, 212, 255, 0.45);
 --bp-sig-dot-forte: #1fa85a;
 --bp-sig-dot-moyenne: #c5cdd8;
 --bp-sig-dot-halo: rgba(255, 255, 255, 0.12);
 --bp-sig-special-fg: #e8c36a;
 --bp-sig-special-bg: rgba(240, 180, 41, 0.08);
 --bp-sig-special-bd: rgba(240, 180, 41, 0.42);
}

.trades-sig {
 display: inline-flex;
 align-items: center;
 gap: 0.38rem;
 margin-top: 0.28rem;
 min-height: 18px;
 flex-wrap: wrap;
}

.trades-sig-p {
 display: inline-flex;
 width: 18px;
 height: 18px;
 align-items: center;
 justify-content: center;
 border-radius: 50%;
 background: var(--bp-sig-p-bg);
 border: 1px solid var(--bp-sig-p-bd);
 color: var(--bp-sig-p-fg);
 font-family: "Space Mono", ui-monospace, monospace;
 font-size: 0.68rem;
 font-weight: 800;
 line-height: 1;
}

.trades-sig-dot {
 display: none !important; /* retiré: redondant avec score /10 */
 width: 7px;
 height: 7px;
 border-radius: 50%;
 box-shadow: 0 0 0 3px var(--bp-sig-dot-halo);
 flex: 0 0 auto;
}
.trades-sig-dot.is-forte { background: var(--bp-sig-dot-forte); }
.trades-sig-dot.is-moyenne { background: var(--bp-sig-dot-moyenne); }

.trades-sig-special {
 display: inline-flex;
 align-items: center;
 font-size: 0.62rem;
 font-weight: 600;
 letter-spacing: 0.03em;
 color: var(--bp-sig-special-fg);
 background: var(--bp-sig-special-bg);
 border: 1px solid var(--bp-sig-special-bd);
 border-radius: 999px;
 padding: 0.12rem 0.45rem;
 line-height: 1.2;
 white-space: nowrap;
 text-transform: none;
}

@media (prefers-reduced-motion: reduce) {
 .trades-sig-p,
 .trades-sig-dot,
 .trades-sig-special {
 animation: none !important;
 transition: none !important;
 }
}

.trades-paywall-msg {
 margin: 0 0 1.25rem;
}

.trades-paywall-card {
 border: 1px solid rgba(0, 212, 255, 0.32);
 background:
  radial-gradient(ellipse at 12% 0%, rgba(0, 212, 255, 0.14), transparent 50%),
  radial-gradient(ellipse at 88% 100%, rgba(124, 58, 237, 0.08), transparent 45%),
  linear-gradient(180deg, rgba(18, 24, 38, 0.98), rgba(10, 14, 22, 0.99));
 padding: 2rem 1.85rem 1.75rem;
 border-radius: 18px;
 /* Fondateur 2026-10-01 : largeur utile ; guest peu de contenu = respirer sans max trop étroit */
 max-width: min(100%, 56rem);
 width: 100%;
 margin-left: auto;
 margin-right: auto;
 box-sizing: border-box;
 box-shadow: 0 18px 48px rgba(0, 0, 0, 0.28);
}
.trades-paywall-card .price-plans.price-plans--3 {
 gap: 0.85rem;
 margin-bottom: 1.5rem;
 align-items: stretch;
}
.trades-paywall-card .price-plan {
 padding: 1.25rem 1rem 1.1rem;
 min-height: 11.5rem;
 border-radius: 14px;
 /* Empêche « 250 USDC » de déborder sous overflow:hidden + scale selected */
 min-width: 0;
}
.trades-paywall-card .price-plan:focus-within {
 outline: 2px solid rgba(0, 212, 255, 0.5);
 outline-offset: 3px;
}
.trades-paywall-card .price-plan-amount {
 letter-spacing: 0;
 max-width: 100%;
}
.trades-paywall-card .price-plans--3 .price-plan-amount {
 /* Ne pas remonter au-dessus du clamp main.css (cause du cut « …USD C ») */
 font-size: clamp(0.98rem, 1.25vw + 0.4rem, 1.28rem);
 line-height: 1.2;
}
.trades-paywall-card .price-plan--usdc .price-plan-amount {
 font-size: clamp(0.88rem, 1.05vw + 0.38rem, 1.12rem);
 letter-spacing: -0.025em;
 white-space: nowrap; /* paywall large : une ligne */
}
.trades-paywall-card .price-plans--3 .price-plan-note {
 font-size: 0.74rem;
 line-height: 1.45;
 color: #B8C0CC;
}
.trades-paywall-form {
 margin-top: 0.15rem;
 display: flex;
 flex-direction: column;
 gap: 0.75rem;
 /* Aligné sous les cards : même largeur utile */
 max-width: 100%;
 width: 100%;
}
.trades-paywall-form .field-hint {
 margin: 0;
 color: #B8C0CC;
 font-size: 0.9rem;
}
.trades-paywall-form .field-label {
 margin: 0;
 font-size: 0.82rem;
 font-weight: 600;
 color: #e8eef8;
}
.trades-paywall-form .fi2 {
 width: 100%;
 box-sizing: border-box;
}
.trades-paywall-form .bfull.bst {
 width: 100%;
 margin: 0;
}
@media (max-width: 720px) {
 .trades-paywall-card {
  padding: 1.35rem 1.05rem 1.2rem;
  max-width: 100%;
 }
 .trades-paywall-card .price-plans.price-plans--3 {
  grid-template-columns: 1fr;
  gap: 0.75rem;
 }
 .trades-paywall-card .price-plan {
  min-height: 0;
 }
 .trades-paywall-card .price-plans--3 .price-plan-amount {
  font-size: clamp(1.15rem, 4.5vw, 1.4rem);
 }
 .trades-paywall-card .price-plan--usdc .price-plan-amount {
  font-size: clamp(1.02rem, 3.8vw, 1.22rem);
 }
 .trades-paywall-form {
  max-width: 100%;
 }
}
@media (min-width: 721px) and (max-width: 960px) {
 .trades-paywall-card .price-plans.price-plans--3 { gap: 0.65rem; }
 .trades-paywall-card .price-plan { padding: 1.1rem 0.8rem 1rem; }
 .trades-paywall-card .price-plans--3 .price-plan-amount {
  font-size: clamp(0.9rem, 1.55vw, 1.12rem);
 }
 .trades-paywall-card .price-plan--usdc .price-plan-amount {
  font-size: clamp(0.82rem, 1.3vw, 1rem);
 }
}
@media (min-width: 1100px) {
 /* Guest En cours : un peu d'air autour du bloc sans vide mort */
 #trades-paywall-open:not([hidden]) {
  padding: 0.75rem 0 1.5rem;
 }
}

.trades-paywall-kicker {
 margin: 0 0 0.35rem;
 font-size: 0.72rem;
 font-weight: 700;
 letter-spacing: 0.08em;
 text-transform: uppercase;
 color: #00d4ff;
}

.trades-paywall-title {
 margin: 0 0 0.55rem;
 font-family: "DM Serif Display", Georgia, serif;
 font-size: 1.45rem;
 font-weight: 400;
 color: #f3f6fb;
 line-height: 1.25;
}

.trades-paywall-body {
 margin: 0 0 1.1rem;
 color: #a8b3c7;
 font-size: 0.95rem;
 line-height: 1.5;
}

.trades-paywall-prices {
 display: flex;
 flex-wrap: wrap;
 gap: 0.65rem;
 align-items: center;
 margin-bottom: 0.85rem;
}

.trades-paywall-cta {
 display: inline-flex;
 align-items: center;
 text-decoration: none;
}

.trades-paywall-cta-secondary {
 display: inline-flex;
 align-items: center;
 padding: 0.55rem 0.95rem;
 border-radius: 8px;
 border: 1px solid rgba(255, 255, 255, 0.18);
 color: #e8eef8;
 text-decoration: none;
 font-size: 0.9rem;
 font-weight: 600;
}

.trades-paywall-cta-secondary:hover {
 border-color: rgba(0, 212, 255, 0.45);
 color: #00d4ff;
}

.trades-paywall-login {
 margin: 0;
 font-size: 0.85rem;
}

.trades-paywall-login a {
 color: #B8C0CC;
 text-decoration: underline;
 text-underline-offset: 2px;
}

.trades-badge.test-systeme {
 background: rgba(240, 180, 41, 0.14);
 color: var(--gold);
 margin-right: 0.25rem;
}

.trades-pdf-btn.is-shadow-public {
 border-color: rgba(0, 212, 255, 0.65);
 background: rgba(0, 212, 255, 0.14);
 color: var(--cyan);
}

.trades-pdf-btn.is-shadow-public:hover {
 background: rgba(0, 212, 255, 0.28);
}

.trades-badge.shadow-lab {
 background: rgba(0, 212, 255, 0.12);
 color: var(--cyan);
 margin-right: 0.25rem;
}

.trades-badge.shadow-training {
 background: rgba(240, 180, 41, 0.14);
 color: var(--gold);
 margin-right: 0.25rem;
 font-size: 0.62rem;
}

.trades-kpi-caption {
 grid-column: 1 / -1;
 margin: 0 0 0.15rem;
 padding: 0.35rem 0.55rem;
 border-left: 3px solid rgba(0, 212, 255, 0.45);
 background: rgba(0, 212, 255, 0.05);
 color: var(--muted);
 font-size: 0.72rem;
 line-height: 1.35;
 text-align: left;
}

.trades-kpi-sub {
 margin-top: 0.35rem;
 font-size: 0.68rem;
 line-height: 1.3;
 color: var(--muted);
 font-weight: 500;
}

.trades-empty--period {
 text-align: center;
 padding: 1.25rem 1rem !important;
}

.trades-empty--period p {
 margin: 0 0 0.75rem;
 color: var(--muted);
}

.trades-empty-cta {
 appearance: none;
 border: 1px solid rgba(0, 212, 255, 0.35);
 background: rgba(0, 212, 255, 0.08);
 color: var(--cyan);
 border-radius: 8px;
 padding: 0.45rem 0.85rem;
 font-size: 0.8rem;
 cursor: pointer;
}

.trades-empty-cta:hover {
 background: rgba(0, 212, 255, 0.14);
}

/* Note honnêteté unique sous KPI — pas 3 bandeaux */
.trades-honesty-note {
 grid-column: 1 / -1;
 margin: 0.15rem 0 0;
 padding: 0;
 color: var(--muted);
 font-size: 0.68rem;
 line-height: 1.4;
 text-align: left;
 opacity: 0.9;
}

.trades-kpi-grid.is-reel-mode .trades-honesty-note {
 font-size: 0.72rem;
 color: rgba(200, 210, 220, 0.88);
 letter-spacing: 0.01em;
 display: none; /* parasites techniques hors vitrine publique */
}

.trades-month-group td {
 padding: 0.65rem 0.75rem !important;
 background: rgba(0, 212, 255, 0.06);
 border-top: 1px solid rgba(0, 212, 255, 0.22);
 border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}
.trades-month-group-title {
 font-weight: 750;
 font-size: 1.05rem;
 letter-spacing: 0.03em;
 text-transform: capitalize;
 color: #f2f5fa;
 margin-right: 0.75rem;
}
.trades-month-group-stats {
 font-family: "Space Mono", ui-monospace, monospace;
 font-size: 0.82rem;
 color: rgba(232, 237, 245, 0.78);
}
.trades-month-stat-line {
 display: inline;
}
.trades-month-sep {
 display: inline;
}

.trades-stake-reel {
 font-family: 'Space Mono', monospace;
 font-size: 0.78rem;
 font-weight: 600;
 color: var(--text);
 white-space: nowrap;
}

.trades-pagination {
 display: flex;
 align-items: center;
 justify-content: center;
 gap: 0.85rem;
 margin: 0.85rem 0 0.25rem;
 flex-wrap: wrap;
}

.trades-pagination[hidden] {
 display: none !important;
}

.trades-page-btn {
 appearance: none;
 border: 1px solid rgba(0, 212, 255, 0.28);
 background: rgba(0, 212, 255, 0.06);
 color: var(--cyan);
 font-family: 'DM Sans', sans-serif;
 font-size: 0.78rem;
 font-weight: 600;
 padding: 0.4rem 0.85rem;
 border-radius: 8px;
 cursor: pointer;
}

.trades-page-btn:hover:not(:disabled) {
 background: rgba(0, 212, 255, 0.14);
}

.trades-page-btn:disabled {
 opacity: 0.35;
 cursor: default;
}

.trades-page-meta {
 font-size: 0.72rem;
 color: var(--muted);
 font-family: 'Space Mono', monospace;
}

.trades-table-wrap.is-training-table,
.trades-table-wrap.is-reel-table {
 overflow-x: auto;
 -webkit-overflow-scrolling: touch;
}

.trades-table-unified {
 min-width: 56rem;
}

.trades-table .col-num {
 white-space: nowrap;
 width: 4.6rem;
}

.trades-table .col-cat {
 width: 6.8rem;
}

.trades-table .col-status {
 min-width: 6.5rem;
 width: 10rem;
 max-width: 11rem;
 white-space: normal;
 vertical-align: top;
 overflow: hidden;
}

.trades-table td.col-status {
 overflow: hidden;
 position: relative;
 z-index: 0;
}

.trades-row-selection-garantie td.col-status,
.is-brasileirao td.col-status,
.is-ligue1 td.col-status,
.is-rg td.col-status {
 white-space: normal;
 min-width: 10.5rem;
 width: 10.5rem;
 max-width: 11rem;
 overflow: hidden;
}

.trades-table .col-horizon {
 width: 5.1rem;
 min-width: 5.1rem;
 max-width: 5.4rem;
 white-space: nowrap;
 font-variant-numeric: tabular-nums;
 position: relative;
 z-index: 1;
 overflow: hidden;
 text-overflow: clip;
 box-sizing: border-box;
 padding-left: 0.45rem;
 padding-right: 0.45rem;
 vertical-align: middle;
}

.trades-jn {
 font-family: 'Space Mono', monospace;
 font-size: 0.78rem;
 font-weight: 700;
 color: var(--cyan);
 letter-spacing: 0.01em;
}

/* Date résolue : plus compacte que J−N, police un cran plus petite */
.trades-jn-date {
 display: inline-block;
 max-width: 100%;
 font-size: 0.68rem;
 font-weight: 600;
 letter-spacing: 0;
 line-height: 1.2;
 color: var(--muted, #8b93a7);
}

.trades-jn-na {
 color: var(--muted);
 font-weight: 600;
}

.trades-cote-stack {
 display: flex;
 flex-direction: column;
 align-items: flex-start;
 gap: 0.08rem;
 line-height: 1.15;
 white-space: nowrap;
}

.trades-cote-pct {
 font-variant-numeric: tabular-nums;
 font-weight: 600;
}

.trades-cote-dec {
 font-size: 0.68rem;
 color: var(--muted);
 font-variant-numeric: tabular-nums;
}

@media (min-width: 1100px) {
 .trades-table-unified {
 table-layout: fixed;
 width: 100%;
 min-width: 0;
 }

 .trades-table-unified .col-num {
 width: 4.6rem;
 }

 .trades-table-unified .col-marche {
 width: auto;
 }

 .trades-table-unified .col-cat {
 width: 6.6rem;
 }

 .trades-table-unified .col-status {
 width: 10rem;
 min-width: 10rem;
 }

 .trades-table-unified .col-horizon {
 width: 5.2rem;
 min-width: 5.2rem;
 max-width: 5.5rem;
 padding-left: 0.5rem;
 padding-right: 0.5rem;
 }

 .trades-table-unified .col-score {
 width: 4.2rem;
 min-width: 4.2rem;
 max-width: 4.6rem;
 padding-left: 0.55rem;
 }

 .trades-table-unified .col-odds,
 .trades-table-unified .col-odds-shadow {
 width: 4.2rem;
 }

 .trades-table-unified .col-stake {
 width: 4.6rem;
 }

 .trades-table-unified .col-roi {
 width: 3.4rem;
 }

 .trades-table-unified th.col-pdf,
 .trades-table-unified td.col-pdf {
 width: 4.4rem;
 }

 .trades-table-unified .q {
 max-width: none;
 white-space: normal;
 text-overflow: unset;
 display: -webkit-box;
 -webkit-line-clamp: 2;
 -webkit-box-orient: vertical;
 overflow: hidden;
 }

 .trades-table-unified .col-stake,
 .trades-table-unified .col-roi,
 .trades-table-unified .col-odds,
 .trades-table-unified .col-odds-shadow,
 .trades-table-unified .col-horizon,
 .trades-table-unified .col-hide-mobile {
 display: table-cell;
 }
}

.trades-kpi-badge {
 display: inline-block;
 margin-left: 0.35rem;
 padding: 0.08rem 0.35rem;
 border-radius: 4px;
 border: 1px solid rgba(240, 180, 41, 0.35);
 background: rgba(240, 180, 41, 0.1);
 color: var(--gold, #f0b429);
 font-size: 0.55rem;
 font-weight: 700;
 letter-spacing: 0.06em;
 text-transform: uppercase;
 vertical-align: middle;
}

.trades-kpi-grid.is-training-mode .trades-kpi .label {
 letter-spacing: 0.08em;
}

.trades-status-filters.is-training-mode .trades-status-chip {
 border-radius: 8px;
}

.trades-lab-tools {
 display: flex;
 flex-direction: column;
 gap: 0.55rem;
 margin: 0.35rem 0 0.85rem;
}

.trades-lab-tools.hidden {
 display: none;
}

.trades-lab-row {
 display: flex;
 flex-wrap: wrap;
 gap: 0.4rem;
 align-items: center;
}

@media (max-width: 420px) {
 .trades-lab-row,
 .trades-status-filters {
  gap: 0.3rem;
 }
 .trades-chip,
 .trades-status-chip {
  padding: 0.28rem 0.62rem;
  font-size: 0.72rem;
 }
}

.trades-lab-row .trades-chip .n {
 opacity: 0.7;
 font-size: 0.78em;
 margin-left: 0.15rem;
}

.trades-score-shadow.is-hot {
 color: var(--cyan, #00d4ff);
 font-weight: 700;
}

.trades-cote-evo {
 display: flex;
 flex-direction: column;
 align-items: flex-end;
 gap: 0.15rem;
 line-height: 1.25;
 font-size: 0.72rem;
}

.trades-cote-ligne {
 white-space: nowrap;
}

.trades-cote-ligne .lab {
 color: var(--muted);
 font-size: 0.62rem;
 font-weight: 600;
 text-transform: uppercase;
 letter-spacing: 0.04em;
 margin-right: 0.25rem;
}

.trades-cote-ligne.muted {
 color: var(--muted);
}

.trades-cote-ana {
 color: var(--text);
 font-weight: 600;
}

.trades-cote-act {
 color: var(--cyan);
 font-weight: 600;
}

.trades-cote-delta {
 font-family: 'Space Mono', monospace;
 font-size: 0.68rem;
 font-weight: 700;
 margin-left: 0.2rem;
}

.trades-cote-under-q {
 display: none;
 margin-top: 0.35rem;
}

.trades-cote-evo-compact {
 font-size: 0.7rem;
 line-height: 1.35;
}

.trades-table .col-odds,
.trades-table .col-odds-shadow {
 min-width: 4.2rem;
 white-space: nowrap;
}

.trades-table .col-score {
 min-width: 4rem;
 width: 4.2rem;
 max-width: 4.6rem;
 white-space: nowrap;
 font-variant-numeric: tabular-nums;
 position: relative;
 z-index: 2;
 overflow: hidden;
 box-sizing: border-box;
 padding-left: 0.5rem;
 padding-right: 0.45rem;
 vertical-align: middle;
}

.trades-score-systeme {
 display: inline-block;
 max-width: 14rem;
 font-family: 'Space Mono', ui-monospace, monospace;
 font-weight: 600;
 font-size: 0.72rem;
 line-height: 1.25;
 white-space: normal;
 text-align: left;
 letter-spacing: -0.01em;
 color: var(--trades-ink, #1a1a1a);
}

.trades-score-systeme.is-option-b {
 color: #1a4d3a;
}

.trades-score-systeme.is-champion {
 color: #1a3d5c;
}

.trades-table .col-score:has(.trades-score-systeme) {
 min-width: 11.5rem;
 max-width: 15rem;
 white-space: normal;
}

.trades-table .col-stake {
 min-width: 4.6rem;
 padding-left: 0.7rem;
 padding-right: 0.7rem;
 white-space: nowrap;
 font-variant-numeric: tabular-nums;
}

.trades-table .col-roi {
 min-width: 3.2rem;
 white-space: nowrap;
 font-variant-numeric: tabular-nums;
}

.trades-table th.col-pdf,
.trades-table td.col-pdf {
 white-space: nowrap;
}

.trades-score-shadow {
 font-family: 'Space Mono', monospace;
 font-weight: 700;
 font-size: 0.82rem;
 white-space: nowrap;
}

.trades-stake {
 font-family: 'Space Mono', monospace;
 font-size: 0.78rem;
 white-space: nowrap;
}

/* Statut court : en cours / gagné / perdu */
.trades-badge.shadow-status {
 text-transform: none;
 letter-spacing: 0.01em;
 font-weight: 600;
 white-space: nowrap;
 font-size: 0.72rem;
 padding: 0.22rem 0.55rem;
}

.trades-table-unified tbody tr.trades-row-shadow td {
 background: rgba(0, 212, 255, 0.03);
 padding-top: 0.85rem;
 padding-bottom: 0.85rem;
}

.trades-table-unified tbody tr.trades-row-reel td {
 background: rgba(0, 232, 122, 0.03);
}

.trades-cote-ana {
 font-variant-numeric: tabular-nums;
 font-size: 0.88rem;
}

.trades-table .col-marche {
 max-width: 28rem;
 line-height: 1.35;
}

.trades-shadow-disclaimer {
 display: none; /* remplacé par .trades-honesty-note sous KPI */
 margin: 0 0 1rem;
 padding: 0.65rem 0.85rem;
 border-left: 3px solid var(--cyan);
 background: rgba(0, 212, 255, 0.06);
 color: var(--muted);
 font-size: 0.78rem;
 line-height: 1.45;
}

.trades-table-unified tbody tr.trades-row-test td:first-child {
 font-family: 'Space Mono', monospace;
 font-size: 0.78rem;
 letter-spacing: -0.02em;
}

.trades-login-link,
.trades-logout-link {
 font-size: 0.82rem;
 font-weight: 500;
 color: var(--muted);
 text-decoration: none;
 padding: 0.35rem 0.5rem;
 border: none;
 background: transparent;
 cursor: pointer;
 font-family: inherit;
 transition: color 0.2s;
}

.trades-login-link:hover,
.trades-logout-link:hover {
 color: var(--cyan);
}

nav.site-nav .nav-right .trades-login-link[hidden],
nav.site-nav .nav-right .trades-logout-link[hidden] {
 display: none;
}

.trades-masked {
 color: var(--muted);
 font-style: italic;
 font-size: 0.78rem;
}

.trades-list-header {
 display: flex;
 flex-wrap: wrap;
 align-items: center;
 justify-content: space-between;
 gap: 0.75rem 1rem;
 margin-bottom: 0.85rem;
}

.trades-list-header h2 {
 margin: 0;
}

.trades-status-filters {
 display: inline-flex;
 flex-wrap: wrap;
 gap: 0.4rem;
}

.trades-status-chip {
 background: var(--bg2);
 border: 1px solid var(--border);
 border-radius: 999px;
 color: var(--muted);
 font-family: inherit;
 font-size: 0.74rem;
 font-weight: 600;
 padding: 0.35rem 0.75rem;
 cursor: pointer;
 transition: background 0.2s, color 0.2s, border-color 0.2s;
}

.trades-status-chip .n {
 font-family: 'Space Mono', monospace;
 font-size: 0.68rem;
 opacity: 0.85;
 margin-left: 0.15rem;
}

.trades-status-chip:hover {
 color: var(--text);
}

.trades-status-chip.on {
 color: var(--text);
 border-color: rgba(0, 212, 255, 0.35);
 background: rgba(0, 212, 255, 0.1);
}

.trades-status-chip.tone-won.on {
 border-color: rgba(0, 232, 122, 0.45);
 background: rgba(0, 232, 122, 0.12);
 color: var(--green);
}

.trades-status-chip.tone-lost.on {
 border-color: rgba(255, 59, 92, 0.45);
 background: rgba(255, 59, 92, 0.12);
 color: var(--red);
}

.trades-status-chip.tone-open.on {
 border-color: rgba(0, 212, 255, 0.45);
 background: rgba(0, 212, 255, 0.12);
 color: var(--cyan);
}

.trades-table-unified tbody tr.trades-row-won {
 background: rgba(0, 232, 122, 0.07);
 box-shadow: inset 3px 0 0 #00e87a;
}

.trades-table-unified tbody tr.trades-row-lost {
 background: rgba(255, 59, 92, 0.07);
 box-shadow: inset 3px 0 0 #ff3b5c;
}

.trades-table-unified tbody tr.trades-row-void {
 background: rgba(148, 163, 184, 0.07);
 box-shadow: inset 3px 0 0 #94a3b8;
}

.trades-table-unified tbody tr.trades-row-open {
 background: rgba(0, 212, 255, 0.06);
 box-shadow: inset 3px 0 0 #00d4ff;
}

.trades-table-unified tbody tr.trades-row-teaser {
 background: rgba(0, 212, 255, 0.05);
}

.trades-row-teaser .trade-num {
 font-family: 'Space Mono', monospace;
 font-weight: 600;
 font-size: 0.78rem;
 color: var(--cyan);
}

.trades-muted {
 color: var(--muted);
}

.trades-insights-grid {
 display: grid;
 grid-template-columns: repeat(3, 1fr);
 gap: 1rem;
}

@media (max-width: 900px) {
 .trades-insights-grid {
 grid-template-columns: 1fr;
 }
}

.trades-insight-card {
 background: var(--bg3);
 border: 1px solid var(--border-faint);
 border-radius: 10px;
 padding: 1rem;
}

.trades-insight-card h3 {
 font-size: 0.85rem;
 font-weight: 600;
 color: var(--violet);
 margin-bottom: 0.65rem;
}

.trades-insight-list {
 list-style: none;
 display: flex;
 flex-direction: column;
 gap: 0.45rem;
}

.trades-insight-list li {
 font-size: 0.8rem;
 color: var(--muted);
 line-height: 1.45;
 padding-left: 0.65rem;
 border-left: 2px solid var(--border);
}

.trades-insight-list li strong {
 color: var(--text);
 font-weight: 600;
}

.trades-insight-list li .tag {
 color: var(--cyan);
 font-family: 'Space Mono', monospace;
 font-size: 0.72rem;
}

.trades-insight-list li .tag.pos {
 color: var(--green);
}

.trades-insight-list li .tag.neg {
 color: var(--red);
}

.trades-empty {
 color: var(--muted);
 font-size: 0.88rem;
 font-style: italic;
 padding: 1rem 0;
}

.trades-loading {
 text-align: center;
 padding: 3rem 1rem;
 color: var(--muted);
}

.trades-error {
 background: rgba(255, 59, 92, 0.08);
 border: 1px solid rgba(255, 59, 92, 0.25);
 border-radius: 10px;
 padding: 1rem 1.25rem;
 color: var(--red);
 font-size: 0.88rem;
 margin-bottom: 1rem;
}

.trades-ranking-table td.num {
 font-family: 'Space Mono', monospace;
 font-size: 0.78rem;
}

nav.site-nav .nav-bot a.trades-active {
 color: var(--cyan);
}

/*, , Hub choix dashboard, , */
.trades-hub-page .trades-page {
 max-width: 920px;
}

.trades-hub-header {
 text-align: center;
 margin-bottom: 2rem;
}

.trades-hub-header p {
 margin: 0 auto;
}

.trades-hub-grid {
 display: grid;
 grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
 gap: 1.25rem;
 margin-bottom: 1.5rem;
}

.trades-hub-card {
 display: flex;
 flex-direction: column;
 gap: 0.65rem;
 background: var(--bg2);
 border: 1px solid var(--border);
 border-radius: 14px;
 padding: 1.5rem 1.35rem;
 text-decoration: none;
 color: inherit;
 transition: border-color 0.2s, transform 0.2s, box-shadow 0.2s;
}

.trades-hub-card:hover {
 border-color: rgba(0, 212, 255, 0.45);
 transform: translateY(-2px);
 box-shadow: 0 8px 28px rgba(0, 0, 0, 0.25);
}

.trades-hub-card h2 {
 font-family: 'DM Serif Display', serif;
 font-weight: 400;
 font-size: 1.35rem;
 margin: 0;
}

.trades-hub-card p {
 color: var(--muted);
 font-size: 0.88rem;
 line-height: 1.6;
 margin: 0;
}

.trades-hub-icon {
 font-size: 1.75rem;
 line-height: 1;
}

.trades-hub-badge {
 display: inline-block;
 font-size: 0.68rem;
 font-weight: 700;
 letter-spacing: 0.06em;
 text-transform: uppercase;
 padding: 0.25rem 0.55rem;
 border-radius: 6px;
 width: fit-content;
}

.trades-hub-badge.resolved {
 background: rgba(0, 232, 122, 0.12);
 color: var(--green);
 border: 1px solid rgba(0, 232, 122, 0.25);
}

.trades-hub-badge.live {
 background: rgba(0, 212, 255, 0.12);
 color: var(--cyan);
 border: 1px solid rgba(0, 212, 255, 0.25);
}

.trades-hub-cta {
 margin-top: auto;
 padding-top: 0.5rem;
 font-weight: 600;
 font-size: 0.88rem;
 color: var(--cyan);
}

.trades-hub-note {
 text-align: center;
 font-size: 0.82rem;
 color: var(--muted);
 max-width: 640px;
 margin: 0 auto;
 line-height: 1.55;
}

.trades-hub-btn {
 display: inline-block;
 text-align: center;
 padding: 0.65rem 1.1rem;
 border-radius: 8px;
 font-weight: 600;
 font-size: 0.88rem;
 text-decoration: none;
 margin: 0.35rem 0.35rem 0 0;
}

.trades-hub-btn.primary {
 background: linear-gradient(135deg, var(--cyan), var(--violet));
 color: #0a0e17;
}

.trades-hub-btn.secondary {
 border: 1px solid var(--border);
 color: var(--text);
}

/*, , Bannières scope, , */
.trades-breadcrumb {
 margin: 0 0 0.75rem;
 font-size: 0.82rem;
}

.trades-breadcrumb a {
 color: var(--muted);
 text-decoration: none;
}

.trades-breadcrumb a:hover {
 color: var(--cyan);
}

.trades-scope-banner {
 display: flex;
 flex-wrap: wrap;
 align-items: center;
 gap: 0.5rem 0.75rem;
 padding: 0.65rem 0.85rem;
 border-radius: 10px;
 margin-bottom: 1rem;
 font-size: 0.82rem;
 line-height: 1.5;
}

.trades-scope-banner.resolved-only {
 background: rgba(0, 232, 122, 0.06);
 border: 1px solid rgba(0, 232, 122, 0.2);
}

.trades-scope-banner.abonne {
 background: rgba(0, 212, 255, 0.06);
 border: 1px solid rgba(0, 212, 255, 0.2);
}

.trades-scope-badge {
 font-size: 0.65rem;
 font-weight: 700;
 letter-spacing: 0.06em;
 text-transform: uppercase;
 padding: 0.2rem 0.5rem;
 border-radius: 5px;
 white-space: nowrap;
}

.trades-scope-badge.resolved-only,
.trades-scope-banner.resolved-only .trades-scope-badge {
 background: rgba(0, 232, 122, 0.15);
 color: var(--green);
}

.trades-scope-badge.live {
 background: rgba(0, 212, 255, 0.15);
 color: var(--cyan);
}

.trades-liste-counts {
 margin: -0.5rem 0 1rem;
}

.trades-liste-counts-note {
 font-size: 0.8rem;
 color: var(--muted);
 margin: 0;
 padding: 0.5rem 0.75rem;
 background: var(--bg2);
 border-radius: 8px;
 border: 1px solid var(--border-faint);
}

.trades-auth-gate {
 max-width: 420px;
 margin: 2rem auto;
}

.trades-upgrade-hint {
 text-align: center;
 font-size: 0.88rem;
 color: var(--muted);
 margin-top: 2rem;
}

.trades-upgrade-hint a {
 color: var(--cyan);
 font-weight: 600;
}

.trades-row-open td.trades-muted,
.trades-muted {
 color: var(--muted);
}

@media (max-width: 900px) {
 .trades-page {
 padding: calc(var(--opening-bar-h, 2.15rem) + 5.25rem) 1rem 2.5rem;
 padding-top: max(
 calc(var(--opening-bar-h, 2.15rem) + 5.25rem),
 calc(6.75rem + env(safe-area-inset-top, 0px))
 );
 }

 .trades-toolbar {
 flex-direction: column;
 align-items: stretch;
 gap: 0.65rem;
 }

 .trades-tabs {
 width: 100%;
 justify-content: center;
 }

 .trades-meta {
 text-align: center;
 }

 .trades-section {
 padding: 1rem 0.85rem;
 }

 .trades-chart-card {
 min-height: 240px;
 padding: 0.85rem;
 }

 .trades-chart-wrap {
 height: 200px;
 }

 .trades-chart-wrap.tall {
 height: 230px;
 }
}

@media (max-width: 768px) {
 body.trades-site nav.site-nav .nav-lang-desktop,
 body.trades-site nav.site-nav .nav-lang-mobile {
 display: none !important;
 }

 .trades-table .q {
 max-width: none;
 }
}

@media (max-width: 640px) {
 .trades-header h1 {
 font-size: 1.55rem;
 }

 .trades-kpi {
 padding: 0.75rem 0.55rem;
 }

 .trades-kpi .value {
 font-size: 1.05rem;
 }

 .trades-kpi.trades-kpi--lead .value {
 font-size: 1.18rem;
 }

 /* En cours | Résultats : pleine largeur */
 .trades-lifecycle-nav,
 .trades-track-tabs {
 width: 100%;
 display: flex;
 box-sizing: border-box;
 }
 .trades-lifecycle-tab,
 .trades-track-tabs button {
 flex: 1 1 0;
 text-align: center;
 padding: 0.48rem 0.55rem;
 font-size: 0.8rem;
 }
 #trades-link-open.on {
 background: linear-gradient(135deg, rgba(0, 212, 255, 0.28), rgba(0, 212, 255, 0.1));
 box-shadow: inset 0 0 0 1px rgba(0, 212, 255, 0.42);
 }
 #trades-link-resolved.on {
 background: linear-gradient(135deg, rgba(0, 232, 122, 0.22), rgba(0, 232, 122, 0.08));
 box-shadow: inset 0 0 0 1px rgba(0, 232, 122, 0.4);
 color: #e8ffef;
 }

 /*
  Mobile listes — respiration Free (fp-card / fp-open-row) :
  L1 : # + match (espace anti-overlap)
  L2 : lean · cote · statut · ROI · PDF
  Bandeau mois : multiligne, lisible, zéro overflow-x
 */
 .trades-table-wrap.is-reel-table,
 .trades-table-wrap.is-training-table,
 #trades-section-legacy .trades-table-wrap {
 overflow-x: hidden !important;
 max-width: 100%;
 width: 100%;
 }

 .trades-table-unified,
 .is-reel-table .trades-table,
 .is-training-table .trades-table,
 #trades-section-legacy .trades-table {
 min-width: 0 !important;
 width: 100% !important;
 max-width: 100% !important;
 table-layout: fixed;
 }

 .is-reel-table .trades-table thead,
 .is-training-table .trades-table thead,
 #trades-section-legacy .trades-table thead {
 display: none;
 }

 .is-reel-table .trades-table tbody tr,
 .is-training-table .trades-table tbody tr,
 #trades-section-legacy .trades-table tbody tr {
 display: flex;
 flex-wrap: wrap;
 align-items: flex-start;
 column-gap: 0.6rem;
 row-gap: 0.65rem;
 padding: 1.05rem 0.95rem 1.1rem;
 margin: 0 0 0.9rem;
 border: 1px solid rgba(255, 255, 255, 0.08);
 border-radius: 12px;
 border-bottom: 1px solid rgba(255, 255, 255, 0.08);
 background: rgba(10, 13, 26, 0.72);
 width: 100%;
 max-width: 100%;
 box-sizing: border-box;
 min-width: 0;
 }

 .is-reel-table .trades-table tbody tr:nth-child(even),
 .is-training-table .trades-table tbody tr:nth-child(even),
 #trades-section-legacy .trades-table tbody tr:nth-child(even) {
 background: rgba(15, 19, 34, 0.58);
 }

 .is-reel-table .trades-table tbody tr.trades-row-teaser .col-teaser-skip,
 .is-training-table .trades-table tbody tr.trades-row-teaser .col-teaser-skip,
 #trades-section-legacy .trades-table tbody tr.trades-row-teaser .col-teaser-skip {
 display: none;
 }

 .is-reel-table .trades-table tbody tr.trades-month-group,
 .is-reel-table .trades-table tbody tr:has(> td.trades-empty),
 .is-reel-table .trades-table tbody tr:has(> td[colspan]),
 .is-training-table .trades-table tbody tr.trades-month-group,
 .is-training-table .trades-table tbody tr:has(> td.trades-empty),
 .is-training-table .trades-table tbody tr:has(> td[colspan]),
 #trades-section-legacy .trades-table tbody tr:has(> td.trades-empty),
 #trades-section-legacy .trades-table tbody tr:has(> td[colspan]) {
 display: block;
 padding: 0;
 margin: 0.35rem 0 0.9rem;
 background: transparent;
 border: none;
 border-radius: 0;
 box-shadow: none;
 }

 .is-reel-table .trades-table tbody tr > td.trades-empty,
 .is-reel-table .trades-table tbody tr > td[colspan],
 .is-training-table .trades-table tbody tr > td.trades-empty,
 .is-training-table .trades-table tbody tr > td[colspan],
 #trades-section-legacy .trades-table tbody tr > td.trades-empty,
 #trades-section-legacy .trades-table tbody tr > td[colspan] {
 display: block;
 width: 100%;
 flex: none;
 padding: 0.45rem 0.25rem !important;
 white-space: normal !important;
 }

 .is-reel-table .trades-table tbody tr.trades-month-group td,
 .is-training-table .trades-table tbody tr.trades-month-group td {
 display: flex !important;
 flex-direction: column;
 align-items: stretch;
 gap: 0.45rem;
 width: 100%;
 max-width: 100%;
 min-width: 0;
 flex: none;
 padding: 0.8rem 0.9rem !important;
 white-space: normal !important;
 overflow: visible !important;
 box-sizing: border-box;
 border-radius: 10px;
 background: linear-gradient(135deg, rgba(0, 212, 255, 0.12), rgba(0, 232, 122, 0.07));
 border: 1px solid rgba(0, 212, 255, 0.28);
 }

 .trades-month-group-title {
 display: block;
 font-size: 1rem;
 font-weight: 750;
 line-height: 1.35;
 margin: 0;
 white-space: normal;
 }

 .trades-month-group-stats {
 display: flex !important;
 flex-direction: column;
 align-items: stretch;
 gap: 0.28rem;
 width: 100%;
 max-width: 100%;
 min-width: 0;
 box-sizing: border-box;
 font-size: 0.78rem;
 line-height: 1.45;
 white-space: normal !important;
 color: rgba(210, 255, 230, 0.95);
 padding: 0.5rem 0.65rem;
 border-radius: 8px;
 background: rgba(0, 232, 122, 0.12);
 border: 1px solid rgba(0, 232, 122, 0.32);
 }
 .trades-month-stat-line {
 display: block;
 white-space: normal !important;
 word-break: break-word;
 overflow-wrap: anywhere;
 max-width: 100%;
 }
 .trades-month-sep {
 display: none !important;
 }

 .is-reel-table .trades-table tbody td,
 .is-training-table .trades-table tbody td,
 #trades-section-legacy .trades-table tbody td {
 border: none;
 padding: 0;
 display: block;
 max-width: none;
 min-width: 0;
 width: auto;
 position: static;
 z-index: auto;
 overflow: visible;
 text-overflow: unset;
 white-space: nowrap;
 }

 .is-reel-table .trades-table tbody td.col-horizon,
 .is-reel-table .trades-table tbody td.col-score,
 .is-reel-table .trades-table tbody td.col-stake,
 .is-training-table .trades-table tbody td.col-horizon,
 .is-training-table .trades-table tbody td.col-score,
 .is-training-table .trades-table tbody td.col-stake,
 #trades-section-legacy .trades-table tbody td.col-horizon,
 #trades-section-legacy .trades-table tbody td.col-score,
 #trades-section-legacy .trades-table tbody td.col-stake {
 display: none !important;
 }

 .is-reel-table .trades-table tbody td::before,
 .is-training-table .trades-table tbody td::before,
 #trades-section-legacy .trades-table tbody td::before {
 display: none !important;
 content: none !important;
 }

 /* L1 : badge # puis titre en dessous (anti-overlap, respiration Free) */
 .is-reel-table .trades-table tbody td.col-num,
 .is-training-table .trades-table tbody td.col-num,
 #trades-section-legacy .trades-table tbody td.col-num {
 order: 1;
 flex: 0 0 auto;
 width: auto;
 min-width: 3.7rem;
 max-width: 5.2rem;
 align-self: flex-start;
 margin: 0 0 0.4rem;
 padding: 0.28rem 0.52rem;
 font-size: 0.62rem;
 font-weight: 750;
 letter-spacing: 0.03em;
 line-height: 1.2;
 text-align: center;
 color: #9ef0ff;
 background: rgba(0, 212, 255, 0.14);
 border: 1px solid rgba(0, 212, 255, 0.4);
 border-radius: 7px;
 opacity: 1;
 overflow: hidden;
 text-overflow: ellipsis;
 box-sizing: border-box;
 }

 .is-reel-table .trades-table tbody td.col-marche,
 .is-training-table .trades-table tbody td.col-marche,
 #trades-section-legacy .trades-table tbody td.col-marche {
 order: 2;
 flex: 1 1 100%;
 width: 100%;
 max-width: 100%;
 min-width: 0;
 white-space: normal;
 padding-left: 0;
 }

 .is-reel-table .trades-table tbody td.col-marche .q,
 .is-reel-table .trades-table tbody td.col-marche,
 .is-training-table .trades-table tbody td.col-marche .q,
 .is-training-table .trades-table tbody td.col-marche,
 #trades-section-legacy .trades-table tbody td.col-marche .q,
 #trades-section-legacy .trades-table tbody td.col-marche {
 max-width: none;
 display: -webkit-box;
 -webkit-box-orient: vertical;
 -webkit-line-clamp: 3;
 overflow: hidden;
 white-space: normal;
 word-break: break-word;
 line-height: 1.4;
 font-size: 0.9rem;
 font-weight: 650;
 }

 /* L2 meta : lean · cote · statut · ROI · PDF — aéré, wrap OK */
 .is-reel-table .trades-table tbody td.col-cat,
 .is-training-table .trades-table tbody td.col-cat,
 #trades-section-legacy .trades-table tbody td.col-cat {
 order: 3;
 flex: 0 1 auto;
 max-width: 100%;
 min-width: 0;
 font-family: "Space Mono", ui-monospace, monospace;
 font-size: 0.7rem;
 font-weight: 700;
 color: var(--text);
 padding: 0.28rem 0.5rem;
 border-radius: 7px;
 border: 1px solid rgba(0, 212, 255, 0.35);
 background: rgba(0, 212, 255, 0.1);
 overflow: hidden;
 text-overflow: ellipsis;
 }

 .is-reel-table .trades-table tbody td.col-odds,
 .is-training-table .trades-table tbody td.col-odds,
 #trades-section-legacy .trades-table tbody td.col-odds {
 order: 4;
 flex: 0 1 auto;
 max-width: 100%;
 }

 .is-reel-table .trades-table tbody td.col-status,
 .is-training-table .trades-table tbody td.col-status,
 #trades-section-legacy .trades-table tbody td.col-status {
 order: 5;
 flex: 0 1 auto;
 max-width: 100%;
 overflow: visible;
 }

 .is-reel-table .trades-table tbody td.col-roi,
 .is-training-table .trades-table tbody td.col-roi,
 #trades-section-legacy .trades-table tbody td.col-roi {
 order: 6;
 flex: 0 1 auto;
 max-width: 100%;
 }

 .is-reel-table .trades-table tbody td.col-pdf,
 .is-training-table .trades-table tbody td.col-pdf,
 #trades-section-legacy .trades-table tbody td.col-pdf {
 order: 7;
 flex: 0 1 auto;
 max-width: 100%;
 }

 .is-reel-table .trades-table tbody .trades-status-badges,
 .is-training-table .trades-table tbody .trades-status-badges,
 #trades-section-legacy .trades-table tbody .trades-status-badges {
 flex-direction: row;
 flex-wrap: nowrap;
 align-items: center;
 justify-content: flex-start;
 gap: 0.3rem;
 overflow: visible;
 width: auto;
 max-width: none;
 }

 /* Badges W/L façon Free — jamais coupés */
 .is-reel-table .trades-table tbody .trades-badge,
 .is-training-table .trades-table tbody .trades-badge,
 #trades-section-legacy .trades-table tbody .trades-badge {
 display: inline-flex;
 align-items: center;
 justify-content: center;
 font-size: 0.7rem;
 font-weight: 800;
 letter-spacing: 0.04em;
 padding: 0.32rem 0.6rem;
 border-radius: 7px;
 line-height: 1.15;
 white-space: nowrap;
 min-width: 3.7rem;
 }

 .is-reel-table .trades-table tbody .trades-badge-selection-jour,
 .is-reel-table .trades-table tbody .trades-badge-selection-jour.is-brasileirao,
 .is-reel-table .trades-table tbody .trades-badge-selection-jour.is-ligue1,
 .is-reel-table .trades-table tbody .trades-badge-selection-jour.is-rg,
 .is-training-table .trades-table tbody .trades-badge-selection-jour,
 .is-training-table .trades-table tbody .trades-badge-selection-jour.is-brasileirao,
 .is-training-table .trades-table tbody .trades-badge-selection-jour.is-ligue1,
 .is-training-table .trades-table tbody .trades-badge-selection-jour.is-rg,
 #trades-section-legacy .trades-table tbody .trades-badge-selection-jour,
 #trades-section-legacy .trades-table tbody .trades-badge-selection-jour.is-brasileirao,
 #trades-section-legacy .trades-table tbody .trades-badge-selection-jour.is-ligue1,
 #trades-section-legacy .trades-table tbody .trades-badge-selection-jour.is-rg {
 display: none !important;
 }

 .is-reel-table .trades-table tbody td.col-odds,
 .is-training-table .trades-table tbody td.col-odds,
 #trades-section-legacy .trades-table tbody td.col-odds {
 font-size: 0.82rem;
 text-align: left;
 }

 .is-reel-table .trades-table tbody td.col-odds .trades-cote-stack,
 .is-training-table .trades-table tbody td.col-odds .trades-cote-stack,
 #trades-section-legacy .trades-table tbody td.col-odds .trades-cote-stack {
 align-items: flex-start;
 gap: 0;
 max-width: 100%;
 }

 .is-reel-table .trades-table tbody td.col-odds .trades-cote-pct,
 .is-training-table .trades-table tbody td.col-odds .trades-cote-pct,
 #trades-section-legacy .trades-table tbody td.col-odds .trades-cote-pct {
 font-family: "Space Mono", ui-monospace, monospace;
 font-size: 0.82rem;
 font-weight: 700;
 line-height: 1.3;
 }

 .is-reel-table .trades-table tbody td.col-odds .trades-cote-dec,
 .is-training-table .trades-table tbody td.col-odds .trades-cote-dec,
 #trades-section-legacy .trades-table tbody td.col-odds .trades-cote-dec {
 display: none;
 }

 .is-reel-table .trades-table tbody td.col-odds .trades-pm,
 .is-training-table .trades-table tbody td.col-odds .trades-pm,
 #trades-section-legacy .trades-table tbody td.col-odds .trades-pm {
 display: none !important;
 }

 .is-reel-table .trades-table tbody td.col-roi,
 .is-training-table .trades-table tbody td.col-roi,
 #trades-section-legacy .trades-table tbody td.col-roi {
 font-family: "Space Mono", ui-monospace, monospace;
 font-size: 0.78rem;
 font-weight: 650;
 line-height: 1.3;
 opacity: 0.95;
 }

 .is-reel-table .trades-table tbody td.col-pdf .trades-pdf-btn,
 .is-reel-table .trades-table tbody td.col-pdf a,
 .is-training-table .trades-table tbody td.col-pdf .trades-pdf-btn,
 .is-training-table .trades-table tbody td.col-pdf a,
 #trades-section-legacy .trades-table tbody td.col-pdf .trades-pdf-btn,
 #trades-section-legacy .trades-table tbody td.col-pdf a {
 font-size: 0.7rem;
 padding: 0.28rem 0.5rem;
 }

 .is-reel-table .trades-table tbody td.col-pdf .trades-pdf-lang,
 .is-training-table .trades-table tbody td.col-pdf .trades-pdf-lang,
 #trades-section-legacy .trades-table tbody td.col-pdf .trades-pdf-lang {
 display: none !important;
 }

 .trades-table-unified tbody tr.trades-row-shadow td,
 .trades-table-unified tbody tr.trades-row-reel td {
 padding-top: 0;
 padding-bottom: 0;
 }

 .is-reel-table .trades-table tbody tr.trades-row-open,
 .is-training-table .trades-table tbody tr.trades-row-open,
 #trades-section-legacy .trades-table tbody tr.trades-row-open {
 box-shadow: inset 3px 0 0 rgba(0, 212, 255, 0.55);
 }
 .is-reel-table .trades-table tbody tr.trades-row-won,
 .is-training-table .trades-table tbody tr.trades-row-won,
 #trades-section-legacy .trades-table tbody tr.trades-row-won {
 box-shadow: inset 3px 0 0 rgba(0, 232, 122, 0.65);
 }
 .is-reel-table .trades-table tbody tr.trades-row-lost,
 .is-training-table .trades-table tbody tr.trades-row-lost,
 #trades-section-legacy .trades-table tbody tr.trades-row-lost {
 box-shadow: inset 3px 0 0 rgba(255, 59, 92, 0.55);
 }

 .is-reel-table .trades-table tbody tr:hover,
 .is-training-table .trades-table tbody tr:hover,
 #trades-section-legacy .trades-table tbody tr:hover {
 background: rgba(0, 212, 255, 0.05);
 }

 /* Charts + classement : protégés du card-row listes */
 .trades-charts {
 width: 100%;
 min-width: 0;
 grid-template-columns: 1fr;
 gap: 0.85rem;
 }

 .trades-chart-card,
 .trades-chart-card.wide {
 min-width: 0;
 width: 100%;
 max-width: 100%;
 box-sizing: border-box;
 overflow: hidden;
 min-height: 240px;
 }

 .trades-chart-wrap,
 .trades-chart-wrap.tall {
 width: 100%;
 min-width: 0;
 max-width: 100%;
 height: 220px;
 }

 .trades-chart-wrap.tall {
 height: 240px;
 }

 .trades-chart-wrap canvas {
 display: block;
 width: 100% !important;
 max-width: 100%;
 height: 100% !important;
 }

 .trades-ranking-table {
 overflow-x: auto;
 -webkit-overflow-scrolling: touch;
 max-width: 100%;
 }

 .trades-ranking-table .trades-table {
 min-width: 0;
 width: 100%;
 table-layout: auto;
 }

 .trades-ranking-table .trades-table thead {
 display: table-header-group;
 }

 .trades-ranking-table .trades-table tbody tr {
 display: table-row;
 background: transparent;
 padding: 0;
 margin: 0;
 border: none;
 border-radius: 0;
 box-shadow: none;
 }

 .trades-ranking-table .trades-table tbody td {
 display: table-cell;
 padding: 0.45rem 0.4rem;
 border-bottom: 1px solid var(--border-faint);
 white-space: normal;
 overflow: visible;
 font-size: 0.78rem;
 }

 .trades-ranking-table .trades-table th {
 display: table-cell;
 }

 .trades-list-header {
 margin-bottom: 0.55rem;
 }
 .trades-list-header h2 {
 font-size: 1.05rem;
 line-height: 1.35;
 }
 .trades-section {
 padding: 0.85rem 0.65rem;
 overflow-x: hidden;
 max-width: 100%;
 box-sizing: border-box;
 }
 .trades-section-lifecycle {
 margin-bottom: 0.85rem;
 }

 .trades-cote-stack {
 gap: 0;
 align-items: flex-start;
 }
 .trades-cote-pct {
 font-size: 0.82rem;
 line-height: 1.3;
 }
}


/* Cote à la prise figée — emphase discrète */
.trades-cote-frozen .trades-cote-pct {
 color: #9ef0c4;
}


/* fluidity-20260916 — moins de fouillis sous les KPI */
.trades-header {
 margin-bottom: 0.85rem;
}
.trades-header h1 {
 font-size: clamp(1.55rem, 3.4vw, 2.15rem);
 margin-bottom: 0.2rem;
 line-height: 1.15;
}
.trades-header p {
 font-size: 0.88rem;
 opacity: 0.9;
}
.trades-kpi-grid {
 gap: 0.75rem;
 margin-bottom: 0.85rem;
}
.trades-kpi-caption {
 display: none !important; /* barre technique sous KPI */
}
.trades-controls-ux {
 display: flex;
 flex-direction: column;
 gap: 0.65rem;
 margin: 0 0 1rem;
}
.trades-secondary-bar {
 margin-top: 0;
 padding: 0.55rem 0.65rem;
 border: 1px solid rgba(255,255,255,0.06);
 border-radius: 10px;
 background: rgba(255,255,255,0.02);
 gap: 0.55rem 1rem;
}
.trades-status-filters {
 margin: 0;
 gap: 0.4rem;
}
.trades-lifecycle-nav {
 margin-bottom: 0;
}
.trades-lab-tools {
 border: none;
 background: transparent;
 padding: 0;
}
.logo-circle {
 /* évite le disque fantôme si logo non chargé */
 background-size: cover;
 background-position: center;
}


/* hide-secondary-20260916 — volume faible : pas de catégorie / trier */
.trades-secondary-bar,
.trades-sort-wrap,
.trades-lab-tools {
 display: none !important;
}

/* garantie-roles-20260916 — CTA abonnement + garantie closing */
.trades-convert {
 display: flex;
 flex-wrap: wrap;
 align-items: center;
 justify-content: flex-start;
 gap: 0.75rem 1.15rem;
 margin-top: 0.95rem;
 padding: 0.85rem 1rem;
 border: 1px solid rgba(0, 212, 255, 0.18);
 border-radius: 12px;
 background: linear-gradient(135deg, rgba(0, 212, 255, 0.06), rgba(124, 58, 237, 0.05));
 max-width: 46rem;
}
.trades-convert-cta {
 flex: 0 0 auto;
 white-space: nowrap;
}
.trades-guarantee {
 margin: 0;
 flex: 1 1 14rem;
 font-size: 0.9rem;
 line-height: 1.45;
 color: rgba(232, 236, 245, 0.88);
 font-weight: 500;
}
.trades-guarantee-link {
 display: inline;
 margin-left: 0.35rem;
 color: var(--cyan);
 font-weight: 600;
 text-decoration: underline;
 text-underline-offset: 2px;
 white-space: nowrap;
}
.trades-guarantee-link:hover { opacity: 0.88; }
.trades-paywall-guarantee {
 margin: 0.95rem 0 0;
 font-size: 0.88rem;
 line-height: 1.45;
 color: rgba(232, 236, 245, 0.82);
}
.trades-paywall-guarantee a {
 color: var(--cyan);
 text-decoration: underline;
 text-underline-offset: 2px;
}
@media (max-width: 720px) {
 .trades-convert {
  flex-direction: column;
  align-items: stretch;
  gap: 0.65rem;
 }
 .trades-convert-cta { text-align: center; }
 .trades-guarantee { font-size: 0.84rem; }
}

/* ——— Preuve Polymarket (Compte 1 / fills Réel) ——— */
.trades-section-preuve .trades-list-header {
 margin-bottom: 1rem;
}
.preuve-since {
 font-family: 'DM Sans', sans-serif;
 font-size: 0.78rem;
 font-weight: 500;
 letter-spacing: 0;
 color: var(--muted);
}
.preuve-root {
 display: flex;
 flex-direction: column;
 gap: 1.1rem;
 max-width: min(100%, 42rem);
}
.preuve-compte {
 border: 1px solid var(--border);
 border-radius: 14px;
 background:
  linear-gradient(155deg, rgba(0, 212, 255, 0.07) 0%, transparent 48%),
  linear-gradient(180deg, #12182a 0%, #0d111c 100%);
 padding: 1rem 1.15rem 1.1rem;
}
.preuve-compte-head {
 display: flex;
 flex-wrap: wrap;
 align-items: center;
 justify-content: space-between;
 gap: 0.55rem 1rem;
 margin-bottom: 0.85rem;
}
.preuve-compte-badge {
 display: inline-flex;
 align-items: center;
 gap: 0.4rem;
 font-family: 'DM Sans', sans-serif;
 font-size: 0.78rem;
 font-weight: 700;
 letter-spacing: 0.02em;
 color: #e8ecf5;
}
.preuve-compte-dot {
 width: 0.45rem;
 height: 0.45rem;
 border-radius: 50%;
 background: #3ee0a0;
 box-shadow: 0 0 0 3px rgba(62, 224, 160, 0.18);
}
.preuve-compte-link {
 appearance: none;
 -webkit-appearance: none;
 border: none;
 background: transparent;
 padding: 0;
 cursor: pointer;
 font: inherit;
 font-size: 0.78rem;
 font-weight: 600;
 color: var(--cyan);
 text-decoration: none;
 text-underline-offset: 2px;
}
.preuve-compte-link:hover {
 text-decoration: underline;
}
.preuve-card-date {
 margin: 0 0 0.35rem;
 font-size: 0.72rem;
 font-weight: 500;
 letter-spacing: 0.01em;
 color: var(--muted);
}
.preuve-cards {
 display: flex;
 flex-direction: column;
 gap: 0.75rem;
}
.preuve-card {
 position: relative;
 border: 1px solid rgba(255, 255, 255, 0.08);
 border-radius: 12px;
 background: rgba(0, 0, 0, 0.18);
 padding: 0.9rem 1rem 0.95rem 1.1rem;
 overflow: hidden;
}
.preuve-card::before {
 content: "";
 position: absolute;
 left: 0;
 top: 0;
 bottom: 0;
 width: 3px;
 background: linear-gradient(180deg, #00d4ff, #7c3aed);
}
.preuve-card-top {
 display: flex;
 flex-wrap: wrap;
 align-items: center;
 gap: 0.35rem 0.5rem;
 margin-bottom: 0.45rem;
}
.preuve-chip {
 display: inline-flex;
 align-items: center;
 font-family: 'Space Mono', monospace;
 font-size: 0.68rem;
 font-weight: 500;
 letter-spacing: 0.02em;
 padding: 0.14rem 0.42rem;
 border-radius: 6px;
 color: var(--muted);
 background: rgba(255, 255, 255, 0.04);
 border: 1px solid rgba(255, 255, 255, 0.08);
}
.preuve-chip-statut {
 color: #f0b429;
 border-color: rgba(240, 180, 41, 0.35);
 background: rgba(240, 180, 41, 0.1);
}
.preuve-chip-statut.is-won {
 color: #3ee0a0;
 border-color: rgba(62, 224, 160, 0.35);
 background: rgba(62, 224, 160, 0.1);
}
.preuve-chip-statut.is-lost {
 color: #ff6b7a;
 border-color: rgba(255, 107, 122, 0.35);
 background: rgba(255, 107, 122, 0.1);
}
.preuve-chip-test {
 color: rgba(232, 236, 245, 0.72);
 border-color: rgba(255, 255, 255, 0.12);
}
.preuve-test-note {
 margin: 0 0 0.45rem;
 font-size: 0.68rem;
 font-weight: 500;
 letter-spacing: 0.02em;
 color: var(--muted);
}
.preuve-pnl {
 margin-left: 0.4rem;
 font-family: 'Space Mono', monospace;
 font-size: 0.82rem;
 font-weight: 700;
}
.preuve-pnl.is-plus { color: #3ee0a0; }
.preuve-pnl.is-minus { color: #ff6b7a; }
.preuve-card-title {
 margin: 0 0 0.2rem;
 font-size: 1.02rem;
 font-weight: 650;
 line-height: 1.3;
 letter-spacing: -0.01em;
 color: var(--text);
}
.preuve-card-marche {
 margin: 0 0 0.7rem;
 font-size: 0.86rem;
 color: var(--muted);
}
.preuve-metrics {
 display: grid;
 grid-template-columns: repeat(3, minmax(0, 1fr));
 gap: 0.45rem;
 margin-bottom: 0.65rem;
}
.preuve-metric {
 border-radius: 8px;
 background: rgba(255, 255, 255, 0.03);
 border: 1px solid rgba(255, 255, 255, 0.06);
 padding: 0.45rem 0.5rem;
}
.preuve-metric .k {
 display: block;
 font-size: 0.62rem;
 letter-spacing: 0.06em;
 text-transform: uppercase;
 color: var(--muted);
 margin-bottom: 0.18rem;
}
.preuve-metric .v {
 font-family: 'Space Mono', monospace;
 font-size: 0.88rem;
 font-weight: 600;
 color: var(--text);
}
.preuve-card-foot {
 display: flex;
 flex-wrap: wrap;
 align-items: center;
 justify-content: space-between;
 gap: 0.4rem 0.75rem;
}
.preuve-card-link {
 font-size: 0.8rem;
 font-weight: 600;
 color: var(--cyan);
 text-decoration: none;
}
.preuve-card-link:hover { text-decoration: underline; }
.preuve-empty {
 margin: 0;
 font-size: 0.9rem;
 color: var(--muted);
}
@media (max-width: 560px) {
 .preuve-metrics {
  grid-template-columns: 1fr 1fr;
 }
 .preuve-metrics .preuve-metric:last-child {
  grid-column: 1 / -1;
 }
}
