*{box-sizing:border-box}body{margin:0;font-family:Inter,Segoe UI,Arial,sans-serif;background:#f4f7fc;color:#111a33}a{text-decoration:none;color:#176df2}button,.button{border:0;border-radius:12px;padding:12px 16px;background:#176df2;color:#fff;font-weight:800;display:inline-block;cursor:pointer}.button.small{padding:8px 12px}.button.ghost{background:#fff;color:#12317f;border:1px solid #dce3ee}.danger{background:#d93b5c!important}.auth{min-height:100vh;display:grid;place-items:center;padding:20px;background:linear-gradient(135deg,#12317f,#176df2 60%,#ffd21f)}.box{width:min(430px,100%);background:#fff;border-radius:24px;padding:24px;box-shadow:0 20px 60px #0004}.logo{width:70px;height:70px;border-radius:20px;background:#12317f;color:#fff;display:grid;place-items:center;font-size:25px;margin:auto}label{display:block;font-weight:700;margin-top:10px}input,select{width:100%;padding:12px;border:1px solid #dce3ee;border-radius:12px;background:#fff}.flashes{position:fixed;right:15px;top:15px;z-index:20}.flash{background:#fff;padding:12px 16px;border-radius:10px;margin-bottom:8px;box-shadow:0 10px 30px #0002}.admin{display:grid;grid-template-columns:260px 1fr;min-height:100vh}.admin aside{background:#102b70;padding:24px 18px;color:#fff}.brand{display:flex;align-items:center;gap:12px;margin-bottom:30px}.brand span{width:45px;height:45px;background:#ffd21f;color:#102b70;border-radius:14px;display:grid;place-items:center;font-weight:900}.brand small{display:block;color:#b8c8f5}.admin nav a{display:block;color:#eaf0ff;padding:13px 14px;border-radius:12px;margin:4px 0}.admin nav a:hover{background:#ffffff18}.admin section{padding:28px;overflow:auto}.page-head{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:20px}.page-head h1{margin:0;font-size:30px}.eyebrow{color:#70809f;font-weight:800;text-transform:uppercase;letter-spacing:.08em;font-size:12px;margin:0 0 6px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.stats>div,.panel{background:#fff;padding:20px;border-radius:18px;box-shadow:0 8px 28px #23345c0d}.stats b{display:block;font-size:30px;margin-top:8px}.panel{margin-top:18px}.panel-head{display:flex;justify-content:space-between;align-items:center}.panel h2{margin-top:0}.table{overflow:auto}table{border-collapse:collapse;width:100%;min-width:900px}th,td{padding:13px;border-bottom:1px solid #edf0f6;text-align:left;vertical-align:middle}th{font-size:12px;text-transform:uppercase;color:#71809e}.muted{display:block;color:#8390a8;margin-top:3px}.badge{display:inline-block;background:#edf2ff;padding:6px 9px;border-radius:999px;font-size:12px;font-weight:800}.badge.success{background:#ddf8e8;color:#177443}.badge.warning{background:#fff2c7;color:#8b6200}.badge.danger{background:#ffe1e7;color:#a7203d}.filters{display:grid;grid-template-columns:minmax(240px,1fr) 220px auto;gap:10px;margin-bottom:18px}.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.detail-grid .panel{margin-top:0}dl{display:grid;grid-template-columns:150px 1fr;gap:12px;margin:0}dt{color:#74819a;font-weight:700}dd{margin:0;font-weight:700}.inline{display:inline-block}.reject{display:inline-flex;gap:6px}.reject input{width:150px}@media(max-width:850px){.admin{grid-template-columns:1fr}.admin aside{position:relative}.admin nav{display:flex;overflow:auto}.admin nav a{white-space:nowrap}.stats,.detail-grid{grid-template-columns:1fr}.filters{grid-template-columns:1fr}.admin section{padding:18px}}
:root{--navy:#102a62;--blue:#176df2;--yellow:#ffd21f;--ink:#172033;--muted:#6d7890;--line:#e7ebf3}
body{background:linear-gradient(180deg,#f5f8ff,#eef3fb);color:var(--ink)}
.sidebar{background:linear-gradient(180deg,#102a62,#091a3d);box-shadow:14px 0 35px rgba(10,31,71,.12)}
.sidebar a{border-radius:14px;margin:4px 10px;padding:12px 14px}
.main{padding:28px}.page-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:22px}
.page-head h1{font-size:30px;margin:4px 0}.eyebrow{font-size:12px;font-weight:900;letter-spacing:.15em;color:var(--blue)}
.panel,.card,.stat{background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:0 14px 35px rgba(30,53,94,.08)}
.table-panel{overflow:auto;padding:8px}table{width:100%;border-collapse:collapse}th,td{padding:14px;border-bottom:1px solid var(--line);text-align:left}
th{font-size:12px;text-transform:uppercase;color:var(--muted);background:#f7f9fd}
.status,.provider{display:inline-flex;padding:6px 10px;border-radius:999px;font-size:12px;font-weight:800}
.provider-1win{background:#efe9ff;color:#5b36c8}.provider-1xbet{background:#e5f1ff;color:#1260c6}
.status-effectué{background:#e4f8eb;color:#16824a}.status-en-attente{background:#fff3cb;color:#8a6500}.status-échoué{background:#ffe6e6;color:#b22d2d}
.auth-shell{min-height:75vh;display:grid;place-items:center}.auth-card{width:min(440px,92vw);background:#fff;padding:30px;border-radius:24px;box-shadow:0 22px 60px rgba(20,43,89,.15)}
.auth-card input{width:100%;box-sizing:border-box;margin:7px 0 15px;padding:13px;border:1px solid var(--line);border-radius:13px}.auth-card .btn{width:100%}.center{text-align:center}

.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.settings-card{padding:22px}.settings-card h2{margin-top:0}
.settings-card label{display:block;font-weight:800;margin:16px 0 7px}
.settings-card input{width:100%;box-sizing:border-box;padding:13px 14px;border:1px solid var(--line,#e7ebf3);border-radius:13px;background:#fbfcff}
.settings-actions{grid-column:1/-1;display:flex;justify-content:flex-end}
.settings-actions .btn{min-width:230px}
.switch-row{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:14px;border-radius:16px;background:#f7f9fd}
.switch-row small{display:block;color:#6d7890;margin-top:4px}
.switch{position:relative;width:54px;height:30px}.switch input{display:none}.switch span{position:absolute;inset:0;border-radius:999px;background:#ccd3df;cursor:pointer;transition:.2s}
.switch span:before{content:"";position:absolute;width:24px;height:24px;left:3px;top:3px;border-radius:50%;background:#fff;transition:.2s;box-shadow:0 2px 8px rgba(0,0,0,.18)}
.switch input:checked+span{background:#176df2}.switch input:checked+span:before{transform:translateX(24px)}
.notice{margin-top:16px;padding:13px;border-radius:14px;background:#fff3c4;color:#735700}.help{font-size:12px;color:#6d7890}
@media(max-width:900px){.settings-grid{grid-template-columns:1fr}}

/* ADMIN V4.1 — inspiré de la maquette mobile SALSAN */
.admin-layout{min-height:100vh;display:grid;grid-template-columns:260px 1fr;background:#f3f6fc}
.admin-sidebar{position:sticky;top:0;height:100vh;background:linear-gradient(180deg,#102f79 0%,#0a1e4d 100%);padding:24px 16px;box-sizing:border-box;display:flex;flex-direction:column;color:white;box-shadow:16px 0 40px rgba(10,30,77,.12)}
.admin-brand{display:flex;align-items:center;gap:12px;padding:4px 8px 25px}.admin-brand strong{display:block;font-size:17px}.admin-brand small{display:block;color:#afc1eb;margin-top:2px}.admin-logo{width:46px;height:46px;border-radius:15px;background:#ffd21f;color:#102f79;display:grid;place-items:center;font-weight:1000}
.admin-nav{display:grid;gap:7px}.admin-nav a{display:flex;align-items:center;gap:12px;color:#d8e2fb;text-decoration:none;padding:13px 14px;border-radius:14px;font-weight:700;transition:.2s}.admin-nav a span{width:23px;text-align:center}.admin-nav a:hover,.admin-nav a.active{background:rgba(255,255,255,.13);color:#fff;transform:translateX(2px)}
.logout-link{margin-top:auto;color:#ffd9d9;text-decoration:none;padding:13px 14px;border-radius:14px;background:rgba(255,255,255,.07);font-weight:700}
.admin-main{padding:30px;min-width:0}.admin-topbar{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:24px}.admin-topbar h1{font-size:31px;margin:3px 0 6px;color:#172033}.admin-topbar p{margin:0;color:#6d7890}.admin-kicker{font-size:11px!important;color:#176df2!important;letter-spacing:.14em;font-weight:900}.topbar-badge{background:white;border:1px solid #e3e8f1;padding:11px 15px;border-radius:14px;color:#102f79;font-weight:800;box-shadow:0 8px 25px rgba(14,40,92,.06)}
.metric-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:20px}.metric-card{min-height:125px;padding:19px;border-radius:21px;color:white;box-shadow:0 14px 32px rgba(14,40,92,.12)}.metric-card.blue{background:linear-gradient(135deg,#176df2,#1054c9)}.metric-card.yellow{background:linear-gradient(135deg,#ffd21f,#f5b900);color:#172033}.metric-card.navy{background:linear-gradient(135deg,#102f79,#091d4d)}.metric-card small,.metric-card span{display:block;opacity:.78}.metric-card strong{display:block;font-size:34px;margin:8px 0}
.admin-panel{background:#fff;border:1px solid #e4e9f2;border-radius:22px;box-shadow:0 14px 35px rgba(30,53,94,.07);padding:20px;margin-bottom:18px}.panel-title{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:15px}.panel-title h2{margin:0;color:#172033}.panel-title p{margin:4px 0 0;color:#7a849b}.panel-title a{font-weight:800;color:#176df2;text-decoration:none}
.responsive-table{overflow:auto}.responsive-table table{width:100%;border-collapse:separate;border-spacing:0}.responsive-table th{background:#f7f9fd;color:#6d7890;font-size:11px;text-transform:uppercase;letter-spacing:.05em}.responsive-table th,.responsive-table td{padding:14px;border-bottom:1px solid #edf0f5;text-align:left;white-space:nowrap}.responsive-table td small{display:block;color:#8a93a6;margin-top:3px}
.platform-tag,.status-tag{display:inline-flex;padding:6px 10px;border-radius:999px;font-size:11px;font-weight:900}.platform-tag.1win{background:#eee8ff;color:#5c38c7}.platform-tag.1xbet{background:#e7f1ff;color:#155ab8}.status-en-attente{background:#fff1bf;color:#806100}.status-effectué{background:#e5f8ed;color:#187c49}.status-échoué{background:#ffe8e8;color:#b02e2e}.empty-state{text-align:center;padding:32px;color:#7a849b}
.settings-layout{display:grid;gap:18px}.settings-section{position:relative;padding-top:25px}.section-icon{width:48px;height:48px;border-radius:15px;display:grid;place-items:center;font-weight:1000;margin-bottom:12px}.section-icon.blue{background:#e8f1ff;color:#176df2}.section-icon.yellow{background:#fff2b9;color:#755900}.section-copy h2{margin:0}.section-copy p{color:#7a849b}.form-grid{display:grid;gap:14px;margin-top:20px}.form-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.field label{display:block;font-weight:850;color:#26324a;margin-bottom:7px}.field input{width:100%;box-sizing:border-box;padding:14px;border:1px solid #dfe5ef;border-radius:14px;background:#fbfcff}.field small{display:block;margin-top:6px;color:#7a849b}.secret-note,.variable-help{margin-top:16px;background:#f7f9fd;border:1px solid #e5eaf2;padding:13px;border-radius:14px;color:#58647a}.variable-help code{background:#102f79;color:#fff;padding:3px 7px;border-radius:7px}.payment-mode-card{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:20px 0;padding:16px;border-radius:17px;background:#f7f9fd}.payment-mode-card strong,.payment-mode-card span{display:block}.payment-mode-card span{color:#748097;margin-top:4px;font-size:13px}
.modern-switch{width:58px;height:32px;position:relative}.modern-switch input{display:none}.modern-switch span{position:absolute;inset:0;background:#cdd4e0;border-radius:999px;cursor:pointer}.modern-switch span:before{content:"";position:absolute;width:26px;height:26px;left:3px;top:3px;background:white;border-radius:50%;transition:.2s;box-shadow:0 2px 7px rgba(0,0,0,.2)}.modern-switch input:checked+span{background:#176df2}.modern-switch input:checked+span:before{transform:translateX(26px)}
.save-bar{position:sticky;bottom:16px;display:flex;justify-content:space-between;align-items:center;gap:20px;background:#102f79;color:#fff;padding:16px 18px;border-radius:18px;box-shadow:0 14px 36px rgba(10,30,77,.28)}.save-bar strong,.save-bar span{display:block}.save-bar span{color:#bcc9e8;font-size:12px;margin-top:3px}.primary-admin-btn{border:0;background:#ffd21f;color:#172033;padding:13px 24px;border-radius:13px;font-weight:900;cursor:pointer}
@media(max-width:950px){.admin-layout{grid-template-columns:1fr}.admin-sidebar{position:relative;height:auto}.admin-nav{grid-template-columns:repeat(2,minmax(0,1fr))}.logout-link{margin-top:14px}.metric-grid,.form-grid.two{grid-template-columns:1fr}.admin-main{padding:18px}.admin-topbar{align-items:flex-start;flex-direction:column}}

/* SALSAN ADMIN V4.2 */
html{scroll-behavior:smooth}
.admin-layout{background:
  radial-gradient(circle at 92% 4%,rgba(23,109,242,.09),transparent 25rem),
  #f3f6fc}
.admin-sidebar{width:auto;overflow:hidden}
.admin-logo{background:#fff!important;padding:5px;overflow:hidden}
.admin-logo img{width:100%;height:100%;object-fit:contain;display:block}
.admin-brand{border-bottom:1px solid rgba(255,255,255,.10);margin-bottom:20px}
.admin-nav a{font-size:14px;position:relative}
.admin-nav a.active:after{content:"";position:absolute;right:10px;width:7px;height:7px;border-radius:50%;background:#ffd21f}
.admin-main{max-width:1600px;width:100%;margin:0 auto}
.admin-topbar{background:rgba(255,255,255,.72);backdrop-filter:blur(12px);border:1px solid rgba(227,232,241,.9);border-radius:22px;padding:20px 22px;box-shadow:0 12px 34px rgba(14,40,92,.06)}
.admin-topbar h1{font-size:34px;letter-spacing:-.03em}
.topbar-badge{display:flex;align-items:center;gap:8px}
.topbar-badge:before{content:"";width:9px;height:9px;border-radius:50%;background:#23b26d;box-shadow:0 0 0 5px rgba(35,178,109,.12)}
.metric-card{position:relative;overflow:hidden}
.metric-card:after{content:"";position:absolute;width:120px;height:120px;border-radius:50%;right:-38px;top:-45px;background:rgba(255,255,255,.12)}
.metric-card strong{line-height:1}
.admin-panel{padding:0;overflow:hidden}
.panel-title{padding:20px 22px 16px;margin:0;border-bottom:1px solid #edf0f5}
.responsive-table{padding:0 8px 8px}
.responsive-table table{min-width:1050px}
.responsive-table tbody tr{transition:.15s}
.responsive-table tbody tr:hover{background:#f8faff}
.responsive-table td:first-child strong{color:#102f79}
.status-tag{border:1px solid transparent}
.status-en-attente{border-color:#f2d264}
.status-effectué{border-color:#9adeba}
.status-échoué{border-color:#f3b1b1}
.settings-section{padding:24px}
.settings-section .section-icon{float:left;margin-right:14px}
.settings-section .section-copy{min-height:54px}
.field input:focus{outline:none;border-color:#176df2;box-shadow:0 0 0 4px rgba(23,109,242,.10)}
.primary-admin-btn{min-width:170px;transition:.18s}
.primary-admin-btn:hover{transform:translateY(-1px);box-shadow:0 10px 24px rgba(255,210,31,.24)}
.flashes{z-index:9999}
@media(max-width:950px){
  .admin-sidebar{border-radius:0 0 22px 22px}
  .admin-nav{grid-template-columns:1fr 1fr}
  .admin-topbar h1{font-size:28px}
  .topbar-badge{display:none}
}

/* LOGS CONNEXION V4.3 */
.metric-grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}
.metric-card.red{background:linear-gradient(135deg,#d94b4b,#a92727)}
.log-filter-panel{padding:18px 20px}
.log-filters{display:flex;align-items:end;gap:12px;flex-wrap:wrap}
.log-filters label{display:block;font-size:12px;font-weight:850;color:#57647a;margin-bottom:6px}
.log-filters input,.log-filters select{height:44px;box-sizing:border-box;border:1px solid #dfe5ef;border-radius:12px;background:#fbfcff;padding:0 12px;min-width:170px}
.log-filters .field-grow{flex:1;min-width:260px}.log-filters .field-grow input{width:100%}
.filter-btn{height:44px;border:0;border-radius:12px;background:#176df2;color:#fff;padding:0 20px;font-weight:850;cursor:pointer}
.reset-filter{height:44px;display:inline-flex;align-items:center;color:#176df2;text-decoration:none;font-weight:800;padding:0 7px}
.logs-table{min-width:1450px!important}.role-chip{display:inline-flex;padding:5px 9px;border-radius:999px;background:#edf2ff;color:#385a9e;font-size:11px;font-weight:850}
.login-result{display:inline-flex;padding:6px 10px;border-radius:999px;font-size:11px;font-weight:900}
.login-result.ok{background:#e4f8ec;color:#147a46;border:1px solid #9eddbb}.login-result.failed{background:#ffe8e8;color:#ad2b2b;border:1px solid #efb0b0}
.ip-code{background:#102f79;color:#fff;padding:5px 8px;border-radius:8px;font-size:12px}.ua-cell{max-width:270px;overflow:hidden;text-overflow:ellipsis}
@media(max-width:1100px){.metric-grid.four{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.metric-grid.four{grid-template-columns:1fr}.log-filters>*{width:100%}.log-filters input,.log-filters select,.filter-btn{width:100%}}

/* GEOLOCALISATION IP V4.4 */
.logs-table{min-width:1780px!important}
.geo-place{display:flex;align-items:center;gap:9px;min-width:190px}
.geo-place strong,.geo-place small{display:block}
.geo-place small{color:#7b8597;margin-top:3px}
.geo-flag{font-size:25px;line-height:1}
.isp-cell{max-width:200px;white-space:normal!important;color:#44516a}

/* ADMIN LOGIN ONLY V4.5 */
.admin-login-page{
  min-height:100vh;
  display:grid;
  place-items:center;
  padding:24px;
  background:
    radial-gradient(circle at 15% 10%, rgba(255,210,31,.18), transparent 28rem),
    radial-gradient(circle at 85% 90%, rgba(23,109,242,.18), transparent 26rem),
    linear-gradient(145deg,#081a46 0%,#102f79 58%,#176df2 100%);
  box-sizing:border-box;
}
.admin-login-card{
  width:min(430px,100%);
  background:#fff;
  border-radius:28px;
  padding:34px 32px 30px;
  box-sizing:border-box;
  box-shadow:0 30px 80px rgba(0,0,0,.28);
  border:1px solid rgba(255,255,255,.45);
}
.admin-login-logo{
  display:flex;
  justify-content:center;
  margin-bottom:28px;
}
.admin-login-logo img{
  width:118px;
  height:118px;
  object-fit:contain;
  display:block;
}
.admin-login-form{
  display:grid;
  gap:10px;
}
.admin-login-form label{
  margin-top:7px;
  font-size:12px;
  letter-spacing:.12em;
  font-weight:900;
  color:#102f79;
}
.admin-login-form input{
  width:100%;
  height:52px;
  box-sizing:border-box;
  padding:0 15px;
  border:1px solid #dce3ef;
  border-radius:14px;
  background:#f9fbff;
  color:#172033;
  font-size:15px;
  transition:.18s;
}
.admin-login-form input:focus{
  outline:none;
  border-color:#176df2;
  box-shadow:0 0 0 4px rgba(23,109,242,.12);
  background:#fff;
}
.password-field{
  position:relative;
}
.password-field input{
  padding-right:48px;
}
.password-toggle{
  position:absolute;
  top:50%;
  right:10px;
  transform:translateY(-50%);
  width:34px;
  height:34px;
  border:0;
  border-radius:10px;
  background:transparent;
  color:#6f7b90;
  cursor:pointer;
  font-size:15px;
}
.password-toggle:hover{
  background:#edf3ff;
  color:#176df2;
}
.admin-login-submit{
  margin-top:16px;
  height:54px;
  border:0;
  border-radius:15px;
  background:linear-gradient(135deg,#176df2,#102f79);
  color:#fff;
  font-size:14px;
  letter-spacing:.08em;
  font-weight:900;
  cursor:pointer;
  box-shadow:0 12px 28px rgba(23,109,242,.28);
  transition:.18s;
}
.admin-login-submit:hover{
  transform:translateY(-1px);
  box-shadow:0 16px 32px rgba(23,109,242,.34);
}
.admin-login-alert{
  margin-bottom:18px;
  padding:12px 14px;
  border-radius:13px;
  font-size:13px;
  font-weight:700;
}
.admin-login-alert.danger{
  background:#ffe9e9;
  color:#a82d2d;
  border:1px solid #f1b6b6;
}
.admin-login-alert.success{
  background:#e5f8ec;
  color:#197649;
  border:1px solid #a8dcbc;
}
@media(max-width:520px){
  .admin-login-page{padding:14px}
  .admin-login-card{padding:28px 20px 24px;border-radius:22px}
  .admin-login-logo img{width:98px;height:98px}
}

/* PAYMENT MODE EXCLUSIF V5 */
.section-icon.violet{background:#eee8ff;color:#6540c9}
.section-icon.green{background:#e6f8ed;color:#187948}
.exclusive-payment-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:22px 0}
.payment-choice{position:relative;display:flex;align-items:center;gap:14px;padding:18px;border:1px solid #dfe5ef;border-radius:18px;background:#fbfcff;cursor:pointer;transition:.18s}
.payment-choice:hover{border-color:#9fbcf5;transform:translateY(-1px)}
.payment-choice.selected{border-color:#176df2;background:#eef4ff;box-shadow:0 0 0 4px rgba(23,109,242,.08)}
.payment-choice input{position:absolute;opacity:0;pointer-events:none}
.choice-icon{width:48px;height:48px;border-radius:15px;display:grid;place-items:center;background:#102f79;color:#fff;font-weight:1000}
.payment-choice strong,.payment-choice small{display:block}.payment-choice small{margin-top:4px;color:#728096;line-height:1.35}
.ussd-settings,.paygate-info{margin-top:14px;padding-top:18px;border-top:1px solid #e8ecf3}
.paygate-info{padding:16px;border:1px solid #cfe2ff;border-radius:15px;background:#eef5ff;color:#285a9f;font-weight:700}
.is-hidden{display:none!important}
@media(max-width:760px){.exclusive-payment-grid,.form-grid.two{grid-template-columns:1fr}}

.support-grid{display:grid;grid-template-columns:minmax(220px,320px) 1fr;gap:18px}
.support-user{display:block;padding:12px;border-radius:12px;text-decoration:none;color:inherit;margin:6px 0}
.support-user:hover,.support-user.active{background:#eef4ff}
.support-user small{display:block;color:#7b8496;margin-top:3px}
.chat-stream{max-height:58vh;overflow:auto;padding:10px;background:#f6f8fc;border-radius:14px;margin-bottom:14px}
.chat-bubble{max-width:75%;padding:10px 12px;border-radius:14px;margin:8px 0;background:white}
.chat-bubble.client{margin-right:auto}
.chat-bubble.admin{margin-left:auto;background:#123985;color:white}
.chat-bubble p{margin:3px 0}.chat-bubble time,.chat-bubble small{font-size:11px;opacity:.72}
.stack{display:grid;gap:9px}.stack textarea,.stack input{width:100%;box-sizing:border-box}
.alert.danger{background:#fff0f0;border:1px solid #f2c0c0;color:#8d2525;padding:12px;border-radius:12px;margin-bottom:12px}
@media(max-width:900px){.support-grid{grid-template-columns:1fr}.chat-bubble{max-width:90%}}


/* ===== SALSAN V7 — sidebar unique, support moderne, joueurs ===== */
.admin-sidebar{display:flex;flex-direction:column;min-height:100vh}
.admin-nav{display:flex;flex-direction:column;gap:6px;flex:1}
.admin-nav a{display:flex;align-items:center;gap:11px}
.admin-nav a span{width:24px;text-align:center}
.admin-filters{display:grid;grid-template-columns:minmax(240px,1fr) 220px auto;gap:10px;margin-bottom:16px}
.admin-filters input,.admin-filters select,.field input,.field select,.field textarea,
.inline-test input,.player-tool input,.player-tool select{width:100%;box-sizing:border-box;padding:12px 14px;border:1px solid #dde4f0;border-radius:12px;background:#fff}
.table-sub{display:block;color:#8190a8;font-size:11px;margin-top:3px}
.primary-admin-btn.compact,.danger-admin-btn.compact{padding:8px 12px;font-size:12px}
.danger-admin-btn{border:0;background:#c73535;color:#fff;border-radius:11px;padding:11px 14px;font-weight:800;cursor:pointer}
.topbar-badge.link{text-decoration:none;color:inherit}
.admin-dl{display:grid;grid-template-columns:140px 1fr;gap:10px;margin:0}
.admin-dl dt{color:#7f8ba1}.admin-dl dd{margin:0;font-weight:700}
.admin-detail-grid{align-items:start}
.api-test-box{margin-top:16px;padding:14px;border:1px dashed #cbd6e8;background:#f8faff;border-radius:14px}
.api-test-box p{margin:5px 0 10px;color:#738097;font-size:12px}
.inline-test{display:grid;grid-template-columns:1fr auto;gap:8px}
.inline-test button,.api-test-box button{border:0;background:#123985;color:white;border-radius:10px;padding:10px 14px;font-weight:800;cursor:pointer}

.support-page{height:100vh;overflow:hidden}
.live-badge{display:flex;align-items:center;gap:8px;background:#eaf8ef;color:#15763a;padding:8px 12px;border-radius:999px;font-size:12px;font-weight:800}
.live-badge span{width:8px;height:8px;border-radius:50%;background:#2bbb64;box-shadow:0 0 0 4px rgba(43,187,100,.15)}
.support-shell{display:grid;grid-template-columns:320px minmax(0,1fr);gap:16px;height:calc(100vh - 155px)}
.conversation-panel,.chat-panel{background:#fff;border:1px solid #e4e9f2;border-radius:20px;overflow:hidden;box-shadow:0 12px 30px rgba(18,42,84,.06)}
.conversation-panel{display:flex;flex-direction:column}
.conversation-head{display:flex;justify-content:space-between;align-items:center;padding:18px;border-bottom:1px solid #edf0f5}
.conversation-head h2{font-size:17px;margin:0}.conversation-head span{background:#eef3ff;color:#123985;padding:4px 8px;border-radius:999px;font-size:11px;font-weight:800}
#conversationList{overflow:auto;padding:8px}
.conversation-item{border:0;background:transparent;width:100%;display:grid;grid-template-columns:42px 1fr auto;align-items:center;gap:10px;text-align:left;padding:10px;border-radius:14px;cursor:pointer}
.conversation-item:hover,.conversation-item.active{background:#edf3ff}
.avatar{width:42px;height:42px;border-radius:14px;background:linear-gradient(135deg,#123985,#2d78ff);color:white;display:grid;place-items:center;font-weight:900}
.avatar.large{width:46px;height:46px;border-radius:15px}
.conversation-copy{min-width:0}.conversation-copy strong,.conversation-copy small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.conversation-copy small{color:#8993a6;font-size:11px;margin-top:3px}
.unread-count{min-width:22px;height:22px;padding:0 6px;display:grid;place-items:center;border-radius:999px;background:#ffd525;color:#1a263f;font-size:11px;font-weight:900}
.chat-panel{display:grid;grid-template-rows:auto 1fr auto;min-width:0}
.chat-header{display:flex;align-items:center;gap:11px;padding:15px 18px;border-bottom:1px solid #edf0f5}.chat-header strong,.chat-header small{display:block}.chat-header small{color:#8a94a7;margin-top:3px}
.chat-stream.modern{background:#f5f7fb;overflow:auto;padding:20px}
.message-row{display:flex;margin:8px 0}.message-row.client{justify-content:flex-start}.message-row.admin{justify-content:flex-end}
.message-bubble{max-width:min(72%,650px);padding:10px 13px;border-radius:16px;background:white;box-shadow:0 3px 12px rgba(17,33,64,.05)}
.message-row.admin .message-bubble{background:#123985;color:white;border-bottom-right-radius:5px}.message-row.client .message-bubble{border-bottom-left-radius:5px}
.message-bubble p{margin:0;white-space:pre-wrap;line-height:1.45}.message-bubble time{display:block;font-size:10px;opacity:.6;margin-top:6px;text-align:right}
.chat-composer{display:grid;grid-template-columns:1fr auto;gap:10px;padding:13px;border-top:1px solid #edf0f5}.chat-composer textarea{resize:none;border:1px solid #dce3ee;border-radius:14px;padding:12px 14px;min-height:46px}.chat-composer button{border:0;background:#ffd525;color:#18233a;border-radius:13px;padding:0 20px;font-weight:900}
.lookup-result{display:flex;gap:14px;margin-top:20px;padding:16px;border-radius:16px}.lookup-result.ok{background:#edf9f1;color:#185f33}.lookup-result.bad{background:#fff0f0;color:#8c2d2d}.lookup-icon{width:42px;height:42px;border-radius:50%;background:rgba(255,255,255,.8);display:grid;place-items:center;font-size:22px;font-weight:900}
.player-tool{max-width:850px}
@media(max-width:900px){
  .admin-filters{grid-template-columns:1fr}
  .support-page{height:auto;overflow:visible}
  .support-shell{grid-template-columns:1fr;height:auto}
  .conversation-panel{max-height:330px}
  .chat-panel{height:70vh}
}


/* SALSAN V7.2 - JSON brut diagnostic 1XBET */
.raw-json-panel{
  margin-top:18px;
  border:1px solid #dbe3ef;
  border-radius:16px;
  overflow:hidden;
  background:#0e1626;
  color:#eaf0ff;
}
.raw-json-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:14px 16px;
  background:#152238;
  border-bottom:1px solid rgba(255,255,255,.08);
}
.raw-json-head h3{margin:0 0 4px;font-size:15px;color:#fff}
.raw-json-head p{margin:0;color:#aebad0;font-size:11px}
.raw-json-panel pre{
  margin:0;
  padding:16px;
  max-height:520px;
  overflow:auto;
  white-space:pre-wrap;
  word-break:break-word;
  font-family:Consolas,Monaco,monospace;
  font-size:12px;
  line-height:1.55;
}
.copy-json-btn{
  border:0;
  background:#ffd525;
  color:#18233a;
  border-radius:10px;
  padding:8px 12px;
  font-weight:900;
  cursor:pointer;
  white-space:nowrap;
}

.diagnostic-collapsed > summary{
  cursor:pointer;
  padding:13px 16px;
  font-weight:900;
  color:#dfe8fb;
  background:#152238;
  list-style:none;
}
.diagnostic-collapsed > summary::-webkit-details-marker{display:none}
.diagnostic-collapsed > summary::before{content:"▶";display:inline-block;margin-right:8px;font-size:10px;transition:.15s transform}
.diagnostic-collapsed[open] > summary::before{transform:rotate(90deg)}

.settings-note{
  margin-top:7px;
  font-size:12px;
  color:#6d7890;
}
.settings-note strong{color:#123985}


/* =========================================================
   SALSAN ADMIN V7.9 — Support façon WhatsApp Web + Retraits
   ========================================================= */
.support-whatsapp{height:100vh;overflow:hidden}
.whatsapp-shell{grid-template-columns:365px minmax(0,1fr);gap:14px;height:calc(100vh - 155px)}
.whatsapp-left,.whatsapp-right{border-radius:18px}
.whatsapp-list-head{padding:16px 16px 12px}
.whatsapp-list-head small{display:block;color:#8a94a7;margin-top:3px;font-size:11px}
.support-total-unread{display:none;min-width:28px;height:28px;padding:0 7px;border-radius:999px;background:#25d366;color:#fff;font-size:12px;font-weight:900;place-items:center}
.conversation-tools{padding:10px 12px;border-bottom:1px solid #edf0f5;background:#fbfcfe}
.support-search-wrap{height:40px;border:1px solid #dfe5ef;border-radius:12px;background:#fff;display:flex;align-items:center;gap:8px;padding:0 11px}
.support-search-wrap span{color:#8792a7;font-size:18px}
.support-search-wrap input{border:0;outline:0;width:100%;font:inherit;background:transparent;color:#172033}
.support-filters{display:flex;gap:7px;margin-top:9px;overflow:auto;padding-bottom:2px}
.support-filter{border:1px solid #dfe5ef;background:#fff;color:#68758c;border-radius:999px;padding:7px 11px;font-size:11px;font-weight:800;cursor:pointer;white-space:nowrap}
.support-filter.active{background:#123985;border-color:#123985;color:#fff}
.support-filter:hover{border-color:#123985}
.whatsapp-left #conversationList{flex:1;overflow:auto;padding:6px 7px 10px}
.whatsapp-left .conversation-item{border-radius:10px;padding:10px 9px;grid-template-columns:46px minmax(0,1fr);gap:10px;border-bottom:1px solid #f0f2f5}
.whatsapp-left .conversation-item:hover{background:#f5f8fc}
.whatsapp-left .conversation-item.active{background:#e9f1ff}
.whatsapp-left .conversation-item.has-unread .conversation-copy strong{font-weight:900;color:#102f79}
.conversation-line,.conversation-preview-line{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0}
.conversation-line strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.conversation-line time{font-size:10px;color:#8e99aa;white-space:nowrap}
.conversation-preview-line{margin-top:4px}
.conversation-preview-line small{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#6e7a90}
.conversation-email{display:block!important;color:#9aa3b1!important;font-size:10px!important;margin-top:3px!important}
.whatsapp-left .unread-count{flex:none;background:#25d366;color:#fff}
.whatsapp-chat-header{min-height:65px;background:#fff}
.whatsapp-stream{background:
linear-gradient(rgba(245,247,251,.94),rgba(245,247,251,.94)),
radial-gradient(circle at 20% 20%,#dce6f5 1px,transparent 1px);
background-size:auto,22px 22px}
.whatsapp-composer{background:#f8fafc}
.support-empty-chat{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:#8792a7;text-align:center}
.support-empty-chat strong{font-size:18px;color:#172033}
.support-empty-icon{width:64px;height:64px;border-radius:20px;background:#eef3ff;color:#123985;display:grid;place-items:center;font-size:28px}

.withdrawal-code{display:inline-block;background:#f5f7fb;border:1px solid #e2e7ef;border-radius:8px;padding:6px 9px;color:#172033;font-weight:800}
.withdrawal-actions form{margin:0}
.action-btn{border:0;border-radius:10px;padding:9px 12px;font-weight:900;cursor:pointer;white-space:nowrap}
.action-btn.primary{background:#176df2;color:#fff}
.action-btn.success{background:#1f9d5b;color:#fff}
.action-btn:hover{filter:brightness(.96)}
.muted-action,.text-muted{color:#8a94a7}
.status-withdrawal{background:#eef3ff;color:#123985}

@media(max-width:1100px){
  .whatsapp-shell{grid-template-columns:310px minmax(0,1fr)}
}
@media(max-width:820px){
  .support-whatsapp{height:auto;overflow:visible}
  .whatsapp-shell{grid-template-columns:1fr;height:auto}
  .whatsapp-left{height:440px}
  .whatsapp-right{height:620px}
}
