[hidden]{display:none!important}
:root{--bg:#02070d;--panel:#07131f;--panel2:#0a1b2b;--line:rgba(38,151,255,.32);--blue:#078cff;--cyan:#21c5ff;--text:#f4f8fc;--muted:#9eafc1;--glow:0 0 26px rgba(0,132,255,.42)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(circle at 72% 10%,#08223b 0,transparent 28%),var(--bg);color:var(--text);font-family:Inter,Arial,sans-serif;overflow-x:hidden}.noise{position:fixed;inset:0;pointer-events:none;opacity:.025;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.5'/%3E%3C/svg%3E")}.site-header{height:86px;padding:0 3.5vw;display:grid;grid-template-columns:220px 1fr auto;align-items:center;gap:28px;position:absolute;z-index:10;width:100%;background:linear-gradient(#01060b,rgba(1,6,11,.78),transparent);border-bottom:1px solid rgba(31,146,255,.08)}.brand{text-decoration:none;color:white;display:inline-flex;flex-direction:column;line-height:.9;width:max-content}.brand-main{font-family:Orbitron,sans-serif;font-size:25px;letter-spacing:2px}.brand-main span,.brand small{color:var(--blue)}.brand small{font-size:8px;letter-spacing:9px;margin-top:8px;text-align:center}.main-nav{display:flex;justify-content:center;gap:34px}.main-nav a{color:#e4eaf1;text-decoration:none;text-transform:uppercase;font-weight:700;font-size:12px;padding:34px 0 20px;border-bottom:2px solid transparent}.main-nav a:hover,.main-nav a.active{color:var(--cyan);border-color:var(--blue)}.header-actions{display:flex;gap:12px}.btn{border:1px solid rgba(64,159,255,.48);border-radius:8px;padding:12px 20px;background:transparent;color:white;text-transform:uppercase;font-weight:800;font-size:12px;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:16px;transition:.25s}.btn:hover{transform:translateY(-2px);border-color:var(--cyan)}.btn-primary{background:linear-gradient(135deg,#13b9ff,#0068f5);box-shadow:var(--glow)}.btn-ghost{background:rgba(3,13,22,.58)}.btn-large{padding:15px 22px}.menu-toggle{display:none;background:none;border:0;color:white;font-size:25px}.hero{min-height:760px;padding:145px 4vw 70px;position:relative;display:grid;grid-template-columns:minmax(0,1fr) 260px;align-items:center;isolation:isolate;overflow:hidden}.hero-backdrop{position:absolute;inset:0;z-index:-2;background:radial-gradient(circle at 74% 38%,rgba(0,132,255,.18),transparent 28%),linear-gradient(90deg,#02070d 0%,rgba(2,7,13,.97) 34%,rgba(2,7,13,.62) 50%,rgba(2,7,13,.08) 72%,rgba(2,7,13,.42) 100%)}.hero-backdrop:after{content:"";position:absolute;top:86px;right:0;bottom:0;width:68%;background-image:linear-gradient(90deg,rgba(2,7,13,.95) 0%,rgba(2,7,13,.38) 22%,rgba(2,7,13,.04) 55%,rgba(2,7,13,.24) 100%),url('hero-cover.png');background-repeat:no-repeat;background-size:auto 112%;background-position:68% 42%;filter:saturate(1.08) contrast(1.04);mask-image:linear-gradient(90deg,transparent 0%,#000 16%,#000 100%);-webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 16%,#000 100%)}.hero:after{content:"";position:absolute;inset:auto 0 0;height:160px;z-index:-1;background:linear-gradient(transparent,var(--bg))}.hero-content{max-width:610px}.eyebrow{display:inline-flex;align-items:center;gap:12px;border:1px solid rgba(42,151,255,.28);border-radius:30px;padding:9px 15px;text-transform:uppercase;font-weight:700;font-size:12px;background:rgba(2,13,24,.65)}.eyebrow i{width:11px;height:11px;border-radius:50%;background:var(--blue);box-shadow:0 0 14px var(--blue)}.hero-slogan{font-family:Orbitron,sans-serif;text-transform:uppercase;font-size:clamp(38px,4.5vw,66px);line-height:1.12;margin:30px 0 20px;letter-spacing:-1px;max-width:720px;text-shadow:0 8px 34px rgba(0,0,0,.8)}.hero-slogan em{font-style:normal;color:var(--blue)}h2{font-family:Orbitron,sans-serif;text-transform:uppercase;font-size:clamp(28px,3vw,43px);line-height:1.25;margin:28px 0 18px}h2 em{font-style:normal;color:var(--blue)}.hero-content>p,.offers p,.about p{color:var(--muted);font-size:17px;line-height:1.75;max-width:620px}.hero-actions{display:flex;gap:18px;margin-top:28px}.hero-side{align-self:end;display:grid;gap:18px}.glass-card{background:linear-gradient(145deg,rgba(6,30,50,.86),rgba(2,9,16,.82));border:1px solid var(--line);box-shadow:inset 0 0 30px rgba(0,113,255,.08),0 20px 70px rgba(0,0,0,.35);border-radius:14px;padding:18px;backdrop-filter:blur(10px)}.card-kicker{text-transform:uppercase;color:#4db8ff;font-size:12px;font-weight:800;display:flex;justify-content:space-between}.ring{width:112px;height:112px;border-radius:50%;margin:20px auto 12px;display:grid;place-items:center;background:radial-gradient(circle,#06111e 57%,transparent 59%),conic-gradient(var(--blue) 0 87%,#113452 87%);box-shadow:0 0 24px rgba(0,135,255,.32)}.ring strong{font-size:28px}.accuracy-card p{text-align:center;text-transform:uppercase;font-size:9px;color:#afc8df}.competitions-card ul{list-style:none;padding:4px 0;margin:10px 0}.competitions-card li{font-size:10px;padding:8px 0;border-bottom:1px solid rgba(255,255,255,.05);text-transform:uppercase}.competitions-card li span{display:inline-block;width:24px;color:white}.competitions-card a{font-size:10px;color:var(--blue);text-decoration:none;text-transform:uppercase;float:right}.metrics{margin:-28px 3vw 0;position:relative;z-index:3;display:grid;grid-template-columns:repeat(5,1fr);border:1px solid var(--line);background:linear-gradient(180deg,rgba(8,28,45,.95),rgba(3,12,20,.96));clip-path:polygon(2% 0,98% 0,100% 25%,100% 75%,98% 100%,2% 100%,0 75%,0 25%);padding:18px 28px}.metrics article{display:flex;align-items:center;justify-content:center;gap:14px;min-height:72px;border-right:1px solid rgba(83,151,207,.28)}.metrics article:last-child{border-right:0}.metric-icon{font-size:28px;color:#8dd5ff;text-shadow:0 0 14px var(--blue)}.metrics strong{display:block;color:var(--blue);font-size:28px}.metrics small{text-transform:uppercase;font-size:10px;color:#d7e3ef}.features{padding:26px 3vw 70px;display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.feature-card{min-height:230px;position:relative;overflow:hidden;padding:28px;border:1px solid rgba(53,136,207,.28);background:linear-gradient(145deg,#081826,#030b13);clip-path:polygon(4% 0,96% 0,100% 12%,100% 88%,96% 100%,4% 100%,0 88%,0 12%)}.feature-heading{display:flex;align-items:center;gap:14px}.feature-heading span{color:var(--blue);font-size:22px}.feature-heading h3{text-transform:uppercase;font-size:14px}.feature-card p{color:var(--muted);font-size:13px;line-height:1.65;max-width:70%}.bars{position:absolute;right:28px;bottom:28px;height:80px;display:flex;gap:7px;align-items:end}.bars i{width:12px;border:1px solid var(--blue);background:linear-gradient(transparent,rgba(0,116,255,.35))}.bars i:nth-child(1){height:20%}.bars i:nth-child(2){height:44%}.bars i:nth-child(3){height:68%}.bars i:nth-child(4){height:42%}.bars i:nth-child(5){height:100%}.picks{position:absolute;right:25px;bottom:25px;width:170px;border:1px solid rgba(53,136,207,.28);border-radius:8px;background:#06121e;padding:10px}.picks b,.picks span{display:block;font-size:10px;padding:6px}.picks b{color:#69c3ff;text-transform:uppercase}.picks em{color:var(--blue);font-style:normal;float:right;margin-right:10px}.phone{position:absolute;right:32px;bottom:-18px;width:108px;height:155px;border:4px solid #0d2c47;border-radius:22px 22px 0 0;background:#020813;display:flex;flex-direction:column;align-items:center;padding-top:24px;box-shadow:0 0 24px rgba(0,128,255,.24)}.phone span,.phone b{color:var(--blue);font-size:24px}.phone strong{margin-top:12px}.phone small{color:#4aaeff;margin-top:8px}.offers,.about{margin:0 3vw 70px;border:1px solid rgba(41,146,230,.24);background:linear-gradient(130deg,rgba(7,26,43,.95),rgba(2,8,14,.95));padding:50px;border-radius:18px}.offers{display:grid;grid-template-columns:1.4fr .8fr;gap:50px;align-items:center}.offers h2,.about h2{font-size:clamp(27px,4vw,48px);max-width:850px}.price-card{border:1px solid var(--line);padding:28px;border-radius:16px;background:rgba(3,12,21,.8);box-shadow:var(--glow)}.price-card>small{color:var(--cyan);text-transform:uppercase}.price-card>strong{font-size:38px;display:block;margin:15px 0}.price-card>strong span{font-size:13px;color:var(--muted)}.price-card ul{padding-left:20px;color:var(--muted);line-height:2}.price-card .btn{width:100%}.about{text-align:center}.about .eyebrow{margin:auto}.about p{margin:auto}footer{border-top:1px solid rgba(33,140,224,.25);padding:36px 4vw;display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:2px}.footer-brand{transform:scale(.8);transform-origin:left}footer a{color:#64bcff;text-decoration:none}dialog{width:min(440px,92vw);border:1px solid var(--line);border-radius:16px;background:#06121e;color:white;padding:34px;box-shadow:0 0 80px rgba(0,123,255,.26)}dialog::backdrop{background:rgba(0,4,8,.82);backdrop-filter:blur(8px)}.modal-close{position:absolute;right:15px;top:10px;border:0;background:none;color:white;font-size:27px;cursor:pointer}.modal-logo{font-family:Orbitron;font-weight:800;font-size:22px}.modal-logo span{color:var(--blue)}dialog h2{font-size:25px}dialog p{color:var(--muted)}dialog label{display:block;font-size:12px;text-transform:uppercase;margin:15px 0}dialog input{display:block;width:100%;margin-top:8px;padding:14px;border:1px solid var(--line);border-radius:8px;background:#020a12;color:white}dialog form .btn{width:100%;margin-top:12px}
@media(max-width:1000px){.hero-backdrop:after{width:82%;background-size:auto 108%;background-position:68% 40%;opacity:.72}.site-header{grid-template-columns:1fr auto}.main-nav{position:absolute;top:86px;left:0;right:0;display:none;flex-direction:column;background:#030b12;padding:20px 5vw;gap:0}.main-nav.open{display:flex}.main-nav a{padding:14px 0}.header-actions{display:none}.menu-toggle{display:block}.hero{grid-template-columns:1fr}.hero-side{display:none}.metrics{grid-template-columns:repeat(2,1fr);clip-path:none;border-radius:12px}.metrics article:nth-child(even){border-right:0}.features{grid-template-columns:1fr}.offers{grid-template-columns:1fr}.feature-card p{max-width:62%}}
@media(max-width:640px){.site-header{height:72px}.hero{padding:112px 22px 55px;min-height:720px;align-items:end}.hero-backdrop:after{top:72px;width:100%;height:54%;bottom:auto;background-size:auto 118%;background-position:63% 36%;opacity:.9;mask-image:linear-gradient(180deg,#000 0%,#000 70%,transparent 100%);-webkit-mask-image:linear-gradient(180deg,#000 0%,#000 70%,transparent 100%)}.hero-content{background:linear-gradient(90deg,rgba(0,5,10,.93),rgba(0,5,10,.55),transparent);padding:20px 0}.hero-actions{flex-direction:column;align-items:flex-start}.hero-actions .btn{width:100%}.hero-slogan{font-size:36px;line-height:1.16}.metrics{margin:0 16px;grid-template-columns:1fr}.metrics article{border-right:0;border-bottom:1px solid rgba(83,151,207,.22)}.metrics article:last-child{border-bottom:0}.features{padding-inline:16px}.feature-card{min-height:260px}.feature-card p{max-width:100%;padding-right:0}.bars,.picks,.phone{opacity:.42}.offers,.about{margin-inline:16px;padding:28px}footer{flex-direction:column;gap:18px;text-align:center}}

/* Page statistiques */
.solid-header{position:fixed;background:rgba(1,6,11,.94);backdrop-filter:blur(18px)}
.stats-main{padding:140px 3vw 80px;min-height:100vh;background:radial-gradient(circle at 82% 4%,rgba(0,126,255,.18),transparent 25%)}
.stats-hero{display:flex;justify-content:space-between;align-items:end;gap:35px;max-width:1500px;margin:0 auto 34px;padding:42px;border:1px solid rgba(46,145,230,.28);border-radius:20px;background:linear-gradient(120deg,rgba(6,25,42,.96),rgba(2,9,16,.82)),url('hero-cover.png') center 34%/cover;position:relative;overflow:hidden}
.stats-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(2,8,14,.98) 0%,rgba(2,8,14,.88) 45%,rgba(2,8,14,.25) 100%);z-index:0}.stats-hero>*{position:relative;z-index:1}.stats-hero h1{font-family:Orbitron,sans-serif;text-transform:uppercase;font-size:clamp(38px,5vw,68px);line-height:1.05;margin:24px 0 16px;max-width:850px}.stats-hero h1 em{font-style:normal;color:var(--blue)}.stats-hero p{color:var(--muted);line-height:1.7;max-width:720px}.stats-period{font-family:Orbitron,sans-serif;color:#77c9ff;border:1px solid var(--line);padding:14px 18px;border-radius:9px;background:rgba(2,13,23,.72);white-space:nowrap}
.stats-summary{max-width:1500px;margin:0 auto 28px;display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.stats-summary article{padding:22px;border:1px solid rgba(46,145,230,.25);border-radius:14px;background:linear-gradient(145deg,#081827,#030b13)}.stats-summary span,.stats-summary small{display:block;color:var(--muted);font-size:11px;text-transform:uppercase}.stats-summary strong{display:block;font-size:30px;color:#eaf6ff;margin:8px 0}.stats-summary strong.positive{color:#3ce69b}.stats-summary strong.negative{color:#ff7180}
.stats-panel{max-width:1500px;margin:auto;border:1px solid rgba(46,145,230,.25);border-radius:18px;background:rgba(4,14,24,.93);overflow:hidden}.stats-toolbar{display:flex;justify-content:space-between;align-items:end;gap:20px;padding:28px}.stats-toolbar h2{font-size:24px;margin:0 0 6px}.stats-toolbar p{margin:0;color:var(--muted);font-size:12px}.filters{display:flex;gap:8px;flex-wrap:wrap}.filter-btn,.filters select{border:1px solid rgba(51,147,230,.4);background:#061421;color:white;border-radius:8px;padding:10px 14px;font-weight:700;cursor:pointer}.filter-btn.active{background:linear-gradient(135deg,#12b9ff,#0068f5);box-shadow:0 0 20px rgba(0,126,255,.25)}.filters select{outline:none}.table-wrap{overflow-x:auto;border-top:1px solid rgba(46,145,230,.18);border-bottom:1px solid rgba(46,145,230,.18)}.predictions-table{width:100%;border-collapse:collapse;min-width:980px}.predictions-table thead tr{background:linear-gradient(90deg,#06233a 0%,#0a3a60 48%,#06233a 100%);box-shadow:inset 0 1px 0 rgba(69,180,255,.45),inset 0 -1px 0 rgba(69,180,255,.28)}.predictions-table th{padding:17px 14px;background:transparent;color:#89d4ff;text-align:left;text-transform:uppercase;font-size:10px;letter-spacing:.8px;position:static}.predictions-table td{padding:14px;border-top:1px solid rgba(255,255,255,.055);font-size:12px;color:#d7e3ed}.predictions-table tbody tr:hover{background:rgba(0,126,255,.07)}.match-cell{font-weight:700;color:white!important}.sport-tag,.result-badge{display:inline-flex;padding:6px 9px;border-radius:20px;font-size:10px;font-weight:800;text-transform:uppercase}.sport-tag.football{background:rgba(0,132,255,.14);color:#5dc2ff}.sport-tag.tennis{background:rgba(170,104,255,.14);color:#c498ff}.result-badge.won{background:rgba(37,211,131,.12);color:#46e5a0;border:1px solid rgba(37,211,131,.25)}.result-badge.lost{background:rgba(255,78,96,.12);color:#ff7180;border:1px solid rgba(255,78,96,.25)}.profit-positive{color:#46e5a0!important;font-weight:800}.profit-negative{color:#ff7180!important;font-weight:800}.stats-note{padding:20px 28px;margin:0;color:#8297aa;font-size:11px;line-height:1.6}
@media(max-width:1000px){.stats-summary{grid-template-columns:repeat(2,1fr)}.stats-hero{align-items:start;flex-direction:column}.stats-toolbar{align-items:start;flex-direction:column}.solid-header{position:absolute}}
@media(max-width:640px){.stats-main{padding:105px 16px 55px}.stats-hero{padding:26px}.stats-hero h1{font-size:36px}.stats-period{white-space:normal}.stats-summary{grid-template-columns:1fr}.stats-toolbar{padding:22px}.filters{width:100%}.filter-btn{flex:1}.filters select{width:100%}}

/* Accès VIP aux résultats */
.vip-mini{display:inline-flex;margin-left:6px;padding:3px 6px;border:1px solid rgba(255,196,66,.4);border-radius:10px;color:#ffd36a;font-size:8px;letter-spacing:.5px;vertical-align:middle}
.vip-access-bar{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0 28px 24px;padding:17px 19px;border:1px solid rgba(255,196,66,.28);border-radius:12px;background:linear-gradient(135deg,rgba(54,38,5,.42),rgba(5,18,30,.92))}
.vip-access-bar strong,.vip-access-bar span{display:block}.vip-access-bar strong{color:#ffe093;font-size:13px}.vip-access-bar span{margin-top:5px;color:#9db0c1;font-size:11px}.vip-access-bar.unlocked{border-color:rgba(48,220,146,.3);background:linear-gradient(135deg,rgba(7,58,39,.35),rgba(5,18,30,.92))}.vip-access-bar.unlocked strong{color:#54e8a7}.vip-locked-cell{min-width:92px}.vip-lock{display:inline-flex;align-items:center;gap:6px;padding:7px 10px;border:1px solid rgba(255,196,66,.22);border-radius:8px;color:#d8bc75;background:rgba(45,34,8,.35);font-size:10px;font-weight:800;letter-spacing:.4px}.vip-summary-card.locked strong{color:#d8bc75!important;font-size:20px}.filters select:disabled{opacity:.45;cursor:not-allowed}
@media(max-width:640px){.vip-access-bar{margin:0 18px 20px;align-items:flex-start;flex-direction:column}.vip-access-bar .btn{width:100%}}

/* Administration */
.admin-page{min-height:100vh}.admin-login-shell{min-height:100vh;display:grid;place-items:center;padding:30px;background:radial-gradient(circle at 50% 20%,rgba(0,132,255,.2),transparent 36%),linear-gradient(rgba(1,7,12,.76),rgba(1,7,12,.94)),url('hero-cover.png') center/cover}.admin-login-card{width:min(470px,100%);padding:38px;border:1px solid var(--line);border-radius:20px;background:rgba(3,13,22,.93);box-shadow:0 30px 100px rgba(0,0,0,.6),var(--glow);backdrop-filter:blur(18px)}.admin-login-card .brand{margin-bottom:34px}.admin-login-card h1,.admin-intro h1{font-family:Orbitron,sans-serif;text-transform:uppercase;font-size:clamp(30px,4vw,52px);margin:24px 0 12px}.admin-login-card p{color:var(--muted);line-height:1.6}.admin-login-card label,.admin-form-card label{display:block;color:#a9bdd0;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.5px;margin:16px 0}.admin-login-card input,.admin-form-card input,.admin-form-card select,.admin-search{width:100%;margin-top:8px;padding:14px;border:1px solid rgba(54,151,234,.36);border-radius:9px;background:#030c15;color:white;outline:none}.admin-login-card input:focus,.admin-form-card input:focus,.admin-form-card select:focus,.admin-search:focus{border-color:var(--cyan);box-shadow:0 0 0 3px rgba(0,140,255,.12)}.admin-login-card .btn{width:100%;margin-top:8px}.admin-back-link{display:block;text-align:center;margin-top:20px;color:#75c7ff;text-decoration:none;font-size:12px}.form-error{min-height:20px;color:#ff7180!important;font-size:12px}.admin-header{grid-template-columns:240px 1fr auto}.admin-header-title{text-align:center;font-family:Orbitron,sans-serif;text-transform:uppercase;color:#77c9ff;font-size:13px;letter-spacing:2px}.admin-main{padding:130px 3vw 70px;max-width:1550px;margin:auto}.admin-intro{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:28px;padding:34px;border:1px solid rgba(46,145,230,.28);border-radius:18px;background:linear-gradient(125deg,rgba(7,28,47,.95),rgba(2,9,16,.88))}.admin-intro p{color:var(--muted);max-width:760px;line-height:1.7}.admin-count{min-width:190px;padding:22px;border:1px solid var(--line);border-radius:14px;text-align:center;background:rgba(2,12,21,.7)}.admin-count strong{display:block;color:var(--blue);font-size:42px}.admin-count span{font-size:10px;text-transform:uppercase;color:var(--muted)}.admin-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(280px,.6fr);gap:20px;margin-bottom:20px}.admin-form-card,.admin-tools-card,.admin-list-card{border:1px solid rgba(46,145,230,.25);border-radius:18px;background:linear-gradient(145deg,#081827,#030b13);padding:28px}.admin-card-heading{display:flex;justify-content:space-between;align-items:start;gap:20px}.admin-form-card h2,.admin-tools-card h2,.admin-list-card h2{font-size:22px;margin:0 0 6px}.admin-card-heading p,.admin-tools-card>p{margin:0;color:var(--muted);font-size:12px}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:0 18px}.span-2{grid-column:span 2}.admin-form-card .btn-primary{margin-top:8px}.small-btn{padding:8px 12px}.form-message{min-height:22px;color:#50e5a4;font-size:12px}.admin-tools-card{display:flex;flex-direction:column;align-items:stretch;gap:12px}.admin-tools-card .btn{width:100%}.btn-danger{border-color:rgba(255,81,103,.45);color:#ff8795;background:rgba(91,12,24,.18)}.security-note{margin-top:10px;padding:16px;border:1px solid rgba(255,196,66,.22);border-radius:10px;background:rgba(52,37,8,.28)}.security-note strong{color:#ffe093}.security-note p{color:#9fb0c0;font-size:11px;line-height:1.6;margin-bottom:0}.admin-search{max-width:300px;margin:0}.admin-list-card{padding:0;overflow:hidden}.admin-list-card>.admin-card-heading{padding:26px}.admin-table-wrap{overflow:auto;border-top:1px solid rgba(46,145,230,.18)}.admin-table{width:100%;min-width:1050px;border-collapse:collapse}.admin-table thead{background:linear-gradient(90deg,#06233a,#0a3a60,#06233a)}.admin-table th,.admin-table td{padding:14px;text-align:left;font-size:11px;border-top:1px solid rgba(255,255,255,.055)}.admin-table th{color:#89d4ff;text-transform:uppercase;letter-spacing:.7px}.admin-actions-cell{white-space:nowrap}.admin-actions-cell button{border:0;background:none;color:#62c3ff;font-weight:800;cursor:pointer;padding:6px}.admin-actions-cell .danger-link{color:#ff7180}.result-badge.pending{background:rgba(255,196,66,.12);color:#ffd36a;border:1px solid rgba(255,196,66,.25)}.empty-state{text-align:center!important;color:var(--muted);padding:36px!important}.file-button{cursor:pointer}
@media(max-width:1000px){.admin-header{grid-template-columns:1fr auto}.admin-header-title{display:none}.admin-grid{grid-template-columns:1fr}.admin-intro{align-items:start;flex-direction:column}.admin-count{width:100%}.admin-header .header-actions{display:flex}.admin-header .header-actions a{display:none}}
@media(max-width:640px){.admin-main{padding:100px 16px 50px}.admin-login-card{padding:26px}.admin-intro,.admin-form-card,.admin-tools-card{padding:22px}.form-grid{grid-template-columns:1fr}.span-2{grid-column:auto}.admin-card-heading{flex-direction:column}.admin-search{max-width:none}.admin-list-card>.admin-card-heading{padding:22px}.admin-header .header-actions .btn{padding:10px 12px}.admin-header{padding-inline:16px}}

.signup-only[hidden]{display:none!important}.password-help{margin:-6px 0 8px!important;font-size:11px;color:#82bde8!important;text-transform:none}.form-error{min-height:18px;color:#ff7185!important;font-size:12px}dialog input:invalid:not(:placeholder-shown){border-color:#ff6078}

/* Page Analyses quotidiennes */
.analyses-page{background:#020810;color:#edf7ff;min-height:100vh}.analyses-main{padding:118px 2.2vw 70px;max-width:1500px;margin:0 auto}.analyses-hero{min-height:390px;border:1px solid #123d5d;border-radius:28px;padding:58px 4.2%;display:flex;align-items:center;justify-content:space-between;gap:40px;background:linear-gradient(90deg,rgba(2,10,18,.97),rgba(3,24,43,.76)),url('hero-cover.png') center 44%/cover;box-shadow:0 25px 80px rgba(0,92,180,.15)}.analyses-hero>div{max-width:790px}.analyses-hero h1{font-family:Orbitron,sans-serif;text-transform:uppercase;font-size:clamp(2.7rem,5.4vw,6.2rem);line-height:.98;margin:28px 0 24px}.analyses-hero h1 em{display:block;color:#149cff;font-style:normal}.analyses-hero p{max-width:700px;color:#a9bdd0;font-size:1.06rem;line-height:1.75}.daily-status-card{min-width:280px;background:rgba(2,13,24,.9);border:1px solid #18517a;border-radius:20px;padding:28px;display:grid;gap:9px;box-shadow:0 0 35px rgba(0,148,255,.1)}.daily-status-card span,.daily-status-card small{text-transform:uppercase;color:#72c8ff;font-size:.75rem;letter-spacing:.12em}.daily-status-card strong{font-family:Orbitron,sans-serif;font-size:1.12rem;line-height:1.45}.analysis-access-bar{margin:28px 0 52px;border:1px solid #17496b;border-radius:18px;padding:20px 24px;background:linear-gradient(90deg,rgba(5,26,43,.96),rgba(5,17,29,.95));display:flex;align-items:center;justify-content:space-between;gap:25px}.analysis-access-bar div{display:grid;gap:6px}.analysis-access-bar strong{color:#fff}.analysis-access-bar span{color:#93aabd;font-size:.9rem}.analysis-access-bar.active-vip{border-color:#168c67;background:linear-gradient(90deg,rgba(4,42,39,.95),rgba(5,18,28,.95))}.vip-status-pill{border:1px solid #20c88a;border-radius:999px;padding:8px 18px;color:#56e6ad!important;font-weight:800;letter-spacing:.12em}.daily-analyses-section,.recent-analysis-section{margin-top:52px}.section-heading-row{display:flex;align-items:end;justify-content:space-between;gap:25px;margin-bottom:24px}.section-heading-row h2{font-family:Orbitron,sans-serif;text-transform:uppercase;font-size:clamp(1.6rem,3vw,2.7rem);margin:13px 0 0}.analysis-filters{display:flex;gap:8px}.daily-analysis-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.daily-analysis-card{border:1px solid #123e5f;border-radius:20px;padding:24px;background:linear-gradient(145deg,rgba(6,25,41,.98),rgba(2,10,18,.98));min-height:315px;display:flex;flex-direction:column;box-shadow:0 16px 45px rgba(0,0,0,.25)}.analysis-card-top{display:flex;align-items:center;justify-content:space-between;gap:15px}.analysis-card-top time{font-size:.8rem;color:#829bb1}.daily-analysis-card h3{font-family:Orbitron,sans-serif;font-size:1.18rem;line-height:1.45;margin:25px 0 20px}.analysis-pick-reveal{border:1px solid #14649b;border-radius:15px;background:rgba(0,126,217,.09);padding:18px;display:grid;gap:8px}.analysis-pick-reveal small{color:#69c7ff;text-transform:uppercase;letter-spacing:.1em}.analysis-pick-reveal strong{font-size:1.08rem}.analysis-pick-reveal span{color:#9eb1c1}.analysis-pick-reveal b{color:#28a9ff;font-size:1.05rem}.analysis-pick-locked{border:1px dashed #2b5875;border-radius:15px;padding:18px;display:flex;gap:14px;align-items:flex-start;background:rgba(1,9,16,.55)}.lock-symbol{color:#18a4ff;font-size:1.4rem}.analysis-pick-locked div{display:grid;gap:6px}.analysis-pick-locked small{color:#8399ac;line-height:1.45}.analysis-card-footer{margin-top:auto;padding-top:20px;display:flex;justify-content:space-between;color:#7d95a8;font-size:.84rem}.analysis-card-footer b{color:#f2ca62}.analysis-empty-state{grid-column:1/-1;border:1px dashed #23465e;border-radius:20px;min-height:220px;display:grid;place-content:center;text-align:center;padding:35px;color:#8299ab}.analysis-empty-state span{font-size:2rem;color:#159eff}.analysis-empty-state h3{font-family:Orbitron,sans-serif;color:#edf7ff;margin:12px 0 8px}.recent-analysis-list{border:1px solid #113b59;border-radius:20px;overflow:hidden;background:rgba(3,13,23,.9)}.recent-analysis-item{display:grid;grid-template-columns:175px 1.25fr 1.25fr 95px 70px;gap:18px;align-items:center;padding:18px 22px;border-bottom:1px solid rgba(35,80,108,.45)}.recent-analysis-item:last-child{border-bottom:0}.recent-analysis-item>div{display:flex;align-items:center;gap:10px}.recent-analysis-item small{color:#71899c}.recent-analysis-item>span{color:#a4b8c9}.recent-analysis-item em{font-style:normal;color:#d5e7f4}.text-link{color:#42b6ff;text-decoration:none;font-weight:700}@media(max-width:1000px){.daily-analysis-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.analyses-hero{align-items:flex-end}.recent-analysis-item{grid-template-columns:145px 1fr 1fr 80px}.recent-analysis-item em{display:none}}@media(max-width:720px){.analyses-main{padding:95px 14px 45px}.analyses-hero{min-height:500px;padding:34px 24px;align-items:flex-end;display:block}.daily-status-card{min-width:0;margin-top:32px}.analysis-access-bar,.section-heading-row{align-items:flex-start;flex-direction:column}.daily-analysis-grid{grid-template-columns:1fr}.analysis-filters{width:100%;overflow:auto}.recent-analysis-item{grid-template-columns:1fr 80px;padding:18px}.recent-analysis-item>div,.recent-analysis-item>span{grid-column:1/-1}.recent-analysis-item>b{grid-column:2}.recent-analysis-item em{display:block;grid-column:1;grid-row:3}}

/* Formules VIP */
.offers{display:block}
.offers-heading{text-align:center;max-width:850px;margin:0 auto 38px}
.offers-heading .eyebrow{margin:auto}
.offers-heading p{margin-inline:auto}
.pricing-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;align-items:stretch}
.price-card{position:relative;display:flex;flex-direction:column;min-height:100%;transition:transform .25s,border-color .25s,box-shadow .25s}
.price-card:hover{transform:translateY(-6px);border-color:var(--cyan);box-shadow:0 0 38px rgba(0,132,255,.28)}
.price-card ul{flex:1}
.price-card-featured{border-color:var(--cyan);background:linear-gradient(155deg,rgba(7,35,58,.98),rgba(3,12,21,.94));transform:translateY(-10px)}
.price-card-featured:hover{transform:translateY(-16px)}
.popular-badge{position:absolute;top:-14px;left:50%;transform:translateX(-50%);white-space:nowrap;padding:7px 15px;border-radius:20px;background:linear-gradient(135deg,#19c4ff,#0069f5);font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:1px;box-shadow:var(--glow)}
@media(max-width:1000px){.pricing-grid{grid-template-columns:1fr}.price-card-featured,.price-card-featured:hover{transform:none}.offers-heading{text-align:left}.offers-heading .eyebrow{margin:0}}

.payment-status-page{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 50% 15%,rgba(0,132,255,.22),transparent 36%),#02070d}.payment-status-card{width:min(620px,100%);padding:48px;border:1px solid rgba(53,136,207,.38);border-radius:18px;background:linear-gradient(145deg,rgba(6,30,50,.95),rgba(2,9,16,.96));box-shadow:0 25px 90px rgba(0,0,0,.55);text-align:center}.payment-status-card .eyebrow{margin:auto}.payment-status-card h1{font-family:Orbitron,sans-serif;text-transform:uppercase;font-size:clamp(32px,6vw,54px);margin:28px 0 18px}.payment-status-card p{color:var(--muted);font-size:17px;line-height:1.7;margin:0 auto 28px;max-width:520px}

.account-status{display:inline-flex;align-items:center;justify-content:center;padding:.35rem .65rem;border-radius:999px;font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;border:1px solid rgba(255,255,255,.14)}
.account-status.basic{background:rgba(148,163,184,.12);color:#cbd5e1}
.account-status.vip{background:rgba(24,180,255,.15);color:#7dd3fc;border-color:rgba(24,180,255,.42);box-shadow:0 0 18px rgba(24,180,255,.16)}

.members-scroll {
  max-height: 390px;
  overflow-y: auto;
  padding-right: 8px;
}

.member-item {
  margin-bottom: 8px;
  overflow: hidden;
  border: 1px solid rgba(46, 145, 230, 0.2);
  border-radius: 12px;
  background: rgba(5, 17, 31, 0.64);
}

.member-summary {
  display: grid;
  grid-template-columns: 30px minmax(100px, 1fr) auto 22px;
  align-items: center;
  gap: 10px;
  min-height: 52px;
  padding: 9px 14px;
  cursor: pointer;
  list-style: none;
}

.member-summary::-webkit-details-marker {
  display: none;
}

.member-document {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 1rem;
}

.member-username {
  overflow: hidden;
  font-size: 0.9rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.member-status {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 62px;
  padding: 5px 10px;
  border-radius: 999px;
  font-size: 0.7rem;
  font-weight: 800;
  text-transform: uppercase;
}

.member-status.basic {
  color: #c8d1dc;
  background: rgba(255, 255, 255, 0.08);
}

.member-status.vip {
  color: #ffc442;
  background: rgba(255, 196, 66, 0.14);
}

.member-expand-icon {
  font-size: 0.8rem;
  transition: transform 0.2s ease;
}

.member-item[open] .member-expand-icon {
  transform: rotate(180deg);
}

.member-details {
  padding: 14px;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.member-information {
  display: grid;
  gap: 8px;
  margin-bottom: 16px;
}

.member-information p {
  display: grid;
  grid-template-columns: 130px 1fr;
  gap: 12px;
  margin: 0;
  font-size: 0.84rem;
}

.member-information span {
  color: #8495a8;
}

.member-information strong {
  overflow-wrap: anywhere;
  color: #f4f8fc;
}

.member-vip-control label {
  display: block;
  margin-bottom: 7px;
  font-size: 0.75rem;
  font-weight: 800;
  text-transform: uppercase;
}

.member-vip-form {
  display: flex;
  align-items: center;
  gap: 10px;
}

.member-vip-form select {
  flex: 1;
  min-height: 42px;
}

.member-vip-apply {
  min-height: 42px;
  padding: 0 18px;
  white-space: nowrap;
}

.members-empty {
  padding: 20px;
  text-align: center;
  color: #8495a8;
}

@media (max-width: 650px) {
  .member-summary {
    grid-template-columns: 28px minmax(80px, 1fr) auto 18px;
    padding: 9px 10px;
  }

  .member-information p {
    grid-template-columns: 1fr;
    gap: 3px;
  }

  .member-vip-form {
    align-items: stretch;
    flex-direction: column;
  }

  .member-vip-apply {
    width: 100%;
  }
}

.admin-list-card + .admin-list-card {
  margin-top: 34px;
}

#analysis-list,
#members-list {
  margin-top: 18px;
}

/* =========================================================
   EN-TÊTE UNIQUE — ACCUEIL, ANALYSES ET STATISTIQUES
   ========================================================= */

.site-header {
  width: 100%;
  height: 86px;
  padding: 0 3.5vw;
  display: grid;
  grid-template-columns: 190px minmax(0, 1fr) auto;
  align-items: center;
  gap: 24px;
}

.site-header .header-inner {
  display: contents;
}

.site-header .brand {
  grid-column: 1;
}

.site-header .main-nav {
  grid-column: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 26px;
  min-width: 0;
}

.site-header .main-nav a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: auto;
  padding: 34px 0 20px;
  font-size: 12px;
  line-height: 1;
  white-space: nowrap;
}

.site-header .header-actions {
  grid-column: 3;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 9px;
  flex-wrap: nowrap;
}

.site-header .account-status {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 64px;
  min-height: 34px;
  padding: 0 12px;
  border-radius: 999px;
  font-size: 11px;
}

.site-header .account-name {
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  padding: 0 3px;
  font-size: 13px;
  white-space: nowrap;
}

.site-header .header-actions .btn,
.site-header .admin-access-button {
  min-height: 34px;
  padding: 0 13px;
  font-size: 11px;
  white-space: nowrap;
}

.site-header .account-status.basic {
  color: #7fd8ff;
  border-color: rgba(33, 197, 255, 0.55);
  background: rgba(33, 197, 255, 0.1);
}

.site-header .account-status.vip {
  color: #ffd76a;
  border-color: rgba(255, 196, 66, 0.75);
  background: rgba(255, 196, 66, 0.14);
  box-shadow: 0 0 18px rgba(255, 196, 66, 0.12);
}

.analyses-main,
.stats-main {
  width: 100%;
  max-width: 1500px;
  margin-right: auto;
  margin-left: auto;
  padding-top: 118px;
}

@media (max-width: 1000px) {
  .site-header {
    grid-template-columns: 1fr auto;
    gap: 15px;
  }

  .site-header .brand {
    grid-column: 1;
  }

  .site-header .menu-toggle {
    display: block;
    grid-column: 2;
  }

  .site-header .header-actions {
    display: none;
  }

  .site-header .main-nav {
    position: absolute;
    top: 86px;
    right: 0;
    left: 0;
    display: none;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    padding: 20px 5vw;
    background: #030b12;
  }

  .site-header .main-nav.open {
    display: flex;
  }

  .site-header .main-nav a {
    justify-content: flex-start;
    padding: 14px 0;
  }
}

@media (max-width: 640px) {
  .site-header {
    height: 72px;
  }

  .site-header .main-nav {
    top: 72px;
  }

  .analyses-main,
  .stats-main {
    padding-top: 95px;
  }
}

/* =========================================================
   OUVERTURE UNIFORME DES PAGES
   ========================================================= */

/* Même largeur visuelle sur les pages principales */
.hero,
.analyses-main,
.stats-main {
  width: 100%;
  max-width: 1536px;
  margin-left: auto;
  margin-right: auto;
}

/* Même hauteur visuelle du premier écran */
.analyses-hero,
.stats-hero {
  min-height: 610px;
}

/* Même respiration sous l'en-tête */
.analyses-main,
.stats-main {
  padding-top: 118px;
  padding-right: 2.2vw;
  padding-left: 2.2vw;
}

/* Titres cohérents entre les catégories */
.analyses-hero h1,
.stats-hero h1 {
  font-size: clamp(48px, 5vw, 82px);
  line-height: 1.02;
}

/* Le panneau statistiques garde la même présence visuelle */
.stats-hero {
  align-items: center;
}

/* Écrans plus petits */
@media (max-width: 1000px) {
  .analyses-hero,
  .stats-hero {
    min-height: 520px;
  }
}

@media (max-width: 640px) {
  .analyses-hero,
  .stats-hero {
    min-height: 500px;
  }

  .analyses-hero h1,
  .stats-hero h1 {
    font-size: 36px;
  }
}

/* =========================================================
   PAGE ANALYSES — MÊME FORMAT D’OUVERTURE QUE L’ACCUEIL
   ========================================================= */

.analyses-page .analyses-main {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 86px 0 70px;
}

.analyses-page .analyses-hero {
  width: 100%;
  min-height: 760px;
  margin: 0;
  padding: 145px 4vw 70px;
  border-right: 0;
  border-left: 0;
  border-radius: 0;
  background:
    linear-gradient(
      90deg,
      rgba(2, 7, 13, 0.98) 0%,
      rgba(2, 7, 13, 0.88) 34%,
      rgba(2, 7, 13, 0.5) 58%,
      rgba(2, 7, 13, 0.18) 100%
    ),
    url("hero-cover.png") center 42% / cover no-repeat;
}

.analyses-page .analyses-hero > div {
  max-width: 720px;
}

.analyses-page .analyses-hero h1 {
  font-size: clamp(38px, 4.5vw, 66px);
  line-height: 1.12;
  margin: 30px 0 20px;
}

.analyses-page .analyses-hero h1 em {
  display: inline;
}

.analyses-page .analyses-hero p {
  max-width: 620px;
  font-size: 17px;
  line-height: 1.75;
}

.analyses-page .daily-status-card {
  min-width: 260px;
}

.analyses-page .analysis-access-bar,
.analyses-page .daily-analyses-section,
.analyses-page .recent-analysis-section {
  margin-right: 3vw;
  margin-left: 3vw;
}

@media (max-width: 1000px) {
  .analyses-page .analyses-main {
    padding-top: 86px;
  }

  .analyses-page .analyses-hero {
    min-height: 720px;
    padding: 112px 22px 55px;
    align-items: flex-end;
  }
}

@media (max-width: 720px) {
  .analyses-page .analyses-main {
    padding-top: 72px;
  }

  .analyses-page .analyses-hero {
    min-height: 720px;
    padding: 112px 22px 55px;
  }

  .analyses-page .analyses-hero h1 {
    font-size: 36px;
  }

  .analyses-page .analysis-access-bar,
  .analyses-page .daily-analyses-section,
  .analyses-page .recent-analysis-section {
    margin-right: 14px;
    margin-left: 14px;
  }
}

/* Formulaire de création de compte */
.auth-modal,
.signup-modal,
.register-modal,
#auth-modal,
#signup-modal,
#register-modal {
  text-transform: none;
}

/* Tous les textes du formulaire en écriture normale */
.auth-modal label,
.auth-modal input,
.auth-modal button,
.auth-modal a,
.signup-modal label,
.signup-modal input,
.signup-modal button,
.signup-modal a,
.register-modal label,
.register-modal input,
.register-modal button,
.register-modal a,
#auth-modal label,
#auth-modal input,
#auth-modal button,
#auth-modal a {
  text-transform: none;
}

/* Seul le titre reste en majuscules */
.auth-modal h1,
.auth-modal h2,
.signup-modal h1,
.signup-modal h2,
.register-modal h1,
.register-modal h2,
#auth-modal h1,
#auth-modal h2,
#signup-modal h1,
#signup-modal h2,
#register-modal h1,
#register-modal h2 {
  text-transform: uppercase;
}

/* Bouton Mot de passe oublié sans fond blanc */
.forgot-password,
.forgot-password-link,
.password-forgotten,
a[href*="forgot"],
a[href*="reset-password"] {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  color: #7fc8ff !important;
  text-decoration: none;
  text-transform: none !important;
}

.forgot-password:hover,
.forgot-password-link:hover,
.password-forgotten:hover,
a[href*="forgot"]:hover,
a[href*="reset-password"]:hover {
  background: transparent !important;
  text-decoration: underline;
}


/* Correction définitive du bouton "Mot de passe oublié ?" */
button.forgot-password,
button.forgot-password-link,
button.password-forgotten,
#forgot-password,
#forgot-password-btn,
.auth-modal button[type="button"],
.signup-modal button[type="button"],
.register-modal button[type="button"] {
  appearance: none !important;
  -webkit-appearance: none !important;
  background: none !important;
  background-color: transparent !important;
  background-image: none !important;
  border: none !important;
  outline: none !important;
  box-shadow: none !important;
  color: #7fc8ff !important;
  padding: 0 !important;
  margin: 0 !important;
  text-decoration: none !important;
  font: inherit !important;
  text-transform: none !important;
}

button.forgot-password:hover,
button.forgot-password:focus,
button.forgot-password:active,
button.forgot-password-link:hover,
button.forgot-password-link:focus,
button.password-forgotten:hover,
#forgot-password:hover,
#forgot-password-btn:hover,
.auth-modal button[type="button"]:hover,
.auth-modal button[type="button"]:focus,
.auth-modal button[type="button"]:active {
  background: none !important;
  background-color: transparent !important;
  box-shadow: none !important;
  outline: none !important;
  color: #7fc8ff !important;
  text-decoration: underline !important;
}


/* Correction exacte du bouton Mot de passe oublié */
#forgot-password-button,
button#forgot-password-button,
.auth-text-button#forgot-password-button {
  -webkit-appearance: none !important;
  appearance: none !important;
  display: inline !important;
  width: auto !important;
  min-width: 0 !important;
  height: auto !important;
  min-height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  outline: 0 !important;
  color: #7fc8ff !important;
  font: inherit !important;
  line-height: inherit !important;
  text-decoration: none !important;
  text-transform: none !important;
  cursor: pointer !important;
}

#forgot-password-button:hover,
#forgot-password-button:focus,
#forgot-password-button:active,
#forgot-password-button:focus-visible {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  border: 0 !important;
  box-shadow: none !important;
  outline: 0 !important;
  color: #7fc8ff !important;
  text-decoration: underline !important;
}


/* Ajustement du lien Mot de passe oublié */
#forgot-password-button {
  display: block !important;
  margin-top: 10px !important;
  font-size: 0.82rem !important;
  line-height: 1.2 !important;
}


/* Placement final du lien Mot de passe oublié */
#register-modal #forgot-password-button.auth-text-button,
#forgot-password-button.auth-text-button {
  display: block !important;
  width: fit-content !important;
  margin-top: 16px !important;
  margin-bottom: 0 !important;
  padding: 0 !important;
  font-size: 12px !important;
  line-height: 1 !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
  color: #7fc8ff !important;
  transform: none !important;
}

#register-modal #forgot-password-button.auth-text-button:hover,
#forgot-password-button.auth-text-button:hover {
  font-size: 12px !important;
}

/* =========================================
   Fenêtre Mot de passe oublié
========================================= */

.forgot-modal[hidden] {
  display: none !important;
}

.forgot-modal {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: grid;
  place-items: center;
  padding: 24px;
}

.forgot-modal-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0, 8, 18, 0.82);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

.forgot-modal-card {
  position: relative;
  z-index: 1;
  width: min(100%, 460px);
  padding: 38px;
  border: 1px solid rgba(27, 155, 255, 0.38);
  border-radius: 20px;
  background:
    linear-gradient(
      145deg,
      rgba(7, 24, 40, 0.98),
      rgba(3, 13, 25, 0.99)
    );
  box-shadow:
    0 30px 90px rgba(0, 0, 0, 0.62),
    0 0 45px rgba(0, 139, 255, 0.12);
  color: #ffffff;
}

.forgot-modal-close {
  position: absolute;
  top: 16px;
  right: 18px;
  width: 38px;
  height: 38px;
  padding: 0;
  border: 1px solid rgba(54, 165, 255, 0.45);
  border-radius: 10px;
  background: rgba(8, 28, 48, 0.75);
  color: #ffffff;
  font-size: 26px;
  line-height: 1;
  cursor: pointer;
}

.forgot-modal-close:hover {
  background: rgba(15, 83, 135, 0.75);
}

.forgot-modal-brand {
  display: block;
  margin-bottom: 24px;
  font-size: 21px;
  font-weight: 700;
  letter-spacing: 0.04em;
}

.forgot-modal-brand strong {
  color: #1c9cff;
}

.forgot-modal-card h2 {
  margin: 0 0 14px;
  font-size: clamp(24px, 5vw, 32px);
  line-height: 1.1;
  text-transform: none;
}

.forgot-modal-description {
  margin: 0 0 26px;
  color: #aebed0;
  font-size: 15px;
  line-height: 1.55;
}

#forgot-password-form label {
  display: block;
  margin-bottom: 9px;
  font-size: 14px;
  font-weight: 600;
  text-transform: none;
}

#forgot-password-email {
  width: 100%;
  min-height: 52px;
  padding: 0 16px;
  border: 1px solid rgba(47, 150, 230, 0.45);
  border-radius: 10px;
  background: rgba(0, 10, 20, 0.78);
  color: #ffffff;
  font: inherit;
  outline: none;
  box-sizing: border-box;
}

#forgot-password-email:focus {
  border-color: #1ca7ff;
  box-shadow: 0 0 0 3px rgba(28, 167, 255, 0.14);
}

.forgot-modal-submit {
  width: 100%;
  min-height: 52px;
  margin-top: 18px;
  border: 0;
  border-radius: 10px;
  background: linear-gradient(90deg, #18b8f4, #087cff);
  color: #ffffff;
  font-size: 15px;
  font-weight: 700;
  text-transform: none;
  cursor: pointer;
}

.forgot-modal-submit:hover {
  filter: brightness(1.08);
}

.forgot-modal-submit:disabled {
  cursor: wait;
  opacity: 0.65;
}

.forgot-modal-message {
  min-height: 22px;
  margin: 12px 0 0;
  color: #8fd2ff;
  font-size: 13px;
  line-height: 1.4;
}

.forgot-modal-message.error {
  color: #ff7285;
}

.forgot-modal-message.success {
  color: #55e5a4;
}

body.forgot-modal-open {
  overflow: hidden;
}

@media (max-width: 560px) {
  .forgot-modal {
    padding: 14px;
  }

  .forgot-modal-card {
    padding: 30px 22px 24px;
    border-radius: 16px;
  }
}

/* ========================================
   Mot de passe oublié — thème Vimaxx Élite
======================================== */

.vimaxx-forgot-modal[hidden] {
  display: none !important;
}

.vimaxx-forgot-modal {
  position: fixed;
  inset: 0;
  z-index: 20000;
  display: grid;
  place-items: center;
  padding: 20px;
}

.vimaxx-forgot-overlay {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(
      circle at center,
      rgba(0, 126, 255, 0.12),
      rgba(0, 5, 14, 0.9) 55%
    );
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}

.vimaxx-forgot-card {
  position: relative;
  z-index: 1;
  width: min(100%, 440px);
  padding: 38px 34px 30px;
  border: 1px solid rgba(38, 157, 255, 0.38);
  border-radius: 20px;
  overflow: hidden;
  background:
    linear-gradient(
      145deg,
      rgba(8, 27, 46, 0.99),
      rgba(2, 12, 24, 0.99)
    );
  box-shadow:
    0 35px 100px rgba(0, 0, 0, 0.7),
    0 0 55px rgba(0, 140, 255, 0.16);
  color: #fff;
}

.vimaxx-forgot-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 12%;
  width: 76%;
  height: 2px;
  background: linear-gradient(
    90deg,
    transparent,
    #20b9ff,
    #0d7cff,
    transparent
  );
}

.vimaxx-forgot-close {
  position: absolute;
  top: 15px;
  right: 16px;
  width: 38px;
  height: 38px;
  padding: 0;
  border: 1px solid rgba(49, 156, 255, 0.35);
  border-radius: 10px;
  background: rgba(4, 20, 36, 0.85);
  color: #fff;
  font-size: 25px;
  line-height: 1;
  cursor: pointer;
}

.vimaxx-forgot-close:hover {
  background: rgba(15, 87, 145, 0.8);
}

.vimaxx-forgot-logo {
  margin-bottom: 24px;
  font-size: 22px;
  font-weight: 800;
  letter-spacing: 0.04em;
}

.vimaxx-forgot-logo span {
  color: #169cff;
}

.vimaxx-forgot-icon {
  display: grid;
  place-items: center;
  width: 56px;
  height: 56px;
  margin-bottom: 18px;
  border: 1px solid rgba(30, 157, 255, 0.4);
  border-radius: 16px;
  background: rgba(18, 135, 235, 0.1);
  color: #25b6ff;
  font-size: 26px;
}

.vimaxx-forgot-card h2 {
  margin: 0 0 12px;
  color: #fff;
  font-size: 29px;
  line-height: 1.1;
  text-transform: none !important;
}

.vimaxx-forgot-card > p {
  margin: 0 0 25px;
  color: #aebed0;
  font-size: 14px;
  line-height: 1.55;
}

#vimaxx-forgot-form label {
  display: block;
  margin-bottom: 8px;
  color: #e8f3ff;
  font-size: 13px;
  font-weight: 600;
  text-transform: none !important;
}

#vimaxx-forgot-email {
  box-sizing: border-box;
  width: 100%;
  height: 54px;
  padding: 0 16px;
  border: 1px solid rgba(46, 144, 220, 0.48);
  border-radius: 10px;
  outline: none;
  background: rgba(0, 9, 19, 0.85);
  color: #fff;
  font: inherit;
}

#vimaxx-forgot-email::placeholder {
  color: #718297;
}

#vimaxx-forgot-email:focus {
  border-color: #21aaff;
  box-shadow: 0 0 0 3px rgba(25, 166, 255, 0.14);
}

.vimaxx-forgot-submit {
  width: 100%;
  height: 54px;
  margin-top: 15px;
  border: 0;
  border-radius: 10px;
  background: linear-gradient(90deg, #20b8ef, #087cff);
  color: #fff;
  font-size: 14px;
  font-weight: 750;
  text-transform: none !important;
  cursor: pointer;
  box-shadow: 0 12px 28px rgba(0, 125, 255, 0.22);
}

.vimaxx-forgot-submit:hover {
  filter: brightness(1.08);
  transform: translateY(-1px);
}

.vimaxx-forgot-submit:disabled {
  cursor: wait;
  opacity: 0.65;
  transform: none;
}

.vimaxx-forgot-cancel {
  display: block;
  margin: 15px auto 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: #7fc8ff;
  font-size: 13px;
  text-transform: none !important;
  cursor: pointer;
}

.vimaxx-forgot-cancel:hover {
  text-decoration: underline;
}

.vimaxx-forgot-message {
  min-height: 19px;
  margin-top: 10px;
  font-size: 12px;
  line-height: 1.4;
}

.vimaxx-forgot-message.error {
  color: #ff7186;
}

.vimaxx-forgot-message.success {
  color: #52e5a1;
}

body.vimaxx-forgot-open {
  overflow: hidden;
}

@media (max-width: 520px) {
  .vimaxx-forgot-modal {
    padding: 12px;
  }

  .vimaxx-forgot-card {
    padding: 33px 22px 25px;
    border-radius: 16px;
  }

  .vimaxx-forgot-card h2 {
    font-size: 25px;
  }
}


/* Mot de passe oublié toujours au premier plan */
#vimaxx-forgot-modal,
.vimaxx-forgot-modal {
  z-index: 999999 !important;
}

#vimaxx-forgot-modal .vimaxx-forgot-overlay,
.vimaxx-forgot-modal .vimaxx-forgot-overlay {
  z-index: 999999 !important;
}

#vimaxx-forgot-modal .vimaxx-forgot-card,
.vimaxx-forgot-modal .vimaxx-forgot-card {
  z-index: 1000000 !important;
}


/* Permet d’utiliser réellement la fenêtre Mot de passe oublié */
body.vimaxx-forgot-open #auth-modal,
body.vimaxx-forgot-open #login-modal,
body.vimaxx-forgot-open #register-modal,
body.vimaxx-forgot-open .auth-modal,
body.vimaxx-forgot-open .login-modal,
body.vimaxx-forgot-open .register-modal {
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

#vimaxx-forgot-modal {
  display: grid;
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;
  z-index: 999999 !important;
}

#vimaxx-forgot-modal[hidden] {
  display: none !important;
}

#vimaxx-forgot-modal .vimaxx-forgot-overlay {
  pointer-events: auto !important;
}

#vimaxx-forgot-modal .vimaxx-forgot-card {
  position: relative;
  pointer-events: auto !important;
  z-index: 1000000 !important;
}

#vimaxx-forgot-modal input,
#vimaxx-forgot-modal button,
#vimaxx-forgot-modal form {
  pointer-events: auto !important;
}


/* Correction complète des clics du formulaire Mot de passe oublié */
body.vimaxx-forgot-open {
  pointer-events: auto !important;
}

body.vimaxx-forgot-open #vimaxx-forgot-modal {
  position: fixed !important;
  inset: 0 !important;
  display: grid !important;
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;
  z-index: 2147483646 !important;
}

body.vimaxx-forgot-open #vimaxx-forgot-modal[hidden] {
  display: none !important;
}

body.vimaxx-forgot-open .vimaxx-forgot-overlay {
  pointer-events: none !important;
  z-index: 0 !important;
}

body.vimaxx-forgot-open .vimaxx-forgot-card {
  position: relative !important;
  z-index: 2 !important;
  pointer-events: auto !important;
}

body.vimaxx-forgot-open .vimaxx-forgot-card,
body.vimaxx-forgot-open .vimaxx-forgot-card *,
body.vimaxx-forgot-open #vimaxx-forgot-email,
body.vimaxx-forgot-open #vimaxx-forgot-submit,
body.vimaxx-forgot-open .vimaxx-forgot-close,
body.vimaxx-forgot-open .vimaxx-forgot-cancel {
  pointer-events: auto !important;
}

body.vimaxx-forgot-open #vimaxx-forgot-email {
  user-select: text !important;
  -webkit-user-select: text !important;
  cursor: text !important;
}


/* Lien vers la page Mot de passe oublié */
#forgot-password-link {
  display: block !important;
  width: fit-content !important;
  margin-top: 14px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: #7fc8ff !important;
  font-size: 12px !important;
  line-height: 1.2 !important;
  font-weight: 400 !important;
  text-decoration: none !important;
  text-transform: none !important;
}

#forgot-password-link:hover {
  text-decoration: underline !important;
}


/* Date de naissance : apparence normale sans calendrier natif */
input[type="text"][id*="birth"],
input[type="text"][id*="naissance"],
input[type="text"][name*="birth"],
input[type="text"][name*="naissance"] {
  border-color: rgba(46, 144, 220, 0.45) !important;
  box-shadow: none !important;
  outline: none !important;
  color-scheme: dark;
}

input[type="text"][id*="birth"]:focus,
input[type="text"][id*="naissance"]:focus,
input[type="text"][name*="birth"]:focus,
input[type="text"][name*="naissance"]:focus {
  border-color: #20aaff !important;
  box-shadow: 0 0 0 3px rgba(32, 170, 255, 0.12) !important;
}

input[type="text"][id*="birth"]:invalid,
input[type="text"][id*="naissance"]:invalid,
input[type="text"][name*="birth"]:invalid,
input[type="text"][name*="naissance"]:invalid {
  border-color: rgba(46, 144, 220, 0.45) !important;
  box-shadow: none !important;
}


/* Date de naissance : aucun contour rouge */
#birthdate,
#birth-date,
#date-of-birth,
#date-naissance,
#birth_date,
input[name="birthdate"],
input[name="birth_date"],
input[name="dateOfBirth"],
input[name="date_naissance"],
input[id*="birth"],
input[id*="naissance"] {
  border: 1px solid rgba(46, 144, 220, 0.45) !important;
  border-color: rgba(46, 144, 220, 0.45) !important;
  outline: none !important;
  box-shadow: none !important;
  background-image: none !important;
  appearance: none !important;
  -webkit-appearance: none !important;
}

#birthdate:focus,
#birth-date:focus,
#date-of-birth:focus,
#date-naissance:focus,
#birth_date:focus,
input[name="birthdate"]:focus,
input[name="birth_date"]:focus,
input[name="dateOfBirth"]:focus,
input[name="date_naissance"]:focus,
input[id*="birth"]:focus,
input[id*="naissance"]:focus {
  border-color: #20aaff !important;
  box-shadow: 0 0 0 3px rgba(32, 170, 255, 0.12) !important;
}

#birthdate:invalid,
#birth-date:invalid,
#date-of-birth:invalid,
#date-naissance:invalid,
#birth_date:invalid,
input[name="birthdate"]:invalid,
input[name="birth_date"]:invalid,
input[name="dateOfBirth"]:invalid,
input[name="date_naissance"]:invalid,
input[id*="birth"]:invalid,
input[id*="naissance"]:invalid,
input[aria-invalid="true"][id*="birth"],
input[aria-invalid="true"][id*="naissance"] {
  border-color: rgba(46, 144, 220, 0.45) !important;
  box-shadow: none !important;
  outline: none !important;
}

/* Lien Mot de passe oublié uniquement pour la connexion */
.vimaxx-login-forgot-link {
  display: block !important;
  width: fit-content !important;
  margin-top: 12px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: #7fc8ff !important;
  font-size: 12px !important;
  font-weight: 400 !important;
  line-height: 1.2 !important;
  text-decoration: none !important;
  text-transform: none !important;
}

.vimaxx-login-forgot-link:hover {
  text-decoration: underline !important;
}


/* Analyse en attente masquée pour les non-VIP */
.vip-analysis-lock {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 8px 12px;
  border: 1px solid rgba(40, 156, 255, 0.28);
  border-radius: 10px;
  background: rgba(8, 42, 72, 0.48);
  color: #8dcfff;
  font-size: 12px;
  font-weight: 700;
}


/* Forum VIP */
.forum-page {
  min-height: 80vh;
  padding: 80px 5%;
}

.forum-hero {
  margin-bottom: 40px;
}

.forum-badge {
  display: inline-block;
  padding: 8px 14px;
  border: 1px solid #168fff;
  border-radius: 999px;
  color: #74c4ff;
  font-weight: 700;
}

.forum-hero h1 {
  margin: 24px 0 10px;
  font-size: clamp(38px, 6vw, 72px);
}

.forum-lock,
.forum-panel {
  padding: 50px;
  border: 1px solid rgba(35, 151, 255, 0.35);
  border-radius: 20px;
  background: rgba(4, 24, 43, 0.8);
  text-align: center;
}

.forum-lock-icon {
  font-size: 48px;
}

.forum-button {
  display: inline-block;
  margin-top: 20px;
  padding: 14px 24px;
  border-radius: 10px;
  background: #168fff;
  color: white;
  text-decoration: none;
  font-weight: 700;
}

/* ===== Bloc Forum VIP premium ===== */

#forum-access {
  width: min(100%, 1180px);
  margin: 0 auto;
}

.forum-lock {
  position: relative;
  overflow: hidden;
  max-width: 980px;
  margin: 0 auto;
  padding: 64px 40px;
  border: 1px solid rgba(36, 157, 255, 0.42);
  border-radius: 28px;
  background:
    radial-gradient(
      circle at 50% 0%,
      rgba(25, 145, 255, 0.18),
      transparent 42%
    ),
    linear-gradient(
      145deg,
      rgba(5, 29, 51, 0.98),
      rgba(2, 16, 30, 0.98)
    );
  box-shadow:
    0 24px 70px rgba(0, 0, 0, 0.38),
    inset 0 1px 0 rgba(255, 255, 255, 0.04);
  text-align: center;
}

.forum-lock::before {
  content: "";
  position: absolute;
  top: -140px;
  left: 50%;
  width: 420px;
  height: 280px;
  transform: translateX(-50%);
  border-radius: 50%;
  background: rgba(25, 145, 255, 0.14);
  filter: blur(70px);
  pointer-events: none;
}

.forum-lock::after {
  content: "ACCÈS EXCLUSIF";
  position: absolute;
  top: 24px;
  right: 24px;
  padding: 8px 13px;
  border: 1px solid rgba(255, 201, 72, 0.34);
  border-radius: 999px;
  background: rgba(255, 190, 45, 0.08);
  color: #ffd465;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 1.5px;
}

.forum-lock-icon {
  position: relative;
  z-index: 1;
  display: grid;
  place-items: center;
  width: 92px;
  height: 92px;
  margin: 0 auto 28px;
  border: 1px solid rgba(255, 205, 87, 0.45);
  border-radius: 50%;
  background:
    radial-gradient(
      circle,
      rgba(255, 204, 85, 0.2),
      rgba(255, 204, 85, 0.04)
    );
  box-shadow:
    0 0 35px rgba(255, 195, 54, 0.18),
    inset 0 0 20px rgba(255, 210, 105, 0.08);
  font-size: 42px;
}

.forum-lock h2 {
  position: relative;
  z-index: 1;
  max-width: 760px;
  margin: 0 auto 18px;
  color: #f4f8ff;
  font-size: clamp(32px, 4vw, 54px);
  line-height: 1.05;
  letter-spacing: -1.5px;
}

.forum-lock p {
  position: relative;
  z-index: 1;
  max-width: 620px;
  margin: 0 auto;
  color: rgba(225, 236, 247, 0.74);
  font-size: 18px;
  line-height: 1.7;
}

.forum-button {
  position: relative;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 230px;
  margin-top: 32px;
  padding: 17px 26px;
  border: 1px solid rgba(92, 188, 255, 0.7);
  border-radius: 13px;
  background: linear-gradient(135deg, #21adff, #087af4);
  box-shadow:
    0 14px 32px rgba(0, 132, 255, 0.3),
    inset 0 1px 0 rgba(255, 255, 255, 0.25);
  color: white;
  text-decoration: none;
  font-size: 15px;
  font-weight: 900;
  letter-spacing: 0.4px;
  transition:
    transform 0.2s ease,
    box-shadow 0.2s ease,
    filter 0.2s ease;
}

.forum-button::after {
  content: "→";
  margin-left: 11px;
  font-size: 18px;
}

.forum-button:hover {
  transform: translateY(-3px);
  filter: brightness(1.08);
  box-shadow:
    0 18px 38px rgba(0, 132, 255, 0.42),
    inset 0 1px 0 rgba(255, 255, 255, 0.25);
}

@media (max-width: 700px) {
  .forum-lock {
    padding: 55px 22px 38px;
    border-radius: 21px;
  }

  .forum-lock::after {
    top: 16px;
    right: 16px;
    font-size: 9px;
  }

  .forum-lock h2 {
    font-size: 31px;
  }

  .forum-lock p {
    font-size: 16px;
  }

  .forum-lock-icon {
    width: 76px;
    height: 76px;
    font-size: 34px;
  }

  .forum-button {
    width: 100%;
    min-width: 0;
  }
}


/* ===== Chat Forum VIP ===== */

.vip-chat {
  width: min(100%, 1180px);
  margin: 0 auto;
  overflow: hidden;
  border: 1px solid rgba(25, 152, 255, 0.38);
  border-radius: 24px;
  background:
    linear-gradient(
      145deg,
      rgba(5, 29, 51, 0.98),
      rgba(2, 14, 27, 0.98)
    );
  box-shadow: 0 25px 70px rgba(0, 0, 0, 0.35);
}

.vip-chat-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 30px;
  padding: 28px 32px;
  border-bottom: 1px solid rgba(37, 151, 242, 0.2);
}

.vip-chat-header h2 {
  margin: 8px 0 6px;
  font-size: 30px;
}

.vip-chat-header p {
  margin: 0;
  color: rgba(220, 233, 246, 0.66);
}

.vip-chat-badge {
  color: #64c0ff;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 1.6px;
}

.vip-chat-status {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  white-space: nowrap;
  color: #a7c4db;
  font-size: 13px;
}

.vip-chat-status-dot {
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: #20d885;
  box-shadow: 0 0 14px rgba(32, 216, 133, 0.8);
}

.vip-chat-messages {
  height: 480px;
  overflow-y: auto;
  padding: 28px;
  background:
    radial-gradient(
      circle at 50% 0%,
      rgba(0, 133, 255, 0.07),
      transparent 45%
    );
}

.vip-chat-loading,
.vip-chat-empty {
  display: grid;
  min-height: 100%;
  place-items: center;
  color: rgba(216, 230, 243, 0.58);
  text-align: center;
  line-height: 1.7;
}

.vip-chat-message {
  width: fit-content;
  max-width: min(76%, 720px);
  margin: 0 0 18px;
  padding: 14px 17px;
  border: 1px solid rgba(75, 164, 229, 0.2);
  border-radius: 5px 18px 18px 18px;
  background: rgba(11, 45, 71, 0.82);
}

.vip-chat-message.is-own {
  margin-left: auto;
  border-color: rgba(44, 162, 255, 0.38);
  border-radius: 18px 5px 18px 18px;
  background: linear-gradient(
    135deg,
    rgba(13, 115, 203, 0.86),
    rgba(8, 75, 142, 0.9)
  );
}

.vip-chat-message.is-admin {
  border-color: rgba(255, 202, 74, 0.38);
}

.vip-chat-message-meta {
  display: flex;
  align-items: center;
  gap: 9px;
  margin-bottom: 7px;
  color: rgba(210, 228, 243, 0.68);
  font-size: 11px;
}

.vip-chat-message-meta strong {
  color: #8fd0ff;
  font-size: 12px;
}

.vip-chat-message p {
  margin: 0;
  color: #f2f7fb;
  font-size: 15px;
  line-height: 1.55;
  overflow-wrap: anywhere;
}

.vip-chat-admin-label {
  margin-left: 5px;
  padding: 3px 6px;
  border-radius: 5px;
  background: rgba(255, 193, 43, 0.15);
  color: #ffd261;
  font-size: 8px;
}

.vip-chat-delete {
  margin-left: auto;
  border: 0;
  background: transparent;
  color: rgba(255, 255, 255, 0.45);
  cursor: pointer;
  font-size: 18px;
}

.vip-chat-delete:hover {
  color: #ff6f78;
}

.vip-chat-form {
  padding: 22px 28px 26px;
  border-top: 1px solid rgba(37, 151, 242, 0.2);
  background: rgba(3, 20, 35, 0.95);
}

.vip-chat-form textarea {
  width: 100%;
  min-height: 74px;
  resize: vertical;
  padding: 15px 17px;
  border: 1px solid rgba(44, 153, 238, 0.3);
  border-radius: 14px;
  outline: none;
  background: rgba(4, 28, 49, 0.95);
  color: white;
  font: inherit;
}

.vip-chat-form textarea:focus {
  border-color: #209cff;
  box-shadow: 0 0 0 3px rgba(32, 156, 255, 0.1);
}

.vip-chat-form-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  margin-top: 13px;
}

.vip-chat-form-footer > span {
  color: rgba(200, 218, 232, 0.48);
  font-size: 12px;
}

.vip-chat-form button {
  padding: 13px 22px;
  border: 0;
  border-radius: 11px;
  background: linear-gradient(135deg, #22adff, #087bf4);
  box-shadow: 0 10px 25px rgba(0, 129, 255, 0.25);
  color: white;
  cursor: pointer;
  font-weight: 900;
}

.vip-chat-error {
  margin: 12px 0 0;
  color: #ff8088;
  font-size: 13px;
}

@media (max-width: 700px) {
  .vip-chat-header {
    align-items: flex-start;
    flex-direction: column;
    padding: 22px;
  }

  .vip-chat-messages {
    height: 420px;
    padding: 18px;
  }

  .vip-chat-message {
    max-width: 90%;
  }

  .vip-chat-form {
    padding: 18px;
  }
}


/* ===== Bloc Notre approche ===== */

.approach-section,
.approach-card {
  position: relative;
  overflow: hidden;
  max-width: 1440px;
  margin-inline: auto;
  padding: clamp(55px, 7vw, 105px) clamp(25px, 6vw, 90px);
  border: 1px solid rgba(44, 156, 255, 0.28);
  border-radius: 26px;
  background:
    radial-gradient(
      circle at 50% 0%,
      rgba(26, 145, 255, 0.14),
      transparent 45%
    ),
    linear-gradient(
      145deg,
      rgba(5, 29, 51, 0.98),
      rgba(2, 15, 28, 0.98)
    );
  box-shadow:
    0 28px 70px rgba(0, 0, 0, 0.34),
    inset 0 1px 0 rgba(255, 255, 255, 0.04);
  text-align: center;
}

.approach-section::before,
.approach-card::before {
  content: "";
  position: absolute;
  top: -180px;
  left: 50%;
  width: 520px;
  height: 320px;
  transform: translateX(-50%);
  border-radius: 50%;
  background: rgba(13, 139, 255, 0.14);
  filter: blur(85px);
  pointer-events: none;
}

.approach-section h2,
.approach-card h2 {
  position: relative;
  z-index: 1;
  max-width: 1050px;
  margin: 28px auto 26px;
  color: #f4f8ff;
  font-size: clamp(38px, 5vw, 72px);
  line-height: 1.04;
  letter-spacing: -1.5px;
  text-wrap: balance;
}

.approach-section p,
.approach-card p {
  position: relative;
  z-index: 1;
  max-width: 780px;
  margin: 0 auto;
  color: rgba(220, 232, 244, 0.72);
  font-size: clamp(16px, 1.4vw, 20px);
  line-height: 1.75;
  text-wrap: balance;
}

.approach-section .section-badge,
.approach-card .section-badge {
  position: relative;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 9px 16px;
  border: 1px solid rgba(34, 156, 255, 0.34);
  border-radius: 999px;
  background: rgba(7, 47, 80, 0.62);
  color: #9ad6ff;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 1px;
}

@media (max-width: 700px) {
  .approach-section,
  .approach-card {
    padding: 50px 22px;
    border-radius: 20px;
  }

  .approach-section h2,
  .approach-card h2 {
    font-size: 36px;
  }
}


/* ===== Section Notre approche ===== */

#apropos {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  width: min(calc(100% - 40px), 1440px);
  margin: 80px auto;
  padding: clamp(60px, 8vw, 110px) clamp(25px, 7vw, 100px);
  border: 1px solid rgba(40, 155, 255, 0.32);
  border-radius: 28px;
  background:
    radial-gradient(
      circle at 50% 0%,
      rgba(23, 145, 255, 0.18),
      transparent 44%
    ),
    linear-gradient(
      145deg,
      rgba(5, 29, 51, 0.98),
      rgba(2, 15, 28, 0.99)
    );
  box-shadow:
    0 28px 80px rgba(0, 0, 0, 0.38),
    inset 0 1px 0 rgba(255, 255, 255, 0.05);
  text-align: center;
}

#apropos::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: -220px;
  left: 50%;
  width: 620px;
  height: 390px;
  transform: translateX(-50%);
  border-radius: 50%;
  background: rgba(0, 142, 255, 0.18);
  filter: blur(95px);
  pointer-events: none;
}

#apropos .eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 11px;
  margin: 0 auto;
  padding: 9px 17px;
  border: 1px solid rgba(38, 157, 255, 0.38);
  border-radius: 999px;
  background: rgba(5, 48, 82, 0.64);
  color: #a2dbff;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 1px;
  text-transform: uppercase;
}

#apropos .eyebrow i {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #169cff;
  box-shadow: 0 0 16px rgba(22, 156, 255, 0.85);
}

#apropos h2 {
  max-width: 1050px;
  margin: 34px auto 28px;
  color: #f4f8ff;
  font-size: clamp(42px, 5.5vw, 78px);
  line-height: 1.04;
  letter-spacing: -2px;
  text-wrap: balance;
}

#apropos p {
  max-width: 790px;
  margin: 0 auto;
  color: rgba(222, 234, 246, 0.74);
  font-size: clamp(16px, 1.4vw, 20px);
  line-height: 1.8;
  text-wrap: balance;
}

@media (max-width: 700px) {
  #apropos {
    width: min(calc(100% - 24px), 1440px);
    margin: 50px auto;
    padding: 52px 22px;
    border-radius: 21px;
  }

  #apropos h2 {
    margin-top: 28px;
    font-size: 38px;
    letter-spacing: -1px;
  }

  #apropos p {
    font-size: 16px;
    line-height: 1.7;
  }
}


/* Réduction du titre Notre approche */
#apropos h2 {
  max-width: 900px;
  margin: 26px auto 22px;
  font-size: clamp(34px, 4.2vw, 58px);
  line-height: 1.08;
  letter-spacing: -1px;
}

#apropos p {
  max-width: 760px;
  font-size: clamp(15px, 1.2vw, 18px);
  line-height: 1.7;
}

@media (max-width: 700px) {
  #apropos h2 {
    font-size: 31px;
    line-height: 1.12;
  }
}


/* ===== Page Compétitions ===== */

.competitions-page {
  min-height: 100vh;
  padding: 70px 5%;
  background:
    radial-gradient(
      circle at 50% 0%,
      rgba(14, 132, 255, 0.12),
      transparent 40%
    ),
    #020b13;
}

.competitions-hero {
  max-width: 1200px;
  margin: 0 auto 48px;
  text-align: center;
}

.competitions-badge {
  display: inline-flex;
  padding: 9px 16px;
  border: 1px solid rgba(35, 157, 255, 0.38);
  border-radius: 999px;
  color: #7acbff;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 1.4px;
}

.competitions-hero h1 {
  margin: 24px 0 14px;
  font-size: clamp(42px, 6vw, 76px);
}

.competitions-hero p {
  color: rgba(220, 233, 245, 0.68);
  font-size: 18px;
}

.competitions-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 28px;
  max-width: 1200px;
  margin: 0 auto;
}

.competitions-panel {
  padding: 30px;
  border: 1px solid rgba(35, 151, 255, 0.32);
  border-radius: 24px;
  background:
    linear-gradient(
      145deg,
      rgba(5, 29, 51, 0.98),
      rgba(2, 16, 30, 0.98)
    );
  box-shadow: 0 24px 60px rgba(0, 0, 0, 0.3);
}

.competitions-panel-header {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 26px;
}

.competitions-panel-header > span {
  display: grid;
  place-items: center;
  width: 54px;
  height: 54px;
  border-radius: 16px;
  background: rgba(20, 139, 230, 0.13);
  font-size: 28px;
}

.competitions-panel h2 {
  margin: 0 0 5px;
  font-size: 28px;
}

.competitions-panel p {
  margin: 0;
  color: rgba(214, 229, 241, 0.58);
  font-size: 14px;
}

.competitions-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 11px;
}

.competitions-list span {
  padding: 12px 14px;
  border: 1px solid rgba(50, 145, 214, 0.18);
  border-radius: 11px;
  background: rgba(7, 39, 65, 0.58);
  color: #e8f3fb;
  font-size: 14px;
}

.competitions-back {
  max-width: 1200px;
  margin: 34px auto 0;
  text-align: center;
}

.competitions-back a {
  color: #42b3ff;
  text-decoration: none;
  font-weight: 800;
}

@media (max-width: 850px) {
  .competitions-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 560px) {
  .competitions-list {
    grid-template-columns: 1fr;
  }

  .competitions-panel {
    padding: 22px;
  }
}


/* ===== Menu de modération Forum ===== */

.forum-admin-username {
  padding: 0;
  border: 0;
  background: transparent;
  color: #8fd0ff;
  cursor: pointer;
  font: inherit;
  font-weight: 800;
}

.forum-admin-username:hover {
  color: #ffffff;
  text-decoration: underline;
}

.forum-admin-modal[hidden] {
  display: none;
}

.forum-admin-modal {
  position: fixed;
  z-index: 99999;
  inset: 0;
  display: grid;
  place-items: center;
  padding: 20px;
}

.forum-admin-modal-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0, 8, 16, 0.78);
  backdrop-filter: blur(8px);
}

.forum-admin-menu {
  position: relative;
  z-index: 1;
  width: min(100%, 430px);
  padding: 30px;
  border: 1px solid rgba(38, 157, 255, 0.42);
  border-radius: 22px;
  background:
    linear-gradient(
      145deg,
      rgba(5, 30, 52, 0.99),
      rgba(2, 15, 28, 0.99)
    );
  box-shadow: 0 30px 90px rgba(0, 0, 0, 0.55);
}

.forum-admin-close {
  position: absolute;
  top: 14px;
  right: 17px;
  border: 0;
  background: transparent;
  color: white;
  cursor: pointer;
  font-size: 28px;
}

.forum-admin-label {
  color: #65c2ff;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 1.5px;
}

.forum-admin-menu h3 {
  margin: 10px 0 22px;
  color: white;
  font-size: 27px;
}

.forum-admin-actions {
  display: grid;
  gap: 10px;
}

.forum-admin-actions button {
  padding: 13px 15px;
  border: 1px solid rgba(52, 151, 223, 0.24);
  border-radius: 10px;
  background: rgba(8, 44, 73, 0.8);
  color: white;
  cursor: pointer;
  text-align: left;
  font-weight: 700;
}

.forum-admin-actions button:hover {
  border-color: #229fff;
  background: rgba(12, 75, 124, 0.9);
}

.forum-admin-actions button.is-danger {
  border-color: rgba(255, 82, 95, 0.3);
  color: #ff8d96;
}

.forum-admin-actions button.is-danger:hover {
  background: rgba(126, 24, 33, 0.4);
}

