:root{
  --blue-950:#08265c;
  --blue-900:#0b3478;
  --blue-800:#0d47a1;
  --blue-700:#0e5bc4;
  --blue-600:#1674e8;
  --blue-100:#eaf3ff;
  --gold:#f3b413;
  --gold-2:#ffd34d;
  --ink:#111827;
  --muted:#687386;
  --line:#e7ebf1;
  --soft:#f5f7fb;
  --card:#ffffff;
  --danger:#d92d20;
  --success:#168b56;
  --warning:#b76d00;
  --shadow:0 14px 38px rgba(18,35,66,.08);
  --radius:22px;
}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--soft);color:var(--ink)}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
a{text-decoration:none;color:inherit}
img{max-width:100%;display:block}
.hidden{display:none!important}

/* auth */
.auth-page{min-height:100vh;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(420px,.95fr);background:linear-gradient(130deg,#f9fbff 0%,#eef5ff 55%,#fff8e7 100%)}
.auth-brand{padding:56px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;position:relative;overflow:hidden}
.auth-brand:before,.auth-brand:after{content:"";position:absolute;border-radius:999px;filter:blur(2px);opacity:.25}
.auth-brand:before{width:400px;height:400px;background:#1a73e8;left:-160px;top:-130px}
.auth-brand:after{width:320px;height:320px;background:#ffc400;right:-130px;bottom:-110px}
.brand-logo{width:min(440px,78%);aspect-ratio:1/1;object-fit:contain;border-radius:32px;background:white;box-shadow:var(--shadow);position:relative;z-index:1}
.auth-brand h1{font-size:clamp(34px,4vw,58px);margin:24px 0 8px;color:var(--blue-950);letter-spacing:.02em;position:relative;z-index:1}
.auth-brand p{max-width:580px;color:var(--muted);font-size:17px;line-height:1.65;position:relative;z-index:1}
.auth-panel{display:flex;align-items:center;justify-content:center;padding:32px}
.auth-card{width:min(560px,100%);background:rgba(255,255,255,.93);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.8);border-radius:28px;box-shadow:0 25px 70px rgba(16,40,83,.14);padding:34px}
.auth-card h2{margin:0;font-size:32px;color:#162033}.auth-card .sub{color:var(--muted);margin:8px 0 28px}
.auth-switch{display:flex;gap:8px;background:#f0f4fa;border-radius:14px;padding:5px;margin-bottom:26px}
.auth-switch button{border:0;background:transparent;flex:1;padding:12px;border-radius:10px;color:#6b7280;font-weight:700}
.auth-switch button.active{background:white;color:var(--blue-800);box-shadow:0 3px 12px rgba(26,50,92,.08)}
.field{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.field label{font-size:14px;font-weight:700;color:#313b4f}.field small{color:#8c95a5}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.field input,.field select,.field textarea{width:100%;border:1px solid #dde4ee;background:#f9fbfe;border-radius:14px;padding:14px 15px;color:#182033;outline:none;transition:.2s}.field input:focus,.field select:focus,.field textarea:focus{border-color:#6ea8ff;box-shadow:0 0 0 4px rgba(22,116,232,.09);background:white}.field textarea{min-height:96px;resize:vertical}
.btn{border:0;border-radius:14px;padding:13px 18px;font-weight:800;display:inline-flex;align-items:center;justify-content:center;gap:9px;transition:.18s}.btn:active{transform:translateY(1px)}.btn-primary{background:linear-gradient(135deg,var(--blue-800),var(--blue-600));color:white;box-shadow:0 10px 25px rgba(13,71,161,.24)}.btn-secondary{background:#edf3fb;color:var(--blue-800)}.btn-gold{background:linear-gradient(135deg,var(--gold),var(--gold-2));color:#322200}.btn-danger{background:#fff0ef;color:var(--danger)}.btn-success{background:#e9f8f0;color:var(--success)}.btn-block{width:100%}.btn-sm{padding:9px 12px;border-radius:11px;font-size:13px}
.demo-note{margin-top:18px;background:#f8f1db;border:1px solid #f1d888;color:#6d5311;border-radius:14px;padding:13px 14px;font-size:13px;line-height:1.55}.demo-note code{font-weight:800}
.stepper{display:flex;gap:8px;margin:4px 0 24px}.step{height:6px;border-radius:999px;background:#e7eaf0;flex:1}.step.active{background:var(--blue-700)}

/* app shell */
.shell{min-height:100vh;display:grid;grid-template-columns:278px 1fr}
.sidebar{position:sticky;top:0;height:100vh;background:#fff;border-right:1px solid var(--line);padding:22px 16px;overflow:auto;z-index:20}
.side-brand{display:flex;align-items:center;gap:12px;padding:4px 8px 20px}.side-brand img{width:52px;height:52px;object-fit:contain;border-radius:13px;background:#fff}.side-brand strong{display:block;color:var(--blue-950);font-size:18px}.side-brand span{display:block;color:var(--muted);font-size:11px;letter-spacing:.12em;text-transform:uppercase;margin-top:2px}
.nav-section{font-size:11px;font-weight:900;color:#9aa3b2;letter-spacing:.13em;text-transform:uppercase;padding:18px 12px 8px}
.nav-item{width:100%;display:flex;align-items:center;gap:12px;border:0;background:transparent;color:#4b5565;border-radius:13px;padding:12px 13px;margin:3px 0;text-align:left;font-weight:700}.nav-item:hover{background:#f7f9fd}.nav-item.active{background:#eaf2ff;color:var(--blue-800)}.nav-item svg{width:20px;height:20px;flex:0 0 20px}.nav-badge{margin-left:auto;min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:#edf2fa;display:inline-flex;align-items:center;justify-content:center;font-size:11px}.nav-item.active .nav-badge{background:#d5e4ff}
.side-user{margin-top:22px;border-top:1px solid var(--line);padding:18px 8px 8px;display:flex;gap:10px;align-items:center}.side-user img{width:40px;height:40px;border-radius:12px;object-fit:cover;background:#edf2fa}.side-user strong{display:block;font-size:13px}.side-user span{display:block;color:var(--muted);font-size:11px;margin-top:2px}
.mobile-overlay{display:none}
.main{min-width:0}.topbar{height:78px;position:sticky;top:0;z-index:15;background:rgba(255,255,255,.9);backdrop-filter:blur(14px);border-bottom:1px solid rgba(229,234,242,.8);display:flex;align-items:center;padding:0 28px;gap:16px}.menu-btn{display:none;border:0;background:#eef3fb;border-radius:12px;width:43px;height:43px}.page-title{font-size:20px;font-weight:900;color:#172033}.top-spacer{flex:1}.id-chip{background:var(--blue-800);color:#fff;padding:10px 16px;border-radius:13px;font-weight:800;font-size:13px;letter-spacing:.02em}.top-avatar{width:42px;height:42px;border-radius:13px;object-fit:cover;background:#edf2fa;border:2px solid white;box-shadow:0 3px 10px rgba(12,34,70,.1)}
.content{padding:28px;max-width:1480px;margin:0 auto}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:22px}.page-head h1{font-size:30px;margin:0}.page-head p{margin:6px 0 0;color:var(--muted)}
.grid{display:grid;gap:20px}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:22px;min-width:0}.card-title{font-size:18px;font-weight:900;margin:0 0 4px}.card-sub{font-size:13px;color:var(--muted);margin:0 0 18px}.stat{display:flex;gap:14px;align-items:center}.stat-icon{width:50px;height:50px;border-radius:16px;background:#eaf3ff;color:var(--blue-800);display:flex;align-items:center;justify-content:center}.stat-icon.gold{background:#fff5d4;color:#9d6a00}.stat-icon.green{background:#e9f8f0;color:#168b56}.stat-icon.purple{background:#f1edff;color:#6c46c9}.stat-icon svg{width:24px;height:24px}.stat b{display:block;font-size:26px;line-height:1.1}.stat span{display:block;color:var(--muted);font-size:12px;margin-top:4px}
.profile-hero{padding:0;overflow:hidden}.cover{height:220px;background:linear-gradient(120deg,#081e4e,#0e68d8 55%,#f4b611);background-size:cover;background-position:center;position:relative}.cover:after{content:"CHAMPIONS";position:absolute;right:24px;bottom:18px;color:rgba(255,255,255,.28);font-weight:1000;font-size:38px;letter-spacing:.08em}.profile-body{padding:0 24px 28px;text-align:center}.profile-photo{width:112px;height:112px;border:6px solid #fff;border-radius:50%;object-fit:cover;background:#eef3fa;margin:-56px auto 12px;position:relative;box-shadow:0 8px 28px rgba(8,28,65,.18)}.verified{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--blue-800);font-weight:900}.profile-body h2{margin:5px 0 6px;font-size:24px}.profile-body .rank{color:var(--blue-800);font-weight:900;margin-top:8px}.rank-badge{display:inline-flex;padding:6px 10px;border-radius:999px;background:#fff6d8;color:#886100;font-weight:900;font-size:12px;margin-top:10px}
.notice{display:flex;gap:14px;align-items:flex-start;border-left:5px solid var(--gold);background:#fffdfa}.notice-icon{width:44px;height:44px;flex:0 0 44px;border-radius:14px;background:#fff3cb;color:#8a6500;display:flex;align-items:center;justify-content:center}.notice h3{font-size:15px;margin:0 0 4px}.notice p{margin:0;color:var(--muted);line-height:1.55;font-size:13px}.notice .btn{margin-top:12px}

/* tables */
.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:16px}.table{width:100%;border-collapse:collapse;min-width:720px}.table th{background:#f8fafc;color:#7b8494;font-size:11px;text-transform:uppercase;letter-spacing:.08em;text-align:left;padding:13px 14px;border-bottom:1px solid var(--line)}.table td{padding:14px;border-bottom:1px solid var(--line);font-size:13px;vertical-align:middle}.table tr:last-child td{border-bottom:0}.member-cell{display:flex;align-items:center;gap:10px}.member-cell img{width:38px;height:38px;border-radius:11px;object-fit:cover;background:#eaf0f7}.member-cell strong{display:block}.member-cell span{display:block;color:var(--muted);font-size:11px;margin-top:2px}.money{font-weight:900}.positive{color:var(--success)}.negative{color:var(--danger)}
.badge{display:inline-flex;align-items:center;padding:6px 9px;border-radius:999px;font-size:11px;font-weight:900}.badge-success{background:#e9f8f0;color:#117648}.badge-warning{background:#fff5d8;color:#8e6600}.badge-danger{background:#ffeded;color:#bd2419}.badge-blue{background:#eaf3ff;color:#0d55b7}.badge-gray{background:#eef1f5;color:#667085}

/* earnings */
.balance-hero{background:linear-gradient(140deg,#082a6a,#0e61ce 60%,#187dec);color:#fff;position:relative;overflow:hidden}.balance-hero:after{content:"$";position:absolute;right:-6px;bottom:-78px;font-size:230px;color:rgba(255,255,255,.06);font-weight:900}.balance-label{opacity:.75;font-size:13px}.balance-amount{font-size:46px;font-weight:950;margin:8px 0 2px;position:relative;z-index:1}.balance-foot{opacity:.75;font-size:12px}
.calc-box{background:#f8fafc;border:1px solid var(--line);border-radius:14px;padding:14px;display:grid;gap:8px}.calc-row{display:flex;justify-content:space-between;gap:20px;font-size:13px}.calc-row.total{border-top:1px solid var(--line);padding-top:10px;font-weight:900;font-size:15px}

/* profile editor */
.upload-preview{position:relative;border-radius:18px;overflow:hidden;background:#eef2f7;border:1px solid var(--line)}.upload-preview.cover-preview{height:180px;background-size:cover;background-position:center}.avatar-preview{width:140px;height:140px;border-radius:28px;object-fit:cover;background:#eef2f7;border:1px solid var(--line)}.upload-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}.file-btn{position:relative;overflow:hidden}.file-btn input{position:absolute;inset:0;opacity:0;cursor:pointer}

/* admin */
.admin-kicker{display:inline-flex;align-items:center;gap:8px;background:#111827;color:#fff;border-radius:999px;padding:7px 11px;font-size:11px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.split-card{display:grid;grid-template-columns:1fr 1fr;gap:20px}.search-inline{display:flex;gap:10px}.search-inline input{flex:1}

/* misc */
.empty-state{text-align:center;padding:40px 20px;color:var(--muted)}.empty-state h3{color:#273144;margin:10px 0 5px}.toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.toolbar .field{margin:0}.pill-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px}.pill-tabs button{border:1px solid var(--line);background:#fff;border-radius:999px;padding:9px 13px;color:#5f6979;font-weight:800;font-size:12px}.pill-tabs button.active{background:var(--blue-800);color:#fff;border-color:var(--blue-800)}
.toast-root{position:fixed;right:18px;bottom:18px;display:grid;gap:10px;z-index:1000}.toast{min-width:260px;max-width:360px;background:#121827;color:white;border-radius:14px;padding:13px 15px;box-shadow:0 18px 40px rgba(0,0,0,.2);font-size:13px;animation:toastIn .22s ease}.toast.success{background:#116b46}.toast.error{background:#a82921}@keyframes toastIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
.modal-backdrop{position:fixed;inset:0;background:rgba(13,21,36,.5);z-index:90;display:flex;align-items:center;justify-content:center;padding:20px}.modal{width:min(560px,100%);background:white;border-radius:22px;box-shadow:0 30px 80px rgba(0,0,0,.26);padding:24px}.modal-head{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:18px}.modal-head h3{margin:0}.icon-btn{border:0;background:#f1f4f8;width:38px;height:38px;border-radius:11px;font-size:20px;color:#526071}
.mobile-nav{display:none}

@media(max-width:1100px){.grid-4{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(2,1fr)}.split-card{grid-template-columns:1fr}}
@media(max-width:860px){
  .auth-page{grid-template-columns:1fr}.auth-brand{padding:30px 24px 8px}.brand-logo{width:170px;border-radius:22px}.auth-brand h1{font-size:30px;margin-top:12px}.auth-brand p{display:none}.auth-panel{padding:18px 18px 36px}.auth-card{padding:24px;border-radius:22px}
  .shell{display:block}.sidebar{position:fixed;left:0;top:0;bottom:0;width:286px;transform:translateX(-102%);transition:.22s;box-shadow:20px 0 50px rgba(13,34,70,.14)}.sidebar.open{transform:translateX(0)}.mobile-overlay{display:block;position:fixed;inset:0;background:rgba(13,21,36,.45);z-index:18;opacity:0;pointer-events:none;transition:.22s}.mobile-overlay.show{opacity:1;pointer-events:auto}.menu-btn{display:inline-flex;align-items:center;justify-content:center}.topbar{height:68px;padding:0 16px}.page-title{font-size:17px}.id-chip{padding:9px 12px;font-size:11px}.top-avatar{width:38px;height:38px}.content{padding:18px 14px 90px}.page-head{align-items:flex-start}.page-head h1{font-size:25px}.grid-3{grid-template-columns:1fr}.mobile-nav{position:fixed;display:grid;grid-template-columns:repeat(5,1fr);bottom:0;left:0;right:0;height:69px;background:rgba(255,255,255,.95);backdrop-filter:blur(14px);border-top:1px solid var(--line);z-index:16;padding-bottom:env(safe-area-inset-bottom)}.mobile-nav button{border:0;background:transparent;color:#6e7787;font-size:9px;font-weight:800;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px}.mobile-nav button svg{width:20px;height:20px}.mobile-nav button.active{color:var(--blue-800)}
  .cover{height:150px}.profile-body h2{font-size:20px}.profile-photo{width:94px;height:94px;margin-top:-47px}.balance-amount{font-size:38px}.field-row{grid-template-columns:1fr}.page-head{flex-direction:column}.toast-root{right:12px;left:12px;bottom:82px}.toast{max-width:none;min-width:0}
}
@media(max-width:560px){.grid-4,.grid-2{grid-template-columns:1fr}.auth-card h2{font-size:27px}.card{padding:18px;border-radius:18px}.topbar .page-title{max-width:120px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.page-head p{font-size:13px}.search-inline{flex-direction:column}.balance-amount{font-size:34px}.profile-hero .cover:after{font-size:26px}.table{min-width:650px}}

/* V2 — compact controls: global pass before page-by-page refinements */
.btn{
  min-height:36px;
  padding:9px 14px;
  border-radius:10px;
  gap:7px;
  font-size:13px;
  line-height:1.15;
  box-shadow:none;
}
.btn-primary{box-shadow:0 5px 14px rgba(13,71,161,.16)}
.btn-sm{
  min-height:30px;
  padding:6px 10px;
  border-radius:9px;
  font-size:12px;
}
.auth-switch{padding:4px;border-radius:11px;margin-bottom:22px}
.auth-switch button{
  min-height:34px;
  padding:8px 10px;
  border-radius:8px;
  font-size:13px;
}
.nav-item{
  min-height:40px;
  padding:9px 10px;
  border-radius:10px;
  gap:10px;
  font-size:13px;
}
.nav-item svg{width:18px;height:18px;flex-basis:18px}
.nav-badge{min-width:20px;height:20px;font-size:10px}
.menu-btn{width:38px;height:38px;border-radius:10px}
.id-chip{padding:8px 12px;border-radius:10px;font-size:12px}
.top-avatar{width:38px;height:38px;border-radius:10px}
.icon-btn{width:34px;height:34px;border-radius:9px;font-size:18px}
.pill-tabs button{padding:7px 11px;font-size:11px}
.file-btn{min-height:34px}
.notice .btn{margin-top:10px}
.toolbar{gap:8px}
.upload-actions{gap:8px;margin-top:10px}
.admin-kicker{padding:6px 9px;font-size:10px}

@media(max-width:860px){
  .btn{min-height:34px;padding:8px 12px;font-size:12.5px;border-radius:9px}
  .btn-sm{min-height:28px;padding:5px 9px;font-size:11.5px}
  .menu-btn{width:36px;height:36px}
  .id-chip{padding:7px 10px;font-size:10.5px}
  .top-avatar{width:36px;height:36px}
  .auth-switch button{min-height:32px;padding:7px 9px;font-size:12px}
  .mobile-nav{height:64px}
  .mobile-nav button{font-size:8.5px;gap:2px}
  .mobile-nav button svg{width:18px;height:18px}
  .content{padding-bottom:84px}
}

@media(max-width:560px){
  .btn{min-height:32px;padding:7px 11px;font-size:12px}
  .btn-block{min-height:36px}
  .toolbar .btn{flex:0 0 auto}
}


/* V3 — auth primary button toned down */
.btn svg{
  width:16px;
  height:16px;
  flex:0 0 16px;
  display:block;
}
.auth-card .btn-block{
  min-height:42px;
  padding:10px 14px;
  border-radius:10px;
}
.auth-card .btn-block svg{
  width:18px;
  height:18px;
  flex-basis:18px;
}
@media(max-width:560px){
  .auth-card .btn-block{
    min-height:40px;
    padding:9px 13px;
  }
  .auth-card .btn-block svg{
    width:17px;
    height:17px;
    flex-basis:17px;
  }
}

/* V4 — compact dashboard */
.dashboard-compact{display:grid;gap:14px;max-width:980px;margin:0 auto}
.dashboard-profile{min-height:136px;border-radius:22px;padding:18px;display:flex;align-items:center;gap:14px;background:linear-gradient(110deg,#0a3270,#0e68d8 70%,#eeb415);background-size:cover;background-position:center;box-shadow:0 12px 30px rgba(11,52,120,.14);overflow:hidden}
.dashboard-avatar{width:82px;height:82px;border-radius:50%;object-fit:cover;background:#fff;border:4px solid rgba(255,255,255,.94);box-shadow:0 7px 20px rgba(0,0,0,.18);flex:0 0 82px}
.dashboard-identity{min-width:0;color:#fff}
.dashboard-name-row{display:flex;align-items:center;gap:7px;min-width:0}
.dashboard-name-row h1{font-size:21px;line-height:1.1;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.dashboard-verified{width:20px;height:20px;border-radius:50%;display:inline-grid;place-items:center;background:#fff;color:#0d55b7;font-size:12px;font-weight:1000;flex:0 0 20px}
.dashboard-meta{margin-top:7px;display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:11px;color:rgba(255,255,255,.84)}
.dashboard-rank{display:inline-flex;max-width:180px;padding:5px 8px;border-radius:999px;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.25);font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#fff}
.dashboard-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.kpi-mini{background:#fff;border:1px solid var(--line);border-radius:15px;padding:13px 14px;box-shadow:0 7px 20px rgba(18,35,66,.055);min-width:0}
.kpi-mini span{display:block;color:var(--muted);font-size:11px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.kpi-mini strong{display:block;margin-top:5px;font-size:20px;line-height:1;color:#172033;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.kpi-mini small{font-size:10px;color:#8a94a5;font-weight:800}
.maintenance-strip{background:#fffdfa;border:1px solid #f3e1a7;border-left:4px solid var(--gold);border-radius:15px;padding:12px 13px;display:flex;align-items:center;gap:11px;box-shadow:0 6px 18px rgba(18,35,66,.04)}
.maintenance-icon{width:36px;height:36px;border-radius:11px;background:#fff2c8;color:#8b6700;display:grid;place-items:center;flex:0 0 36px}
.maintenance-icon svg{width:18px;height:18px}
.maintenance-copy{min-width:0;flex:1}.maintenance-copy strong{display:block;font-size:13px}.maintenance-copy span{display:block;color:var(--muted);font-size:11px;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.maintenance-badge{font-size:10px;font-weight:900;color:#836100;background:#fff1bd;border-radius:999px;padding:6px 8px;white-space:nowrap}
.team-performance-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:16px;box-shadow:var(--shadow)}
.team-performance-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
.team-performance-head h2{font-size:17px;margin:0}.team-performance-head p{font-size:11px;color:var(--muted);margin:3px 0 0}
.team-performance-head select{height:34px;border:1px solid var(--line);border-radius:10px;background:#f9fbfe;color:#273144;padding:0 9px;font-size:11px;font-weight:800;outline:none;max-width:170px}
.team-volume{display:grid;grid-template-columns:1fr auto;gap:2px 12px;align-items:end;background:#eef5ff;border-radius:13px;padding:11px 13px;margin-bottom:10px}
.team-volume span{font-size:11px;color:#506179;font-weight:800}.team-volume strong{font-size:24px;color:var(--blue-800);grid-row:1/3;grid-column:2}.team-volume small{font-size:10px;color:#8090a5;text-transform:capitalize}
.performance-list{display:grid}.performance-row{display:grid;grid-template-columns:28px 38px minmax(0,1fr) auto;gap:9px;align-items:center;padding:9px 2px;border-bottom:1px solid #eef1f5}.performance-row:last-child{border-bottom:0}
.performance-rank{width:24px;height:24px;border-radius:8px;background:#eef3fb;color:var(--blue-800);display:grid;place-items:center;font-size:10px;font-weight:900}
.performance-row img{width:36px;height:36px;border-radius:50%;object-fit:cover;background:#edf2fa}.performance-person{min-width:0}.performance-person strong{display:block;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.performance-person small{display:block;color:var(--muted);font-size:10px;margin-top:2px}.performance-row b{min-width:30px;text-align:center;border-radius:999px;padding:5px 8px;background:#eaf3ff;color:var(--blue-800);font-size:12px}
.performance-empty{padding:20px;text-align:center;color:var(--muted);font-size:12px}
.performance-more{width:100%;margin-top:8px;height:34px;border:0;border-radius:10px;background:#f0f4fa;color:var(--blue-800);font-size:11px;font-weight:900}

@media(max-width:760px){
  .dashboard-compact{gap:11px}
  .dashboard-profile{min-height:112px;padding:14px;border-radius:18px}
  .dashboard-avatar{width:68px;height:68px;flex-basis:68px;border-width:3px}
  .dashboard-name-row h1{font-size:17px}
  .dashboard-rank{max-width:140px;font-size:10px;padding:4px 7px}
  .dashboard-kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .kpi-mini{padding:11px 12px;border-radius:13px}.kpi-mini strong{font-size:18px}
  .maintenance-strip{padding:10px 11px}.maintenance-badge{font-size:9px;padding:5px 7px}
  .team-performance-card{padding:13px;border-radius:15px}.team-performance-head{align-items:flex-start}.team-performance-head h2{font-size:15px}.team-performance-head select{max-width:145px;font-size:10px}
}
@media(max-width:430px){
  .dashboard-profile{gap:11px}.dashboard-avatar{width:62px;height:62px;flex-basis:62px}.dashboard-name-row h1{font-size:15px}.dashboard-verified{width:18px;height:18px;flex-basis:18px;font-size:10px}.dashboard-meta{gap:6px;font-size:10px}.dashboard-rank{max-width:118px}
  .kpi-mini strong{font-size:17px}.kpi-mini span{font-size:10px}
  .maintenance-copy span{max-width:190px}.maintenance-badge{display:none}
  .team-performance-head{gap:8px}.team-performance-head p{display:none}.team-performance-head select{width:138px}
}


/* NETWORK BOARD V11 — built from zero; no legacy tree selectors */
.network-board{
  width:100%;
  min-width:0;
}
.network-actions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
  margin-bottom:8px;
}
.network-actions .btn{
  width:100%;
  min-height:38px;
}
.network-search-box{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:8px;
  margin-bottom:8px;
}
.network-search-box input{
  width:100%;
  min-width:0;
  min-height:40px;
  border:1px solid #dce4ef;
  background:#fff;
  border-radius:12px;
  padding:10px 12px;
  outline:none;
  color:#162033;
}
.network-search-box input:focus{
  border-color:#71a8ef;
  box-shadow:0 0 0 3px rgba(22,116,232,.08);
}
.network-search-box .btn{
  min-height:40px;
}

.network-diagram{
  position:relative;
  width:100%;
  height:620px;
  overflow:hidden;
  margin:0;
  padding:0;
  background:transparent;
}
.network-links{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  z-index:0;
  pointer-events:none;
}
.network-links path{
  fill:none;
  stroke:#84aee3;
  stroke-width:2;
  vector-effect:non-scaling-stroke;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.net-row{
  position:absolute;
  left:0;
  right:0;
  display:grid;
  align-items:start;
  justify-items:center;
  z-index:1;
}
.net-row-1{top:18px;grid-template-columns:1fr}
.net-row-2{top:160px;grid-template-columns:repeat(2,1fr)}
.net-row-3{top:300px;grid-template-columns:repeat(4,1fr)}
.net-row-4{top:440px;grid-template-columns:repeat(8,1fr)}

.net-profile{
  appearance:none;
  -webkit-appearance:none;
  border:0;
  background:transparent;
  color:#172033;
  margin:0;
  padding:0;
  width:92px;
  min-width:0;
  position:relative;
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
  cursor:pointer;
}
.net-photo{
  width:58px;
  height:58px;
  border-radius:50%;
  object-fit:cover;
  background:#edf3f9;
  border:3px solid #fff;
  box-shadow:0 5px 14px rgba(13,71,161,.17);
  display:grid;
  place-items:center;
}
.net-name{
  width:100%;
  margin-top:5px;
  font-size:10px;
  line-height:1.05;
  min-height:21px;
  max-height:21px;
  overflow:hidden;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
}
.net-id{
  margin-top:3px;
  font-size:8.5px;
  line-height:1;
  font-weight:900;
  color:var(--blue-800);
}
.net-rank{
  margin-top:4px;
  max-width:86px;
  padding:3px 6px;
  border-radius:999px;
  background:#eaf3ff;
  color:#275c9e;
  font-size:7.5px;
  line-height:1;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.net-position{
  position:absolute;
  top:-7px;
  right:7px;
  min-width:20px;
  height:20px;
  padding:0 5px;
  border-radius:999px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#172033;
  color:#fff;
  font-size:7px;
  font-weight:900;
  z-index:2;
}

.net-profile-empty{cursor:default}
.net-profile-empty .net-photo{
  border:2px dashed #cbd4e0;
  box-shadow:none;
  color:#748195;
}
.net-vacant{
  font-size:20px;
  font-weight:900;
}
.net-vacant-label{
  margin-top:5px;
  color:#8792a3;
  font-size:8px;
  font-weight:800;
}


/* A fixed canvas preserves the same profile size on every device. */
.network-scroll{width:100%;max-width:100%;overflow-x:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:#84aee3 #eaf0f8}
.network-diagram{width:1120px;min-width:1120px;height:680px;overflow:visible;margin:0 auto}
.net-row-1{top:18px}
.net-row-2{top:180px;width:280px;left:50%;right:auto;transform:translateX(-50%)}
.net-row-3{top:344px}
.net-row-4{top:508px}
.net-profile{width:126px;min-height:124px}
.net-photo{width:64px;height:64px;flex-shrink:0}
.net-level-1 .net-photo{width:72px;height:72px}
.net-name{font-size:12px;line-height:14px;min-height:28px;max-height:28px;overflow-wrap:anywhere}
.net-id{font-size:10px;line-height:12px}
.net-rank{font-size:9px;max-width:124px;line-height:11px}
.net-position{right:22px;font-size:8px;min-width:22px;height:22px}
.net-vacant-label{font-size:12px}
.network-members{margin-top:16px;min-width:0;max-width:100%;overflow:hidden}
.network-members h2{font-size:22px;margin:0 0 8px}
.network-members>p{color:var(--muted);font-size:13px;margin:0 0 22px}
.network-member-table{min-width:720px;width:100%}
.network-member-table th{white-space:nowrap}
.network-member-table td{padding-top:20px;padding-bottom:20px}
.network-member-table td:nth-child(2){min-width:250px}
.network-member-table td:last-child{min-width:230px}
.network-member-table small{display:block;color:var(--muted);margin:5px 0 10px;font-size:12px}
.network-member-open{display:block;border:0;background:transparent;color:inherit;text-align:left;padding:0;cursor:pointer;font:inherit}
.network-member-number{display:grid;place-items:center;width:32px;height:32px;background:#172033;color:white;border-radius:9px;font-weight:800}
.network-branch-count{display:inline-block;min-width:36px;text-align:center;padding:7px;background:#f3f5f9;border-radius:9px;font-weight:700}

.withdrawal-card{grid-column:span 2}
#withdraw-form input[readonly]{background:#edf1f6;color:#536174;cursor:default}
#withdraw-submit:disabled{opacity:.5;cursor:not-allowed}
@media(max-width:900px){.earnings-grid{grid-template-columns:1fr}.withdrawal-card{grid-column:auto}}

.profile-details{grid-column:span 2}
#profile-form input[readonly]{background:#edf1f6;color:#536174}
.password-change{border:1px solid var(--line);border-radius:14px;padding:14px;margin:8px 0 20px}
.password-change summary{cursor:pointer;font-weight:800;color:var(--blue-800)}
.password-change[open] summary{margin-bottom:18px}
.recruit-days{display:flex;flex-wrap:wrap;gap:8px;max-height:160px;overflow:auto;margin-bottom:18px}
@media(max-width:900px){.profile-grid{grid-template-columns:1fr}.profile-details{grid-column:auto}}

.build-version{display:inline-block;font-size:10px;vertical-align:middle;color:#526885;background:#eaf0f8;padding:3px 5px;border-radius:5px}

.performance-menu summary{list-style:none;cursor:pointer}.performance-menu summary::-webkit-details-marker{display:none}.performance-menu summary:after{content:'⌄';margin-left:auto}.performance-menu[open] summary:after{content:'⌃'}.performance-submenu{padding-left:22px}.performance-submenu .nav-item{font-size:12px;padding-top:10px;padding-bottom:10px}.performance-entry{display:flex;align-items:center;gap:14px;text-align:left;color:var(--blue-800);cursor:pointer}.performance-entry svg{width:25px;height:25px;flex-shrink:0}.performance-entry strong{flex:1}.account-information dl{margin:0}.account-information dl>div{display:flex;justify-content:space-between;gap:18px;padding:14px 0;border-bottom:1px solid var(--line)}.account-information dl>div:last-child{border:0}.account-information dt{color:var(--muted)}.account-information dd{margin:0;text-align:right;font-weight:800;overflow-wrap:anywhere}.program-facts dt{font-size:12px;color:var(--muted);margin-top:18px}.program-facts dd{margin:5px 0 0;white-space:pre-wrap;overflow-wrap:anywhere}.program-total{font-size:30px;font-weight:900;color:var(--blue-800)}.program-level{color:var(--muted)}.rule-fieldset{border:1px solid var(--line);border-radius:14px;padding:16px;margin:18px 0}.rule-fieldset legend{font-weight:800;padding:0 6px}

/* V20 — informations du compte repliables */
.account-information{margin-top:16px;border-top:1px solid var(--line);padding-top:12px}
.account-information-toggle{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;padding:16px;border:0;border-radius:12px;background:#edf4ff;color:var(--blue-800);font:inherit;font-weight:800;text-align:left;cursor:pointer}
.account-information-toggle:focus-visible{outline:2px solid var(--blue-800);outline-offset:3px}
.account-information-toggle[aria-expanded="true"] span{transform:rotate(180deg)}
.account-information dl[hidden]{display:none}
.account-information dl{padding:8px 4px 0}
.account-information dt,.account-information dd{min-width:0;flex:1}

/* V21 maintenance */
.maintenance-alert{display:flex;gap:12px;background:#fff0f0;border:1px solid #efb1b1;border-left:5px solid #d73535;border-radius:18px;padding:20px;color:#8f1e26}
.maintenance-alert>div{min-width:0;flex:1}.maintenance-alert strong{font-size:16px}.maintenance-alert p{line-height:1.6;font-size:14px;margin:10px 0}.maintenance-danger{font-size:18px;flex-shrink:0}.maintenance-open{background:#bd2532;color:white;width:100%;margin-top:8px;white-space:normal}
.maintenance-page{max-width:800px;margin:auto}.maintenance-page h2{margin-top:24px}.maintenance-demo{font-size:12px;color:var(--muted);line-height:1.5}.maintenance-form{border-top:1px solid var(--line);padding:18px 0}.maintenance-form p{font-size:13px;color:var(--muted)}.maintenance-send{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;align-items:end;gap:10px}.maintenance-send .field{margin:0}.maintenance-send .btn{min-height:44px;padding:12px}.rank-points-green{color:#23833b!important;font-weight:800}.maintenance-success{color:#23833b}.maintenance-history{padding-left:18px;font-size:13px}.maintenance-history li{padding:10px 0;line-height:1.6}
@media(max-width:380px){.maintenance-send{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.maintenance-send button{grid-column:1/-1}}

/* V23 produits et historique */
.maintenance-retro-alert{display:flex;gap:8px;margin:18px 0;padding:12px 14px;border:1px solid #efc9ce;border-left:3px solid #bd2532;border-radius:10px;background:#fff6f6;color:#9a2934;font-size:12px;line-height:1.5}
.maintenance-products{border:1px solid var(--line);border-radius:14px;margin:18px 0;overflow:hidden}.maintenance-products summary{cursor:pointer;padding:16px;font-weight:700;overflow-wrap:anywhere}.maintenance-products summary span{display:block;font-weight:400;margin-top:6px;color:var(--muted)}
.maintenance-product-head,.maintenance-product-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;padding:12px 16px;align-items:center}.maintenance-product-head{background:#f0f4fa;font-size:12px;font-weight:700}.maintenance-product-row{border-top:1px solid var(--line);cursor:pointer}.maintenance-product-row>span{display:flex;align-items:center;gap:10px;overflow-wrap:anywhere}.maintenance-product-row input{width:18px;height:18px;flex-shrink:0;margin:0}.maintenance-products>p{padding:12px}
.maintenance-table{width:100%;table-layout:fixed;border-collapse:collapse;font-size:12px}.maintenance-table th,.maintenance-table td{padding:12px 6px;text-align:left;border-bottom:1px solid var(--line);white-space:normal;overflow-wrap:anywhere}.maintenance-table th{background:#f0f4fa}.maintenance-table th:last-child,.maintenance-table td:last-child{width:65px;text-align:right}.maintenance-table-wrap{margin-bottom:14px}

/* V24 grades CHAMPIONS */
.rank-summary{margin-bottom:18px;border-top:4px solid var(--blue-600)}.rank-eyebrow{font-size:12px;color:var(--muted);font-weight:700}.rank-summary h2{margin:8px 0 16px}.rank-metrics{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px}.rank-metrics strong{font-size:24px;overflow-wrap:anywhere}.rank-metrics small{font-size:12px;font-weight:500}.rank-summary progress{width:100%;height:10px;accent-color:#0d5cc5}.rank-remaining{font-size:12px;color:var(--muted)}.rank-level{position:relative}.rank-current{border:2px solid #0d5cc5;background:#f6faff}.rank-level-heading{display:flex;justify-content:space-between;align-items:center;gap:8px}.rank-number{width:32px;height:32px;display:grid;place-items:center;border-radius:10px;background:#eaf2fe;color:#174d98;font-weight:800}.rank-level h3{font-size:19px;margin:18px 0 8px}.rank-level p{font-size:13px;color:var(--muted)}.rank-rate{font-size:24px;color:#174d98}.card-title{overflow-wrap:anywhere}.field{min-width:0}.btn{white-space:normal}.dashboard-rank{white-space:normal}.net-rank{max-width:100%;overflow:hidden;text-overflow:ellipsis}

/* V26 — inscription avec identifiant visible et code système protégé */


/* V27 — inscription plus propre et confirmation sur une ligne */
.auth-card .stepper{margin-top:24px}
.registration-review{padding:16px 14px}
.registration-review .calc-row{display:grid;grid-template-columns:max-content minmax(0,1fr);align-items:center;gap:10px;font-size:12px;line-height:1.35;padding:3px 0}
.registration-review .calc-row span,.registration-review .calc-row strong{white-space:nowrap}
.registration-review .calc-row strong{text-align:right;font-size:12px;overflow:visible;overflow-wrap:normal}
@media(max-width:430px){.registration-review{padding:14px 10px}.registration-review .calc-row{gap:7px;font-size:11px}.registration-review .calc-row strong{font-size:11px}}

/* V29 qualification / indicateurs réels */
.maintenance-qualified{display:flex;align-items:center;gap:12px;background:linear-gradient(135deg,#ecfff4,#f8fffb);border:1px solid #bfe8d0;border-left:5px solid #1f9a58;border-radius:18px;padding:16px 18px;color:#17683f;box-shadow:0 10px 28px rgba(25,125,73,.08);cursor:pointer}
.maintenance-qualified>div{min-width:0;flex:1}.maintenance-qualified strong{display:block;font-size:16px;color:#12653c}.maintenance-qualified div>span{display:block;margin-top:3px;font-size:12px;color:#4f7f65}.maintenance-qualified-icon{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#1f9a58;color:white;font-weight:1000;font-size:18px;flex:0 0 34px}.maintenance-qualified-badge{font-size:10px;font-weight:900;color:#17683f;background:#d9f5e5;border-radius:999px;padding:6px 9px;white-space:nowrap}.maintenance-qualified-inline{margin:14px 0;padding:12px 14px;border-radius:12px;background:#edfff4;border:1px solid #c9edd7;color:#177346;font-weight:850}
@media(max-width:480px){.maintenance-qualified{padding:14px 13px}.maintenance-qualified strong{font-size:14px}.maintenance-qualified-badge{display:none}.maintenance-qualified div>span{font-size:11px}}

.account-information{padding-top:16px;margin-top:20px}.account-information-toggle{padding:15px 16px;font-size:14px;border-radius:14px}.account-information dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:14px 0 0}.account-information dl>div{display:flex;flex-direction:column;justify-content:flex-start;gap:8px;min-width:0;padding:14px;background:#f7f9fc;border:1px solid #e9eef5;border-radius:12px}.account-information dl>div:last-child{border:1px solid #e9eef5}.account-information dt{font-size:11px;line-height:1.45;color:#6d7b8e;flex:none}.account-information dd{text-align:left;font-size:14px;line-height:1.4;color:#142d50;flex:none;overflow-wrap:normal;word-break:normal}.account-information dl>div:nth-child(3),.account-information dl>div:nth-child(6){grid-column:1/-1}.account-information dl>div:nth-child(3) dd{color:#0d47a1;font-size:16px}.account-information dd.rank-points-green{color:#168454}.account-information dd.account-status-value{display:flex;align-items:center;gap:8px}.account-information dd.account-status-value::after{content:'';width:9px;height:9px;border-radius:50%;flex:0 0 9px;box-shadow:0 0 0 2px rgba(0,0,0,.03)}.account-information dd.account-status-value.is-active::after{background:#1fa55b}.account-information dd.account-status-value.is-inactive::after{background:#d83b3b}.account-information dl[hidden]{display:none}@media(max-width:350px){.account-information dl{gap:7px}.account-information dl>div{padding:10px}.account-information dd{font-size:13px}}

button,a,label,summary,input,select,[role="button"]{-webkit-tap-highlight-color:transparent;touch-action:manipulation}button:active,a:active{transform:none!important;filter:none!important}button,a,summary{transition:none!important}

.grade-hero{padding:28px 20px;text-align:center;border-radius:22px;background:linear-gradient(145deg,#123567,#1765af);color:#fff;margin-bottom:18px}.grade-emblem{width:56px;height:56px;margin:0 auto 14px;border:1px solid #ffffff40;border-radius:18px;background:#ffffff12;display:grid;place-items:center}.grade-emblem svg{width:28px;height:28px}.grade-hero h2{font-size:23px;margin:0 0 20px}.grade-hero-metrics{display:flex;justify-content:space-between;align-items:center;gap:14px;border-top:1px solid #ffffff25;padding-top:18px;font-size:12px}.grade-hero-metrics b{font-size:23px;display:block;margin-bottom:4px}.grade-hero-metrics>strong{font-size:29px}.grade-list{display:grid;gap:12px}.grade-row{position:relative;display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:13px;padding:19px 16px;background:#fff;border:1px solid #e3eaf3;border-radius:16px}.grade-symbol{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:#edf3fb;color:#174f91}.grade-symbol svg{width:23px;height:23px}.grade-row h3{font-size:15px;line-height:1.4;margin:0}.grade-row>strong{font-size:21px;color:#174f91;white-space:nowrap}.grade-selected{border-color:#19775b;background:#f3fbf7}.grade-check{position:absolute;right:8px;top:3px;color:#19775b;font-size:12px}

.grade-progress{margin-top:20px;text-align:left}.grade-progress>div{display:flex;justify-content:space-between;gap:12px;font-size:12px;margin-bottom:10px}.grade-progress progress{appearance:none;display:block;width:100%;height:6px;border:0;border-radius:8px;overflow:hidden;background:#ffffff30}.grade-progress progress::-webkit-progress-bar{background:#ffffff30}.grade-progress progress::-webkit-progress-value{background:#8ee0bb;border-radius:8px}.grade-progress progress::-moz-progress-bar{background:#8ee0bb}.grade-products{display:block;margin:20px auto 0;padding:9px 16px;border:1px solid #ffffff60;border-radius:10px;background:#ffffff10;color:#fff;font:inherit;font-size:12px;cursor:pointer}.rank-account-summary{margin-top:16px;padding:18px;border-radius:14px;background:#f6f8fb;font-size:13px;line-height:1.7;color:#5a6475}.rank-account-summary p{margin:0 0 12px}.rank-account-summary b{color:#23833b}.my-products-link{border:0;background:transparent;color:#174f91;padding:4px 0;font:inherit;font-size:12px;font-weight:700;cursor:pointer}

.password-visibility{display:flex;align-items:center;gap:8px;font-size:12px;color:#637084;margin:10px 0 18px}.password-visibility input{width:16px!important;height:16px;margin:0}

#account-information-list[hidden]{display:none!important}

/* Keep the identity fully readable on narrow screens. */
.dashboard-name-row h1{white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere;line-height:1.3}

/* Grade emblems remain attached to the photograph, without covering the face. */
.ranked-avatar{position:relative;display:inline-flex!important;flex:none;vertical-align:middle;line-height:0;margin:0!important;overflow:visible;isolation:isolate}
.ranked-avatar>img{display:block;flex:none}
.ranked-avatar .rank-medal-anchor{position:absolute;right:-8%;bottom:-8%;width:49%;aspect-ratio:1;display:block;margin:0;line-height:0;z-index:2;pointer-events:none}
.ranked-avatar .rank-medal-anchor:empty{display:none}
.ranked-avatar .rank-medal{display:block;width:100%;height:100%;max-width:none;object-fit:contain;border:0;border-radius:0;background:transparent;box-shadow:none;margin:0;filter:drop-shadow(0 1px 2px #061e3f55)}
.ranked-avatar-dashboard{margin-right:9px!important}
.ranked-avatar-profile{margin-bottom:12px!important}
.ranked-avatar-top{cursor:pointer;margin-right:4px!important}
.ranked-avatar-top:focus-visible{outline:2px solid #1262b5;outline-offset:6px;border-radius:14px}
.ranked-avatar-network{margin-bottom:6px!important}
.grade-emblem.has-rank-medal{width:104px;height:104px;border:0;background:none;border-radius:0}
.grade-symbol.has-rank-medal{width:48px;height:48px;background:none;border-radius:0}
.grade-medal{display:block;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 2px 3px #061e3f33)}
.grade-row{grid-template-columns:48px minmax(0,1fr) auto}

/* V42 — badges de grade plus grands, lisibles sur n'importe quelle photo */
.ranked-avatar .rank-medal-anchor{
  right:-15%;bottom:-13%;width:62%;
  display:grid;place-items:center;
  padding:2px;border-radius:50%;
  border:3px solid #fff;
  background:#0b3f8a;
  box-shadow:0 0 0 2px #082d63,0 7px 16px rgba(4,27,62,.34);
  overflow:hidden;
}
.ranked-avatar .rank-medal-anchor.rank-level-1{background:#0b4aa2;box-shadow:0 0 0 2px #f4bf3a,0 7px 16px rgba(4,27,62,.34)}
.ranked-avatar .rank-medal-anchor.rank-level-2{background:#7f171c;box-shadow:0 0 0 2px #e7b62f,0 7px 16px rgba(63,8,12,.32)}
.ranked-avatar .rank-medal-anchor.rank-level-3{background:#9b2514;box-shadow:0 0 0 2px #ffd45a,0 7px 16px rgba(74,13,7,.32)}
.ranked-avatar .rank-medal-anchor.rank-level-4{background:#073f78;box-shadow:0 0 0 2px #9edcff,0 7px 16px rgba(3,31,65,.36)}
.ranked-avatar .rank-medal{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 2px 2px rgba(0,0,0,.28))}
.ranked-avatar-dashboard .rank-medal-anchor{width:66%;right:-18%;bottom:-14%}
.ranked-avatar-profile .rank-medal-anchor{width:60%;right:-13%;bottom:-10%;border-width:4px}
.ranked-avatar-top .rank-medal-anchor{width:68%;right:-20%;bottom:-18%;border-width:2px;padding:1px}
.ranked-avatar-network .rank-medal-anchor,.ranked-avatar-performance .rank-medal-anchor,.ranked-avatar-list .rank-medal-anchor{width:56%;right:-12%;bottom:-10%;border-width:2px}
.grade-emblem.has-rank-medal{width:118px;height:118px;padding:7px;border-radius:50%;background:#0b3f8a;border:5px solid #fff;box-shadow:0 0 0 3px #0b3f8a,0 12px 28px rgba(7,38,82,.23)}
.grade-symbol.has-rank-medal{width:56px;height:56px;padding:3px;border-radius:50%;background:#0b3f8a;border:3px solid #fff;box-shadow:0 0 0 2px #0b3f8a}
.grade-medal{filter:drop-shadow(0 2px 2px rgba(0,0,0,.25))}
@media(max-width:640px){
  .ranked-avatar-dashboard .rank-medal-anchor{width:70%;right:-20%;bottom:-16%}
  .ranked-avatar-profile .rank-medal-anchor{width:62%}
  .grade-emblem.has-rank-medal{width:108px;height:108px}
}

/* V43 — Gains multiniveaux : cumul actuel, total historique et filtres. */
.unilevel-summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:18px}.unilevel-metric{padding:20px;display:flex;flex-direction:column;gap:6px}.unilevel-metric>span{font-weight:800;color:var(--muted);font-size:13px}.unilevel-metric>strong{font-size:26px;line-height:1.1;color:var(--blue-800);overflow-wrap:anywhere}.unilevel-metric>strong small{font-size:12px}.unilevel-metric>small{color:var(--muted)}.unilevel-history-head{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:18px}.unilevel-history-head p{margin:4px 0 0;color:var(--muted)}.unilevel-filters{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap}.unilevel-filters label{display:flex;flex-direction:column;gap:5px;font-size:12px;font-weight:800;color:var(--muted)}.unilevel-filters select,.unilevel-filters input{min-height:42px;border:1px solid var(--line);border-radius:12px;background:#fff;padding:0 12px;color:var(--text);font:inherit}.badge-success{background:#e8f7ee;color:#147a3c}@media(max-width:700px){.unilevel-summary-grid{grid-template-columns:1fr 1fr;gap:10px}.unilevel-metric{padding:15px}.unilevel-metric>strong{font-size:21px}.unilevel-history-head{flex-direction:column}.unilevel-filters{width:100%}.unilevel-filters label{flex:1 1 145px}.unilevel-filters select,.unilevel-filters input{width:100%}}


/* V44 — badges de grade redesign sans contour blanc. */
.ranked-avatar .rank-medal-anchor{background:transparent!important;box-shadow:none!important;padding:0!important;border:0!important;display:grid;place-items:center}
.rank-medal-badge{position:relative;display:grid;place-items:center;width:100%;height:100%;border-radius:50%;overflow:hidden;isolation:isolate;text-align:center;font-weight:950;letter-spacing:.02em;color:#fff;text-shadow:0 1px 1px rgba(0,0,0,.28);box-shadow:0 10px 18px rgba(7,25,55,.24)}
.rank-medal-badge::before{content:'';position:absolute;inset:6%;border-radius:50%;border:2px solid rgba(255,255,255,.18)}
.rank-medal-badge::after{content:'';position:absolute;inset:0;background:radial-gradient(circle at 28% 22%,rgba(255,255,255,.28),transparent 32%),linear-gradient(180deg,rgba(255,255,255,.14),transparent 42%);pointer-events:none}
.rank-medal-glow{position:absolute;inset:9%;border-radius:50%;box-shadow:inset 0 0 0 1px rgba(255,255,255,.14)}
.rank-medal-code{position:relative;z-index:1;font-size:clamp(10px,1.4vw,15px);line-height:1;font-weight:950}
.rank-tone-elite{background:linear-gradient(145deg,#0a57b7,#0d2f7a 60%,#051d4d);box-shadow:0 10px 18px rgba(5,29,77,.32),0 0 0 2px rgba(243,191,62,.92)}
.rank-tone-royal{background:linear-gradient(145deg,#a01f33,#5d0717 60%,#2d000b);box-shadow:0 10px 18px rgba(45,0,11,.32),0 0 0 2px rgba(242,182,56,.9)}
.rank-tone-crown{background:linear-gradient(145deg,#d15e08,#7f1d0d 58%,#411003);box-shadow:0 10px 18px rgba(65,16,3,.3),0 0 0 2px rgba(255,212,90,.96)}
.rank-tone-diamond{background:linear-gradient(145deg,#25a9ff,#12489d 56%,#051f4f);box-shadow:0 10px 18px rgba(5,31,79,.34),0 0 0 2px rgba(124,226,255,.95)}
.ranked-avatar-dashboard .rank-medal-anchor{width:50%;right:-8%;bottom:-7%}
.ranked-avatar-profile .rank-medal-anchor{width:46%;right:-4%;bottom:-4%}
.ranked-avatar-top .rank-medal-anchor{width:52%;right:-9%;bottom:-9%}
.ranked-avatar-network .rank-medal-anchor,.ranked-avatar-performance .rank-medal-anchor,.ranked-avatar-list .rank-medal-anchor{width:42%;right:-4%;bottom:-4%}
.grade-emblem.has-rank-medal{width:118px;height:118px;background:none;border:0;box-shadow:none;padding:0}
.grade-symbol.has-rank-medal{width:56px;height:56px;background:none;border:0;box-shadow:none;padding:0}
.grade-medal.rank-medal-badge .rank-medal-code{font-size:28px}
.grade-symbol .grade-medal.rank-medal-badge .rank-medal-code{font-size:15px}

/* V44 — page gains multiniveaux nettoyée. */
.unilevel-summary-grid{margin-bottom:14px}
.unilevel-metric{min-height:118px;justify-content:center}
.unilevel-metric>span{font-size:14px;color:var(--text);font-weight:900}
.unilevel-metric>strong{font-size:28px}
.unilevel-metric>small{display:none}
.unilevel-history-head{align-items:center;margin-bottom:14px}
.unilevel-history-head p{display:none}
.unilevel-filters{margin-left:auto}
.unilevel-filters label{display:none}
.unilevel-filters select,.unilevel-filters input{min-width:148px;min-height:44px;font-weight:800}
@media(max-width:700px){
  .unilevel-metric{min-height:102px}
  .ranked-avatar-dashboard .rank-medal-anchor{width:48%;right:-7%;bottom:-6%}
  .ranked-avatar-top .rank-medal-anchor{width:48%;right:-8%;bottom:-8%}
}


/* V45 — nouveaux badges premium intégrés */
.ranked-avatar .rank-medal-anchor{background:transparent!important;box-shadow:none!important;padding:0!important;border:0!important;display:grid;place-items:center;overflow:visible!important}
.ranked-avatar-dashboard .rank-medal-anchor{width:58%;right:-13%;bottom:-11%}
.ranked-avatar-profile .rank-medal-anchor{width:54%;right:-8%;bottom:-7%}
.ranked-avatar-top .rank-medal-anchor{width:58%;right:-14%;bottom:-13%}
.ranked-avatar-network .rank-medal-anchor,.ranked-avatar-performance .rank-medal-anchor,.ranked-avatar-list .rank-medal-anchor{width:48%;right:-8%;bottom:-7%}
.rank-medal-image{display:block;width:100%;height:100%;object-fit:contain;filter:none!important;background:transparent}
.grade-emblem.has-rank-medal{width:124px;height:124px;background:none!important;border:0!important;box-shadow:none!important;padding:0!important}
.grade-symbol.has-rank-medal{width:58px;height:58px;background:none!important;border:0!important;box-shadow:none!important;padding:0!important}
.grade-medal.rank-medal-image{width:100%;height:100%;object-fit:contain;filter:none!important}
@media(max-width:640px){
  .ranked-avatar-dashboard .rank-medal-anchor{width:62%;right:-16%;bottom:-13%}
  .ranked-avatar-profile .rank-medal-anchor{width:56%;right:-9%;bottom:-8%}
  .grade-emblem.has-rank-medal{width:112px;height:112px}
}


/* V46 — badges libres, plus grands, plus bas et légèrement dans le profil */
.ranked-avatar .rank-medal-anchor{overflow:visible!important}
.ranked-avatar-dashboard .rank-medal-anchor{width:72%!important;right:-2%!important;bottom:-4%!important}
.ranked-avatar-profile .rank-medal-anchor{width:68%!important;right:-1%!important;bottom:-3%!important}
.ranked-avatar-top .rank-medal-anchor{width:72%!important;right:-3%!important;bottom:-4%!important}
.ranked-avatar-network .rank-medal-anchor,.ranked-avatar-performance .rank-medal-anchor,.ranked-avatar-list .rank-medal-anchor{width:60%!important;right:-2%!important;bottom:-3%!important}
.rank-medal-image{display:block;width:100%;height:100%;object-fit:contain;background:transparent!important;mix-blend-mode:normal}
@media(max-width:640px){
  .ranked-avatar-dashboard .rank-medal-anchor{width:74%!important;right:-3%!important;bottom:-5%!important}
  .ranked-avatar-profile .rank-medal-anchor{width:70%!important;right:-2%!important;bottom:-4%!important}
  .ranked-avatar-top .rank-medal-anchor{width:74%!important;right:-4%!important;bottom:-5%!important}
}


/* V47 — badge encore plus grand, plus extérieur, intégré au source code */
.ranked-avatar .rank-medal-anchor{overflow:visible!important}
.ranked-avatar-dashboard .rank-medal-anchor{width:90%!important;right:-24%!important;bottom:-8%!important}
.ranked-avatar-profile .rank-medal-anchor{width:86%!important;right:-21%!important;bottom:-7%!important}
.ranked-avatar-top .rank-medal-anchor{width:92%!important;right:-26%!important;bottom:-10%!important}
.ranked-avatar-network .rank-medal-anchor,.ranked-avatar-performance .rank-medal-anchor,.ranked-avatar-list .rank-medal-anchor{width:74%!important;right:-16%!important;bottom:-7%!important}
.rank-medal-image{display:block;width:100%;height:100%;object-fit:contain;background:transparent!important;filter:none!important}
@media(max-width:640px){
  .ranked-avatar-dashboard .rank-medal-anchor{width:92%!important;right:-26%!important;bottom:-9%!important}
  .ranked-avatar-profile .rank-medal-anchor{width:88%!important;right:-23%!important;bottom:-8%!important}
  .ranked-avatar-top .rank-medal-anchor{width:94%!important;right:-28%!important;bottom:-10%!important}
}


/* V48 — position finale : un peu plus à droite, plus bas, badge plus grand, aucun badge sur le petit profil en haut à droite */
.ranked-avatar-dashboard .rank-medal-anchor{width:108%!important;right:-34%!important;bottom:-13%!important}
.ranked-avatar-profile .rank-medal-anchor{width:104%!important;right:-30%!important;bottom:-12%!important}
.ranked-avatar-network .rank-medal-anchor,.ranked-avatar-performance .rank-medal-anchor,.ranked-avatar-list .rank-medal-anchor{width:86%!important;right:-22%!important;bottom:-10%!important}
.ranked-avatar-top .rank-medal-anchor{display:none!important}
@media(max-width:640px){
  .ranked-avatar-dashboard .rank-medal-anchor{width:110%!important;right:-36%!important;bottom:-14%!important}
  .ranked-avatar-profile .rank-medal-anchor{width:106%!important;right:-32%!important;bottom:-13%!important}
  .ranked-avatar-network .rank-medal-anchor,.ranked-avatar-performance .rank-medal-anchor,.ranked-avatar-list .rank-medal-anchor{width:88%!important;right:-24%!important;bottom:-11%!important}
}


/* V51 — balanced photo/badge group and stacked member identity. */
.dashboard-profile{--profile-photo-size:82px;--profile-inset:18px;position:relative;overflow:hidden}
.dashboard-profile .dashboard-identity{padding-left:0;flex:1;min-width:0}
.dashboard-profile .ranked-avatar-dashboard{position:static;isolation:auto}
.dashboard-profile .ranked-avatar-dashboard:has(.rank-medal-anchor:not(:empty)){margin-right:calc(var(--profile-photo-size)*.66)!important}
.dashboard-profile .ranked-avatar-dashboard .rank-medal-anchor{
  width:calc(var(--profile-photo-size)*1.08)!important;
  left:calc(var(--profile-inset) + var(--profile-photo-size)*.68);
  right:auto!important;bottom:calc(6px + var(--profile-photo-size)*var(--badge-bottom-trim,-.109))!important;
}
.dashboard-profile .dashboard-name-row h1{min-width:0;overflow-wrap:anywhere}
.dashboard-profile .dashboard-meta>span{max-width:100%;overflow-wrap:anywhere}
@media(max-width:760px){
  .dashboard-profile{--profile-photo-size:68px;--profile-inset:14px}
}
@media(max-width:430px){
  .dashboard-profile{--profile-photo-size:62px}
}

.dashboard-profile .rank-level-1{--badge-bottom-trim:-.08957}
.dashboard-profile .rank-level-2{--badge-bottom-trim:-.11368}
.dashboard-profile .rank-level-3{--badge-bottom-trim:-.10249}
.dashboard-profile .rank-level-4{--badge-bottom-trim:-.10938}
/* Preserve the existing position in the profile editor. */
.ranked-avatar-profile .rank-medal-anchor{width:104%!important;right:-40%!important;bottom:-18%!important}
@media(max-width:640px){
  .ranked-avatar-profile .rank-medal-anchor{width:104%!important;right:-38%!important;bottom:-16%!important}
}

/* The identifier and grade each have their own line. Long names grow the card. */
.dashboard-profile .dashboard-meta{flex-direction:column;align-items:flex-start;gap:6px;margin-top:6px}
.dashboard-profile .dashboard-rank{white-space:normal;overflow:visible;text-overflow:clip;line-height:1.25}
.dashboard-profile .dashboard-name-row{align-items:flex-start}
.dashboard-profile .dashboard-verified{margin-top:2px}


/* V53 — Elite Director: master image recut cleanly, no internal crop. */
.rank-level-1{overflow:visible!important}
.rank-level-1 .rank-medal-image{display:block!important;width:100%!important;height:100%!important;max-width:none!important;object-fit:contain!important;object-position:center!important;clip-path:none!important;mask:none!important}
.maintenance-stock-note,.maintenance-rank-breakdown{font-size:13px;line-height:1.55;color:var(--muted)}
.maintenance-stock-note strong,.maintenance-rank-breakdown strong{color:var(--text)}

/* V56 — généalogie : aucune médaille de grade sur les photos de profil. */
.net-profile > .net-photo{margin-bottom:6px}


/* V58 — maintenance compacte, popup produit et ouverture rapide */
.maintenance-clean{padding-top:18px}.maintenance-compact-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}.maintenance-back-mini{width:42px;height:42px;border:0;border-radius:13px;background:#eef4fb;color:#174d91;font-size:23px;font-weight:900;display:grid;place-items:center;cursor:pointer}.maintenance-mini-status{display:flex;align-items:center;gap:8px}.maintenance-requirement-chip{font-size:11px;font-weight:850;color:#53667f;background:#eef3f8;border:1px solid #e1e8f1;border-radius:999px;padding:7px 10px;white-space:nowrap}.maintenance-state-dot{min-width:34px;height:30px;padding:0 8px;border-radius:999px;display:grid;place-items:center;font-size:11px;font-weight:900}.maintenance-state-dot.ok{background:#e8f8ef;color:#167548;border:1px solid #c9ead7}.maintenance-state-dot.pending{background:#fff4e5;color:#985a00;border:1px solid #f4d7a7}.maintenance-products-clean{margin:0 0 18px}.maintenance-form-clean{margin-top:0;padding-top:14px}.maintenance-form-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:13px}.maintenance-form-head h3{margin:0;font-size:19px}.maintenance-progress-mini{font-size:11px;font-weight:900;color:#835300;background:#fff2d9;border:1px solid #f0d4a2;border-radius:999px;padding:6px 9px}.maintenance-empty-stock{display:flex;align-items:center;gap:10px;padding:18px 16px;border-top:1px solid var(--line);color:#77869a}.maintenance-empty-stock span{width:30px;height:30px;border-radius:9px;background:#f1f4f8;display:grid;place-items:center}.maintenance-empty-stock strong{font-size:13px;color:#59687b}.maintenance-history-title{margin-top:28px}.product-dialog-backdrop{position:fixed;inset:0;z-index:12000;background:rgba(10,24,46,.58);backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;padding:18px}.product-dialog{position:relative;width:min(410px,100%);background:#fff;border-radius:24px;padding:26px 22px 22px;box-shadow:0 28px 80px rgba(0,0,0,.28);text-align:center;animation:productDialogIn .18s ease-out}.product-dialog-x{position:absolute;top:14px;right:14px;width:36px;height:36px;border:0;border-radius:50%;background:#f2f5f9;color:#37475b;font-size:25px;line-height:1;display:grid;place-items:center;cursor:pointer}.product-dialog-x:active{transform:scale(.96)}.product-dialog-icon{width:52px;height:52px;margin:0 auto 14px;border-radius:16px;background:#fff0e8;color:#c45222;display:grid;place-items:center;font-size:28px;font-weight:950}.product-dialog h3{margin:0 0 9px;font-size:21px;color:#15243a}.product-dialog p{margin:0 auto 20px;max-width:330px;color:#68788d;font-size:13px;line-height:1.55}.product-dialog-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.product-dialog-actions .btn{margin:0;min-height:46px}@keyframes productDialogIn{from{opacity:0;transform:translateY(8px) scale(.985)}to{opacity:1;transform:none}}@media(max-width:420px){.maintenance-clean{padding:16px}.product-dialog{padding:24px 18px 18px}.product-dialog-actions{grid-template-columns:1fr}}

/* V59 — maintenance stricte */
.maintenance-state-dot.inactive{background:#ffe9e9;color:#b4232f;border:1px solid #f2b7bc;min-width:68px}.maintenance-inactive{border-left-width:6px}.maintenance-closed{margin:12px 0 20px;padding:13px 15px;border-radius:13px;background:#f3f5f8;color:#6f7d90;font-weight:800;text-align:center}.account-information dd{font-weight:750}

/* V60 — finition visuelle membre : montants, noms et généalogie. */
.page-head p,.network-members>p{display:none!important}
.page-head{align-items:center}
.network-members h2{margin-bottom:16px}
.network-member-table small{margin:3px 0 0}
.network-sponsor-cell strong{display:block;max-width:210px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#172033}
.network-sponsor-cell small{white-space:nowrap}

/* Tous les montants hors tableau de bord sont verts. Les valeurs négatives restent rouges. */
#page .money,
#page .program-total,
#page .unilevel-metric>strong,
#page #withdraw-tax,
#page #withdraw-fee,
#page #withdraw-net{color:var(--success)!important}
#page .balance-hero .balance-amount{color:#72e5a4!important}
.dashboard-compact .kpi-mini strong{color:#172033!important}
.dashboard-compact .team-volume strong{color:var(--blue-800)!important}

/* Le nom du tableau de bord tient toujours sur une seule ligne. */
.dashboard-profile .dashboard-name-row{min-width:0;flex-wrap:nowrap}
.dashboard-profile .dashboard-name-row h1{min-width:0;max-width:100%;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;overflow-wrap:normal!important;word-break:normal!important}
.dashboard-profile .dashboard-name-row h1.dashboard-name-medium{font-size:19px}
.dashboard-profile .dashboard-name-row h1.dashboard-name-long{font-size:16px}

/* Barre supérieure plus propre sur téléphone : davantage de place au titre. */
@media(max-width:560px){
  .topbar{gap:10px;padding-left:14px;padding-right:12px}
  .topbar .page-title{max-width:145px;font-size:16px}
  .id-chip{padding-left:9px;padding-right:9px}
  .dashboard-profile .dashboard-name-row h1.dashboard-name-medium{font-size:14.5px}
  .dashboard-profile .dashboard-name-row h1.dashboard-name-long{font-size:12.5px}
  .network-member-table{min-width:650px}
  .network-member-table td:nth-child(2){min-width:210px}
  .network-member-table td:last-child{min-width:190px}
}
@media(max-width:390px){
  .topbar .page-title{max-width:130px;font-size:15px}
}


/* V64 — Grades sans logos, message de progression premium et popup à action unique. */
.grade-story-card{position:relative;overflow:hidden;padding:28px 24px 24px;border-radius:26px;background:linear-gradient(145deg,#0f3568 0%,#155da8 58%,#1f79c7 100%);color:#fff;box-shadow:0 18px 48px rgba(18,63,113,.18);margin-bottom:18px}
.grade-story-card::before{content:"";position:absolute;width:210px;height:210px;border-radius:50%;right:-85px;top:-105px;background:rgba(255,255,255,.08)}
.grade-story-card::after{content:"";position:absolute;width:150px;height:150px;border-radius:50%;left:-80px;bottom:-100px;background:rgba(142,224,187,.10)}
.grade-story-card>*{position:relative;z-index:1}
.grade-story-kicker{display:inline-flex;align-items:center;min-height:28px;padding:0 11px;border:1px solid rgba(255,255,255,.24);border-radius:999px;background:rgba(255,255,255,.10);font-size:11px;font-weight:850;letter-spacing:.04em;text-transform:uppercase}
.grade-story-card h2{margin:18px 0 10px;font-size:30px;line-height:1.1;letter-spacing:-.02em}
.grade-story-message{margin:0;color:rgba(255,255,255,.90);font-size:14px;line-height:1.72;max-width:650px}
.grade-story-message strong{color:#fff;font-weight:900}
.grade-story-progress{margin-top:22px;padding-top:18px;border-top:1px solid rgba(255,255,255,.18)}
.grade-story-progress>div{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px;font-size:12px;font-weight:800;color:rgba(255,255,255,.88)}
.grade-story-progress>div strong{font-size:13px;color:#fff;white-space:nowrap}
.grade-story-progress progress{appearance:none;display:block;width:100%;height:8px;border:0;border-radius:999px;overflow:hidden;background:rgba(255,255,255,.20)}
.grade-story-progress progress::-webkit-progress-bar{background:rgba(255,255,255,.20)}
.grade-story-progress progress::-webkit-progress-value{background:linear-gradient(90deg,#8ee0bb,#d8f7e9);border-radius:999px}
.grade-story-progress progress::-moz-progress-bar{background:#8ee0bb;border-radius:999px}
.grade-story-encourage{margin:18px 0 0;padding:14px 15px;border-radius:15px;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.14);color:#fff;font-size:13px;line-height:1.55}
.grade-story-action{margin-top:16px;min-height:44px;padding:0 18px;border:1px solid rgba(255,255,255,.38);border-radius:13px;background:rgba(255,255,255,.12);color:#fff;font:inherit;font-size:13px;font-weight:850;cursor:pointer}
.grade-ladder{display:grid;gap:12px}
.grade-step{position:relative;display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:14px;padding:18px;background:#fff;border:1px solid #e2eaf4;border-radius:18px;box-shadow:0 8px 24px rgba(25,54,93,.045)}
.grade-step-number{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;background:#edf4fc;color:#185aa0;font-size:16px;font-weight:950}
.grade-step h3{margin:0;font-size:16px;color:#172033}.grade-step small{display:block;margin-top:4px;color:#7a8798;font-size:11px}.grade-step>strong{font-size:22px;color:#1a5d9f;white-space:nowrap}
.grade-step.is-current{border-color:#b9e5ce;background:#f7fcf9}.grade-step.is-current .grade-step-number{background:#e3f7ec;color:#18754b}.grade-current-label{position:absolute;right:14px;top:9px;padding:3px 7px;border-radius:999px;background:#e3f7ec;color:#18754b;font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.04em}
.product-dialog-single-action .product-dialog-actions{grid-template-columns:1fr}.product-dialog-single-action .product-dialog-actions .btn{min-height:52px;font-size:15px;font-weight:900}
@media(max-width:560px){.grade-story-card{padding:24px 20px 21px;border-radius:22px}.grade-story-card h2{font-size:27px}.grade-story-message{font-size:13.5px}.grade-step{grid-template-columns:40px minmax(0,1fr) auto;padding:16px 14px;gap:11px}.grade-step-number{width:40px;height:40px}.grade-step h3{font-size:15px}.grade-step>strong{font-size:20px}.grade-current-label{display:none}}


/* V67 — confirmation visuelle professionnelle après envoi d'un retrait. */
.withdraw-success-backdrop{position:fixed;inset:0;z-index:13000;background:rgba(12,26,48,.48);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:20px;animation:withdrawSuccessFade .18s ease-out}
.withdraw-success-card{position:relative;width:min(390px,100%);background:#fff;border-radius:26px;padding:34px 26px 30px;text-align:center;box-shadow:0 30px 90px rgba(8,25,54,.28);animation:withdrawSuccessCardIn .22s ease-out}
.withdraw-success-close{position:absolute;top:16px;right:16px;width:42px;height:42px;border:0;border-radius:50%;background:#f2f6fb;color:#4f6075;font-size:30px;line-height:1;display:grid;place-items:center;cursor:pointer;font-weight:500;box-shadow:none}
.withdraw-success-close:active{transform:scale(.96)}
.withdraw-success-visual{position:relative;width:82px;height:82px;margin:0 auto 20px;border-radius:50%;display:grid;place-items:center;background:#effaf4}
.withdraw-success-spinner{width:58px;height:58px;border:5px solid #d7f1e3;border-top-color:#16935b;border-right-color:#16935b;border-radius:50%;animation:withdrawSpin .72s linear infinite;transition:opacity .18s ease,transform .18s ease}
.withdraw-success-check{position:absolute;inset:0;display:grid;place-items:center;color:#16935b;font-size:43px;font-weight:950;opacity:0;transform:scale(.55);transition:opacity .22s ease,transform .3s cubic-bezier(.2,.9,.25,1.35)}
.withdraw-success-card h3{margin:0 0 10px;color:#16233a;font-size:25px;line-height:1.15;letter-spacing:-.02em}
.withdraw-success-card p{margin:0 auto;max-width:320px;color:#68778b;font-size:14px;line-height:1.65}
.withdraw-success-backdrop.is-confirmed .withdraw-success-spinner{opacity:0;transform:scale(.72)}
.withdraw-success-backdrop.is-confirmed .withdraw-success-check{opacity:1;transform:scale(1)}
@keyframes withdrawSpin{to{transform:rotate(360deg)}}
@keyframes withdrawSuccessFade{from{opacity:0}to{opacity:1}}
@keyframes withdrawSuccessCardIn{from{opacity:0;transform:translateY(10px) scale(.985)}to{opacity:1;transform:none}}
@media(max-width:420px){.withdraw-success-card{padding:30px 22px 27px;border-radius:24px}.withdraw-success-card h3{font-size:23px}.withdraw-success-card p{font-size:13.5px}.withdraw-success-visual{width:76px;height:76px}.withdraw-success-spinner{width:54px;height:54px}}
@media(prefers-reduced-motion:reduce){.withdraw-success-spinner{animation:none}.withdraw-success-backdrop,.withdraw-success-card{animation:none}}
