:root{--blue950:#061B3A;--blue900:#082B63;--blue800:#003E91;--blue600:#0875FF;--bg:#f6fbff;--line:#D6E6F8;--text:#0C1F3C;--muted:#60708A;--green:#0BA360;--red:#F2364C;--orange:#F6A400;--shadow:0 16px 42px rgba(8,43,99,.09)}*{box-sizing:border-box}body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;background:linear-gradient(135deg,#fff 0%,#f6fbff 42%,#eaf4ff 100%);color:var(--text)}button,input,select,textarea{font:inherit}button{cursor:pointer}.login-page{min-height:100vh;display:grid;place-items:center}.login-card{width:min(430px,92vw);background:#fff;border:1px solid var(--line);border-radius:24px;padding:32px;box-shadow:var(--shadow)}.login-card h1{margin:0 0 6px;font-size:34px;color:var(--blue950);letter-spacing:-.04em}.login-card p{margin:0 0 22px;color:var(--muted);font-weight:650}.field{display:grid;gap:7px;margin-bottom:13px}.field label{font-weight:850;color:#1b3154;font-size:13px}.field input,.field select,.field textarea{border:1px solid var(--line);border-radius:13px;padding:11px 12px;background:#fff;color:var(--text);outline:none}.field textarea{min-height:92px;resize:vertical}.primary{background:var(--blue600);color:#fff;border:0;border-radius:13px;padding:11px 16px;font-weight:900}.secondary{background:#fff;color:var(--blue800);border:1px solid var(--line);border-radius:13px;padding:10px 14px;font-weight:900}.danger{background:#fff3f5;color:var(--red);border:1px solid #ffd1d8;border-radius:13px;padding:10px 14px;font-weight:900}.app{display:grid;grid-template-columns:280px 1fr;min-height:100vh}.sidebar{background:linear-gradient(180deg,var(--blue900),var(--blue800) 50%,var(--blue950));color:#fff;padding:22px;position:sticky;top:0;height:100vh;overflow:auto}.brand{display:flex;align-items:center;gap:12px;margin-bottom:22px}.logo{width:48px;height:48px;border-radius:14px;background:linear-gradient(135deg,#0875ff,#60a5fa);display:grid;place-items:center;font-size:27px;box-shadow:0 10px 24px rgba(8,117,255,.25)}.brand h1{font-size:21px;margin:0;line-height:1.1}.brand small{opacity:.75;font-weight:750}.nav{display:grid;gap:8px}.nav button{border:0;background:rgba(255,255,255,.08);color:#fff;border-radius:14px;padding:12px;text-align:left;font-weight:900}.nav button.active,.nav button:hover{background:#fff;color:var(--blue900)}.sidebox{margin-top:18px;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.15);border-radius:18px;padding:14px}.sidebox h3{margin:0 0 10px;font-size:15px}.sidebox .field input{background:#0B3678;border-color:rgba(255,255,255,.35);color:#fff}.main{padding:28px;overflow:hidden}.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:22px}.title h2{margin:0;font-size:34px;color:var(--blue950);letter-spacing:-.04em}.title p{margin:5px 0 0;color:var(--muted);font-weight:700}.kpis{display:grid;grid-template-columns:repeat(6,minmax(150px,1fr));gap:14px;margin-bottom:20px}.kpi{background:#fff;border:1px solid var(--line);border-radius:18px;padding:15px;box-shadow:var(--shadow);border-top:5px solid var(--blue600)}.kpi.green{border-top-color:var(--green);background:linear-gradient(180deg,#fff,#f1fff7)}.kpi.red{border-top-color:var(--red);background:linear-gradient(180deg,#fff,#fff3f5)}.kpi .label{font-size:12px;color:var(--muted);font-weight:900;text-transform:uppercase}.kpi .val{font-size:25px;font-weight:950;letter-spacing:-.04em;margin-top:7px}.kpi .sub{font-size:12px;color:var(--muted);font-weight:700;margin-top:4px}.panel{background:#fff;border:1px solid var(--line);border-radius:20px;padding:18px;box-shadow:var(--shadow);margin-bottom:18px}.panel h3{margin:0 0 13px;color:var(--blue800);font-size:19px}.grid2{display:grid;grid-template-columns:1.2fr .8fr;gap:18px}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:16px}table{width:100%;border-collapse:collapse;background:#fff}th,td{padding:11px 12px;border-bottom:1px solid #edf2f7;text-align:left;font-size:14px;vertical-align:top}th{background:#f8fbff;color:#334155;font-size:12px;text-transform:uppercase;font-weight:950;white-space:nowrap}tr:hover{background:#fbfdff}.badge{display:inline-flex;align-items:center;border-radius:999px;padding:5px 9px;font-size:12px;font-weight:950}.win{background:#EAF8EF;color:#0B7A3B}.loss{background:#FFF0F2;color:#C72036}.pending{background:#FFF8E6;color:#B36B00}.refund{background:#EEF2F7;color:#526070}.card{border:1px solid var(--line);border-left:6px solid var(--orange);border-radius:17px;padding:14px;margin-bottom:12px;background:#fff;box-shadow:0 8px 20px rgba(8,43,99,.06)}.card h4{margin:8px 0 5px;color:var(--blue950)}.muted{color:var(--muted);font-size:13px;font-weight:700}.actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:10px}.actions button{padding:8px 10px;border-radius:999px;border:1px solid var(--line);background:#fff;font-weight:900}.filters{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-bottom:12px}.form-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.hidden{display:none!important}.toast{position:fixed;right:22px;bottom:22px;background:#111827;color:#fff;border-radius:14px;padding:12px 16px;box-shadow:var(--shadow);font-weight:850;z-index:50}.alert{border:1px solid var(--line);border-radius:14px;padding:12px;margin-bottom:9px;background:#f8fbff}.error-msg{background:#fee2e2;color:#991b1b;border-radius:12px;padding:10px;margin:12px 0;font-weight:850}.chart{height:260px;display:flex;align-items:flex-end;gap:3px;border:1px solid var(--line);border-radius:16px;padding:12px;background:linear-gradient(180deg,#fff,#f8fbff);overflow:hidden}.bar{flex:1;min-width:5px;background:var(--blue600);border-radius:6px 6px 0 0;position:relative}.modal{position:fixed;inset:0;background:rgba(6,27,58,.48);display:grid;place-items:center;padding:18px;z-index:80}.modal-card{width:min(860px,96vw);max-height:92vh;overflow:auto;background:#fff;border-radius:24px;border:1px solid var(--line);padding:22px;box-shadow:var(--shadow)}.modal-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.modal-head h3{margin:0;color:var(--blue800)}@media(max-width:1200px){.kpis{grid-template-columns:repeat(3,1fr)}.grid2,.form-grid{grid-template-columns:1fr}.filters{grid-template-columns:repeat(2,1fr)}}@media(max-width:820px){.app{grid-template-columns:1fr}.sidebar{position:relative;height:auto}.main{padding:18px}.kpis,.grid3,.filters{grid-template-columns:1fr}.topbar{flex-direction:column;align-items:flex-start}.title h2{font-size:27px}}

.row-actions{display:flex;gap:6px;flex-wrap:wrap}.row-actions button{border:1px solid var(--line);background:#fff;border-radius:10px;padding:6px 8px;font-weight:900}select[multiple]{min-height:130px}

.steps{line-height:1.9;color:var(--text)}.steps li{margin-bottom:4px}code{background:#eef6ff;border:1px solid var(--line);padding:2px 6px;border-radius:8px}

.bulkbar{background:#f7fbff;border:1px solid var(--line);border-radius:14px;padding:10px;margin:10px 0}.table-wrap input[type=checkbox]{width:18px;height:18px;accent-color:var(--blue-600)}

.wide-left{grid-template-columns:1.35fr .85fr}.mini{grid-template-columns:repeat(3,minmax(0,1fr))}.subpanel{background:#f7fbff;border:1px solid var(--line);border-radius:16px;padding:12px;margin-top:12px}.subpanel h4{margin:12px 0 8px}.tip-detail .kpi .val{font-size:18px}

.cards-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:12px}.card.compact{margin:0}.card.compact h4{margin:8px 0}.bulkbar button{white-space:nowrap}

#csvPreview .table-wrap{margin-top:12px}.preview-note{font-size:13px;color:var(--muted)}

.install-btn{font-size:17px!important;padding:14px 18px!important}.update-actions{align-items:center;gap:10px;flex-wrap:wrap}


.install-big{
  width:100%;
  margin:14px 0;
  padding:20px 24px!important;
  border:0;
  border-radius:18px;
  background:linear-gradient(135deg,#0875ff,#0057d8)!important;
  color:white!important;
  font-size:22px!important;
  font-weight:950!important;
  box-shadow:0 16px 34px rgba(8,117,255,.25);
}
.update-steps{display:flex;gap:12px;margin:12px 0 18px 0;flex-wrap:wrap}
.step{display:flex;align-items:center;gap:8px;padding:10px 14px;border-radius:999px;border:1px solid var(--line);background:#fff;font-weight:900;color:var(--muted)}
.step b{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;background:#eaf4ff;color:#0057d8}
.step.install-step{border-color:#0875ff;color:#003e91;background:#eef6ff}
.nice-list{line-height:1.9}
.install-panel{border:2px solid #b8d8ff!important}


/* V31.15 - Polish sidebar bankroll */
.sidebar{
  overflow-x:hidden;
}
.bankroll-box{
  padding:16px !important;
  border-radius:20px !important;
  overflow:hidden !important;
}
.bankroll-box h3{
  margin:0 0 14px 0 !important;
  color:#fff !important;
  font-size:20px !important;
}
.bankroll-box .field{
  margin-bottom:12px !important;
}
.bankroll-box .field label{
  display:block !important;
  color:rgba(255,255,255,.88) !important;
  font-weight:800 !important;
  margin:0 0 6px 0 !important;
  font-size:13px !important;
}
.bankroll-box input{
  width:100% !important;
  max-width:100% !important;
  box-sizing:border-box !important;
  display:block !important;
  background:#103d84 !important;
  color:#fff !important;
  border:1px solid rgba(255,255,255,.28) !important;
  border-radius:14px !important;
  padding:12px 14px !important;
  font-size:18px !important;
  font-weight:850 !important;
  outline:none !important;
}
.bankroll-box input:focus{
  border-color:#8ec5ff !important;
  box-shadow:0 0 0 3px rgba(142,197,255,.22) !important;
}
.save-bankroll{
  width:100% !important;
  margin-top:6px !important;
  border-radius:16px !important;
  padding:13px 14px !important;
  font-size:16px !important;
}

/* V31.15 - update button less huge */
.install-big{
  display:none !important;
}
.install-main{
  width:auto;
  min-width:280px;
  margin:12px 0;
  padding:14px 20px!important;
  border:0;
  border-radius:16px;
  background:linear-gradient(135deg,#0875ff,#0057d8)!important;
  color:white!important;
  font-size:17px!important;
  font-weight:950!important;
  box-shadow:0 12px 24px rgba(8,117,255,.20);
}
.install-main:hover{
  filter:brightness(.98);
  transform:translateY(-1px);
}
.install-panel{
  border:1px solid var(--line)!important;
}
.update-actions{
  margin-top:10px;
}
@media (max-width: 900px){
  .install-main{width:100%;min-width:0}
}

#quickLines{min-height:170px;font-family:ui-monospace,Consolas,monospace;line-height:1.45}


/* ==============================
   V32.0 - Premium UI refresh
   ============================== */
:root{
  --premium-bg:#f4f8ff;
  --premium-card:#ffffff;
  --premium-blue:#0875ff;
  --premium-blue-dark:#003f95;
  --premium-shadow:0 18px 45px rgba(21,74,140,.10);
}
body{
  background:
    radial-gradient(circle at 15% 0%, rgba(8,117,255,.12), transparent 32%),
    radial-gradient(circle at 85% 15%, rgba(80,170,255,.16), transparent 30%),
    linear-gradient(180deg,#f7fbff 0%,#eef6ff 100%) !important;
}
.app.premium .main{
  background:transparent !important;
}
.brand{
  background:linear-gradient(135deg,rgba(255,255,255,.14),rgba(255,255,255,.04));
  border:1px solid rgba(255,255,255,.14);
  border-radius:22px;
  padding:14px;
  margin-bottom:16px;
}
.logo{
  box-shadow:0 12px 26px rgba(0,0,0,.16);
}
.nav button{
  border-radius:16px !important;
  transition:transform .15s ease, background .15s ease, box-shadow .15s ease;
}
.nav button:hover{
  transform:translateX(3px);
}
.nav button.active{
  box-shadow:0 12px 24px rgba(0,0,0,.14);
}
.hero{
  display:flex;
  justify-content:space-between;
  gap:18px;
  align-items:center;
  padding:28px;
  border:1px solid rgba(8,117,255,.18);
  border-radius:28px;
  background:
    linear-gradient(135deg,rgba(255,255,255,.98),rgba(239,247,255,.92)),
    radial-gradient(circle at 90% 20%,rgba(8,117,255,.18),transparent 28%);
  box-shadow:var(--premium-shadow);
  margin-bottom:20px;
}
.hero h2{
  margin:0;
  font-size:40px;
  letter-spacing:-1px;
  color:#06234d;
}
.hero p{
  margin:8px 0 0 0;
  color:#61718d;
  font-weight:700;
}
.eyebrow{
  text-transform:uppercase;
  letter-spacing:.12em;
  font-size:12px;
  font-weight:950;
  color:#0875ff;
  margin-bottom:6px;
}
.hero-actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}
.premium-topbar{
  padding:22px 24px;
  background:rgba(255,255,255,.72);
  backdrop-filter:blur(10px);
  border:1px solid rgba(8,117,255,.13);
  border-radius:24px;
  box-shadow:var(--premium-shadow);
  margin-bottom:18px;
}
.premium-topbar h2{
  letter-spacing:-.7px;
}
.panel{
  border-radius:24px !important;
  border:1px solid rgba(8,117,255,.14) !important;
  box-shadow:var(--premium-shadow) !important;
}
.panel h3{
  color:#06234d;
  letter-spacing:-.3px;
}
.premium-kpis{
  gap:16px !important;
}
.kpi{
  border-radius:24px !important;
  border:1px solid rgba(8,117,255,.12) !important;
  box-shadow:0 14px 34px rgba(12,70,140,.08) !important;
  position:relative;
  overflow:hidden;
}
.kpi:before{
  content:"";
  position:absolute;
  inset:0 0 auto 0;
  height:4px;
  background:linear-gradient(90deg,#0875ff,#69b8ff);
}
.kpi.green:before{background:linear-gradient(90deg,#16a34a,#86efac)}
.kpi.red:before{background:linear-gradient(90deg,#dc2626,#fca5a5)}
.kpi.orange:before{background:linear-gradient(90deg,#f59e0b,#fde68a)}
.kpi.purple:before{background:linear-gradient(90deg,#7c3aed,#c4b5fd)}
.kpi .val{
  letter-spacing:-.8px;
}
.bet-card{
  border:1px solid rgba(8,117,255,.14);
  border-radius:20px;
  background:linear-gradient(180deg,#fff,#f8fbff);
  box-shadow:0 10px 24px rgba(21,74,140,.07);
}
.card-top{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
}
.table-wrap{
  border-radius:18px !important;
  overflow:hidden;
  border:1px solid rgba(8,117,255,.12);
}
table thead th{
  background:#eef6ff !important;
  color:#0a3672 !important;
  font-size:13px;
  text-transform:uppercase;
  letter-spacing:.04em;
}
tbody tr:hover{
  background:#f7fbff;
}
.alert{
  border-radius:18px !important;
}
.success-soft{
  background:#ecfdf5 !important;
  border-color:#bbf7d0 !important;
  color:#166534 !important;
}
.tools-box .secondary{
  background:rgba(255,255,255,.10)!important;
  color:#fff!important;
  border-color:rgba(255,255,255,.20)!important;
}
.compact-mode .panel,
.compact-mode .kpi,
.compact-mode .card{
  border-radius:16px !important;
}
.compact-mode .panel{
  padding:14px !important;
}
.compact-mode .kpi{
  padding:14px !important;
}
.compact-mode .hero{
  padding:18px;
  border-radius:20px;
}
.compact-mode .hero h2{
  font-size:30px;
}
@media (max-width: 900px){
  .hero{
    flex-direction:column;
    align-items:flex-start;
    padding:20px;
  }
  .hero h2{
    font-size:32px;
  }
  .hero-actions,
  .hero-actions button{
    width:100%;
  }
}


/* V33.0 - Quick add */
.quick-textarea{
  min-height:240px;
  font-family:ui-monospace,Consolas,monospace;
  line-height:1.45;
  font-size:15px;
}
.quick-preview{
  margin:12px 0;
  background:#f8fbff;
  border:1px solid rgba(8,117,255,.14);
  border-radius:18px;
  padding:12px;
}


/* V34.0 - Capture import */
.prompt-box{
  background:#0f2f66;
  color:#fff;
  border-radius:18px;
  padding:16px;
  font-family:ui-monospace,Consolas,monospace;
  line-height:1.5;
  border:1px solid rgba(255,255,255,.16);
}
#capResult td[contenteditable="true"]{
  background:#fffef2;
  outline:1px dashed rgba(245,158,11,.35);
}
#capResult td[contenteditable="true"]:focus{
  background:#fff7cc;
  outline:2px solid #f59e0b;
}


/* V34.1 OCR */
.ocr-note{
  background:#fff7ed;
  border:1px solid #fed7aa;
  color:#9a3412;
  border-radius:16px;
  padding:12px;
}


/* V36.0 - Smart Ticket OCR */
.ticket-draft{
  background:linear-gradient(180deg,#0f2f66,#0b2450);
  color:#fff;
  border-radius:20px;
  padding:18px;
  margin:14px 0;
  box-shadow:0 14px 34px rgba(15,47,102,.18);
}
.ticket-draft h4{
  margin:0 0 10px 0;
  font-size:18px;
}
.ticket-draft ul{
  margin:0;
  padding-left:20px;
  line-height:1.6;
}

.ocr-raw{white-space:pre-wrap;background:#0b1220;color:#dbeafe;padding:14px;border-radius:14px;overflow:auto;max-height:280px}


/* V37 - Import Wizard */
.wizard-panel{
  background:linear-gradient(135deg,#ffffff,#eef6ff)!important;
}
.wizard-hero h3{
  font-size:28px;
  margin:0 0 8px 0;
}
.wizard-hero p{
  color:#60708a;
  font-weight:700;
  margin:0 0 18px 0;
}
.wizard-drop{
  display:flex;
  gap:12px;
  align-items:center;
  flex-wrap:wrap;
  padding:18px;
  border:2px dashed #b8d8ff;
  border-radius:22px;
  background:#f8fbff;
}
.ticket-summary{
  border:1px solid rgba(8,117,255,.16);
  border-radius:22px;
  padding:18px;
  background:#fff;
  box-shadow:0 12px 28px rgba(8,117,255,.08);
  margin-bottom:14px;
}
.summary-head{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:center;
  font-size:20px;
  color:#06234d;
  margin-bottom:14px;
}
.summary-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(130px,1fr));
  gap:10px;
  margin-bottom:14px;
}
.summary-grid div{
  background:#f4f8ff;
  border:1px solid #d8eaff;
  padding:12px;
  border-radius:16px;
}
.summary-grid small{
  display:block;
  color:#60708a;
  font-weight:900;
  text-transform:uppercase;
  font-size:11px;
}
.summary-grid b{
  font-size:18px;
}
.ticket-lines{
  background:#0f2f66;
  color:#fff;
  border-radius:18px;
  padding:14px;
}
.ticket-lines ul{margin:0;padding-left:20px;line-height:1.7}

.checkline{display:flex;gap:8px;align-items:center;font-weight:800;color:#0b2a55}.checkline input{width:auto!important}

.csv-table select{
  width:100%;
  min-width:110px;
  border:1px solid #d6e6ff;
  border-radius:10px;
  padding:8px;
  background:#fff;
  color:#08234d;
  font-weight:700;
}
.csv-table .pari-cell{
  white-space:pre-line;
  min-width:380px;
  max-width:720px;
  line-height:1.35;
}
.csv-table td{vertical-align:top;}

/* V42 premium import */
.import-v42-top{
  display:grid;
  grid-template-columns:1.15fr 1fr 1.1fr;
  gap:18px;
}
.import-step h3{margin-top:0}
.drop-v42{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:92px;
  border:2px dashed #b9d6ff;
  border-radius:18px;
  background:#f8fbff;
  cursor:pointer;
}
.drop-v42 input{display:none}
.drop-v42 div{text-align:center;color:#0b2a55}
.drop-v42 span{color:#61718c;font-weight:700}
.import-preview-head{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:16px;
}
.v42-metrics{
  display:grid;
  grid-template-columns:repeat(6,minmax(120px,1fr));
  gap:12px;
  margin:12px 0 16px;
}
.v42-metrics div{
  background:linear-gradient(180deg,#fff,#f5f9ff);
  border:1px solid #dcecff;
  border-radius:16px;
  padding:14px;
  text-align:center;
}
.v42-metrics b{
  display:block;
  color:#0a3c8a;
  font-size:22px;
}
.v42-metrics span{
  color:#61718c;
  font-weight:800;
  font-size:12px;
}
.import-v42-grid{
  display:grid;
  grid-template-columns:1fr 250px;
  gap:14px;
  align-items:start;
}
.v42-table-wrap{
  max-height:640px;
}
.v42-table td{
  vertical-align:top;
}
.tipster-mini{
  display:flex;
  gap:8px;
  align-items:center;
}
.tipster-mini span{
  width:34px;height:34px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:#0d254d;
  color:#fff;
  font-weight:900;
}
.sport-mini small{
  color:#58708e;
  font-weight:800;
}
.type-badge{
  display:inline-flex;
  align-items:center;
  gap:6px;
  border-radius:12px;
  padding:6px 8px;
  font-weight:900;
}
.type-badge select{
  border:0!important;
  background:transparent!important;
  min-width:92px!important;
  padding:0!important;
}
.type-combo{background:#f0e7ff;color:#6b2cd6}
.type-buteur{background:#fff2d9;color:#a76300}
.type-value{background:#e7fff4;color:#008254}
.type-live{background:#ffe5e5;color:#d00000}
.type-confiance{background:#e8f1ff;color:#0b63ce}
.type-fun{background:#fff0fb;color:#d31b85}
.pari-cell b{
  display:block;
  color:#08234d;
  margin-bottom:3px;
}
.pari-cell ul{
  margin:3px 0 0 18px;
  padding:0;
  line-height:1.25;
}
.mini-input{
  width:70px!important;
  padding:8px!important;
}
.v42-table small{
  display:block;
  color:#0b63ce;
  font-weight:800;
  margin-top:3px;
}
.status-select{
  background:#eefbe9!important;
  border-color:#d4f3cb!important;
  color:#197000!important;
}
.danger-small{
  border:1px solid #ffb8b8;
  color:#d31515;
  background:#fff5f5;
  border-radius:9px;
  padding:8px;
}
.unit-side{
  background:#fff;
  border:1px solid #dcecff;
  border-radius:18px;
  padding:16px;
  position:sticky;
  top:12px;
}
.unit-list div{
  display:flex;
  justify-content:space-between;
  padding:9px 0;
  border-bottom:1px solid #eef3fb;
}
.legend-v42 p{
  display:flex;
  justify-content:space-between;
  gap:10px;
  font-size:13px;
}
.import-bottom-bar{
  margin-top:14px;
  background:#eefbea;
  border:1px solid #d6f4ce;
  border-radius:14px;
  padding:12px 14px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  font-weight:900;
  color:#176400;
}
@media(max-width:1100px){
  .import-v42-top,.import-v42-grid{grid-template-columns:1fr}
  .v42-metrics{grid-template-columns:repeat(2,1fr)}
  .unit-side{position:static}
}

/* V42.1 fixes */
.bulk-bar{
  display:flex;
  gap:10px;
  align-items:center;
  flex-wrap:wrap;
  background:#f4f8ff;
  border:1px solid #dcecff;
  border-radius:14px;
  padding:10px;
  margin-bottom:12px;
  font-weight:800;
}
.bulk-bar select{
  min-width:180px;
}
.v42-table-wrap{
  max-height:none!important;
  overflow:auto;
  padding-bottom:12px;
}
.v42-table{
  min-width:1450px;
}
.import-v42-grid{
  display:block!important;
}
.unit-side{
  display:none!important;
}

/* V42.2 fixes */
.preview-btn-v422{
  min-width:150px;
}
.preview-btn-v422:empty::after{
  content:"Prévisualiser";
}
.date-input-v422,.competition-input-v422{
  border:1px solid #d6e6ff;
  border-radius:10px;
  padding:8px;
  background:#fff;
  color:#08234d;
  font-weight:800;
}
.date-input-v422{
  width:125px;
}
.competition-input-v422{
  width:150px;
  margin-top:6px;
}
.sport-mini select{
  min-width:130px!important;
  border:1px solid #d6e6ff;
  border-radius:10px;
  padding:8px;
  background:#fff;
  color:#08234d;
  font-weight:800;
}
.input-unit-wrap{
  display:flex;
  align-items:center;
}
.input-unit-wrap input{
  border-radius:10px 0 0 10px!important;
}
.input-unit-wrap span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  height:38px;
  min-width:34px;
  padding:0 8px;
  border:1px solid #d6e6ff;
  border-left:0;
  border-radius:0 10px 10px 0;
  background:#f8fbff;
  font-weight:900;
  color:#08234d;
}
.input-unit-wrap.euro span{
  color:#0b63ce;
}

/* V42.3 polish */
.prompt-modal{
  position:fixed; inset:0; z-index:9999;
  background:rgba(5,20,45,.35);
  display:flex; align-items:center; justify-content:center;
}
.prompt-modal-card{
  width:min(920px,92vw);
  background:#fff;
  border-radius:22px;
  padding:22px;
  box-shadow:0 30px 90px rgba(0,0,0,.25);
}
.prompt-modal-card textarea{
  width:100%;
  height:420px;
  border:1px solid #d6e6ff;
  border-radius:14px;
  padding:14px;
  font-family:ui-monospace,Consolas,monospace;
  font-size:13px;
  line-height:1.45;
}
.combo-lines li{
  list-style:none;
  margin-left:-18px;
}
.bulk-bar .danger-small{
  background:#fff4f4;
}
.import-preview-head .muted{
  color:#60708a;
  font-weight:800;
}

/* V42.4 final import fixes */
.import-step .actions button:empty{display:none!important;}
.stake-locked .input-unit-wrap input{
  background:#eef2f7!important;
  color:#8a97a8!important;
  cursor:not-allowed;
}
.stake-locked .input-unit-wrap span{
  background:#eef2f7!important;
  color:#8a97a8!important;
}
.prompt-modal{
  position:fixed; inset:0; z-index:9999;
  background:rgba(5,20,45,.35);
  display:flex; align-items:center; justify-content:center;
}
.prompt-modal-card{
  width:min(920px,92vw);
  background:#fff;
  border-radius:22px;
  padding:22px;
  box-shadow:0 30px 90px rgba(0,0,0,.25);
}
.prompt-modal-card textarea{
  width:100%;
  height:420px;
  border:1px solid #d6e6ff;
  border-radius:14px;
  padding:14px;
  font-family:ui-monospace,Consolas,monospace;
  font-size:13px;
  line-height:1.45;
}

/* V42.5 clean-up */
.import-step .actions button:empty,.import-actions-v425 button:empty{display:none!important}
.stake-locked .input-unit-wrap input{background:#eef2f7!important;color:#8a97a8!important;cursor:not-allowed!important}
.stake-locked .input-unit-wrap span{background:#eef2f7!important;color:#8a97a8!important}

/* V42.6 preview button + calendar */
.preview-button-fixed{
  min-width:170px!important;
  color:#fff!important;
  font-weight:900!important;
}
.preview-button-fixed span{
  display:inline!important;
  color:#fff!important;
  opacity:1!important;
  visibility:visible!important;
}
.preview-button-fixed:empty::after,
.preview-button-fixed span:empty::after{
  content:"Prévisualiser";
}
.date-input-v422[type="date"]{
  cursor:pointer;
}

/* V42.7 preview button forced label */
.import-actions-v427 .preview-button-real,
.preview-button-real{
  min-width:190px!important;
  color:#fff!important;
  font-weight:900!important;
}
.preview-button-real::after{
  content:attr(data-label);
  color:#fff!important;
}
.preview-button-real:not(:empty)::after{
  content:"";
}
.preview-button-real *{
  color:#fff!important;
}

/* V42.8 definitive preview control */
.preview-input-v428,
.import-actions-v428 input.preview-input-v428{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:190px!important;
  height:48px!important;
  padding:0 24px!important;
  border:0!important;
  border-radius:18px!important;
  background:#1477ff!important;
  color:#fff!important;
  font-size:18px!important;
  font-weight:900!important;
  cursor:pointer!important;
  text-align:center!important;
  opacity:1!important;
  visibility:visible!important;
}
button[onclick="previewCsvImport()"]{
  font-size:0!important;
  min-width:190px!important;
}
button[onclick="previewCsvImport()"]::before{
  content:"Prévisualiser"!important;
  font-size:18px!important;
  color:#fff!important;
  font-weight:900!important;
}

/* V43.1 settings + bets */
.settings-grid-v43{
  display:grid;
  grid-template-columns:repeat(3,minmax(240px,1fr));
  gap:18px;
}
.settings-card-v43{
  background:#fff;
  border:1px solid #dcecff;
  border-radius:20px;
  padding:18px;
}
.v43-bet-list{
  display:flex;
  flex-direction:column;
  gap:10px;
}
.bet-row-v43{
  display:grid;
  grid-template-columns:92px 200px 170px 130px minmax(320px,1fr) 70px 80px 100px 130px;
  gap:14px;
  align-items:center;
  border:1px solid #e3eefc;
  border-radius:18px;
  background:linear-gradient(180deg,#fff,#fbfdff);
  padding:14px;
}
.bet-date-v43 b{display:block;color:#08234d}
.bet-date-v43 small,.sport-mini small,.tipster-mini small{display:block;color:#60708a;font-weight:800}
.bet-main-v43 b{display:block;color:#08234d;font-size:15px}
.bet-main-v43 ul{margin:4px 0 0 0;padding:0;list-style:none;line-height:1.3}
.odd-v43 small,.stake-v43 small{display:block;color:#60708a;font-weight:800}
.odd-v43 b,.stake-v43 b{font-size:18px;color:#08234d}
.result-pill-v43{
  display:inline-flex;
  padding:8px 12px;
  border-radius:12px;
  font-weight:900;
}
.res-win{background:#eafbe7;color:#158000}
.res-loss{background:#ffe9e9;color:#c40000}
.res-void{background:#eef2ff;color:#3153d4}
.res-pending{background:#f2f6fb;color:#27415f}
@media(max-width:1300px){
  .bet-row-v43{grid-template-columns:1fr;align-items:start}
  .settings-grid-v43{grid-template-columns:1fr}
}

/* V44 stable UI */
.bankroll-box,.sidebox.bankroll-box{display:none!important}
.settings-panel-v44 .settings-card-v43{display:block!important;visibility:visible!important;opacity:1!important}
.settings-tabs-v433{display:flex;gap:10px;margin-bottom:16px;flex-wrap:wrap}
.settings-tabs-v433 button{border:1px solid #d6e6ff;background:#fff;color:#08234d;border-radius:14px;padding:10px 14px;font-weight:900;cursor:pointer}
.settings-tabs-v433 button.active{background:#1477ff;color:#fff;border-color:#1477ff}
.settings-grid-v43{display:grid;grid-template-columns:repeat(2,minmax(280px,1fr));gap:18px}
.settings-card-v43{background:#fff;border:1px solid #dcecff;border-radius:20px;padding:18px}
.settings-embedded-v44 .sidebar,.settings-embedded-v44 nav{display:none!important}
.settings-embedded-v44 main{padding:0!important}
.paris-filters-v432{display:grid;grid-template-columns:1fr 160px 160px 160px;gap:10px;margin:12px 0 16px}
.paris-filters-v432 input,.paris-filters-v432 select{border:1px solid #d6e6ff;border-radius:12px;padding:10px;font-weight:800;color:#08234d;background:#fff}
.v43-bet-list{display:flex;flex-direction:column;gap:10px}
.bet-row-v43{display:grid;grid-template-columns:64px 180px 150px 120px minmax(260px,1fr) 64px 70px 90px 150px 74px;gap:10px;align-items:center;border:1px solid #e3eefc;border-radius:18px;background:linear-gradient(180deg,#fff,#fbfdff);padding:14px;overflow:hidden}
.bet-row-v43>*{min-width:0}
.bet-date-v43 b{display:block;color:#08234d}
.bet-date-v43 small,.sport-mini small,.tipster-mini small{display:block;color:#60708a;font-weight:800}
.bet-main-v43{overflow:hidden}
.bet-main-v43 b{display:block;color:#08234d;font-size:15px;overflow:hidden;text-overflow:ellipsis}
.bet-main-v43 ul{margin:4px 0 0 0;padding:0;list-style:none;line-height:1.3}
.bet-main-v43 li{overflow:hidden;text-overflow:ellipsis}
.odd-v43 small,.stake-v43 small{display:block;color:#60708a;font-weight:800}
.odd-v43 b,.stake-v43 b{font-size:18px;color:#08234d}
.status-edit-v432{display:flex;flex-direction:column;gap:6px}
.status-edit-v432 select{border:0;border-radius:11px;padding:8px;font-weight:900;width:100%}
.status-played{background:#eafbe7!important;color:#158000!important}.status-ignored{background:#f1f4f8!important;color:#5b6778!important}.status-missed{background:#fff4d8!important;color:#a46100!important}.status-dup{background:#ffe9e9!important;color:#b80000!important}
.result-pill-v43{display:inline-flex;padding:8px 12px;border-radius:12px;font-weight:900}
.res-win{background:#eafbe7;color:#158000}.res-loss{background:#ffe9e9;color:#c40000}.res-void{background:#eef2ff;color:#3153d4}.res-pending{background:#f2f6fb;color:#27415f}
.row-actions-v433{display:flex;gap:6px;justify-content:flex-end;align-items:center;min-width:68px}
.row-actions-v433 button,.bet-row-v43 .danger-small,.bet-row-v43 .mini-action-v433{width:32px!important;height:32px!important;padding:0!important;border-radius:10px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;flex:0 0 auto!important}
.edit-modal-v433{position:fixed;inset:0;background:rgba(5,20,45,.38);z-index:9999;display:flex;align-items:center;justify-content:center;padding:20px}
.edit-card-v433{width:min(980px,96vw);max-height:92vh;overflow:auto;background:#fff;border-radius:22px;padding:22px;box-shadow:0 28px 90px rgba(0,0,0,.28)}
.edit-grid-v433{display:grid;grid-template-columns:repeat(3,minmax(180px,1fr));gap:12px}
.edit-card-v433 textarea{min-height:90px;resize:vertical}
.compare-grid-v439{display:grid;grid-template-columns:repeat(2,minmax(280px,1fr));gap:18px}
.compare-metrics-v439{grid-template-columns:repeat(5,minmax(90px,1fr))!important}
@media(max-width:1300px){.bet-row-v43,.settings-grid-v43,.compare-grid-v439{grid-template-columns:1fr}.paris-filters-v432{grid-template-columns:1fr}.edit-grid-v433{grid-template-columns:1fr}}

/* V45.0 menu cleanup only */
[data-page="analyses"],[href*="analyses"],button[onclick*="analyses"],a[onclick*="analyses"],
[data-page="stats"],[href*="stats"],button[onclick*="stats"],a[onclick*="stats"]{
  display:none!important;
}

/* V45.1 - retouches visuelles sans toucher aux pages validées */
.empty-button-hidden{display:none!important}
button:empty{display:none!important}
.compare-grid-v451{display:grid;grid-template-columns:repeat(2,minmax(280px,1fr));gap:18px;margin-bottom:18px}
.compare-card-v451{background:#fff;border:1px solid #dcecff;border-radius:20px;padding:18px}
.compare-kpis-v451{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.compare-kpis-v451 div{background:#f6f9ff;border:1px solid #e3efff;border-radius:14px;padding:12px;text-align:center}
.compare-kpis-v451 b{display:block;color:#08234d;font-size:20px}
.compare-kpis-v451 span{font-weight:800;color:#60708a;font-size:12px}
.section-title-v451{margin-top:18px}
.clean-table-v451{width:100%;border-collapse:separate;border-spacing:0}
.clean-table-v451 th{background:#eef6ff;color:#0b3b78;text-align:left;padding:10px;font-size:12px;text-transform:uppercase}
.clean-table-v451 td{padding:10px;border-bottom:1px solid #edf3fb;vertical-align:top}
.clean-table-v451 td:nth-child(5){max-width:420px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
nav,.nav,.sidebar,aside,.menu{display:flex;flex-direction:column}
@media(max-width:1100px){
 .compare-grid-v451{grid-template-columns:1fr}
 .compare-kpis-v451{grid-template-columns:repeat(2,1fr)}
}

/* V45.2 Tipsters */
.tipster-action-v452{
  background:#1477ff!important;
  color:#fff!important;
  border:0!important;
  border-radius:12px!important;
  padding:9px 14px!important;
  font-weight:900!important;
  cursor:pointer!important;
  text-decoration:none!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
}
.tipster-modal-v452{
  position:fixed;
  inset:0;
  z-index:9999;
  background:rgba(5,20,45,.38);
  display:flex;
  align-items:center;
  justify-content:center;
  padding:20px;
}
.tipster-card-v452{
  width:min(1050px,96vw);
  max-height:92vh;
  overflow:auto;
  background:#fff;
  border-radius:24px;
  padding:22px;
  box-shadow:0 28px 90px rgba(0,0,0,.28);
}
.tipster-head-v452{
  display:flex;
  align-items:center;
  gap:14px;
  margin-bottom:16px;
}
.tipster-head-v452 h2{
  margin:0;
  color:#08234d;
}
.tipster-head-v452 p{
  margin:4px 0 0;
  color:#60708a;
  font-weight:800;
}
.tipster-head-v452 .secondary{
  margin-left:auto;
}
.tipster-avatar-v452{
  width:56px;
  height:56px;
  border-radius:18px;
  background:#0d254d;
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight:900;
  font-size:20px;
}
.tipster-kpis-v452{
  display:grid;
  grid-template-columns:repeat(6,minmax(100px,1fr));
  gap:10px;
  margin:14px 0;
}
.tipster-kpis-v452 div{
  background:#f6f9ff;
  border:1px solid #e3efff;
  border-radius:14px;
  padding:12px;
  text-align:center;
}
.tipster-kpis-v452 b{
  display:block;
  color:#08234d;
  font-size:20px;
}
.tipster-kpis-v452 span{
  color:#60708a;
  font-weight:800;
  font-size:12px;
}
.tipster-tags-v452{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin:10px 0 18px;
}
@media(max-width:900px){
  .tipster-kpis-v452{grid-template-columns:repeat(2,1fr)}
  .tipster-head-v452{align-items:flex-start}
}

/* V45.3 Tipsters definitive fix */
.tipsters-grid-v453{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(300px,1fr));
  gap:14px;
}
.tipster-tile-v453{
  background:#fff;
  border:1px solid #dcecff;
  border-radius:20px;
  padding:16px;
}
.tipster-tile-head-v453{
  display:flex;
  gap:12px;
  align-items:center;
}
.tipster-tile-head-v453 h3{
  margin:0;
  color:#08234d;
}
.tipster-tile-head-v453 p{
  margin:3px 0 0;
  color:#60708a;
  font-weight:800;
}
.tipster-mini-kpis-v453{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:8px;
  margin:14px 0;
}
.tipster-mini-kpis-v453 div{
  background:#f6f9ff;
  border:1px solid #e3efff;
  border-radius:12px;
  padding:10px;
  text-align:center;
}
.tipster-mini-kpis-v453 b{
  display:block;
  color:#08234d;
  font-size:18px;
}
.tipster-mini-kpis-v453 span{
  color:#60708a;
  font-size:12px;
  font-weight:800;
}
.tipster-action-v453,
a.tipster-action-v453,
button.tipster-action-v453{
  background:#1477ff!important;
  color:#fff!important;
  border:0!important;
  border-radius:12px!important;
  padding:9px 14px!important;
  font-weight:900!important;
  cursor:pointer!important;
  text-decoration:none!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
}
.tipster-action-v453.secondary-v453{
  background:#0d254d!important;
  color:#fff!important;
}
.tipster-modal-v453{
  position:fixed;
  inset:0;
  z-index:9999;
  background:rgba(5,20,45,.38);
  display:flex;
  align-items:center;
  justify-content:center;
  padding:20px;
}
.tipster-card-v453{
  width:min(1050px,96vw);
  max-height:92vh;
  overflow:auto;
  background:#fff;
  border-radius:24px;
  padding:22px;
  box-shadow:0 28px 90px rgba(0,0,0,.28);
}
.tipster-head-v453{
  display:flex;
  align-items:center;
  gap:14px;
  margin-bottom:16px;
}
.tipster-head-v453 h2{margin:0;color:#08234d}
.tipster-head-v453 p{margin:4px 0 0;color:#60708a;font-weight:800}
.tipster-close-v453{
  margin-left:auto;
  background:#0d254d!important;
  color:#fff!important;
  border:0;
  border-radius:12px;
  padding:10px 14px;
  font-weight:900;
}
.tipster-avatar-v453{
  width:56px;
  height:56px;
  border-radius:18px;
  background:#0d254d;
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight:900;
  font-size:20px;
}
.tipster-kpis-v453{
  display:grid;
  grid-template-columns:repeat(6,minmax(100px,1fr));
  gap:10px;
  margin:14px 0;
}
.tipster-kpis-v453 div{
  background:#f6f9ff;
  border:1px solid #e3efff;
  border-radius:14px;
  padding:12px;
  text-align:center;
}
.tipster-kpis-v453 b{display:block;color:#08234d;font-size:20px}
.tipster-kpis-v453 span{color:#60708a;font-weight:800;font-size:12px}
.tipster-tags-v453{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0 18px}
@media(max-width:900px){.tipster-kpis-v453{grid-template-columns:repeat(2,1fr)}}

/* V45.5 filtres Paris */
.paris-filters-v455{
  display:grid;
  grid-template-columns:1fr 190px 150px 160px 150px;
  gap:10px;
  margin:12px 0 16px;
  align-items:end;
}
.paris-filters-v455 label{
  display:flex;
  flex-direction:column;
  gap:5px;
  font-weight:900;
  color:#08234d;
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.02em;
}
.paris-filters-v455 input,
.paris-filters-v455 select{
  border:1px solid #d6e6ff;
  border-radius:12px;
  padding:10px;
  font-weight:800;
  color:#08234d;
  background:#fff;
  text-transform:none;
  letter-spacing:0;
  font-size:14px;
}
.bet-date-v43 b{
  white-space:nowrap;
}
@media(max-width:1300px){
  .paris-filters-v455{grid-template-columns:1fr!important}
}

/* V45.7 fixes */
.bet-row-v43{
  grid-template-columns:112px 190px 150px 120px minmax(260px,1fr) 64px 70px 90px 150px 74px!important;
}
.bet-date-v43{
  min-width:104px!important;
  padding-right:8px!important;
}
.bet-date-v43 b{
  white-space:nowrap!important;
  display:block!important;
  font-size:15px!important;
}
.tipster-mini{
  min-width:0!important;
}
.tipster-mini span{
  flex:0 0 auto!important;
}
.tipsters-grid-v457{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(320px,1fr));
  gap:14px;
}
.tipster-tile-v457{
  display:flex;
  align-items:center;
  gap:12px;
  background:#fff;
  border:1px solid #dcecff;
  border-radius:18px;
  padding:14px;
}
.tipster-avatar-v457{
  width:46px;height:46px;border-radius:15px;background:#0d254d;color:#fff;
  display:flex;align-items:center;justify-content:center;font-weight:900;
  flex:0 0 auto;
}
.tipster-info-v457{
  flex:1;min-width:0;
}
.tipster-info-v457 h3{
  margin:0 0 6px;color:#08234d;
}
.tipster-stats-v457{
  display:flex;gap:6px;flex-wrap:wrap;
}
.tipster-stats-v457 span{
  background:#f2f6fb;color:#27415f;border-radius:10px;padding:4px 7px;font-size:12px;font-weight:800;
}
.tipster-action-v457{
  background:#1477ff!important;color:#fff!important;border:0!important;border-radius:12px!important;
  padding:9px 14px!important;font-weight:900!important;cursor:pointer!important;
}
.tipster-modal-v457{
  position:fixed;inset:0;z-index:9999;background:rgba(5,20,45,.38);
  display:flex;align-items:center;justify-content:center;padding:20px;
}
.tipster-card-v457{
  width:min(980px,96vw);max-height:92vh;overflow:auto;background:#fff;border-radius:22px;padding:22px;
  box-shadow:0 28px 90px rgba(0,0,0,.28);
}
.tipster-head-v457{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
}
.tipster-head-v457 button{
  background:#0d254d!important;color:#fff!important;border:0;border-radius:12px;padding:10px 14px;font-weight:900;
}
.tipster-kpis-v457{
  display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:16px 0;
}
.tipster-kpis-v457 div{
  background:#f6f9ff;border:1px solid #e3efff;border-radius:14px;padding:12px;text-align:center;
}
.tipster-kpis-v457 b{display:block;color:#08234d;font-size:20px}
.tipster-kpis-v457 span{color:#60708a;font-weight:800;font-size:12px}
@media(max-width:1400px){
  .bet-row-v43{grid-template-columns:108px 180px 140px 110px minmax(220px,1fr) 60px 66px 86px 140px 70px!important}
}
@media(max-width:900px){
  .tipster-kpis-v457{grid-template-columns:repeat(2,1fr)}
}

/* V45.8 Tipsters stable page */
.tipsters-grid-v458{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:14px}
.tipster-tile-v458{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid #dcecff;border-radius:18px;padding:14px}
.tipster-avatar-v458{width:46px;height:46px;border-radius:15px;background:#0d254d;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:900;flex:0 0 auto}
.tipster-main-v458{flex:1;min-width:0}
.tipster-main-v458 h3{margin:0 0 6px;color:#08234d}
.tipster-stats-v458{display:flex;gap:6px;flex-wrap:wrap}
.tipster-stats-v458 span{background:#f2f6fb;color:#27415f;border-radius:10px;padding:4px 7px;font-size:12px;font-weight:800}
.tipster-btn-v458{background:#1477ff!important;color:#fff!important;border:0!important;border-radius:12px!important;padding:9px 14px!important;font-weight:900!important;cursor:pointer!important}
.tipster-modal-v458{position:fixed;inset:0;z-index:9999;background:rgba(5,20,45,.38);display:flex;align-items:center;justify-content:center;padding:20px}
.tipster-card-v458{width:min(980px,96vw);max-height:92vh;overflow:auto;background:#fff;border-radius:22px;padding:22px;box-shadow:0 28px 90px rgba(0,0,0,.28)}
.tipster-head-v458{display:flex;align-items:center;justify-content:space-between;gap:12px}
.tipster-head-v458 button{background:#0d254d!important;color:#fff!important;border:0;border-radius:12px;padding:10px 14px;font-weight:900}
.tipster-kpis-v458{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin:16px 0}
.tipster-kpis-v458 div{background:#f6f9ff;border:1px solid #e3efff;border-radius:14px;padding:12px;text-align:center}
.tipster-kpis-v458 b{display:block;color:#08234d;font-size:20px}
.tipster-kpis-v458 span{color:#60708a;font-weight:800;font-size:12px}
@media(max-width:900px){.tipster-kpis-v458{grid-template-columns:repeat(2,1fr)}}

/* V47 duplicate detection import CSV */
.duplicate-alert-v470{
  background:#fff4d8;
  border:1px solid #ffd77a;
  color:#7a4a00;
  border-radius:14px;
  padding:12px 14px;
  font-weight:900;
  margin:10px 0 12px;
}
.duplicate-row-v470{
  background:#fffaf0!important;
}
.duplicate-row-v470 td{
  opacity:.88;
}
.duplicate-badge-v470{
  display:inline-flex;
  background:#fff4d8;
  color:#8a5200;
  border:1px solid #ffd77a;
  border-radius:10px;
  padding:5px 8px;
  margin-bottom:6px;
  font-weight:900;
  font-size:12px;
}

/* V47.1 import quality */
.reco-input-v471{
  width:70px!important;
  border:1px solid #d6e6ff!important;
  border-radius:10px!important;
  padding:8px!important;
  font-weight:900!important;
  color:#08234d!important;
}

/* V47.2 Paris edit modal */
.edit-card-v433 .actions .primary,
.edit-modal-v433 .actions .primary,
button[onclick^="saveEditPariV433"]{
  background:#1477ff!important;
  color:#ffffff!important;
  border:0!important;
  font-weight:900!important;
}
.edit-card-v433 select{
  border:1px solid #d6e6ff;
  border-radius:12px;
  padding:10px;
  background:#fff;
  color:#08234d;
  font-weight:800;
  width:100%;
}

/* V47.3 edit modal fixes */
.edit-modal-v433 select{
  border:1px solid #d6e6ff!important;
  border-radius:12px!important;
  padding:10px!important;
  background:#fff!important;
  color:#08234d!important;
  font-weight:800!important;
  width:100%!important;
}
.edit-modal-v433 button[onclick*="saveEditPariV433"],
.edit-modal-v433 .primary{
  background:#1477ff!important;
  color:#fff!important;
  border:0!important;
  font-weight:900!important;
}

/* V47.4 hard fixes */
.save-edit-visible-v474,
.edit-modal-v433 button[onclick*="saveEditPariV433"],
.edit-modal-v433 .primary{
  background:#1477ff!important;
  color:#fff!important;
  border:0!important;
  font-weight:900!important;
}
.edit-modal-v433 select{
  border:1px solid #d6e6ff!important;
  border-radius:12px!important;
  padding:10px!important;
  background:#fff!important;
  color:#08234d!important;
  font-weight:800!important;
  width:100%!important;
}

/* V47.5 final edit button */
.save-edit-input-v475,
.edit-modal-v433 input.save-edit-input-v475{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:140px!important;
  height:42px!important;
  padding:0 18px!important;
  border:0!important;
  border-radius:14px!important;
  background:#1477ff!important;
  color:#fff!important;
  font-size:15px!important;
  font-weight:900!important;
  cursor:pointer!important;
  text-align:center!important;
  opacity:1!important;
  visibility:visible!important;
  -webkit-text-fill-color:#fff!important;
}

/* V47.6 bouton primary + save edit : correction fond blanc */
button.primary,
input.primary,
.primary{
  background:#1477ff!important;
  background-color:#1477ff!important;
  color:#ffffff!important;
  border:0!important;
  font-weight:900!important;
  -webkit-text-fill-color:#ffffff!important;
}
.save-edit-input-v476,
.edit-modal-v433 input.save-edit-input-v476,
.edit-modal-v433 button[onclick*="saveEditPariV433"],
.edit-modal-v433 .primary{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:140px!important;
  height:42px!important;
  padding:0 18px!important;
  border:0!important;
  border-radius:14px!important;
  background:#1477ff!important;
  background-color:#1477ff!important;
  color:#fff!important;
  font-size:15px!important;
  font-weight:900!important;
  cursor:pointer!important;
  text-align:center!important;
  opacity:1!important;
  visibility:visible!important;
  -webkit-text-fill-color:#fff!important;
}

/* V47.7 bouton Enregistrer indépendant de .primary */
button.save-pari-btn-v477,
.edit-modal-v433 button.save-pari-btn-v477,
.edit-card-v433 button.save-pari-btn-v477,
body .edit-modal-v433 .actions button.save-pari-btn-v477{
  appearance:none!important;
  -webkit-appearance:none!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:160px!important;
  height:44px!important;
  padding:0 20px!important;
  border:0!important;
  border-radius:14px!important;
  background:#1477ff!important;
  background-color:#1477ff!important;
  background-image:none!important;
  color:#ffffff!important;
  -webkit-text-fill-color:#ffffff!important;
  opacity:1!important;
  visibility:visible!important;
  font-size:15px!important;
  font-weight:900!important;
  line-height:1!important;
  cursor:pointer!important;
  text-align:center!important;
  box-shadow:0 8px 18px rgba(20,119,255,.24)!important;
}
button.save-pari-btn-v477:hover{
  background:#0b66e8!important;
  background-color:#0b66e8!important;
}

/* V47.8 bouton save stable */
button.save-pari-btn-v478,
.edit-modal-v433 button.save-pari-btn-v478,
.edit-card-v433 button.save-pari-btn-v478{
  all:unset!important;
  box-sizing:border-box!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:160px!important;
  height:44px!important;
  padding:0 20px!important;
  border-radius:14px!important;
  background:#1477ff!important;
  color:#ffffff!important;
  -webkit-text-fill-color:#ffffff!important;
  font-size:15px!important;
  font-weight:900!important;
  cursor:pointer!important;
  text-align:center!important;
  box-shadow:0 8px 18px rgba(20,119,255,.24)!important;
}
button.save-pari-btn-v478:hover{
  background:#0b66e8!important;
}

/* V48 - Mon filtrage vs suivre tout */
.v48-page{display:flex;flex-direction:column;gap:16px}
.v48-top{display:grid;grid-template-columns:1fr 1fr 1.05fr;gap:16px}
.v48-mid{display:grid;grid-template-columns:1fr 1.45fr 1.55fr;gap:16px}
.v48-main-grid{display:grid;grid-template-columns:2.1fr 1fr;gap:16px}
.v48-bottom{display:grid;grid-template-columns:1.15fr 1fr 1fr;gap:16px}
.v48-card{background:#fff;border:1px solid #dcecff;border-radius:18px;padding:18px;box-shadow:0 10px 24px rgba(4,35,77,.05)}
.v48-card h3{margin:0 0 14px;color:#08234d;font-size:16px;text-transform:uppercase;letter-spacing:.02em}
.v48-blue{background:linear-gradient(180deg,#fff,#f7fbff);border-color:#cfe5ff}
.v48-green{background:linear-gradient(180deg,#fff,#f6fff9);border-color:#ccefdc}
.v48-purple{background:linear-gradient(180deg,#fff,#fbf7ff);border-color:#e8d5ff}
.v48-grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.v48-stat{background:#fff;border:1px solid #e5eefb;border-radius:13px;padding:12px;text-align:center}
.v48-stat span,.v48-filter-main span,.v48-cost span{display:block;color:#60708a;font-size:11px;text-transform:uppercase;font-weight:900}
.v48-stat b{display:block;color:#08234d;font-size:22px;margin-top:4px}
.v48-stat small{display:block;margin-top:2px;color:#60708a;font-weight:800}
.pos{color:#06a85f!important}.neg{color:#df3030!important}
.v48-strip{margin-top:12px;border-radius:12px;padding:10px;background:#f2f7ff;color:#08234d;font-weight:800;text-align:center}
.v48-filter-main{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px}
.v48-filter-main div{background:#fff;border:1px solid #e5eefb;border-radius:14px;padding:12px;text-align:center}
.v48-filter-main b{font-size:22px;color:#08234d}
.v48-big-result{margin-top:12px;padding:12px 14px;border-radius:12px;font-weight:900;color:#fff;display:flex;justify-content:space-between;align-items:center}
.v48-big-result.ok{background:linear-gradient(90deg,#2fb86f,#7b4df2)}
.v48-big-result.bad{background:linear-gradient(90deg,#ff7a59,#d93030)}
.v48-quality{display:flex;gap:18px;align-items:center}
.v48-ring{--p:0;width:132px;height:132px;border-radius:50%;background:conic-gradient(#2fb86f calc(var(--p)*1%),#e9eff7 0);display:grid;place-items:center;position:relative;flex:0 0 auto}
.v48-ring:before{content:"";position:absolute;inset:14px;background:#fff;border-radius:50%}
.v48-ring span,.v48-ring small{position:relative;z-index:1;display:block;text-align:center}
.v48-ring span{font-size:28px;font-weight:900;color:#08234d}.v48-ring small{font-weight:900;color:#06a85f}
.v48-pill{display:inline-flex;background:#eafaf1;color:#078348;border-radius:999px;padding:7px 10px;font-weight:900;margin-top:8px}
.v48-instinct{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.v48-instinct div{background:#f8fbff;border:1px solid #e5eefb;border-radius:14px;padding:14px;text-align:center}
.v48-instinct b{display:block;font-size:28px;color:#08234d}
.v48-instinct span{display:block;color:#60708a;font-weight:900}
.v48-cost{display:grid;grid-template-columns:1fr 42px 1fr 1fr;gap:10px;align-items:stretch}
.v48-cost div:not(.v48-vs){background:#f8fbff;border:1px solid #e5eefb;border-radius:14px;padding:14px;text-align:center}
.v48-cost b{display:block;font-size:24px;color:#08234d;margin:4px 0}
.v48-vs{display:flex;align-items:center;justify-content:center;background:#edf3fb!important;border-radius:50%;height:42px;width:42px;align-self:center;font-weight:900;color:#60708a}
.v48-table{width:100%;border-collapse:separate;border-spacing:0;font-size:13px}
.v48-table th{background:#f2f7ff;text-align:left;color:#60708a;text-transform:uppercase;font-size:11px;padding:10px;border-bottom:1px solid #e5eefb}
.v48-table td{padding:10px;border-bottom:1px solid #edf3fb;vertical-align:top;color:#08234d}
.v48-table td small{display:block;color:#60708a;font-weight:800;margin-top:2px}
.v48-table.compact td,.v48-table.compact th{padding:8px}
.v48-wide{min-width:0}
.v48-sparks{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.v48-sparks div{background:#f8fbff;border-radius:14px;padding:12px;color:#1477ff}
.v48-sparks div:nth-child(2){color:#8f55d9}
.v48-sparks span{display:block;color:#60708a;font-weight:900;margin-bottom:8px}
.v48-spark{width:100%;height:76px;overflow:visible}
.v48-note{color:#60708a;font-size:12px;font-weight:800;margin:0 0 8px}
@media(max-width:1300px){
  .v48-top,.v48-mid,.v48-main-grid,.v48-bottom{grid-template-columns:1fr}
  .v48-grid4,.v48-filter-main,.v48-instinct{grid-template-columns:repeat(2,1fr)}
  .v48-cost{grid-template-columns:1fr}
  .v48-vs{margin:auto}
}
@media(max-width:700px){
  .v48-grid4,.v48-filter-main,.v48-instinct,.v48-sparks{grid-template-columns:1fr}
}

/* V48.1 - lecture plus parlante */
.v481-bottom{grid-template-columns:1fr 1.25fr 1fr}
.v481-stake{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.v481-stake div{background:#f8fbff;border:1px solid #e5eefb;border-radius:14px;padding:14px;text-align:center}
.v481-stake span{display:block;color:#60708a;font-size:11px;text-transform:uppercase;font-weight:900}
.v481-stake b{display:block;font-size:22px;margin-top:5px}
.v481-message{background:#f2f7ff;border-radius:12px;padding:10px 12px;color:#08234d;font-weight:800;margin:12px 0 0}
.v481-insights{display:flex;flex-direction:column;gap:10px}
.v481-insights div{display:grid;grid-template-columns:34px 1fr;gap:2px 10px;background:#f8fbff;border:1px solid #e5eefb;border-radius:14px;padding:12px}
.v481-insights b{grid-row:1/3;font-size:22px;display:flex;align-items:center;justify-content:center}
.v481-insights span{font-weight:900;color:#08234d}
.v481-insights small{font-weight:800;color:#60708a}
.v481-help{background:#f8fbff;border:1px solid #e5eefb;border-radius:14px;padding:14px;color:#08234d;font-weight:800}
.v481-help p{margin:0 0 8px}
@media(max-width:1300px){
 .v481-bottom{grid-template-columns:1fr}
 .v481-stake{grid-template-columns:1fr}
}

/* V48.2 - distinction Ignoré / Manqué / Doublon */
.v482-note-card{
  background:#fff;
  border:1px solid #dcecff;
  border-left:5px solid #1477ff;
  border-radius:16px;
  padding:14px 16px;
  color:#08234d;
  box-shadow:0 10px 24px rgba(4,35,77,.04);
}
.v482-note-card b{
  display:block;
  font-size:15px;
  margin-bottom:4px;
}
.v482-note-card span{
  color:#60708a;
  font-weight:800;
}
.v482-note-card strong{
  color:#08234d;
}
.v482-missed-card{
  margin-top:0;
}
.v482-missed-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:10px;
}
.v482-missed-grid div{
  background:#f8fbff;
  border:1px solid #e5eefb;
  border-radius:14px;
  padding:14px;
  text-align:center;
}
.v482-missed-grid span{
  display:block;
  color:#60708a;
  font-size:11px;
  text-transform:uppercase;
  font-weight:900;
}
.v482-missed-grid b{
  display:block;
  margin-top:5px;
  font-size:22px;
  color:#08234d;
}
.v482-missed-grid small{
  display:block;
  margin-top:3px;
  color:#60708a;
  font-weight:800;
}
@media(max-width:900px){
  .v482-missed-grid{grid-template-columns:1fr}
}

/* V49 Tipsters refonte */
.t49-page{display:flex;flex-direction:column;gap:16px}
.t49-actions{display:flex;justify-content:flex-end;margin-top:-8px}
.t49-manage-btn,.t49-open-btn{border:1px solid #d8c7ff;background:#fbf8ff;color:#6b36d9;border-radius:13px;padding:11px 16px;font-weight:900;cursor:pointer}
.t49-kpis{display:grid;grid-template-columns:repeat(6,1fr);gap:14px}
.t49-kpi{background:#fff;border:1px solid #dcecff;border-radius:18px;padding:16px;box-shadow:0 10px 24px rgba(4,35,77,.04);position:relative}
.t49-kpi div{width:42px;height:42px;border-radius:14px;background:#f3f7ff;display:flex;align-items:center;justify-content:center;font-size:22px;margin-bottom:8px}
.t49-kpi span{display:block;color:#6b7a92;text-transform:uppercase;font-size:11px;font-weight:900}
.t49-kpi b{display:block;font-size:24px;color:#08234d;margin-top:5px}
.t49-kpi small{display:block;color:#60708a;font-weight:800;margin-top:3px}
.t49-kpi.good b,.pos{color:#06a85f!important}.t49-kpi.bad b,.neg{color:#df3030!important}
.t49-layout{display:grid;grid-template-columns:1.35fr 1fr;gap:16px}
.t49-card{background:#fff;border:1px solid #dcecff;border-radius:18px;padding:18px;box-shadow:0 10px 24px rgba(4,35,77,.04)}
.t49-card h3{margin:0 0 14px;color:#08234d;text-transform:uppercase;font-size:14px}
.t49-table{width:100%;border-collapse:separate;border-spacing:0;font-size:13px}
.t49-table th{background:#f5f8fd;color:#60708a;text-transform:uppercase;font-size:10px;padding:10px;text-align:left;border-bottom:1px solid #e5eefb}
.t49-table td{padding:10px;border-bottom:1px solid #edf3fb;vertical-align:middle;color:#08234d}
.t49-table tr{cursor:pointer}.t49-table tr:hover td{background:#f8fbff}
.t49-table small{display:block;color:#60708a;font-weight:800}
.t49-name{display:flex;align-items:center;gap:9px}.t49-name span,.t49-avatar{width:38px;height:38px;border-radius:50%;background:#1d6fff;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:900}
.t49-grade{display:inline-flex!important;margin-top:5px;border-radius:999px;padding:3px 7px;font-size:10px}
.t49-grade.excellent{background:#eafaf1;color:#078348}.t49-grade.good{background:#ecf5ff;color:#1263d8}.t49-grade.mid{background:#fff6df;color:#b56a00}.t49-grade.weak{background:#ffeceb;color:#d02d2d}
.t49-st-mini{border-radius:999px;padding:3px 6px;font-weight:900}.t49-st-mini.ok{background:#eafaf1;color:#078348}.t49-st-mini.bad{background:#ffeceb;color:#d02d2d}
.t49-focus-head{display:flex;align-items:center;gap:14px;border-bottom:1px solid #edf3fb;padding-bottom:14px}
.t49-focus-head h2{margin:0;color:#08234d}.t49-focus-head p{margin:4px 0 0;color:#60708a;font-weight:800}
.t49-scorebox{margin-left:auto;background:#effaf4;border-radius:14px;padding:12px;text-align:center;color:#078348}.t49-scorebox b{display:block;font-size:20px}
.t49-focus-kpis{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin:14px 0}.t49-focus-kpis div,.t49-mini-grid div{background:#f8fbff;border:1px solid #e5eefb;border-radius:14px;padding:12px;text-align:center}.t49-focus-kpis b,.t49-mini-grid b{display:block;font-size:18px;color:#08234d}.t49-focus-kpis span,.t49-mini-grid span{display:block;color:#60708a;text-transform:uppercase;font-size:10px;font-weight:900}
.t49-mini-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:14px}.t49-mini-grid small{display:block;color:#60708a;font-weight:800}
.t49-card.inner{background:#fbfdff;padding:14px}.t49-spark{width:100%;height:76px;color:#1477ff}
.t49-bottom{display:grid;grid-template-columns:1.15fr .85fr 1.05fr .9fr;gap:16px}
.t49-bars{display:flex;flex-direction:column;gap:9px}.t49-bars div{display:grid;grid-template-columns:120px 90px 1fr;align-items:center;gap:10px}.t49-bars span{font-weight:900;color:#08234d}.t49-bars i{height:9px;border-radius:999px;background:var(--c);width:var(--w)}
.t49-score-dist{display:flex;flex-direction:column;gap:10px}.t49-score-dist div{display:grid;grid-template-columns:80px 30px 1fr;gap:8px;align-items:center}.t49-score-dist i{height:10px;border-radius:999px;width:var(--w);background:#1477ff}.t49-score-dist i.excellent{background:#06a85f}.t49-score-dist i.mid{background:#ffa51f}.t49-score-dist i.weak{background:#ef4444}
.t49-two-sparks{display:grid;grid-template-columns:1fr;gap:10px}.t49-two-sparks span{font-weight:900;color:#60708a}.t49-two-sparks div:nth-child(2){color:#7b4df2}
.t49-toplists{display:grid;grid-template-columns:1fr 1fr;gap:10px}.t49-toplists div{background:#f8fbff;border-radius:14px;padding:10px}.t49-toplists p{margin:8px 0;display:flex;justify-content:space-between;color:#08234d;font-weight:800}
.t49-note{color:#60708a;font-size:12px;font-weight:800;margin:0}
.t49-modal{position:fixed;inset:0;background:rgba(5,20,45,.38);z-index:9999;display:flex;justify-content:flex-end}
.t49-drawer,.t49-manager{width:min(620px,94vw);height:100%;overflow:auto;background:#fff;padding:24px;box-shadow:-20px 0 60px rgba(0,0,0,.18)}
.t49-close{float:right;border:0;background:#fff;font-size:28px;cursor:pointer;color:#08234d}
.t49-profile-head{display:flex;gap:14px;align-items:center;margin:24px 0}.t49-profile-head h2{margin:0;color:#08234d}.t49-profile-head p{margin:5px 0 0;color:#60708a}
.t49-profile-kpis{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-bottom:14px}.t49-profile-kpis div{background:#f8fbff;border-radius:13px;padding:11px;text-align:center}.t49-profile-kpis b{display:block;color:#08234d}.t49-profile-kpis span{font-size:10px;color:#60708a;text-transform:uppercase;font-weight:900}
.t49-profile-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:12px}.t49-streaks{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:12px}.t49-streaks div{border-radius:14px;padding:14px;text-align:center}.t49-streaks .ok{background:#effaf4}.t49-streaks .bad{background:#fff0f0}.t49-streaks b{display:block;font-size:24px}
.t49-dots{display:flex;gap:6px;flex-wrap:wrap}.t49-dots span{width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:900}.t49-dots .win{background:#19b56b}.t49-dots .loss{background:#ef4444}.t49-dots .void{background:#9aa6b2}
.t49-add{display:flex;gap:8px;margin:16px 0}.t49-add input{flex:1;border:1px solid #d6e6ff;border-radius:12px;padding:12px}.t49-add button,.t49-list button{border:0;background:#1477ff;color:#fff;border-radius:12px;padding:10px 14px;font-weight:900}
.t49-list{display:flex;flex-direction:column;gap:8px}.t49-list div{display:flex;justify-content:space-between;align-items:center;background:#f8fbff;border-radius:12px;padding:10px 12px}.t49-list span{font-weight:900;color:#08234d}.t49-list button{background:#ffeceb;color:#d02d2d}
@media(max-width:1450px){.t49-kpis,.t49-layout,.t49-bottom{grid-template-columns:1fr}.t49-focus-kpis,.t49-mini-grid,.t49-profile-kpis,.t49-profile-grid{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.t49-kpis,.t49-focus-kpis,.t49-mini-grid,.t49-profile-kpis,.t49-profile-grid,.t49-toplists{grid-template-columns:1fr}}

/* V49.1 Tipsters polish */
.t49-drawer{
  width:min(1040px,96vw)!important;
}
.t49-drawer .t49-table{
  font-size:12px;
}
.t49-drawer .t49-table th,
.t49-drawer .t49-table td{
  padding:9px 10px;
}
.t49-profile-kpis small,
.t49-focus-kpis small{
  display:block;
  margin-top:3px;
  color:#60708a;
  font-weight:900;
}
.t491-donut-wrap{
  display:grid;
  grid-template-columns:180px 1fr;
  gap:18px;
  align-items:center;
  min-height:210px;
}
.t491-donut{
  width:170px;
  height:170px;
  border-radius:50%;
  position:relative;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  color:#08234d;
}
.t491-donut:before{
  content:"";
  position:absolute;
  inset:30px;
  border-radius:50%;
  background:#fff;
  box-shadow:inset 0 0 0 1px #edf3fb;
}
.t491-donut b,
.t491-donut span{
  position:relative;
  z-index:1;
}
.t491-donut b{
  font-size:34px;
  font-weight:900;
}
.t491-donut span{
  color:#60708a;
  font-weight:900;
}
.t491-legend{
  display:flex;
  flex-direction:column;
  gap:10px;
}
.t491-legend div{
  display:grid;
  grid-template-columns:12px 1fr 28px 44px;
  gap:8px;
  align-items:center;
}
.t491-legend i{
  width:10px;
  height:10px;
  border-radius:50%;
}
.t491-legend span{
  color:#08234d;
  font-weight:900;
}
.t491-legend b{
  color:#08234d;
}
.t491-legend small{
  color:#60708a;
  font-weight:800;
}
.t49-dots .pending{
  background:#9aa6b2;
}
.t491-dot-note{
  display:block;
  margin-top:8px;
  color:#60708a;
  font-weight:800;
}
.t49-toplists small{
  color:inherit;
  opacity:.85;
  font-weight:900;
  margin-left:4px;
}
@media(max-width:900px){
  .t491-donut-wrap{grid-template-columns:1fr}
  .t491-donut{margin:auto}
}

/* V49.2 tipsters chart */
.t49-bars b small{
  display:block;
  margin-top:2px;
  font-size:11px;
  font-weight:900;
  opacity:.85;
}
.t492-card{
  min-height:260px;
}
.t492-chart-wrap{
  display:flex;
  flex-direction:column;
  gap:10px;
}
.t492-multi-chart{
  width:100%;
  height:260px;
  background:#fbfdff;
  border:1px solid #edf3fb;
  border-radius:14px;
  padding:8px;
  overflow:visible;
}
.t492-multi-chart .grid{
  stroke:#e5eefb;
  stroke-width:1;
}
.t492-multi-chart text{
  fill:#60708a;
  font-size:11px;
  font-weight:800;
}
.t492-legend{
  display:flex;
  flex-wrap:wrap;
  gap:8px 12px;
}
.t492-legend span{
  display:inline-flex;
  align-items:center;
  gap:6px;
  color:#08234d;
  font-weight:800;
  font-size:12px;
}
.t492-legend i{
  width:10px;
  height:10px;
  border-radius:50%;
}
.t492-empty{
  background:#f8fbff;
  border:1px solid #e5eefb;
  border-radius:14px;
  padding:16px;
  color:#60708a;
  font-weight:900;
}

/* V50 - Mes performances 2.0 */
.p50-page{display:flex;flex-direction:column;gap:16px}
.p50-kpis{display:grid;grid-template-columns:repeat(7,1fr);gap:14px}
.p50-kpi{background:#fff;border:1px solid #dcecff;border-radius:18px;padding:16px;box-shadow:0 10px 24px rgba(4,35,77,.04)}
.p50-kpi-ico{width:42px;height:42px;border-radius:14px;background:#f3f7ff;display:flex;align-items:center;justify-content:center;font-size:22px;margin-bottom:8px}
.p50-kpi span,.p50-records span,.p50-series span,.p50-goals span,.p50-summary span,.p50-dd-box span{display:block;color:#60708a;text-transform:uppercase;font-size:11px;font-weight:900}
.p50-kpi b{display:block;font-size:23px;color:#08234d;margin-top:4px}
.p50-kpi small{display:block;color:#60708a;font-weight:800;margin-top:3px}
.p50-kpi.good b,.pos{color:#06a85f!important}.p50-kpi.bad b,.neg{color:#df3030!important}
.p50-main{display:grid;grid-template-columns:1.2fr 1fr;gap:16px}
.p50-grid{display:grid;grid-template-columns:1fr 1.05fr .65fr .9fr;gap:16px}
.p50-grid-bottom{display:grid;grid-template-columns:.9fr 1.15fr .9fr 1.15fr;gap:16px}
.p50-card{background:#fff;border:1px solid #dcecff;border-radius:18px;padding:18px;box-shadow:0 10px 24px rgba(4,35,77,.04);min-width:0}
.p50-card h3{margin:0 0 14px;color:#08234d;text-transform:uppercase;font-size:14px;letter-spacing:.02em}
.p50-card-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px}
.p50-tabs,.p50-switch{display:flex;gap:6px}.p50-tabs button,.p50-switch button{border:1px solid #dcecff;background:#fff;border-radius:10px;padding:7px 10px;font-weight:900;color:#08234d}.p50-tabs .active,.p50-switch .active{background:#6d42e8;color:#fff}
.p50-line-wrap{position:relative;background:#fbfdff;border:1px solid #edf3fb;border-radius:16px;padding:6px;overflow:hidden}
.p50-line{width:100%;height:330px;color:#6d42e8}.p50-grid{stroke:#e5eefb;stroke-width:1}.p50-line text{fill:#60708a;font-size:12px;font-weight:800}
.p50-line-badge{position:absolute;right:28px;top:38%;background:rgba(255,255,255,.92);border:1px solid #dcecff;border-radius:14px;padding:12px;box-shadow:0 10px 22px rgba(4,35,77,.08)}.p50-line-badge b{display:block;color:#06a85f;font-size:20px}.p50-line-badge span,.p50-line-badge small{display:block;color:#60708a;font-weight:900}
.p50-records{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-top:12px}.p50-records div,.p50-indicators div,.p50-series div{background:#f8fbff;border:1px solid #e5eefb;border-radius:14px;padding:12px;text-align:center}.p50-records b,.p50-series b{display:block;color:#08234d;font-size:18px;margin-top:4px}
.p50-bars{height:330px;display:flex;align-items:end;gap:12px;border:1px solid #edf3fb;background:#fbfdff;border-radius:16px;padding:18px 16px 34px;position:relative}.p50-month{flex:1;display:flex;flex-direction:column;align-items:center;height:100%;justify-content:flex-end;position:relative}.p50-month b{font-size:12px;margin-bottom:8px;white-space:nowrap}.p50-bar-track{height:210px;width:100%;display:flex;align-items:end;justify-content:center}.p50-bar-track i{display:block;width:26px;border-radius:8px 8px 0 0}.p50-bar-track i.pos{background:#06a85f}.p50-bar-track i.neg{background:#df3030}.p50-month span{position:absolute;bottom:-24px;color:#60708a;font-size:11px;font-weight:800;white-space:nowrap}
.p50-mini-tabs{display:flex;gap:8px;margin-bottom:12px}.p50-mini-tabs span{font-weight:900;color:#6d42e8;background:#f7f3ff;border-radius:999px;padding:6px 9px;font-size:11px}
.p50-donut-wrap{display:grid;grid-template-columns:170px 1fr;gap:16px;align-items:center}.p50-donut{width:160px;height:160px;border-radius:50%;position:relative;display:flex;align-items:center;justify-content:center;flex-direction:column}.p50-donut:before{content:"";position:absolute;inset:30px;border-radius:50%;background:#fff;box-shadow:inset 0 0 0 1px #edf3fb}.p50-donut b,.p50-donut span{position:relative;z-index:1}.p50-donut b{font-size:24px;color:#08234d}.p50-donut span{font-size:11px;color:#60708a;font-weight:900}.p50-legend{display:flex;flex-direction:column;gap:9px}.p50-legend div{display:grid;grid-template-columns:10px 1fr auto 38px;gap:8px;align-items:center}.p50-legend i{width:10px;height:10px;border-radius:50%}.p50-legend span{font-weight:900;color:#08234d}.p50-legend b,.p50-legend small{font-size:12px;font-weight:900}
.p50-indicators{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:10px}.p50-indicators b{display:block;color:#08234d;font-size:18px}.p50-indicator-line .p50-line{height:190px}.p50-indicator-line .p50-line-badge{display:none}
.p50-series{display:flex;flex-direction:column;gap:10px}.p50-series .ok{background:#effaf4}.p50-series .bad{background:#fff0f0}
.p50-goals{display:flex;flex-direction:column;gap:14px}.p50-goals div{background:#f8fbff;border:1px solid #e5eefb;border-radius:14px;padding:12px}.p50-goals b{display:block;margin:5px 0;color:#08234d}.p50-goals i{display:block;height:9px;border-radius:999px;background:#06a85f;width:var(--w)}
.p50-summary p{display:flex;justify-content:space-between;gap:10px;border-bottom:1px solid #edf3fb;margin:0;padding:10px 0}.p50-summary b{color:#08234d}
.p50-dd{width:100%;height:230px;background:#fff7f7;border:1px solid #ffe1e1;border-radius:16px}.p50-dd rect{fill:#ff6b6b;opacity:.75}.p50-dd-box{margin-top:10px;background:#fff0f0;border-radius:14px;padding:12px}.p50-dd-box b{font-size:22px}.p50-dd-box small{display:block;color:#60708a;font-weight:900}
.p50-note{color:#60708a;font-size:12px;font-weight:800;margin:0}
@media(max-width:1500px){.p50-kpis{grid-template-columns:repeat(3,1fr)}.p50-main,.p50-grid,.p50-grid-bottom{grid-template-columns:1fr}.p50-records,.p50-indicators{grid-template-columns:repeat(2,1fr)}}
@media(max-width:800px){.p50-kpis,.p50-records,.p50-indicators,.p50-donut-wrap{grid-template-columns:1fr}.p50-bars{overflow-x:auto}.p50-month{min-width:70px}}

/* V50.1 - ajout rapide + import CSV guards */
.v501-quick-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px}
.v501-quick textarea{min-height:120px}
.v501-quick select{width:100%;border:1px solid #d6e6ff;border-radius:12px;padding:10px;background:#fff;color:#08234d;font-weight:800}
.v501-modal{position:fixed;inset:0;background:rgba(5,20,45,.38);z-index:9999;display:flex;align-items:center;justify-content:center;padding:20px}
.v501-card{width:min(720px,96vw);background:#fff;border-radius:20px;padding:22px;box-shadow:0 24px 70px rgba(0,0,0,.22);position:relative}
.v501-card h2{margin:0 0 8px;color:#08234d}
.v501-card p{color:#60708a;font-weight:800}
.v501-card textarea{width:100%;min-height:210px;border:1px solid #d6e6ff;border-radius:14px;padding:12px;color:#08234d;font-weight:800}
.v501-close{position:absolute;right:16px;top:12px;border:0;background:#fff;color:#08234d;font-size:28px;cursor:pointer}
.duplicate-info-v501{background:#fff4d8;border:1px solid #ffd77a;color:#7a4a00;border-radius:14px;padding:12px 14px;font-weight:900;margin:10px 0 12px}
@media(max-width:800px){.v501-quick-head{flex-direction:column;align-items:stretch}}

/* V50.2 - periode NaN + tipsters brut/unique/filtre */
.t502-profile-kpis{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin:0 0 14px}
.t502-profile-kpis div{background:#f8fbff;border:1px solid #e5eefb;border-radius:14px;padding:12px;text-align:center}
.t502-profile-kpis b{display:block;color:#08234d;font-size:18px}
.t502-profile-kpis span{display:block;color:#60708a;text-transform:uppercase;font-size:10px;font-weight:900}
.t502-profile-kpis small{display:block;color:#60708a;font-size:11px;font-weight:900;margin-top:3px}
@media(max-width:900px){.t502-profile-kpis{grid-template-columns:1fr}}

/* V50.3 - libellés fiche tipster + doublons fiables */
.t503-profile-kpis div:nth-child(1),
.t503-profile-kpis div:nth-child(2),
.t503-profile-kpis div:nth-child(3){
  background:#fbfdff;
}
.t503-profile-kpis div:nth-child(4){
  background:#f8f5ff;
  border-color:#e4d7ff;
}
.t503-profile-kpis div:nth-child(5){
  background:#fffaf0;
  border-color:#ffe0a3;
}
.t503-profile-kpis span{
  line-height:1.2;
}

/* V50.5 final polish */
.v505-update-list{
  margin:10px 0 0;
  padding-left:20px;
  color:#08234d;
  font-weight:800;
  line-height:1.7;
}
.t491-dot-note{display:none!important}
.t505-profile-kpis div:nth-child(4){
  background:#fffaf0;
  border-color:#ffe0a3;
}
.t505-profile-kpis div:nth-child(5){
  background:#f8fbff;
  border-color:#e5eefb;
}
button[onclick="toggleDensity()"]{display:none!important}
