/* TRADELOG LIVE — styles (nettoyé : CSS mort supprimé) */
:root {
  --bg:#090b0e; --s1:#0f1218; --s2:#141820; --s3:#1a1f2a;
  --border:#1e2433; --border2:#252c3a;
  --accent:#00d4ff; --accent-d:rgba(0,212,255,0.08); --accent-d2:rgba(0,212,255,0.15);
  --green:#00e096; --green-d:rgba(0,224,150,0.08); --green-d2:rgba(0,224,150,0.18);
  --red:#ff3d5a; --red-d:rgba(255,61,90,0.08); --red-d2:rgba(255,61,90,0.18);
  --orange:#ffb300; --orange-d:rgba(255,179,0,0.08);
  --text:#dde1ed; --sub:#7a82a0; --muted:#3a4058;
  --mono:'SF Mono','Fira Code',monospace; --sans:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  --r:10px;
}
*{margin:0;padding:0;box-sizing:border-box;}
html,body{overflow-x:hidden;}
body{font-family:var(--sans);background:var(--bg);color:var(--text);min-height:100vh;}

/* NAV */
.nav{display:flex;align-items:center;justify-content:space-between;flex-wrap:nowrap;padding:8px 20px;background:var(--s1);border-bottom:1px solid var(--border);min-height:56px;position:sticky;top:0;z-index:100;gap:6px 10px;}
.brand{font-family:var(--mono);font-size:13px;color:var(--accent);letter-spacing:3px;white-space:nowrap;cursor:pointer;}
.brand:hover{filter:brightness(1.2);}
.brand span{color:var(--muted);}
.tabs{display:flex;gap:2px;flex:1 1 auto;min-width:max-content;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;}
.tabs::-webkit-scrollbar{display:none;}
.tab{padding:8px 15px;border-radius:6px;cursor:pointer;font-size:13px;font-family:Arial,Helvetica,sans-serif;color:var(--sub);border:none;background:none;transition:all .2s;font-weight:500;display:inline-flex;align-items:center;gap:6px;white-space:nowrap;flex-shrink:0;}
.tab svg{flex-shrink:0;}
.tab:hover{color:var(--text);background:var(--s3);}
.tab.active{color:var(--accent);background:var(--accent-d);}
.clock{font-family:var(--mono);font-size:11px;color:var(--muted);white-space:nowrap;}
.nav-right{display:flex;align-items:center;gap:10px;flex-shrink:0;}
.acct-select{background:var(--s2);border:1px solid var(--border2);color:var(--text);font-size:11px;font-weight:700;font-family:var(--mono);padding:6px 8px;border-radius:8px;cursor:pointer;max-width:145px;}
.acct-select:focus{outline:none;border-color:var(--accent);}

@media(max-width:1600px){
  .clock{display:none;}
  .tab{padding:8px 10px;font-size:12px;}
  .auth-btn{padding:7px 9px;font-size:11px;}
  .brand{letter-spacing:1px;}
  .nav-right{gap:6px;}
  .live{font-size:10px;}
  .acct-select{max-width:135px;}
}
@media(max-width:1400px){
  .brand{font-size:12px;letter-spacing:0px;}
  .tab{padding:8px 9px;}
  .auth-btn{padding:6px 8px;font-size:10.5px;}
  .nav-right{gap:5px;}
}

/* LAYOUT */
.main{padding:20px;max-width:1400px;margin:0 auto;}
.section{display:none;}.section.active{display:block;}

/* CARDS */
.card{background:var(--s1);border:1px solid var(--border);border-radius:var(--r);padding:18px;transition:border-color .25s ease;}
.card+.card{margin-top:14px;}
.card:hover{border-color:var(--border2);}
.card.lift:hover{transform:translateY(-3px);box-shadow:0 16px 40px rgba(0,0,0,.35);}
.card-title{font-size:10px;color:var(--sub);text-transform:uppercase;letter-spacing:1.5px;margin-bottom:14px;display:flex;align-items:center;gap:8px;}
.card-title::before{content:'';width:7px;height:7px;border-radius:50%;background:linear-gradient(135deg,var(--accent),var(--green));box-shadow:0 0 8px rgba(0,212,255,.6);}

/* GRID */
.g2{display:grid;grid-template-columns:1fr 1fr;gap:14px;}

/* STAT */
.stat{background:var(--s2);border:1px solid var(--border);border-radius:8px;padding:14px;text-align:center;transition:transform .2s,border-color .2s;}
.stat:hover{transform:translateY(-2px);border-color:var(--border2);}
.stat .lbl{font-size:10px;color:var(--sub);text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px;}
.stat .val{font-size:18px;font-weight:700;font-family:var(--mono);}
.val.g{color:var(--green);}.val.r{color:var(--red);}
.stat .sub2{font-size:10px;color:var(--muted);margin-top:3px;font-family:var(--mono);}

/* GAUGE */
.gauge-wrap{display:flex;flex-direction:column;align-items:center;padding:10px 0;}
.gauge{position:relative;width:160px;height:84px;overflow:hidden;}
.gauge svg{width:160px;height:84px;}
.gauge-center{position:absolute;bottom:0;left:50%;transform:translateX(-50%);text-align:center;}
.gauge-center .pct{font-size:22px;font-weight:700;font-family:var(--mono);}
.gauge-center .lbl2{font-size:10px;color:var(--sub);}
.gauge-legend{display:flex;gap:12px;margin-top:10px;font-size:11px;}
.gauge-legend span{display:flex;align-items:center;gap:4px;color:var(--sub);}
.dot{width:7px;height:7px;border-radius:50%;}
#gaugeArc{transition:stroke-dashoffset 1s cubic-bezier(.22,1,.36,1);filter:drop-shadow(0 0 6px rgba(0,212,255,.45));}
.gauge.glow path:last-child{filter:drop-shadow(0 0 10px rgba(0,224,150,.7));}
.grade-pill{display:inline-block;font-family:var(--mono);font-size:11px;font-weight:800;padding:4px 12px;border-radius:14px;margin-top:6px;letter-spacing:1px;}
.disc-break{margin-top:12px;display:flex;flex-direction:column;gap:9px;width:100%;}
.db-row{font-size:11px;}
.db-row .top{display:flex;justify-content:space-between;margin-bottom:4px;gap:8px;}
.db-row .top b{font-family:var(--mono);white-space:nowrap;}
.db-bar{height:6px;background:var(--s3);border-radius:4px;overflow:hidden;}
.db-fill{height:100%;border-radius:4px;transition:width 1s cubic-bezier(.22,1,.36,1);background:linear-gradient(90deg,var(--accent),var(--green));}
.db-fill.mid{background:linear-gradient(90deg,var(--orange),#ffd166);}
.db-fill.low{background:linear-gradient(90deg,var(--red),#ff7a93);}
.streak-fire{font-size:15px;animation:flick 1.6s ease-in-out infinite;display:inline-block;}
@keyframes flick{0%,100%{transform:scale(1)}50%{transform:scale(1.2) rotate(-4deg)}}

/* OBJECTIVES */
.obj-table{width:100%;border-collapse:collapse;}
.obj-table th,.obj-table td{padding:10px 8px;text-align:left;border-bottom:1px solid var(--border);font-size:12px;}
.obj-table th{color:var(--sub);font-size:10px;text-transform:uppercase;}
.obj-table .name{color:var(--accent);font-weight:500;}
.s-ok{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:5px;background:var(--green-d);color:var(--green);font-weight:700;font-size:13px;}
.s-fail{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:5px;background:var(--red-d);color:var(--red);font-weight:700;font-size:13px;}
.obj-bar{height:4px;background:var(--s3);border-radius:3px;margin-top:5px;overflow:hidden;}
.obj-fill{height:100%;border-radius:3px;background:linear-gradient(90deg,var(--accent),var(--green));transition:width .8s ease;}
.obj-fill.warn{background:linear-gradient(90deg,var(--orange),#ffd166);}
.obj-fill.bad{background:linear-gradient(90deg,var(--red),#ff7a93);}

/* BANNER */
.banner{padding:12px 16px;border-radius:8px;font-size:12px;margin:12px 0;display:flex;align-items:flex-start;gap:8px;line-height:1.5;}
.banner-danger{background:var(--red-d);border:1px solid rgba(255,61,90,.3);color:var(--red);}
.banner-ok{background:var(--green-d);border:1px solid var(--green-d2);color:var(--green);}
#dashBanner>div{animation:slideIn .5s cubic-bezier(.22,1,.36,1);}
@keyframes slideIn{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}

/* DAILY TABLE */
.daily-table{width:100%;border-collapse:collapse;}
.daily-table th,.daily-table td{padding:9px 10px;text-align:left;border-bottom:1px solid var(--border);font-size:12px;}
.daily-table th{color:var(--sub);font-size:10px;text-transform:uppercase;}
.daily-table tbody tr{transition:background .2s;}
.daily-table tbody tr:hover{background:rgba(0,212,255,.04);}
.d-col{color:var(--accent);font-weight:600;font-family:var(--mono);}
.pnl-cell{position:relative;}
.pnl-bar{position:absolute;left:0;top:20%;bottom:20%;border-radius:0 4px 4px 0;opacity:.14;pointer-events:none;}

/* CALENDAR */
.cal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;flex-wrap:wrap;gap:12px;background:linear-gradient(120deg,rgba(0,212,255,.08),transparent 60%),var(--s1);border:1px solid var(--border2);border-radius:14px;padding:14px 18px;}
.cal-nav{display:flex;gap:8px;align-items:center;}
.cal-nav button{background:var(--s2);border:1px solid var(--border2);color:var(--text);width:32px;height:32px;border-radius:50%;cursor:pointer;font-size:15px;display:flex;align-items:center;justify-content:center;transition:all .2s;}
.cal-nav button:hover{background:var(--accent-d);border-color:var(--accent);color:var(--accent);transform:scale(1.08);}
.cal-title-txt{font-size:17px;font-weight:800;letter-spacing:-.3px;min-width:150px;text-align:center;}
.cal-title-txt small{color:var(--muted);font-weight:400;}
#calToday{border-radius:16px!important;width:auto!important;padding:6px 14px!important;font-size:11px!important;font-weight:700!important;}
.cal-meta{display:flex;gap:8px;font-size:11.5px;flex-wrap:wrap;}
.cal-meta span{padding:6px 13px;border-radius:12px;background:var(--s2);border:1px solid var(--border);display:flex;align-items:center;gap:6px;font-family:var(--mono);}
.cal-meta .mdot{width:7px;height:7px;border-radius:50%;}
.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:7px;}
.cal-grid.slide{animation:calSlide .35s cubic-bezier(.22,1,.36,1);}
@keyframes calSlide{from{opacity:0;transform:translateX(14px)}to{opacity:1;transform:none}}
.cal-grid.slideL{animation:calSlideL .35s cubic-bezier(.22,1,.36,1);}
@keyframes calSlideL{from{opacity:0;transform:translateX(-14px)}to{opacity:1;transform:none}}
.cal-day-header{padding:6px;text-align:center;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:1.2px;color:var(--muted);}
.cal-day{position:relative;min-height:88px;padding:8px;border-radius:12px;background:var(--s2);border:1px solid var(--border);overflow:hidden;transition:transform .18s,border-color .18s,box-shadow .18s;}
.cal-day.has-trade{cursor:pointer;}
.cal-day.has-trade:hover{transform:translateY(-3px);border-color:var(--border2);box-shadow:0 10px 24px rgba(0,0,0,.35);}
.cal-day.has-trade::before{content:'';position:absolute;left:0;top:10px;bottom:10px;width:3px;border-radius:2px;}
.cal-day.pos::before{background:var(--green);box-shadow:0 0 8px rgba(0,224,150,.6);}
.cal-day.neg::before{background:var(--red);box-shadow:0 0 8px rgba(255,61,90,.6);}
.cal-day.pos{background:linear-gradient(180deg,rgba(0,224,150,.09),var(--s2) 70%);}
.cal-day.neg{background:linear-gradient(180deg,rgba(255,61,90,.09),var(--s2) 70%);}
.cal-day .dn{font-size:12px;font-weight:700;color:var(--sub);margin-bottom:4px;display:flex;align-items:center;justify-content:space-between;}
.cal-day.today{border-color:var(--accent);}
.cal-day.today .dn span{background:var(--accent);color:#03252e;font-weight:800;min-width:22px;height:22px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 0 10px rgba(0,212,255,.6);}
.cal-day.other-month{background:transparent;border-style:dashed;opacity:.35;cursor:default;min-height:88px;}
.cal-day.other-month::before{display:none;}
.cal-day.selected{outline:2px solid var(--accent);outline-offset:1px;}
.cal-day.best{border-color:var(--green-d2);box-shadow:0 0 14px rgba(0,224,150,.25);}
.cal-day.worst{border-color:var(--red-d2);}
.cal-pnl{font-size:11.5px;font-weight:800;font-family:var(--mono);}
.cal-pnl.pos{color:var(--green);}.cal-pnl.neg{color:var(--red);}
.cal-cnt{font-size:10px;color:var(--muted);margin-top:2px;}
.cal-dots{display:flex;gap:3px;margin-top:5px;}
.cal-dots i{width:5px;height:5px;border-radius:50%;}
.cal-detail{margin-top:14px;background:var(--s2);border:1px solid var(--border2);border-radius:14px;padding:16px 18px;animation:slideIn .4s cubic-bezier(.22,1,.36,1);}
.cal-detail h4{font-size:13px;margin-bottom:4px;}
.cal-detail .dd-total{font-family:var(--mono);font-size:13px;font-weight:800;margin-bottom:10px;}
.cal-drow{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:9px 4px;border-bottom:1px solid var(--border);font-size:12px;}
.cal-drow:last-child{border:none;}
.cal-dclose{float:right;}

/* FORM */
.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;}
.fg{display:flex;flex-direction:column;gap:4px;}
.fg label{font-size:10px;color:var(--sub);text-transform:uppercase;letter-spacing:.5px;}
.form-full{grid-column:1/-1;}
input,select,textarea{padding:8px 10px;background:var(--s2);border:1px solid var(--border);border-radius:6px;color:var(--text);font-size:13px;font-family:inherit;}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent);}
textarea{resize:vertical;min-height:48px;}
.form-actions{display:flex;gap:8px;margin-top:12px;flex-wrap:wrap;}
.form-err{display:none;background:var(--red-d);border:1px solid var(--red-d2);color:var(--red);font-size:12px;padding:9px 12px;border-radius:8px;margin-top:10px;}
.form-err.show{display:block;}

/* BUTTONS */
.btn{padding:9px 18px;border:none;border-radius:6px;cursor:pointer;font-size:13px;font-weight:600;transition:all .15s;font-family:Arial,Helvetica,sans-serif;}
.btn-primary{background:var(--accent);color:#000;position:relative;overflow:hidden;}
.btn-primary:hover{opacity:.85;}
.btn-primary::after{content:'';position:absolute;top:0;left:-80%;width:50%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.5),transparent);transform:skewX(-20deg);animation:shine 3.2s infinite;}
@keyframes shine{0%{left:-80%}55%{left:130%}100%{left:130%}}
.btn-outline{background:transparent;border:1px solid var(--border);color:var(--text);}
.btn-outline:hover{background:var(--s3);}
.btn-danger{background:var(--red);color:#fff;}
.btn-success{background:var(--green);color:#000;}

/* TRADE TABLE */
.table-wrap{overflow-x:auto;border-radius:0 0 10px 10px;}
table.trades{width:100%;border-collapse:collapse;min-width:760px;}
table.trades th,table.trades td{padding:10px 12px;text-align:left;border-bottom:1px solid var(--border);font-size:12px;vertical-align:middle;}
table.trades th{color:var(--sub);font-size:10px;text-transform:uppercase;letter-spacing:.6px;background:var(--s2);white-space:nowrap;}
table.trades tbody tr{transition:background .2s;animation:rowIn .4s ease;}
@keyframes rowIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
table.trades tbody tr:hover td{background:rgba(0,212,255,.035);}
.badge{display:inline-flex;align-items:center;gap:4px;padding:3px 9px;border-radius:12px;font-size:10.5px;font-weight:700;white-space:nowrap;}
.badge-long{background:var(--green-d);color:var(--green);border:1px solid var(--green-d2);}
.badge-short{background:var(--red-d);color:var(--red);border:1px solid var(--red-d2);}
.pp{color:var(--green);font-weight:700;font-family:var(--mono);white-space:nowrap;}
.pn{color:var(--red);font-weight:700;font-family:var(--mono);white-space:nowrap;}
.pnl-pill{display:inline-block;font-family:var(--mono);font-size:11.5px;font-weight:700;padding:4px 10px;border-radius:8px;white-space:nowrap;}
.pnl-pill.p{background:var(--green-d);color:var(--green);border:1px solid var(--green-d2);}
.pnl-pill.n{background:var(--red-d);color:var(--red);border:1px solid var(--red-d2);}
.inst-cell{font-weight:700;display:flex;align-items:center;gap:7px;white-space:nowrap;}
.inst-dot{width:8px;height:8px;border-radius:50%;background:var(--accent);box-shadow:0 0 6px rgba(0,212,255,.5);flex-shrink:0;}
.mt5tag{font-family:var(--mono);font-size:8.5px;font-weight:700;padding:1px 6px;border-radius:4px;background:rgba(139,92,246,.14);color:#b79bff;border:1px solid rgba(139,92,246,.35);letter-spacing:.5px;}
.notes-cell{max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--sub);}
.setup-chip{display:inline-block;font-family:var(--mono);font-size:10.5px;background:var(--s3);border:1px solid var(--border2);color:var(--accent);padding:2px 8px;border-radius:6px;max-width:130px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:middle;}
.icon-btn{background:none;border:none;color:var(--sub);cursor:pointer;padding:6px;border-radius:6px;font-size:13px;transition:all .15s;}
.icon-btn:hover{background:var(--s3);color:var(--text);transform:scale(1.1);}
.hist-head{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:12px;}
.hist-title{font-size:15px;font-weight:800;display:flex;align-items:center;gap:9px;}
.hist-count{font-family:var(--mono);font-size:11px;font-weight:700;background:var(--accent-d);border:1px solid var(--accent-d2);color:var(--accent);padding:3px 11px;border-radius:14px;}
.hist-filters{display:flex;gap:8px;flex-wrap:wrap;}
.hist-filters input,.hist-filters select{padding:8px 12px;background:var(--s1);border:1px solid var(--border);border-radius:8px;color:var(--text);font-size:12px;font-family:inherit;}
.hist-filters input:focus,.hist-filters select:focus{outline:none;border-color:var(--accent);}
.hist-sum{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:12px;}
.hist-sum .hs{background:var(--s1);border:1px solid var(--border);border-radius:10px;padding:11px 14px;}
.hist-sum .hs .k{font-size:10px;color:var(--sub);text-transform:uppercase;letter-spacing:.7px;}
.hist-sum .hs .v{font-family:var(--mono);font-size:17px;font-weight:800;margin-top:3px;}
.hist-empty-extra{margin-top:12px;display:flex;gap:8px;justify-content:center;}
.hist-more{display:flex;justify-content:center;margin-top:12px;}

/* IMAGES */
.img-area{border:1.5px dashed var(--border2);border-radius:7px;padding:10px;text-align:center;cursor:pointer;color:var(--sub);font-size:12px;transition:all .2s;}
.img-area:hover{border-color:var(--accent);color:var(--text);}
.img-area input{display:none;}
.img-hint{font-size:10px;color:var(--muted);margin-top:4px;}
.img-previews{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px;}
.img-thumb{position:relative;width:56px;height:56px;border-radius:5px;overflow:hidden;border:1px solid var(--border);}
.img-thumb img{width:100%;height:100%;object-fit:cover;}
.img-remove{position:absolute;top:2px;right:2px;background:rgba(0,0,0,.75);color:#fff;border:none;border-radius:50%;width:16px;height:16px;font-size:10px;cursor:pointer;display:flex;align-items:center;justify-content:center;}
.history-imgs{display:flex;gap:3px;flex-wrap:wrap;}
.history-imgs img{width:32px;height:32px;object-fit:cover;border-radius:4px;border:1px solid var(--border);cursor:pointer;}

/* LIGHTBOX */
.lightbox{display:none;position:fixed;inset:0;background:rgba(0,0,0,.92);z-index:300;justify-content:center;align-items:center;flex-direction:column;gap:12px;}
.lightbox.active{display:flex;}
.lightbox img{max-width:90vw;max-height:80vh;border-radius:8px;object-fit:contain;}
.lightbox-close{position:absolute;top:16px;right:20px;background:none;border:none;color:#fff;font-size:28px;cursor:pointer;}
.lightbox-nav{display:flex;gap:16px;}
.lightbox-nav button{background:rgba(255,255,255,.12);border:none;color:#fff;padding:7px 18px;border-radius:6px;cursor:pointer;}

/* MODAL */
.modal-bg{display:none;position:fixed;inset:0;background:rgba(0,0,0,.75);z-index:200;justify-content:center;align-items:center;}
.modal-bg.active{display:flex;}
.modal{background:var(--s1);border:1px solid var(--border);border-radius:var(--r);padding:22px;max-width:500px;width:92%;}
.modal h3{margin-bottom:14px;font-size:14px;}

/* EMPTY */
.empty{text-align:center;padding:40px 20px;color:var(--sub);}
.empty .ico{font-size:2em;margin-bottom:8px;}

/* SETTINGS */
.settings-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;}
.acct-badge{display:inline-flex;align-items:center;gap:5px;font-family:var(--mono);font-size:10px;font-weight:700;background:rgba(0,212,255,.1);border:1px solid rgba(0,212,255,.3);color:var(--accent);padding:2px 8px;border-radius:6px;white-space:nowrap;}

.live{display:flex;align-items:center;gap:6px;font-family:var(--mono);font-size:11px;color:var(--muted);white-space:nowrap;}
.live i{width:8px;height:8px;border-radius:50%;background:var(--muted);display:inline-block;}
.live.on{color:var(--green);}.live.on i{background:var(--green);box-shadow:0 0 8px var(--green);animation:pl 2s infinite;}
@keyframes pl{50%{opacity:.4}}
.pos-row{display:flex;justify-content:space-between;align-items:center;padding:9px 8px;border-bottom:1px solid var(--border);font-size:12px;border-radius:6px;}
.pos-row:last-child{border:none}.pos-row b{font-family:var(--mono)}
.tag{font-family:var(--mono);font-size:9px;padding:2px 6px;border-radius:4px;background:var(--accent-d);color:var(--accent);margin-left:6px}

/* DASHBOARD */
.kpi-row{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:14px;}
.kpi{background:linear-gradient(180deg,var(--s2),var(--s1));border:1px solid var(--border);border-radius:12px;padding:14px;position:relative;overflow:hidden;transition:transform .2s,border-color .2s;display:flex;gap:12px;align-items:flex-start;text-align:left;}
.kpi:hover{transform:translateY(-2px);border-color:var(--border2);}
.kpi::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--accent),var(--green));opacity:.7;}
.kpi .k{font-size:10px;color:var(--sub);text-transform:uppercase;letter-spacing:.8px;margin-bottom:6px;}
.kpi .v{font-family:var(--mono);font-size:21px;font-weight:800;transition:color .3s;}
.kpi .s{font-size:11px;color:var(--sub);margin-top:4px;font-family:var(--mono);}
.k-ico{width:38px;height:38px;border-radius:11px;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:18px;background:var(--accent-d);border:1px solid var(--accent-d2);}
.kpi:nth-child(2) .k-ico{background:var(--green-d);border-color:var(--green-d2);}
.kpi:nth-child(3) .k-ico{background:rgba(255,179,0,.10);border-color:rgba(255,179,0,.3);}
.kpi:nth-child(4) .k-ico{background:rgba(139,92,246,.12);border-color:rgba(139,92,246,.35);}
.kpi .kb{flex:1;min-width:0;}
.dash-range{display:flex;gap:6px;}
.dash-range button{background:var(--s2);border:1px solid var(--border);color:var(--sub);padding:5px 12px;border-radius:14px;cursor:pointer;font-size:11px;font-weight:600;}
.dash-range button.on{background:var(--accent-d);border-color:var(--accent);color:var(--accent);}
.delta{display:inline-block;font-family:var(--mono);font-size:10px;font-weight:700;padding:2px 8px;border-radius:12px;margin-left:8px;vertical-align:middle;}
.delta.up{background:var(--green-d);color:var(--green);}
.delta.dn{background:var(--red-d);color:var(--red);}
#dashboard{position:relative;}
.dash-top{position:relative;display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;background:linear-gradient(120deg,rgba(0,212,255,.10),rgba(0,224,150,.07) 55%,transparent),var(--s1);border:1px solid var(--border2);border-radius:14px;padding:14px 18px;margin-bottom:14px;overflow:hidden;}
.dash-top::before{content:'';position:absolute;top:-60px;right:10%;width:260px;height:160px;background:radial-gradient(circle,rgba(0,212,255,.20),transparent 70%);pointer-events:none;}
.dash-top h2{font-size:15px;font-weight:800;letter-spacing:-.2px;}
.dash-top h2 span{background:linear-gradient(90deg,var(--accent),var(--green));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}
.dash-insight{font-size:11.5px;color:var(--sub);margin-top:4px;display:flex;align-items:center;gap:7px;}
.dash-insight .pulse-dot{flex-shrink:0;}
.rise{opacity:0;transform:translateY(14px);}
.rise.in{opacity:1;transform:none;transition:opacity .55s ease,transform .55s cubic-bezier(.22,1,.36,1);}
.eq-anim polyline{stroke-dasharray:1200;stroke-dashoffset:1200;animation:eqdraw 1.6s cubic-bezier(.22,1,.36,1) forwards;}
@keyframes eqdraw{to{stroke-dashoffset:0}}
.flash-up{animation:fUp 1s ease;}
.flash-dn{animation:fDn 1s ease;}
@keyframes fUp{0%{background:rgba(0,224,150,.22)}100%{background:transparent}}
@keyframes fDn{0%{background:rgba(255,61,90,.22)}100%{background:transparent}}

/* HOME / HERO */
#home{animation:fadeUp .5s ease;}
@keyframes fadeUp{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.fm-hero{position:relative;width:100vw;margin:-20px calc(-50vw + 50%) 14px;padding:64px 4vw 90px;overflow:hidden;text-align:center;background:linear-gradient(180deg,rgba(9,11,14,.88) 0%,rgba(9,11,14,.66) 45%,rgba(9,11,14,.9) 78%,#090b0e 100%),radial-gradient(900px 480px at 50% -8%,rgba(0,212,255,.28),transparent 62%),radial-gradient(700px 420px at 85% 30%,rgba(0,224,150,.14),transparent 60%),#0c1a22;border-bottom:none;}
.fm-hero::before{content:'';position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);background-size:46px 46px;mask-image:radial-gradient(720px 480px at 50% 20%,#000 30%,transparent 75%);-webkit-mask-image:radial-gradient(720px 480px at 50% 20%,#000 30%,transparent 75%);pointer-events:none;}
.fm-badge{display:inline-flex;align-items:center;gap:8px;font-size:11px;font-weight:700;letter-spacing:1.2px;color:#7deaff;background:rgba(0,212,255,.12);border:1px solid rgba(0,212,255,.4);padding:8px 18px;border-radius:30px;margin-bottom:20px;position:relative;z-index:2;}
.fm-title{position:relative;z-index:2;font-size:clamp(40px,5.4vw,74px);line-height:1.05;font-weight:800;letter-spacing:-2px;color:#fff;margin-bottom:16px;white-space:nowrap;}
.fm-title .grad{background:linear-gradient(90deg,#00d4ff,#00e096,#00d4ff);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}
.fm-caret{display:inline-block;width:22px;animation:blink 1.1s steps(1) infinite;color:#00d4ff;}
@keyframes blink{50%{opacity:0}}
.fm-sub{position:relative;z-index:2;color:#a7aec9;font-size:15px;line-height:1.7;max-width:640px;margin:0 auto 28px;}
.fm-cta{position:relative;z-index:2;display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-bottom:10px;}
.btn-violet{background:linear-gradient(135deg,#00d4ff,#00e096);color:#03252e;padding:14px 30px;border:none;border-radius:30px;font-size:14px;font-weight:800;cursor:pointer;transition:transform .2s,box-shadow .2s;box-shadow:0 10px 30px rgba(0,212,255,.35);}
.btn-violet:hover{transform:translateY(-2px);box-shadow:0 16px 40px rgba(0,224,150,.45);}
.btn-ghost{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.14);color:#fff;padding:14px 26px;border-radius:30px;font-size:14px;font-weight:600;cursor:pointer;transition:background .2s;}
.btn-ghost:hover{background:rgba(255,255,255,.09);}
.fm-avatar{width:26px;height:26px;border-radius:50%;flex-shrink:0;display:inline-block;}
.fm-row{display:flex;align-items:center;gap:9px;padding:8px;border-radius:10px;background:rgba(255,255,255,.02);border:1px solid transparent;margin-bottom:6px;font-size:11px;}
.fm-row:hover{border-color:rgba(0,212,255,.3);}
.fm-row .sq{width:30px;height:30px;border-radius:8px;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:14px;}
.fm-row small{color:var(--sub);display:block;font-size:10px;}
.fm-join{margin-left:auto;font-size:10px;color:#00d4ff;border:1px solid rgba(0,212,255,.5);padding:4px 10px;border-radius:14px;background:none;cursor:pointer;white-space:nowrap;}
.fm-ms{background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.08);border-radius:10px;padding:9px;text-align:center;}
.fm-ms .k{font-size:9px;color:var(--sub);text-transform:uppercase;letter-spacing:.6px;}
.fm-ms .v{font-family:var(--mono);font-size:14px;font-weight:700;margin-top:2px;}
.fm-prod{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;}
.fm-pi{border-radius:10px;overflow:hidden;border:1px solid rgba(255,255,255,.1);background:#090b0e;}
.fm-pi .thumb{height:56px;position:relative;}
.fm-pi .cert{position:absolute;top:5px;left:5px;font-size:7px;font-weight:800;background:#fff;color:#000;padding:2px 5px;border-radius:4px;letter-spacing:.5px;}
.fm-pi .inf{padding:7px;font-size:9px;}
.fm-pi .inf b{font-size:9.5px;display:block;} .fm-pi .inf small{color:var(--sub);font-size:8.5px;}
.fm-pi .pr{color:var(--green);font-weight:700;font-family:var(--mono);font-size:9px;}
.hero-badge{display:inline-flex;align-items:center;gap:7px;font-family:var(--mono);font-size:11px;color:var(--green);background:var(--green-d);border:1px solid var(--green-d2);padding:5px 12px;border-radius:20px;margin-bottom:16px;letter-spacing:.5px;}
.hero-badge i{width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 8px var(--green);animation:pl 2s infinite;}
.hero-cta{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:24px;}
.hero-cta .btn{padding:12px 24px;font-size:13px;border-radius:9px;}
/* Ticker */
.ticker{overflow:hidden;border:1px solid var(--border);border-radius:10px;background:var(--s1);margin-bottom:14px;white-space:nowrap;}
.ticker-track{display:inline-flex;gap:34px;padding:11px 18px;font-family:var(--mono);font-size:12px;color:var(--sub);animation:tick 22s linear infinite;}
@keyframes tick{to{transform:translateX(-50%)}}
.ticker b{color:var(--text);} .ticker .up{color:var(--green);} .ticker .dn2{color:var(--red);}
/* Features */
.hero-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:14px;}
.hero-feat{background:var(--s1);border:1px solid var(--border);border-radius:var(--r);padding:18px;transition:transform .2s,border-color .2s;}
.hero-feat:hover{transform:translateY(-3px);border-color:var(--border2);}
.hero-feat .ico{font-size:22px;margin-bottom:9px;}
.hero-feat h3{font-size:13px;margin-bottom:6px;}
.hero-feat p{font-size:12px;color:var(--sub);line-height:1.65;margin:0;}
/* Why */
.why{background:var(--s1);border:1px solid var(--border);border-radius:18px;padding:38px 32px;margin-bottom:14px;text-align:center;}
.why h2{font-size:24px;font-weight:800;letter-spacing:-.5px;margin-bottom:8px;}
.why h2 span{color:var(--accent);}
.why .sub{color:var(--sub);font-size:13px;max-width:560px;margin:0 auto 24px;line-height:1.7;}
.why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;text-align:left;}
.why-card{background:var(--s2);border:1px solid var(--border);border-radius:12px;padding:18px;}
.why-card .n{font-family:var(--mono);font-size:11px;color:var(--accent);margin-bottom:8px;letter-spacing:1px;}
.why-card h3{font-size:13px;margin-bottom:7px;}
.why-card p{font-size:12px;color:var(--sub);line-height:1.65;margin:0;}
.tick-flash{transition:color .3s;}
.tick-up{color:var(--green)!important;} .tick-down{color:var(--red)!important;}
.split{display:grid;grid-template-columns:1fr 1fr;gap:26px;align-items:center;background:var(--s1);border:1px solid var(--border);border-radius:18px;padding:32px;margin-bottom:14px;overflow:hidden;opacity:0;transform:translateY(18px);transition:opacity .6s ease,transform .6s ease;}
.split.visible{opacity:1;transform:none;}
.split-txt h2{font-size:21px;font-weight:800;margin-bottom:10px;letter-spacing:-.3px;}
.split-txt h2 span{color:var(--accent);}
.split-txt p{color:var(--sub);font-size:13px;line-height:1.75;margin-bottom:12px;}
.split-txt ul{list-style:none;margin:0 0 16px;padding:0;}
.split-txt li{font-size:12.5px;color:var(--text);padding:7px 0 7px 26px;position:relative;border-bottom:1px dashed var(--border);}
.split-txt li:last-child{border:none;}
.split-txt li::before{content:'✓';position:absolute;left:0;top:7px;width:18px;height:18px;border-radius:50%;background:var(--green-d);color:var(--green);font-size:11px;display:flex;align-items:center;justify-content:center;font-weight:700;}
.split-img{position:relative;border-radius:14px;overflow:hidden;border:1px solid var(--border2);min-height:230px;box-shadow:0 18px 46px rgba(0,0,0,.45);background:linear-gradient(135deg,#0b2030,#0a2a22 55%,#0b0e14);}
.split-img svg.split-fallback{display:block;width:100%;height:260px;}
.split-tag{position:absolute;top:12px;left:12px;z-index:2;font-family:var(--mono);font-size:10.5px;padding:6px 11px;border-radius:8px;background:rgba(0,0,0,.6);border:1px solid var(--border2);color:var(--accent);backdrop-filter:blur(6px);}
.split-badge{position:absolute;bottom:12px;right:12px;z-index:2;font-family:var(--mono);font-size:11px;font-weight:700;padding:7px 12px;border-radius:9px;background:rgba(0,224,150,.16);border:1px solid rgba(0,224,150,.45);color:var(--green);animation:floatY 4s ease-in-out infinite;}
@keyframes floatY{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
.pulse-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--green);margin-right:6px;box-shadow:0 0 0 0 rgba(0,224,150,.6);animation:pulseRing 1.8s infinite;}
@keyframes pulseRing{70%{box-shadow:0 0 0 9px rgba(0,224,150,0)}100%{box-shadow:0 0 0 0 rgba(0,224,150,0)}}
/* CTA final */
.home-cta-bottom{position:relative;text-align:center;background:linear-gradient(135deg,rgba(0,212,255,.12),rgba(0,224,150,.10));border:1px solid var(--border2);border-radius:18px;padding:40px 24px;overflow:hidden;}
.home-cta-bottom h2{font-size:22px;font-weight:800;margin-bottom:8px;}
.home-cta-bottom p{color:var(--sub);font-size:13px;margin-bottom:18px;}
.hero-foot{text-align:center;color:var(--muted);font-size:11px;font-family:var(--mono);margin-top:20px;letter-spacing:.5px;}
/* Panneau dashboard */
.fm-solo{position:relative;z-index:2;max-width:1080px;margin:48px auto 0;}
.fm-browser{background:rgba(13,11,26,.96);border:1px solid rgba(0,212,255,.35);border-radius:18px;overflow:hidden;box-shadow:0 40px 100px rgba(0,0,0,.6),0 0 60px rgba(0,212,255,.12);backdrop-filter:blur(8px);text-align:left;}
.fm-bhead{display:flex;align-items:center;gap:7px;padding:12px 16px;border-bottom:1px solid var(--border);background:rgba(255,255,255,.02);}
.fm-bhead .d{width:10px;height:10px;border-radius:50%;}
.fm-bhead .url{margin-left:8px;font-family:var(--mono);font-size:11px;color:var(--sub);background:rgba(255,255,255,.04);border:1px solid var(--border);padding:4px 14px;border-radius:8px;flex:1;text-align:center;}
.fm-bhead .live{font-family:var(--mono);font-size:10px;font-weight:700;color:var(--green);display:flex;align-items:center;gap:5px;}
.fm-bhead .live i{width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 8px var(--green);animation:pl 1.4s infinite;}
.fm-bbody{padding:18px;}
.fm-bkpis{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:12px;}
.fm-bkpis .fm-ms{margin:0;}
.fm-bgrid{display:grid;grid-template-columns:1.5fr 1fr;gap:12px;margin-bottom:12px;}
.fm-bbox{background:rgba(255,255,255,.02);border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:14px;min-width:0;}
.fm-bboxt{font-size:11px;font-weight:700;margin-bottom:8px;}
.fm-bstrip{display:grid;grid-template-columns:1.2fr 1fr 1.2fr;gap:12px;}
.fm-solo .fm-prod{grid-template-columns:repeat(3,1fr);}

@media(max-width:900px){
  .nav{flex-wrap:wrap;height:auto;padding:10px;gap:8px;}
  .acct-select{max-width:110px;}
  .tlp-grid{grid-template-columns:1fr;}
  .tlp-hero{padding:30px 12px 18px;}
  .tlp-foot{grid-template-columns:1fr 1fr;}
  .tlp-brand{grid-column:1/-1;}
  .fm-bkpis{grid-template-columns:1fr 1fr;}
  .fm-bgrid,.fm-bstrip{grid-template-columns:1fr;}
  .why-grid,.hero-grid,.split{grid-template-columns:1fr;}
  .split{padding:22px;}
  .why{padding:28px 18px;}
  .fm-title{font-size:30px;white-space:normal;}
  .fm-hero{padding:40px 16px 50px;}
  .g2{grid-template-columns:1fr;}
  .kpi-row{grid-template-columns:1fr 1fr;}
  .cal-day{min-height:62px;padding:5px;border-radius:9px;}
  .cal-day.other-month{min-height:62px;}
  .cal-pnl{font-size:10px;}
  .cal-cnt{display:none;}
  .cal-title-txt{font-size:14px;min-width:120px;}
  .cal-header{padding:12px;}
  .main{padding:12px;}
  table.trades{min-width:0;}
  table.trades thead{display:none;}
  table.trades,table.trades tbody,table.trades tr,table.trades td{display:block;width:100%;}
  table.trades tbody tr{background:var(--s2);border:1px solid var(--border);border-radius:12px;margin-bottom:10px;padding:6px 4px;}
  table.trades td{border:none;padding:7px 14px;display:flex;justify-content:space-between;align-items:center;gap:12px;}
  table.trades td::before{content:attr(data-l);font-size:10px;color:var(--sub);text-transform:uppercase;letter-spacing:.6px;}
  table.trades td:last-child{justify-content:flex-end;}
  table.trades td:last-child::before{display:none;}
  .notes-cell,.setup-chip{max-width:55vw;}
  .hist-sum{grid-template-columns:1fr 1fr;}
}

/* ===== Home éditorial (après ticker) : sections + maquettes CSS/SVG ===== */
.sh-sec{max-width:1080px;margin:0 auto;padding:44px 6px 8px;}
.sh-head{text-align:center;max-width:640px;margin:0 auto 22px;}
.sh-kicker{font-family:var(--mono);font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--accent);margin-bottom:10px;}
.sh-sec h2{font-size:clamp(22px,3vw,32px);font-weight:800;letter-spacing:-.5px;line-height:1.25;margin-bottom:10px;}
.sh-sec h2 span{background:linear-gradient(90deg,#00d4ff,#00e096);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}
.sh-sec h2.sh-left{text-align:left;}
.sh-sub{color:var(--sub);font-size:13.5px;line-height:1.7;}
.sh-sub.left{text-align:left;}
.sh-cols{display:grid;grid-template-columns:1fr 1.2fr;gap:22px;align-items:center;}
.sh-cols.rev{grid-template-columns:1.2fr 1fr;}
.sh-checks{list-style:none;margin:0;padding:0;}
.sh-checks li{font-size:13px;padding:10px 0 10px 30px;position:relative;border-bottom:1px dashed var(--border);}
.sh-checks li:last-child{border:none;}
.sh-checks li::before{content:'✓';position:absolute;left:0;top:10px;width:20px;height:20px;border-radius:50%;background:var(--green-d);color:var(--green);font-size:11px;display:flex;align-items:center;justify-content:center;font-weight:800;}
.sh-checks b{display:block;margin-bottom:2px;}
.sh-checks small{color:var(--sub);font-size:11.5px;line-height:1.55;display:block;}
.sh-minis{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.sh-mini{background:var(--s2);border:1px solid var(--border);border-radius:12px;padding:14px;transition:transform .2s,border-color .2s;}
.sh-mini:hover{transform:translateY(-3px);border-color:var(--border2);}
.sh-mini svg{width:100%;height:44px;display:block;margin-bottom:8px;}
.sh-mini b{font-size:12.5px;display:block;margin-bottom:4px;}
.sh-mini small{color:var(--sub);font-size:11.5px;line-height:1.55;display:block;}
.sh-cards3{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;}
.sh-phones{display:flex;gap:14px;justify-content:center;align-items:flex-end;}
.sh-phone{width:150px;background:#0b0e14;border:1px solid var(--border2);border-radius:26px;padding:12px 10px;box-shadow:0 24px 60px rgba(0,0,0,.5);}
.sh-phone.small{width:128px;opacity:.92;}
.sh-notch{width:60px;height:5px;border-radius:3px;background:var(--border2);margin:0 auto 10px;}
.sh-prow{font-size:9.5px;font-family:var(--mono);padding:7px 9px;border-radius:8px;margin-bottom:6px;background:var(--s2);border:1px solid var(--border);}
.sh-prow.g{color:var(--green);} .sh-prow.r{color:var(--red);}
.sh-ring{width:74px;height:74px;border-radius:50%;border:3px solid var(--accent);margin:4px auto 10px;display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:0 0 18px rgba(0,212,255,.35);}
.sh-ring b{font-family:var(--mono);font-size:16px;} .sh-ring small{font-size:8px;color:var(--sub);}
.sh-pills{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;margin-top:4px;}
.sh-pills span{font-family:var(--mono);font-size:11.5px;font-weight:700;background:var(--s2);border:1px solid var(--border2);color:var(--text);padding:8px 16px;border-radius:20px;transition:border-color .2s;}
.sh-pills span:hover{border-color:var(--accent);color:var(--accent);}
.sh-rv{opacity:0;transform:translateY(18px);transition:opacity .6s ease,transform .6s cubic-bezier(.22,1,.36,1);}
.sh-rv.visible{opacity:1;transform:none;}
html.light .sh-checks li::before{background:rgba(0,150,110,.14);}
@media(max-width:900px){
  .sh-cols,.sh-cols.rev{grid-template-columns:1fr;}
  .sh-cards3{grid-template-columns:1fr;}
  .sh-sec{padding:34px 4px 6px;}
}

/* ===== SAAS : nav plan + auth ===== */
.tab-pricing{color:var(--orange)!important;font-weight:700;}
.tab-pricing.active{background:var(--orange-d)!important;color:var(--orange)!important;}
.plan-badge{font-family:var(--mono);font-size:10px;font-weight:800;letter-spacing:.8px;padding:4px 11px;border-radius:14px;border:1px solid var(--border2);color:var(--sub);background:var(--s2);white-space:nowrap;}
.plan-badge.pro{background:var(--green-d);border-color:var(--green-d2);color:var(--green);}
.plan-badge.trial{background:var(--orange-d);border-color:rgba(255,179,0,.35);color:var(--orange);}
.auth-btn{background:var(--s2);border:1px solid var(--border2);color:var(--text);font-size:11.5px;font-weight:700;padding:7px 13px;border-radius:8px;cursor:pointer;white-space:nowrap;max-width:170px;overflow:hidden;text-overflow:ellipsis;display:inline-flex;align-items:center;gap:6px;}
.auth-btn svg{flex-shrink:0;}
.auth-btn span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.auth-btn:hover{border-color:var(--accent);color:var(--accent);}
.auth-btn.primary{background:linear-gradient(135deg,#00d4ff,#00e096);border:none;color:#03252e;}
.auth-btn.primary:hover{color:#03252e;filter:brightness(1.08);}
.theme-btn{background:var(--s2);border:1px solid var(--border2);color:var(--text);font-size:14px;width:32px;height:32px;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.theme-btn:hover{border-color:var(--accent);}
.menu-btn{display:none;background:var(--s2);border:1px solid var(--border2);color:var(--text);width:34px;height:34px;border-radius:8px;cursor:pointer;align-items:center;justify-content:center;flex-shrink:0;}
.menu-btn:hover{border-color:var(--accent);color:var(--accent);}

/* ===== SAAS : trial bar + toast ===== */
#trialBar:empty{display:none;}
.trial-bar{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:11px 16px;border-radius:12px;font-size:12px;margin-bottom:14px;border:1px solid;animation:slideIn .5s cubic-bezier(.22,1,.36,1);}
.trial-bar.trial{background:linear-gradient(120deg,rgba(255,179,0,.14),rgba(0,212,255,.08));border-color:rgba(255,179,0,.35);color:#ffd88a;}
.trial-bar.expired{background:var(--red-d);border-color:var(--red-d2);color:var(--red);}
.trial-bar button{flex-shrink:0;}
#toast{position:fixed;bottom:22px;left:50%;transform:translateX(-50%) translateY(20px);background:var(--s3);border:1px solid var(--border2);color:var(--text);font-size:13px;padding:12px 20px;border-radius:12px;box-shadow:0 18px 50px rgba(0,0,0,.5);opacity:0;pointer-events:none;transition:all .3s ease;z-index:400;max-width:90vw;text-align:center;}
#toast.show{opacity:1;transform:translateX(-50%) translateY(0);}
#toast b{color:var(--accent);}

/* ===== Widget aide flottant (bas droite) ===== */
.help-fab-wrap{position:fixed;right:18px;bottom:18px;z-index:150;display:flex;flex-direction:column;align-items:flex-end;gap:10px;}
#helpFab{width:54px;height:54px;border-radius:50%;border:none;background:linear-gradient(135deg,#00d4ff,#00e096);cursor:pointer;box-shadow:0 12px 32px rgba(0,212,255,.4);transition:transform .2s;display:flex;align-items:center;justify-content:center;}
.help-card a svg,.help-card .help-opt svg{width:20px;height:20px;flex-shrink:0;}
input:disabled,select:disabled{opacity:.55;cursor:not-allowed;}
#helpFab:hover{transform:scale(1.08);}
.help-card{display:none;width:258px;background:var(--s1);border:1px solid var(--border2);border-radius:16px;padding:18px;box-shadow:0 24px 60px rgba(0,0,0,.55);animation:slideIn .3s ease;position:relative;}
.help-fab-wrap.open .help-card{display:block;}
.help-card b{font-size:13px;display:block;margin-bottom:4px;padding-right:20px;}
.help-card p{font-size:11.5px;color:var(--sub);line-height:1.6;margin-bottom:12px;}
.help-card a{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--text);text-decoration:none;background:var(--s2);border:1px solid var(--border);border-radius:10px;padding:10px 12px;margin-bottom:8px;transition:border-color .2s;}
.help-card a:last-child{margin-bottom:0;}
.help-card a:hover{border-color:var(--accent);}
.help-card a span{font-weight:700;}
.help-card a small{display:block;font-size:10px;color:var(--sub);font-weight:400;font-family:var(--mono);}
.help-close{position:absolute;top:8px;right:10px;background:none;border:none;color:var(--sub);font-size:18px;cursor:pointer;}
.help-close:hover{color:var(--text);}
.help-card .help-opt{display:flex;align-items:center;gap:10px;width:100%;font-size:13px;color:var(--text);background:var(--s2);border:1px solid var(--border);border-radius:10px;padding:10px 12px;cursor:pointer;transition:border-color .2s;font-family:inherit;text-align:left;}
.help-card .help-opt:hover{border-color:var(--accent);}
.help-card .help-opt span{font-weight:700;}
.help-card input,.help-card textarea{width:100%;margin-bottom:8px;font-size:12.5px;}
.help-card textarea{min-height:64px;}
.help-send{width:100%;background:linear-gradient(135deg,#00d4ff,#00e096);color:#03252e;border:none;border-radius:10px;padding:11px;font-size:13px;font-weight:800;cursor:pointer;margin-bottom:6px;}
.help-send:disabled{opacity:.6;cursor:wait;}
.help-back{width:100%;background:none;border:none;color:var(--sub);font-size:12px;cursor:pointer;padding:6px;}
.help-back:hover{color:var(--text);}
/* Checkout : reuse .modal/.fg ; bouton large */
#coModal .form-grid{grid-template-columns:1fr 1fr;}
#coPay{padding:12px;font-size:14px;}

/* ===== SAAS : pricing FullMargin-style (violet, Afrique FCFA) ===== */
#pricing{animation:fadeUp .5s ease;}
.tlp-wrap{max-width:1060px;margin:0 auto;}
.tlp-hero{text-align:center;padding:44px 16px 24px;}
.tlp-hero h1{font-size:clamp(30px,4.4vw,52px);line-height:1.1;font-weight:800;letter-spacing:-1.5px;margin-bottom:14px;}
.tlp-hero h1 .v{background:linear-gradient(90deg,#00d4ff,#00e096);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}
.tlp-hero h1 .p{background:linear-gradient(90deg,#00e096,#00d4ff);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}
.tlp-sub{color:var(--sub);font-size:13.5px;line-height:1.7;max-width:620px;margin:0 auto;}
.tlp-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:22px;align-items:start;margin-top:26px;}
.tlp-card{background:var(--s1);border:1px solid var(--border);border-radius:20px;padding:28px;position:relative;transition:transform .25s,border-color .25s,box-shadow .25s;}
.tlp-card:hover{transform:translateY(-3px);border-color:var(--border2);}
.tlp-card.pro{background:linear-gradient(180deg,rgba(0,212,255,.10),var(--s1) 45%);border:1px solid rgba(0,212,255,.45);box-shadow:0 24px 70px rgba(0,0,0,.5),0 0 50px rgba(0,212,255,.12);}
.tlp-card.pro:hover{box-shadow:0 28px 80px rgba(0,0,0,.55),0 0 70px rgba(0,224,150,.18);}
.tlp-name{font-size:15px;font-weight:800;margin-bottom:6px;}
.tlp-card.pro .tlp-name{font-size:16px;}
.tlp-bill{font-size:10px;font-weight:700;background:var(--accent-d);border:1px solid var(--accent-d2);color:var(--accent);padding:2px 10px;border-radius:10px;vertical-align:middle;}
.tlp-spark{color:var(--accent);}
.tlp-desc{font-size:12px;color:var(--sub);line-height:1.65;margin-bottom:16px;}
.tlp-free{font-family:var(--mono);font-size:38px;font-weight:800;letter-spacing:-1px;margin-bottom:4px;}
.tlp-free small{font-size:12px;color:var(--muted);font-weight:400;}
.tlp-incl{font-size:11px;color:var(--sub);margin:14px 0 10px;}
.tlp-feats{list-style:none;margin:0 0 20px;padding:0;}
.tlp-feats li{position:relative;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.07);border-radius:10px;padding:10px 12px 10px 38px;font-size:12px;margin-bottom:8px;color:var(--text);}
.tlp-feats li::before{content:'✓';position:absolute;left:11px;top:10px;width:18px;height:18px;border-radius:50%;background:var(--green-d);color:var(--green);font-size:10px;display:flex;align-items:center;justify-content:center;font-weight:800;}
.tlp-ghost{width:100%;background:rgba(255,255,255,.05);border:1px solid var(--border2);color:var(--text);border-radius:14px;padding:14px;font-size:13px;font-weight:700;cursor:pointer;transition:background .2s;}
.tlp-ghost:hover{background:rgba(255,255,255,.09);}
.tlp-toggle{display:flex;gap:4px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:5px;margin:6px 0 14px;}
.tlp-toggle button{flex:1;background:none;border:none;color:var(--sub);font-size:11px;font-weight:700;padding:9px 2px;border-radius:10px;cursor:pointer;transition:all .2s;line-height:1.4;}
.tlp-toggle button em{display:block;font-style:normal;font-size:9px;font-family:var(--mono);color:var(--green);}
.tlp-toggle button:hover{color:var(--text);}
.tlp-toggle button.on{background:linear-gradient(135deg,#00d4ff,#00e096);color:#03252e;box-shadow:0 6px 20px rgba(0,212,255,.35);}
.tlp-toggle button.on em{color:#03252e;}
.tlp-price{font-family:var(--mono);font-size:32px;font-weight:800;letter-spacing:-.5px;}
.tlp-price small{display:block;font-family:var(--sans);font-size:11.5px;font-weight:400;color:var(--sub);margin-top:2px;}
.tlp-save{display:inline-block;font-size:10.5px;font-weight:800;font-family:var(--mono);background:var(--green-d);border:1px solid var(--green-d2);color:var(--green);padding:4px 12px;border-radius:12px;margin:8px 0 2px;}
.tlp-pro-label{font-size:10px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--muted);margin:14px 0 8px;}
.tlp-profeat{display:flex;gap:11px;align-items:flex-start;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.07);border-radius:12px;padding:11px 12px;margin-bottom:8px;}
.tlp-profeat .ic{width:27px;height:27px;border-radius:8px;background:var(--accent-d);border:1px solid var(--accent-d2);display:flex;align-items:center;justify-content:center;font-size:13px;flex-shrink:0;}
.tlp-profeat b{font-size:12px;display:block;margin-bottom:2px;}
.tlp-profeat small{font-size:11px;color:var(--sub);line-height:1.55;display:block;}
.tlp-tag{font-size:8px;font-weight:800;letter-spacing:.6px;background:linear-gradient(135deg,#00d4ff,#00e096);color:#03252e;padding:2px 7px;border-radius:6px;margin-left:5px;vertical-align:middle;}
.tlp-cta{width:100%;background:linear-gradient(135deg,#00d4ff,#00e096);color:#03252e;border:none;border-radius:14px;padding:15px;font-size:14px;font-weight:800;cursor:pointer;box-shadow:0 12px 32px rgba(0,212,255,.35);transition:transform .2s,box-shadow .2s;margin-top:10px;}
.tlp-cta:hover{transform:translateY(-2px);box-shadow:0 18px 44px rgba(0,224,150,.45);}
.tlp-note{font-size:11px;color:var(--muted);text-align:center;margin-top:10px;line-height:1.6;}
.tlp-note span{color:var(--sub);font-family:var(--mono);}
.tlp-calm{background:var(--s1);border:1px solid var(--border);border-radius:16px;padding:28px 24px;text-align:center;margin-top:22px;}
.tlp-calm b{font-size:14px;}
.tlp-calm p{font-size:12.5px;color:var(--sub);line-height:1.7;max-width:620px;margin:8px auto 14px;}
.tlp-paychips{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;align-items:center;}
.tlp-paychips span{font-size:11px;font-weight:700;font-family:var(--mono);background:rgba(0,224,150,.08);border:1px solid rgba(0,224,150,.25);color:var(--green);padding:5px 13px;border-radius:14px;}
.tlp-paychips em{font-style:normal;font-size:10.5px;color:var(--muted);}
.tlp-support{position:relative;text-align:center;background:linear-gradient(180deg,rgba(0,212,255,.12),rgba(0,224,150,.05)),var(--s1);border:1px solid var(--border2);border-radius:20px;padding:44px 24px;margin-top:16px;overflow:hidden;}
.tlp-support::before{content:'';position:absolute;top:-80px;left:50%;transform:translateX(-50%);width:420px;height:200px;background:radial-gradient(circle,rgba(0,212,255,.25),transparent 70%);pointer-events:none;}
.tlp-sup-badge{display:inline-block;font-size:10px;font-weight:800;letter-spacing:1.5px;color:var(--accent);background:var(--accent-d);border:1px solid var(--accent-d2);padding:5px 14px;border-radius:14px;margin-bottom:14px;}
.tlp-support h2{font-size:clamp(19px,2.6vw,27px);font-weight:800;letter-spacing:-.5px;line-height:1.35;margin-bottom:10px;}
.tlp-support h2 span{background:linear-gradient(90deg,#00d4ff,#00e096);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}
.tlp-support p{font-size:12.5px;color:var(--sub);line-height:1.7;max-width:520px;margin:0 auto 20px;}
.tlp-btn-ghost{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.16);color:#fff;padding:13px 28px;border-radius:30px;font-size:13px;font-weight:700;cursor:pointer;transition:background .2s;text-decoration:none;display:inline-block;font-family:var(--mono);}
.tlp-btn-ghost:hover{background:var(--accent-d);}
.tlp-foot{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:18px;margin-top:26px;padding:26px 6px 10px;border-top:1px solid var(--border);}
.tlp-brand b{font-family:var(--mono);letter-spacing:2px;font-size:13px;}
.tlp-brand p{font-size:11.5px;color:var(--sub);line-height:1.65;margin-top:8px;}
.tlp-fh{font-size:10px;font-weight:800;letter-spacing:1.2px;color:var(--muted);text-transform:uppercase;margin-bottom:10px;}
.tlp-foot button,.tlp-foot a{display:block;background:none;border:none;color:var(--sub);font-size:12px;padding:5px 0;cursor:pointer;text-align:left;text-decoration:none;font-family:inherit;}
.tlp-foot button:hover,.tlp-foot a:hover{color:var(--text);}
.tlp-copy{text-align:center;font-size:10.5px;color:var(--muted);font-family:var(--mono);padding:14px 0 6px;letter-spacing:.4px;}
.paywall-lock{background:linear-gradient(120deg,rgba(255,179,0,.10),transparent 60%),var(--s2);border:1px solid rgba(255,179,0,.35);border-radius:12px;padding:16px 18px;margin-bottom:12px;font-size:12.5px;line-height:1.65;}
.paywall-lock b{color:var(--orange);}
.paywall-lock .btn{margin-top:10px;}
@media(max-width:900px){
  .tlp-grid{grid-template-columns:1fr;}
  .tlp-hero{padding:30px 12px 18px;}
  .auth-btn{max-width:110px;}
  .plan-badge{display:none;}
}

/* ===== MOBILE SMARTPHONE (<=600px) : Afrique mobile-first ===== */
@media(max-width:600px){
  body{-webkit-text-size-adjust:100%;}
  .main{padding:10px;}
  /* nav compacte + onglets scrollables au doigt */
  .nav{padding:8px 10px;gap:6px;}
  .brand{font-size:11px;letter-spacing:2px;}
  .tabs{order:3;flex:1 1 100%;min-width:0;flex-basis:100%;flex-wrap:nowrap;overflow-x:auto;gap:4px;padding-bottom:4px;-webkit-overflow-scrolling:touch;scrollbar-width:none;}
  .tabs::-webkit-scrollbar{display:none;}
  .tab{padding:7px 11px;font-size:11px;white-space:nowrap;flex-shrink:0;}
  .clock{display:none;}
  .nav-right{gap:6px;margin-left:auto;}
  .acct-select{max-width:120px;font-size:10.5px;padding:6px 8px;}
  .auth-btn{max-width:96px;font-size:10.5px;padding:6px 9px;}
  .live{font-size:10px;}
  /* hero accueil */
  .fm-hero{padding:34px 14px 40px;}
  .fm-title{font-size:27px;}
  .fm-sub{font-size:13px;}
  .fm-cta .btn-violet,.fm-cta .btn-ghost{width:100%;padding:13px 18px;font-size:13px;}
  .fm-badge{font-size:9.5px;padding:7px 13px;letter-spacing:.8px;}
  .fm-bbody{padding:12px;}
  .fm-ms .v{font-size:12px;}
  .hero-grid{grid-template-columns:1fr;}
  .why-grid{grid-template-columns:1fr;}
  .split-img{min-height:180px;}
  .split-img svg.split-fallback{height:180px;}
  /* dashboard */
  .dash-top{padding:12px 14px;}
  .dash-top h2{font-size:14px;}
  .kpi-row{gap:8px;}
  .kpi{padding:11px;gap:8px;}
  .kpi .v{font-size:16px;}
  .kpi .s{font-size:10px;}
  .k-ico{width:30px;height:30px;font-size:15px;border-radius:9px;}
  #dashStats{grid-template-columns:repeat(2,1fr)!important;}
  .stat{padding:10px 8px;}
  .stat .val{font-size:15px;}
  table.daily-table{min-width:430px;}
  table.obj-table{min-width:360px;}
  .disc-break .db-row .top{flex-wrap:wrap;}
  /* formulaires : 16px = pas de zoom auto sur iPhone */
  input,select,textarea{font-size:16px!important;}
  .form-grid{grid-template-columns:1fr;}
  .btn{padding:10px 18px;}
  /* calendrier tactile */
  .cal-grid{gap:4px;}
  .cal-day .dn{font-size:10px;}
  .cal-meta span{padding:5px 9px;font-size:10px;}
  .cal-nav button{width:30px;height:30px;}
  /* historique */
  .hist-filters input{flex:1 1 100%;}
  .hist-filters select{flex:1 1 28%;min-width:0;}
  /* tarifs */
  .tlp-card{padding:20px 16px;}
  .tlp-price{font-size:26px;}
  .tlp-toggle button{font-size:10px;padding:8px 1px;}
  .tlp-support{padding:32px 16px;}
  .tlp-calm{padding:22px 16px;}
  /* page connecter : clé longue qui dépasse */
  .key-row code{word-break:break-all;max-width:100%;}
  #ingestUrl{font-size:10px;}
  /* modales, toast, aide : au-dessus du bouton flottant */
  .modal{padding:18px 14px;max-height:92vh;overflow-y:auto;}
  #toast{bottom:86px;font-size:12px;padding:10px 14px;}
  .help-fab-wrap{right:12px;bottom:12px;}
  #helpFab{width:50px;height:50px;font-size:20px;}
  .help-card{width:min(258px,calc(100vw - 48px));}
  .trial-bar{font-size:11px;padding:10px 12px;}
}
/* ===== Très petits écrans (<=380px) ===== */
@media(max-width:380px){
  .kpi .v{font-size:14px;}
  .fm-title{font-size:24px;}
  .tlp-hero h1{font-size:27px;}
  .cal-day{min-height:50px;}
  .hist-sum{grid-template-columns:1fr;}
  .tlp-foot{grid-template-columns:1fr;}
}

/* ===== Boutique ===== */
.shop-grid{grid-template-columns:repeat(3,1fr);}
.shop-grid .tlp-price{font-size:25px;}
@media(max-width:900px){.shop-grid{grid-template-columns:1fr;}}

/* ===== Footer global (toutes les pages) ===== */
.site-foot{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;max-width:1400px;margin:22px auto 0;padding:20px 20px 26px;border-top:1px solid var(--border);color:var(--sub);}
.sf-brand b{font-family:var(--mono);letter-spacing:2px;font-size:12px;color:var(--text);}
.sf-brand b span{color:var(--accent);}
.sf-brand p{font-size:11.5px;margin-top:4px;}
.sf-links{display:flex;gap:6px;flex-wrap:wrap;}
.sf-links button{background:none;border:none;color:var(--sub);font-size:12.5px;font-family:Arial,Helvetica,sans-serif;cursor:pointer;padding:6px 10px;border-radius:6px;}
.sf-links button:hover{color:var(--accent);background:var(--s3);}
.sf-credit{font-size:11.5px;text-align:right;}
.sf-credit b{color:var(--text);}
.sf-credit span{display:block;color:var(--muted);font-size:10.5px;margin-top:3px;}
@media(max-width:600px){.site-foot{flex-direction:column;text-align:center;}.sf-credit{text-align:center;}}

/* ===== Thème clair (blanc) : html.light ===== */
html.light{
  --bg:#f3f5fa; --s1:#ffffff; --s2:#edf0f7; --s3:#dde4f0;
  --border:#d9e0ee; --border2:#c2cde3;
  --text:#131a29; --sub:#5a6a88; --muted:#8fa0bb;
}
/* dégradés de titres : versions plus soutenues sur blanc */
html.light .fm-title .grad,html.light .tlp-hero h1 .v,html.light .tlp-price,
html.light .tlp-support h2 span,html.light .dash-top h2 span{background:linear-gradient(90deg,#0090c0,#00a875);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}
html.light .tlp-hero h1 .p{background:linear-gradient(90deg,#00a875,#0090c0);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}
/* textes colorés : encres plus sombres sur blanc */
html.light .pp,html.light .val.g,html.light .tick-up,html.light .cal-pnl.pos,
html.light .s-ok,html.light .delta.up,html.light .fm-pi .pr,
html.light .tlp-toggle button em,html.light .tlp-save,html.light .ticker .up,
html.light .hero-badge{color:#00946a;}
html.light .pn,html.light .val.r,html.light .tick-down,html.light .cal-pnl.neg,
html.light .s-fail,html.light .delta.dn,html.light .ticker .dn2,
html.light .trial-bar.expired,html.light .banner-danger{color:#d92d54;}
html.light .d-col,html.light .obj-table .name,html.light .acct-badge,
html.light .setup-chip,html.light .tlp-bill,html.light .fm-badge{color:#0086b3;}
html.light .banner-ok{color:#007a52;}
html.light .tab-pricing{color:#9a6a00!important;}
html.light .plan-badge.trial{color:#9a6a00;}
html.light .mt5tag{color:#7c5cff;}
html.light .hero-badge{background:rgba(0,224,150,.12);border-color:rgba(0,150,110,.35);}
html.light .fm-badge{background:rgba(0,212,255,.10);border-color:rgba(0,150,200,.35);}
/* surfaces claires translucides -> gris clair uni */
html.light .tlp-feats li,html.light .tlp-profeat,html.light .tlp-toggle,
html.light .fm-bbox,html.light .fm-ms,html.light .fm-pi,
html.light .tlp-ghost,html.light .btn-ghost{background:#f7f9fd;border-color:var(--border);}
html.light .tlp-btn-ghost{background:#fff;border-color:var(--border2);color:var(--text);}
/* hero accueil : fond clair */
html.light .fm-hero{background:linear-gradient(180deg,#e3f2fb 0%,rgba(0,224,150,.07) 55%,var(--bg) 100%);}
html.light .fm-hero::before{background-image:linear-gradient(rgba(20,40,80,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(20,40,80,.07) 1px,transparent 1px);}
html.light .fm-hero::after{background:radial-gradient(900px 480px at 50% -8%,rgba(0,150,200,.14),transparent 62%);}
html.light .fm-title{color:var(--text);}
html.light .fm-sub{color:var(--sub);}
html.light .fm-caret{color:#0090c0;}
/* jauge : rail clair */
html.light .gauge svg path:first-child{stroke:#d9e0ee;}
/* ombres adoucies */
html.light .card.lift:hover,html.light .tlp-card.pro{box-shadow:0 18px 44px rgba(30,60,120,.12);}
html.light .fm-browser{box-shadow:0 24px 60px rgba(30,60,120,.14);}
html.light .tlp-cta,html.light .btn-violet,html.light .tlp-toggle button.on{box-shadow:0 8px 22px rgba(0,150,200,.28);}

/* ===== Roue Paramètres + barre resserrée ===== */
.nav-gear{background:var(--s2);border:1px solid var(--border2);color:var(--sub);width:32px;height:32px;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.nav-gear:hover{color:var(--accent);border-color:var(--accent);}
.nav-gear.active{color:var(--accent);background:var(--accent-d);border-color:var(--accent-d2);}
@media(max-width:1150px){
  .clock{display:none;}
  .acct-select{max-width:130px;}
  .tab{padding:8px 11px;font-size:12.5px;}
  .menu-btn{display:flex;}
  .tabs{display:none;position:fixed;top:62px;left:10px;right:10px;z-index:150;min-width:0;background:var(--s1);border:1px solid var(--border2);border-radius:14px;padding:10px;flex-direction:column;flex-wrap:nowrap;overflow-x:hidden;overflow-y:auto;max-height:70vh;box-shadow:0 24px 60px rgba(0,0,0,.5);}
  .tabs.open{display:flex;}
  .tabs.open .tab{justify-content:flex-start;font-size:14px;padding:12px 14px;width:100%;}
}
