:root {
  --bg: #06050b;
  --bg-2: #0b0812;
  --bg-3: #120c1b;
  --surface: rgba(20, 14, 30, 0.72);
  --surface-strong: rgba(25, 17, 38, 0.92);
  --surface-soft: rgba(255, 255, 255, 0.045);
  --stroke: rgba(255, 255, 255, 0.10);
  --stroke-strong: rgba(255, 255, 255, 0.18);
  --text: #f8f6ff;
  --muted: #aaa3b9;
  --muted-2: #777084;
  --violet: #8f5cff;
  --violet-2: #c264ff;
  --magenta: #ef49b8;
  --gold: #e7bd73;
  --gold-2: #ffe3a2;
  --success: #55d6a7;
  --warning: #ffca6a;
  --danger: #ff6f91;
  --info: #74bfff;
  --shadow-lg: 0 30px 90px rgba(0, 0, 0, .55);
  --shadow-glow: 0 0 60px rgba(143, 92, 255, .20);
  --radius-sm: 12px;
  --radius: 18px;
  --radius-lg: 28px;
  --radius-xl: 36px;
  --container: 1180px;
  --header-h: 76px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--text);
  background:
    radial-gradient(circle at 14% 0%, rgba(143, 92, 255, .14), transparent 34%),
    radial-gradient(circle at 90% 8%, rgba(231, 189, 115, .08), transparent 25%),
    linear-gradient(180deg, #07050c 0%, #050409 100%);
  font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  line-height: 1.6;
  min-height: 100vh;
  overflow-x: hidden;
}
body::before {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  opacity: .22;
  z-index: 99;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.82' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.06'/%3E%3C/svg%3E");
  mix-blend-mode: soft-light;
}

img { max-width: 100%; display: block; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
::selection { background: rgba(143, 92, 255, .38); color: white; }

.container { width: min(calc(100% - 40px), var(--container)); margin-inline: auto; }
.section { padding: 82px 0; position: relative; }
.section-tight { padding: 58px 0; }
.section-border { border-top: 1px solid rgba(255,255,255,.06); }
.grid { display: grid; gap: 24px; }
.grid-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.grid-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.grid-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.stack { display: flex; flex-direction: column; gap: 20px; }
.row { display: flex; align-items: center; gap: 16px; }
.row-between { display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.center { text-align: center; }

.skip-link {
  position: fixed; left: 16px; top: -60px; z-index: 999;
  background: var(--gold); color: #17100b; padding: 10px 16px; border-radius: 10px;
  transition: top .2s ease;
}
.skip-link:focus { top: 16px; }

.site-header {
  position: sticky; top: 0; z-index: 80; height: var(--header-h);
  border-bottom: 1px solid transparent;
  transition: .25s ease;
}
.site-header.scrolled {
  background: rgba(7, 5, 12, .82);
  backdrop-filter: blur(20px) saturate(140%);
  border-color: rgba(255,255,255,.08);
  box-shadow: 0 15px 50px rgba(0,0,0,.25);
}
.nav-wrap { height: 100%; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.brand {
  display: inline-flex;
  align-items: center;
  gap: 2px;
  flex-shrink: 0;
}

.brand-logo {
  display: block;
  width: 84px;
  height: 54px;
  object-fit: contain;
  flex-shrink: 0;
  filter: none;
}

.brand-wordmark {
  display: block;
  width: 134px;
  height: 46px;
  object-fit: contain;
  flex-shrink: 0;
  filter: none;
}

.brand-footer {
  width: max-content;
}
.nav-links { display: flex; align-items: center; gap: 26px; color: #c8c2d2; font-size: 14px; }
.nav-links a { position: relative; display:inline-block; transition: color .2s ease, transform .2s ease, filter .2s ease; }
.nav-links a:hover, .nav-links a:focus-visible, .nav-links a.active { color: white; }
.nav-links a:hover, .nav-links a:focus-visible { transform:scale(1.035); filter:drop-shadow(0 0 10px rgba(194,100,255,.48)); outline:none; }
.nav-links a.active::after { content: ""; position: absolute; left: 0; right: 0; bottom: -12px; height: 2px; background: linear-gradient(90deg,var(--violet),var(--gold)); border-radius: 2px; }
.nav-actions { display: flex; align-items: center; gap: 10px; }
.language-menu {
  position: relative;
  flex-shrink: 0;
}
.language-trigger {
  min-width: 82px;
  height: 40px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  padding: 0 11px;
  color: #f8f6ff;
  border: 1px solid var(--stroke);
  border-radius: 12px;
  background: rgba(255,255,255,.04);
  transition: border-color .2s ease, background .2s ease, box-shadow .2s ease, transform .2s ease, filter .2s ease;
}
.language-trigger:hover,
.language-trigger:focus-visible,
.language-menu.open .language-trigger {
  border-color: rgba(194,100,255,.42);
  background: rgba(255,255,255,.075);
  box-shadow: 0 10px 30px rgba(0,0,0,.20), 0 0 24px rgba(143,92,255,.22);
}
.language-trigger:hover,.language-trigger:focus-visible { transform:translateY(-1px) scale(1.025); filter:brightness(1.08); outline:none; }
.language-current-flag,
.language-option-flag {
  display: block;
  flex: 0 0 auto;
  object-fit: cover;
  border-radius: 3px;
  box-shadow: 0 0 0 1px rgba(255,255,255,.20), 0 2px 7px rgba(0,0,0,.25);
}
.language-current-flag { width: 20px; height: 14px; }
.language-current-code {
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .04em;
}
.language-chevron { color: #aaa3b9; transition: transform .2s ease; }
.language-menu.open .language-chevron { transform: rotate(180deg); }
.language-dropdown {
  position: absolute;
  top: calc(100% + 10px);
  right: 0;
  z-index: 150;
  width: 270px;
  max-height: min(430px, calc(100vh - 110px));
  overflow-y: auto;
  padding: 8px;
  border: 1px solid rgba(255,255,255,.13);
  border-radius: 18px;
  background: rgba(11,8,18,.97);
  backdrop-filter: blur(22px) saturate(145%);
  box-shadow: 0 24px 70px rgba(0,0,0,.58);
  opacity: 0;
  visibility: hidden;
  transform: translateY(-8px) scale(.98);
  transform-origin: top right;
  transition: opacity .18s ease, visibility .18s ease, transform .18s ease;
}
.language-menu.open .language-dropdown {
  opacity: 1;
  visibility: visible;
  transform: translateY(0) scale(1);
}
.language-option {
  width: 100%;
  min-height: 42px;
  display: grid;
  grid-template-columns: 28px 1fr;
  align-items: center;
  gap: 9px;
  padding: 8px 10px;
  color: #d9d2e2;
  text-align: left;
  border: 0;
  border-radius: 11px;
  background: transparent;
  transition: color .16s ease, background .16s ease, transform .16s ease, box-shadow .16s ease;
}
.language-option:hover,
.language-option:focus-visible {
  color: #fff;
  background: rgba(143,92,255,.13);
  transform: scale(1.015);
  box-shadow: 0 0 18px rgba(143,92,255,.18);
  outline: none;
}
.language-option.active {
  color: #fff;
  background: linear-gradient(120deg,rgba(143,92,255,.24),rgba(239,73,184,.09));
}
.language-option-flag { width: 23px; height: 16px; }
.language-option-name { font-size: 13px; font-weight: 650; }
.language-dropdown::-webkit-scrollbar { width: 8px; }
.language-dropdown::-webkit-scrollbar-track { background: transparent; }
.language-dropdown::-webkit-scrollbar-thumb { background: rgba(255,255,255,.14); border-radius: 999px; }
.mobile-toggle { display: none; background: transparent; border: 0; color: white; padding: 8px; }
.mobile-toggle span { display: block; width: 24px; height: 2px; background: currentColor; margin: 5px 0; transition: .25s; }
.mobile-panel { display: none; }

.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 10px;
  min-height: 48px; padding: 0 20px; border-radius: 14px; border: 1px solid transparent;
  font-weight: 700; font-size: 14px; transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease, background .2s ease;
}
.btn:hover,.btn:focus-visible { transform: translateY(-2px) scale(1.025); box-shadow:0 0 0 1px rgba(194,100,255,.30),0 0 26px rgba(143,92,255,.22); outline:none; }
.btn:active { transform: translateY(0) scale(.99); }
.btn-primary {
  color: white;
  background: linear-gradient(120deg, #7647f4 0%, #a955e2 58%, #b56bc8 100%);
  box-shadow: 0 12px 32px rgba(143,92,255,.30), inset 0 1px 0 rgba(255,255,255,.25);
}
.btn-primary:hover,.btn-primary:focus-visible { box-shadow: 0 18px 42px rgba(143,92,255,.42), 0 0 30px rgba(143,92,255,.25), inset 0 1px 0 rgba(255,255,255,.32); }
.btn-gold { color: #1d1308; background: linear-gradient(135deg,#f5d792,#d6a859); box-shadow: 0 14px 32px rgba(231,189,115,.20); }
.btn-ghost { color: #eee9f7; background: rgba(255,255,255,.055); border-color: rgba(255,255,255,.14); backdrop-filter: blur(12px); }
.btn-ghost:hover,.btn-ghost:focus-visible { border-color: rgba(194,100,255,.46); background: rgba(255,255,255,.08); }
.btn-sm { min-height: 40px; padding: 0 15px; border-radius: 12px; }
.btn-block { width: 100%; }
.btn[disabled] { opacity: .55; cursor: not-allowed; transform: none; }
.btn[aria-busy="true"] { opacity: .9; cursor: wait; transform: none; }
.btn-loading-spinner {
  width: 18px;
  height: 18px;
  flex: 0 0 18px;
  border: 2px solid currentColor;
  border-right-color: transparent;
  border-radius: 50%;
  animation: btn-loading-spin .65s linear infinite;
}
@keyframes btn-loading-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) {
  .btn-loading-spinner { animation-duration: 1.4s; }
}

.eyebrow {
  display: inline-flex; align-items: center; gap: 9px; color: #e8d7ff; font-weight: 700; font-size: 12px; letter-spacing: .12em; text-transform: uppercase;
}
.eyebrow::before { content: ""; width: 22px; height: 1px; background: linear-gradient(90deg,var(--gold),transparent); }
.badge {
  display: inline-flex; align-items: center; gap: 8px; padding: 7px 11px; border-radius: 999px;
  background: rgba(143,92,255,.10); border: 1px solid rgba(143,92,255,.24); color: #dfd0ff; font-size: 12px; font-weight: 700;
}
.badge-gold { background: rgba(231,189,115,.09); border-color: rgba(231,189,115,.28); color: var(--gold-2); }
.dot { width: 8px; height: 8px; border-radius: 50%; background: var(--success); box-shadow: 0 0 14px currentColor; }

h1,h2,h3,h4,p { margin-top: 0; }
h1,h2,h3,h4 { line-height: 1.08; letter-spacing: -.035em; }
h1 { font-size: clamp(46px, 7.2vw, 92px); margin-bottom: 26px; }
h2 { font-size: clamp(34px, 4.5vw, 58px); margin-bottom: 22px; }
h3 { font-size: 22px; margin-bottom: 12px; }
h4 { font-size: 17px; margin-bottom: 8px; }
p { color: var(--muted); }
.lead { font-size: clamp(17px,2vw,21px); max-width: 720px; }
.gradient-text { background: linear-gradient(90deg,#fff 5%,#d6bcff 45%,#f2cf8d 100%); -webkit-background-clip:text; background-clip:text; color: transparent; }
.text-gold { color: var(--gold); }
.text-violet { color: #c4a4ff; }
.text-muted { color: var(--muted); }
.micro { color: var(--muted-2); font-size: 12px; }
.section-head { max-width: 760px; margin-bottom: 34px; }
.section-head.center { margin-inline: auto; }

.hero { min-height: calc(100vh - var(--header-h)); display: flex; align-items: center; padding: 48px 0 36px; position: relative; overflow: hidden; }
.hero::before { content: ""; position: absolute; width: 620px; height: 620px; border-radius: 50%; right: -220px; top: -240px; background: radial-gradient(circle,rgba(143,92,255,.24),transparent 65%); filter: blur(12px); }
.hero::after { content: ""; position: absolute; width: 480px; height: 480px; border-radius: 50%; left: -180px; bottom: -260px; background: radial-gradient(circle,rgba(231,189,115,.10),transparent 64%); }
.hero-grid { display: grid; grid-template-columns: 1.16fr .84fr; align-items: center; gap: 36px; position: relative; z-index: 2; }
.hero-copy { max-width: 700px; }
.hero-title {
  font-size: clamp(44px, 4vw, 48px);
  line-height: 1.08;
  letter-spacing: -.04em;
  margin-bottom: 26px;
}
.hero-title-line {
  display: block;
  white-space: nowrap;
}
.hero-copy p { max-width: 620px; font-size: 18px; }
.hero-actions { display: flex; gap: 14px; flex-wrap: wrap; margin: 30px 0 22px; }
.hero-proof { display: flex; flex-wrap: nowrap; align-items: center; gap: 16px 24px; color: #bcb5c7; font-size: 13px; }
.hero-proof span { display: inline-flex; align-items: center; gap: 8px; }
.hero-proof svg { color: var(--gold); }
.hero-legal {
  max-width: 620px;
  margin: 12px 0 0;
  color: #898293;
  font-size: 11px;
  line-height: 1.55;
}

.visual-stage { position: relative; min-height: 500px; perspective: 1200px; }
.orbit { position: absolute; inset: 10% 0 0 6%; border: 1px solid rgba(255,255,255,.06); border-radius: 50%; transform: rotate(-11deg); }
.orbit::before, .orbit::after { content: ""; position: absolute; width: 9px; height: 9px; background: var(--gold); border-radius: 50%; box-shadow: 0 0 18px var(--gold); }
.orbit::before { left: 16%; top: 12%; }
.orbit::after { right: 12%; bottom: 18%; background: var(--violet-2); box-shadow: 0 0 18px var(--violet-2); }
.tv-shell {
  position: absolute; width: 102%; right: -10px; top: 42px; padding: 12px; border-radius: 24px;
  background: linear-gradient(145deg,#252130,#0b0910 58%,#2e2633); box-shadow: var(--shadow-lg), 0 0 0 1px rgba(255,255,255,.14);
  transform: rotateY(-8deg) rotateX(3deg);
}
.tv-screen {
  border-radius: 16px;
  overflow: hidden;
  position: relative;
  container-type: inline-size;
  aspect-ratio: 16 / 9;
  min-height: 0;
  background: #05070a;
  border: 1px solid rgba(255,255,255,.10);
}
.tv-screen::before { display: none; }
.tv-version-label {
  position: absolute;
  right: 3.75cqw;
  bottom: 1.65cqw;
  z-index: 1;
  padding: 0 .2cqw;
  color: #00e6ed;
  background: #020504;
  font-family: Arial, sans-serif;
  font-size: 1.25cqw;
  font-weight: 400;
  line-height: 1.15;
  white-space: nowrap;
  pointer-events: none;
}
.tv-app-screenshot {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.app-topbar { height: 56px; padding: 0 18px; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid rgba(255,255,255,.07); position:relative; z-index:2; }
.app-nav { display:flex; gap:16px; font-size:10px; color:#8f879c; }
.app-nav span.active { color:white; }
.app-content { padding: 18px; position:relative; z-index:2; }
.app-mini-btn { display:inline-flex; padding:7px 11px; background:white; color:#22142f; border-radius:8px; font-size:10px; font-weight:800; }
.poster-row { display:grid; grid-template-columns:repeat(4,1fr); gap:10px; margin-top:14px; }
.poster { aspect-ratio: .72; border-radius:10px; border:1px solid rgba(255,255,255,.10); background: linear-gradient(145deg,rgba(143,92,255,.35),rgba(239,73,184,.12) 48%,rgba(231,189,115,.14)); position:relative; overflow:hidden; }
.poster::after { content:""; position:absolute; inset:0; background: linear-gradient(180deg,transparent 45%,rgba(0,0,0,.85)); }
.poster:nth-child(2){ background:linear-gradient(145deg,rgba(63,133,194,.32),rgba(25,14,36,.5)); }
.poster:nth-child(3){ background:linear-gradient(145deg,rgba(231,189,115,.28),rgba(74,25,43,.42)); }
.poster:nth-child(4){ background:linear-gradient(145deg,rgba(86,214,167,.22),rgba(39,15,60,.48)); }
.tv-foot { width: 42%; height: 16px; background: linear-gradient(180deg,#302b36,#0e0b11); margin: 0 auto; clip-path: polygon(12% 0,88% 0,100% 100%,0 100%); }
.tv-base { width:58%; height:8px; border-radius:50%; background:#332c38; margin:0 auto; box-shadow:0 12px 28px rgba(0,0,0,.7); }
.phone-shell { display: none; }
.phone-screen { position:relative; min-height:118px; border-radius:18px; overflow:hidden; background:#0b0810; }
.phone-app-screenshot { width:100%; height:100%; object-fit:cover; object-position:center; display:block; }
.phone-screen-overlay { position:absolute; inset:0; background:linear-gradient(180deg,rgba(9,7,13,.10),rgba(9,7,13,.06) 36%,rgba(9,7,13,.14)); pointer-events:none; }
.phone-notch { position:absolute; top:8px; left:50%; transform:translateX(-50%); width:44px; height:5px; border-radius:8px; background:#28232d; z-index:2; }
.phone-hero { display:none; }
.phone-grid { display:none; }
.phone-card { display:none; }
.float-card { display:none; }
.float-card strong { display:block; font-size:22px; }
.float-card span { color:var(--muted); font-size:12px; }


.card {
  border: 1px solid var(--stroke);
  background: linear-gradient(145deg,rgba(255,255,255,.06),rgba(255,255,255,.025));
  border-radius: var(--radius-lg); padding: 26px; position: relative; overflow: hidden;
  box-shadow: 0 18px 55px rgba(0,0,0,.16);
}
.card::before { content:""; position:absolute; inset:0; background:linear-gradient(130deg,rgba(255,255,255,.05),transparent 42%); pointer-events:none; }
.card:hover { border-color: rgba(195,163,255,.22); }
.card-icon { width:48px; height:48px; border-radius:15px; display:grid; place-items:center; background:linear-gradient(145deg,rgba(143,92,255,.22),rgba(239,73,184,.08)); border:1px solid rgba(143,92,255,.24); color:#d9c8ff; margin-bottom:20px; }
.card p { margin-bottom:0; }
.feature-card { min-height:276px; }
.feature-card.highlight { background: radial-gradient(circle at 80% 0,rgba(143,92,255,.24),transparent 40%), linear-gradient(145deg,rgba(255,255,255,.075),rgba(255,255,255,.028)); }
.feature-list { list-style:none; padding:0; margin:18px 0 0; display:grid; gap:10px; }
.feature-list li { display:flex; gap:10px; color:#c8c1d1; font-size:14px; }
.feature-list li::before { content:"✓"; color:var(--gold); font-weight:800; }

.device-card { padding:0; }
.device-visual { height:220px; display:grid; place-items:center; padding:18px; background:radial-gradient(circle at 50% 50%,rgba(143,92,255,.22),transparent 58%),linear-gradient(180deg,rgba(255,255,255,.05),transparent); border-bottom:1px solid var(--stroke); }
.device-mockup { position:relative; display:grid; place-items:center; filter:drop-shadow(0 18px 32px rgba(0,0,0,.48)); }
.device-screen { position:relative; overflow:hidden; background:#06070a; border:1px solid rgba(255,255,255,.14); }
.device-screen > img { display:block; width:100%; height:100%; }
.device-tv { width:min(100%, 250px); }
.device-tv .device-screen { aspect-ratio:16/9; border:7px solid #2b2831; border-radius:13px; box-shadow:inset 0 0 0 1px rgba(255,255,255,.08); }
.device-tv .device-screen img { object-fit:cover; object-position:center; }
.device-tv-stand { width:34%; height:7px; margin-top:7px; border-radius:50%; background:#49434f; box-shadow:0 7px 16px rgba(0,0,0,.45); }
.device-phone-landscape { width:min(100%, 240px); }
.device-phone-landscape .device-screen {
  width:240px;
  max-width:100%;
  aspect-ratio:16/9;
  border:7px solid #302b37;
  border-radius:24px;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.08);
}
.device-phone-landscape .device-screen::before {
  content:"";
  position:absolute;
  left:8px;
  top:50%;
  width:4px;
  height:26px;
  transform:translateY(-50%);
  border-radius:999px;
  background:rgba(255,255,255,.22);
  z-index:2;
}
.device-phone-landscape .device-screen img { object-fit:cover; object-position:center; }
.device-tablet-landscape { width:min(100%, 246px); }
.device-tablet-landscape .device-screen {
  width:246px;
  max-width:100%;
  aspect-ratio:16/10;
  border:8px solid #302b37;
  border-radius:20px;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.08);
}
.device-tablet-landscape .device-screen img { object-fit:cover; object-position:center; }
.device-body { padding:22px; }
.device-body p { min-height:48px; }
.device-meta { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:18px; }
.status { font-size:12px; padding:6px 9px; border-radius:999px; font-weight:800; }
.status-ok { background:rgba(85,214,167,.10); color:#8ae7c4; border:1px solid rgba(85,214,167,.25); }
.status-warn { background:rgba(255,202,106,.10); color:#ffda91; border:1px solid rgba(255,202,106,.25); }

.showcase { border:1px solid var(--stroke); border-radius:var(--radius-xl); overflow:hidden; min-height:430px; display:grid; grid-template-columns:.9fr 1.1fr; background:linear-gradient(145deg,rgba(255,255,255,.06),rgba(255,255,255,.018)); box-shadow:var(--shadow-lg); }
.showcase-copy { padding:36px; display:flex; flex-direction:column; justify-content:center; }
.showcase-visual { min-height:380px; background:radial-gradient(circle at 50% 30%,rgba(143,92,255,.22),transparent 40%),#0b0810; display:grid; place-items:center; position:relative; overflow:hidden; padding:24px; }
.showcase-visual::before { content:""; position:absolute; width:620px; height:620px; border:1px solid rgba(255,255,255,.05); border-radius:50%; }
.showcase-screen { position:relative; z-index:1; width:min(92%, 560px); padding:12px; border-radius:24px; border:1px solid rgba(255,255,255,.10); background:rgba(10,8,16,.82); box-shadow:0 28px 70px rgba(0,0,0,.42); transform:rotate(-2.2deg); }
.showcase-screen-image { display:block; width:100%; height:auto; border-radius:16px; }

.steps { counter-reset:steps; padding-top: 6px; }
.step { display:grid; grid-template-columns:54px 1fr; gap:18px; position:relative; padding-bottom:26px; }
.step:last-child { padding-bottom:0; }
.step:not(:last-child)::after { content:""; position:absolute; left:26px; top:54px; bottom:0; width:1px; background:linear-gradient(var(--violet),transparent); }
.step-num { width:54px;height:54px;border-radius:18px;display:grid;place-items:center;background:linear-gradient(145deg,rgba(143,92,255,.26),rgba(231,189,115,.08));border:1px solid rgba(143,92,255,.28);font-weight:800;color:#eadfff; }

.price-card { display:flex; flex-direction:column; min-height:480px; }
.price-card.popular { border-color:rgba(231,189,115,.42); background:radial-gradient(circle at 80% 0,rgba(231,189,115,.16),transparent 34%),linear-gradient(145deg,rgba(255,255,255,.07),rgba(255,255,255,.025)); transform:translateY(-12px); }
.price { font-size:48px; font-weight:850; letter-spacing:-.05em; margin:16px 0 6px; }
.price small { font-size:14px; color:var(--muted); font-weight:600; letter-spacing:0; }
.price-card .btn { margin-top:auto; }
.ribbon { position:absolute; right:18px; top:18px; }

.panel { border:1px solid var(--stroke); background:rgba(255,255,255,.035); border-radius:var(--radius-lg); padding:28px; }
.form-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:18px; }
.field { display:flex; flex-direction:column; gap:8px; }
.field.full { grid-column:1/-1; }
label { font-size:13px; color:#ddd6e7; font-weight:700; }
input, select, textarea {
  width:100%; color:white; border:1px solid rgba(255,255,255,.12); border-radius:13px; background:rgba(5,4,8,.62); padding:14px 15px; outline:none; transition:.2s;
}
input:focus,select:focus,textarea:focus { border-color:rgba(143,92,255,.72); box-shadow:0 0 0 4px rgba(143,92,255,.12); }
textarea { resize:vertical; min-height:140px; }
.help { font-size:11px; color:var(--muted-2); }
.form-message { margin-top:14px; padding:12px 14px; border-radius:12px; display:none; }
.form-message.show { display:block; }
.form-message.success { background:rgba(85,214,167,.10); border:1px solid rgba(85,214,167,.24); color:#a8efd3; }
.form-message.error { background:rgba(255,111,145,.10); border:1px solid rgba(255,111,145,.24); color:#ffadc0; }

.tabs { display:flex; gap:8px; padding:6px; background:rgba(255,255,255,.04); border:1px solid var(--stroke); border-radius:15px; width:max-content; max-width:100%; overflow:auto; }
.tab-btn { color:var(--muted); background:transparent; border:0; padding:10px 15px; border-radius:10px; white-space:nowrap; font-weight:700; }
.tab-btn.active { color:white; background:linear-gradient(120deg,rgba(143,92,255,.36),rgba(239,73,184,.18)); }
.tab-panel { display:none; }
.tab-panel.active { display:block; animation:fade .25s ease; }

.accordion { border-top:1px solid var(--stroke); }
.accordion-item { border-bottom:1px solid var(--stroke); }
.accordion-btn { width:100%; text-align:left; background:transparent; border:0; color:white; padding:22px 0; display:flex; align-items:center; justify-content:space-between; gap:18px; font-weight:750; }
.accordion-btn::after { content:"+"; width:30px;height:30px;display:grid;place-items:center;border-radius:9px;background:rgba(255,255,255,.05);color:#d9c8ff;font-size:20px; }
.accordion-item.open .accordion-btn::after { content:"−"; }
.accordion-content { display:grid; grid-template-rows:0fr; transition:grid-template-rows .28s ease; }
.accordion-content > div { overflow:hidden; }
.accordion-content p { padding:0 46px 22px 0; margin:0; }
.accordion-item.open .accordion-content { grid-template-rows:1fr; }

.search-wrap { position:relative; }
.search-wrap input { padding-left:46px; }
.search-wrap svg { position:absolute; left:16px; top:50%; transform:translateY(-50%); color:var(--muted); }

.table-wrap { overflow:auto; border:1px solid var(--stroke); border-radius:18px; }
table { width:100%; border-collapse:collapse; min-width:720px; }
th,td { text-align:left; padding:16px 18px; border-bottom:1px solid var(--stroke); }
th { font-size:12px; color:#d9d2e2; background:rgba(255,255,255,.04); }
td { font-size:14px; color:var(--muted); }
tr:last-child td { border-bottom:0; }

.notice { padding:16px 18px; border-radius:15px; display:flex; gap:12px; align-items:flex-start; }
.notice-warning { background:rgba(255,202,106,.08); border:1px solid rgba(255,202,106,.22); color:#ffe0a1; }
.notice-info { background:rgba(116,191,255,.08); border:1px solid rgba(116,191,255,.22); color:#b9ddff; }
.notice p { color:inherit; margin:0; font-size:13px; }

.page-hero { padding:86px 0 72px; position:relative; overflow:hidden; }
.page-hero::after { content:"";position:absolute;width:560px;height:560px;right:-220px;top:-260px;border-radius:50%;background:radial-gradient(circle,rgba(143,92,255,.2),transparent 66%); }
.page-hero .container { position:relative; z-index:2; }
.page-hero h1 { font-size:clamp(42px,6vw,76px); max-width:900px; }
.page-hero p { font-size:18px; max-width:700px; }
.breadcrumb { display:flex; align-items:center; gap:9px; color:var(--muted); font-size:12px; margin-bottom:24px; }
.breadcrumb span { color:white; }

.page-hero-compact { padding: 74px 0 58px; }
.showcase-screen-angle-right { transform: rotate(2.6deg); }
@media (max-width: 760px) {
  .page-hero-compact { padding: 62px 0 46px; }
  .showcase-screen-angle-right { transform: rotate(1.6deg); }
}

.cta-box { position:relative; padding:50px; border-radius:var(--radius-xl); overflow:hidden; border:1px solid rgba(231,189,115,.24); background:radial-gradient(circle at 80% 10%,rgba(231,189,115,.15),transparent 34%),radial-gradient(circle at 10% 100%,rgba(143,92,255,.20),transparent 42%),linear-gradient(145deg,rgba(255,255,255,.065),rgba(255,255,255,.025)); }
.cta-box::after { content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 35%,rgba(255,255,255,.04),transparent 65%);pointer-events:none; }
.cta-box .row-between { position:relative; z-index:2; }
.cta-copy { max-width:720px; }
.cta-copy p { margin-bottom:0; }

.site-footer { border-top:1px solid rgba(255,255,255,.07); padding:72px 0 28px; background:rgba(0,0,0,.14); }
.footer-grid { display:grid; grid-template-columns:1.5fr repeat(3,1fr); gap:46px; }
.footer-brand p { max-width:360px; }
.footer-col h2,
.footer-col h4 { font-size:13px; text-transform:uppercase; letter-spacing:.1em; color:#ded7e8; margin-bottom:18px; }
.footer-col a { display:block; color:var(--muted); padding:5px 0; font-size:14px; }
.footer-col a:hover { color:white; }
.footer-bottom { display:flex; justify-content:space-between; gap:20px; border-top:1px solid rgba(255,255,255,.06); margin-top:48px; padding-top:22px; color:var(--muted-2); font-size:12px; }

.cookie-banner { position:fixed; left:20px; bottom:20px; z-index:90; width:min(430px,calc(100% - 40px)); padding:20px; border:1px solid rgba(255,255,255,.14); border-radius:20px; background:rgba(11,8,17,.92); backdrop-filter:blur(20px); box-shadow:0 22px 70px rgba(0,0,0,.52); display:none; }
.cookie-banner.show { display:block; animation:rise .35s ease; }
.cookie-banner p { font-size:13px; }
.cookie-actions { display:flex; gap:10px; flex-wrap:wrap; }

.modal { position:fixed; inset:0; z-index:100; display:none; place-items:center; padding:20px; background:rgba(0,0,0,.76); backdrop-filter:blur(8px); }
.modal.open { display:grid; }
.modal-card { width:min(620px,100%); max-height:90vh; overflow:auto; border-radius:26px; border:1px solid rgba(255,255,255,.14); background:#100b18; box-shadow:0 30px 100px rgba(0,0,0,.65); }
.modal-head { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:24px 26px; border-bottom:1px solid var(--stroke); }
.modal-body { padding:26px; }
.icon-btn { width:40px;height:40px;border-radius:12px;border:1px solid var(--stroke);background:rgba(255,255,255,.04);color:white; }
.stepper { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin-bottom:24px; }
.stepper-item { text-align:center; color:var(--muted-2); font-size:11px; position:relative; }
.stepper-item::before { content:""; display:block; width:28px;height:28px;border-radius:50%;margin:0 auto 7px;background:rgba(255,255,255,.06);border:1px solid var(--stroke); }
.stepper-item.active { color:white; }
.stepper-item.active::before { background:linear-gradient(145deg,var(--violet),var(--magenta)); box-shadow:0 0 20px rgba(143,92,255,.35); }

.reveal { opacity:0; transform:translateY(24px); transition:opacity .7s ease,transform .7s ease; }
.reveal.visible { opacity:1; transform:none; }

@keyframes shine { 0%,70%{transform:translateX(-120%)} 100%{transform:translateX(120%)} }
@keyframes float { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-10px)} }
@keyframes fade { from{opacity:0;transform:translateY(5px)} to{opacity:1;transform:none} }
@keyframes rise { from{opacity:0;transform:translateY(18px)} to{opacity:1;transform:none} }



.platforms-section {
  position: relative;
  padding: 12px 0 40px;
  overflow: hidden;
}
.platforms-section::before {
  content: "";
  position: absolute;
  width: 520px;
  height: 340px;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  border-radius: 50%;
  background: radial-gradient(circle, rgba(143,92,255,.13), transparent 68%);
  filter: blur(20px);
  pointer-events: none;
}
.platforms-heading {
  position: relative;
  z-index: 1;
  text-align: center;
  margin-bottom: 16px;
}
.platforms-heading h2 {
  margin: 0 0 8px;
  font-size: clamp(25px, 2.6vw, 38px);
  letter-spacing: .08em;
  color: #fff;
}
.platforms-heading p {
  margin: 0 auto;
  max-width: 720px;
  color: #a59db1;
  font-size: 14px;
}
.platforms-grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 14px;
}
.platform-card {
  min-width: 0;
  padding: 10px;
  border: 1px solid rgba(255,255,255,.09);
  border-radius: 18px;
  background: linear-gradient(145deg, rgba(255,255,255,.07), rgba(255,255,255,.025));
  box-shadow: 0 14px 34px rgba(0,0,0,.20);
  transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease, filter .22s ease;
}
.platform-card:hover {
  transform: translateY(-3px);
  border-color: rgba(194,100,255,.34);
  box-shadow: 0 18px 42px rgba(0,0,0,.28), 0 0 26px rgba(143,92,255,.10);
}
.platform-card-action {
  width: 100%;
  appearance: none;
  -webkit-appearance: none;
  color: inherit;
  font: inherit;
  text-align: left;
  text-decoration: none;
  cursor: pointer;
  position: relative;
  overflow: hidden;
}
.platform-card-action::after {
  content: "";
  position: absolute;
  inset: -35%;
  background: radial-gradient(circle, rgba(94,255,211,.22), transparent 58%);
  opacity: 0;
  transform: scale(.72);
  transition: opacity .24s ease, transform .24s ease;
  pointer-events: none;
}
.platform-card-action:hover,
.platform-card-action:focus-visible {
  transform: translateY(-5px) scale(1.015);
  border-color: rgba(94,255,211,.68);
  box-shadow: 0 22px 52px rgba(0,0,0,.38), 0 0 0 1px rgba(94,255,211,.28), 0 0 36px rgba(94,255,211,.22), 0 0 72px rgba(143,92,255,.15);
  filter: brightness(1.08);
  outline: none;
}
.platform-card-action:hover::after,
.platform-card-action:focus-visible::after {
  opacity: 1;
  transform: scale(1);
}
.platform-card-action > * {
  position: relative;
  z-index: 1;
}

.platform-mobile-tile {
  min-height: 69px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 8px 12px;
  border-radius: 13px;
  background: #f5f6f8;
  color: #1c2229;
  box-shadow: inset 0 0 0 1px rgba(0,0,0,.05);
}
.platform-mobile-icon { flex: 0 0 auto; color: #36c982; }
.platform-mobile-copy { min-width: 0; display: grid; gap: 2px; line-height: 1.05; }
.platform-mobile-copy strong { font-size: clamp(12px, 1.15vw, 16px); letter-spacing: -.025em; white-space: nowrap; }
.platform-mobile-copy small { color: #4f5964; font-size: 10px; font-weight: 800; letter-spacing: .13em; }
.download-method[hidden], .download-code-notice[hidden], #download-page-link[hidden] { display: none !important; }

.platform-card img {
  width: 100%;
  height: auto;
  border-radius: 13px;
  display: block;
}
.platform-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 88px;
  margin-bottom: 10px;
  padding: 6px 12px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.platform-badge-live {
  color: #8ae7c4;
  background: rgba(85,214,167,.10);
  border: 1px solid rgba(85,214,167,.24);
}
.platform-badge-soon {
  color: #beb7c9;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.10);
}
.platform-card.is-available {
  border-color: rgba(85,214,167,.20);
  box-shadow: 0 18px 38px rgba(0,0,0,.24), 0 0 24px rgba(85,214,167,.07);
}
.platform-card.is-coming {
  opacity: .82;
}
.platform-card.is-coming img {
  filter: grayscale(100%);
  opacity: .68;
}

@media (max-width: 1060px) {
  .nav-links { display:none; }
  .mobile-toggle { display:block; }
  .mobile-panel { position:fixed; inset:var(--header-h) 0 auto 0; background:rgba(7,5,12,.96); border-bottom:1px solid var(--stroke); padding:22px; backdrop-filter:blur(20px); }
  .mobile-panel.open { display:block; }
  .mobile-panel a { display:block; padding:13px 0; border-bottom:1px solid rgba(255,255,255,.05); color:#d7d0df; }
  .hero-grid { grid-template-columns:1fr; }
  .hero-copy { text-align:center; margin-inline:auto; }
  .hero-copy p { margin-inline:auto; }
  .hero-actions,.hero-proof { justify-content:center; }
  .hero-proof { flex-wrap: wrap; }
  .hero-legal { margin-inline: auto; text-align: center; }
  .visual-stage { max-width:760px; width:100%; margin:0 auto; }
  .grid-4 { grid-template-columns:repeat(2,1fr); }
  .showcase { grid-template-columns:1fr; }
  .showcase-copy { padding:34px; }
  .footer-grid { grid-template-columns:repeat(2,1fr); }
}

@media (max-width: 760px) {
  :root { --header-h:68px; }
  .container { width:min(calc(100% - 28px),var(--container)); }
  .section { padding:62px 0; }
  .section-tight { padding:44px 0; }
  .nav-actions .btn { display:none; }
  .language-trigger { min-width: 72px; height: 38px; padding: 0 9px; }
  .language-dropdown { position: fixed; top: calc(var(--header-h) + 8px); left: 14px; right: 14px; width: auto; max-height: calc(100vh - var(--header-h) - 24px); transform-origin: top center; }
  .brand {
    gap: 0;
  }
  .brand-logo {
    width: 72px;
    height: 48px;
  }
  .brand-wordmark {
    width: 116px;
    height: 42px;
  }
  .hero { padding-top:46px; min-height:auto; }
  h1 { font-size:clamp(42px,13vw,62px); }
  .hero-title { font-size: clamp(21px, 6.3vw, 46px); }
  .hero-title-line { white-space: nowrap; }
  h2 { font-size:clamp(32px,9vw,46px); }
  .hero-grid { gap:28px; }
  .visual-stage { min-height:360px; }
  .tv-shell { width:100%; right:0; top:14px; }
  .tv-screen { min-height: 0; }
  .poster-row { grid-template-columns:repeat(3,1fr); }
  .poster:nth-child(4){ display:none; }
  .phone-shell { width:128px; right:8px; bottom:28px; transform:rotate(5deg); }
  .phone-screen { min-height:74px; }
  .phone-hero { display:none; }
  .float-card { display:none; }
  .float-card strong { font-size:18px; }
  .device-visual { height:240px; }
  .device-tv { width:min(100%, 310px); }
  .device-phone-landscape { width:min(100%, 230px); }
  .device-phone-landscape .device-screen { width:230px; }
  .device-tablet-landscape { width:min(100%, 236px); }
  .device-tablet-landscape .device-screen { width:236px; }
  .grid-2,.grid-3,.grid-4,.form-grid { grid-template-columns:1fr; }
  .field.full { grid-column:auto; }
  .price-card.popular { transform:none; }
  .showcase-copy { padding:24px 20px; }
  .showcase-visual { min-height:260px; padding:16px; }
  .cta-box { padding:30px 22px; }
  .cta-box .row-between { align-items:flex-start; flex-direction:column; }
  .footer-grid { grid-template-columns:1fr; gap:28px; }
  .footer-bottom { flex-direction:column; }
  .page-hero { padding:64px 0 54px; }
  .page-hero h1 { font-size:clamp(40px,12vw,58px); }
  .modal-card { border-radius:20px; }
}

@media (prefers-reduced-motion: reduce) {
  *,*::before,*::after { animation-duration:.01ms !important; animation-iteration-count:1 !important; scroll-behavior:auto !important; transition-duration:.01ms !important; }
}


@media (max-width: 980px) {
  .platforms-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 560px) {
  .platforms-section { padding: 10px 0 30px; }
  .platforms-heading { margin-bottom: 12px; }
  .platforms-heading h2 { font-size: 24px; }
  .platforms-grid { gap: 8px; }
  .platform-badge { min-width: 72px; padding: 5px 10px; font-size: 10px; }
  .platform-card { padding: 4px; border-radius: 15px; }
  
.platform-mobile-tile {
  min-height: 69px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 8px 12px;
  border-radius: 13px;
  background: #f5f6f8;
  color: #1c2229;
  box-shadow: inset 0 0 0 1px rgba(0,0,0,.05);
}
.platform-mobile-icon { flex: 0 0 auto; color: #36c982; }
.platform-mobile-copy { min-width: 0; display: grid; gap: 2px; line-height: 1.05; }
.platform-mobile-copy strong { font-size: clamp(12px, 1.15vw, 16px); letter-spacing: -.025em; white-space: nowrap; }
.platform-mobile-copy small { color: #4f5964; font-size: 10px; font-weight: 800; letter-spacing: .13em; }
.download-method[hidden], .download-code-notice[hidden], #download-page-link[hidden] { display: none !important; }

.platform-card img { border-radius: 11px; }
}

/* Page d'accueil — parcours, appel final, footer et retour en haut */
.install-section {
  overflow: hidden;
  border-top: 1px solid rgba(255,255,255,.055);
  border-bottom: 1px solid rgba(255,255,255,.055);
  background:
    radial-gradient(circle at 12% 35%, rgba(143,92,255,.095), transparent 28%),
    radial-gradient(circle at 88% 56%, rgba(231,189,115,.06), transparent 25%);
}
.install-section::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(100deg, transparent 0 49.9%, rgba(255,255,255,.035) 50%, transparent 50.1%);
  opacity: .7;
}
.install-layout {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, .84fr) minmax(480px, 1.16fr);
  align-items: center;
  gap: clamp(52px, 7vw, 94px);
}
.install-copy { max-width: 500px; }
.install-copy h2 { max-width: 560px; margin-top: 12px; }
.install-copy .lead { margin-bottom: 0; }
.install-actions { margin-top: 28px; }
.install-actions .btn { min-width: 236px; }
.install-steps {
  position: relative;
  padding: 18px;
  border: 1px solid rgba(255,255,255,.105);
  border-radius: 30px;
  background: linear-gradient(145deg, rgba(255,255,255,.068), rgba(255,255,255,.022));
  box-shadow: 0 28px 72px rgba(0,0,0,.32), inset 0 1px 0 rgba(255,255,255,.045);
  backdrop-filter: blur(12px);
}
.install-section .step {
  min-height: 116px;
  grid-template-columns: 64px minmax(0,1fr);
  align-items: center;
  gap: 20px;
  padding: 20px 22px;
  border: 1px solid transparent;
  border-radius: 22px;
  transition: border-color .24s ease, background .24s ease, transform .24s ease;
}
.install-section .step + .step { margin-top: 8px; }
.install-section .step:last-child { padding-bottom: 20px; }
.install-section .step:hover {
  transform: translateX(4px);
  border-color: rgba(143,92,255,.18);
  background: rgba(255,255,255,.034);
}
.install-section .step:not(:last-child)::after {
  left: 53px;
  top: 84px;
  bottom: -12px;
  width: 2px;
  background: linear-gradient(180deg, rgba(143,92,255,.72), rgba(231,189,115,.32));
  opacity: .75;
}
.install-section .step-num {
  position: relative;
  z-index: 1;
  width: 64px;
  height: 64px;
  border-radius: 21px;
  color: #f4edff;
  font-size: 15px;
  letter-spacing: .06em;
  background:
    radial-gradient(circle at 30% 20%, rgba(255,255,255,.20), transparent 34%),
    linear-gradient(145deg, rgba(143,92,255,.42), rgba(239,73,184,.12) 58%, rgba(231,189,115,.14));
  border: 1px solid rgba(194,100,255,.36);
  box-shadow: 0 14px 34px rgba(75,37,138,.22), inset 0 1px 0 rgba(255,255,255,.17);
}
.install-section .step-content { min-width: 0; }
.install-section .step h3 { margin-bottom: 7px; font-size: clamp(19px, 1.7vw, 23px); }
.install-section .step p { margin-bottom: 0; max-width: 500px; font-size: 15px; }

.home-final-section { padding-top: 76px; padding-bottom: 76px; }
.home-final-cta { padding: clamp(38px, 5vw, 58px); }
.home-final-cta::before {
  content: "";
  position: absolute;
  right: -90px;
  bottom: -130px;
  width: 330px;
  height: 330px;
  border-radius: 50%;
  border: 1px solid rgba(231,189,115,.11);
  box-shadow: 0 0 0 42px rgba(231,189,115,.025), 0 0 0 92px rgba(143,92,255,.018);
  pointer-events: none;
}
.home-final-cta .row-between { gap: clamp(34px, 6vw, 82px); }
.home-final-cta .cta-copy { max-width: 760px; }
.home-final-cta h2 { margin-top: 10px; margin-bottom: 18px; }
.home-final-action { flex: 0 0 auto; }
.home-final-action .btn { min-width: 196px; min-height: 54px; }

.home-footer { padding-top: 62px; background: linear-gradient(180deg, rgba(0,0,0,.08), rgba(0,0,0,.24)); }
.home-footer .footer-grid { align-items: start; gap: clamp(34px, 4vw, 54px); }
.home-footer .footer-brand { padding-right: 10px; }
.home-footer .footer-description { margin: 18px 0 16px; max-width: 390px; }
.home-footer .footer-col h2 { position: relative; width: fit-content; padding-bottom: 11px; margin-bottom: 13px; }
.home-footer .footer-col h2::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 1px;
  background: var(--gold);
}
.home-footer .footer-col a { width: fit-content; transition: color .2s ease, transform .2s ease; }
.home-footer .footer-col a:hover { transform: translateX(3px); }
.home-footer .footer-bottom { margin-top: 42px; }

.back-to-top {
  position: fixed;
  right: 24px;
  bottom: 24px;
  z-index: 85;
  width: 52px;
  height: 52px;
  display: grid;
  place-items: center;
  padding: 0;
  color: #f9f5ff;
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 17px;
  background:
    radial-gradient(circle at 28% 18%, rgba(255,255,255,.18), transparent 38%),
    linear-gradient(145deg, rgba(143,92,255,.90), rgba(103,55,205,.92));
  box-shadow: 0 16px 40px rgba(0,0,0,.40), 0 0 28px rgba(143,92,255,.18);
  backdrop-filter: blur(14px);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(14px) scale(.9);
  transition: opacity .22s ease, visibility .22s ease, transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.back-to-top.is-visible {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateY(0) scale(1);
}
.back-to-top:hover {
  border-color: rgba(255,255,255,.30);
  box-shadow: 0 20px 48px rgba(0,0,0,.48), 0 0 36px rgba(143,92,255,.28);
  transform: translateY(-3px) scale(1);
}
.back-to-top:active { transform: translateY(0) scale(.97); }
.back-to-top:focus-visible { outline: 3px solid rgba(231,189,115,.72); outline-offset: 4px; }

@media (max-width: 1060px) {
  .install-layout { grid-template-columns: 1fr; gap: 40px; }
  .install-copy { max-width: 720px; }
  .install-section::before { display: none; }
  .home-final-cta .row-between { align-items: flex-start; }
}

@media (max-width: 760px) {
  .install-section { padding-top: 58px; padding-bottom: 58px; }
  .install-layout { gap: 32px; }
  .install-copy h2 { margin-top: 9px; }
  .install-actions { margin-top: 22px; }
  .install-actions .btn { width: 100%; min-width: 0; }
  .install-steps { padding: 10px; border-radius: 24px; }
  .install-section .step {
    min-height: 0;
    grid-template-columns: 54px minmax(0,1fr);
    gap: 15px;
    padding: 17px 14px;
    border-radius: 18px;
  }
  .install-section .step:last-child { padding-bottom: 17px; }
  .install-section .step:hover { transform: none; }
  .install-section .step-num { width: 54px; height: 54px; border-radius: 18px; font-size: 13px; }
  .install-section .step:not(:last-child)::after { left: 40px; top: 68px; bottom: -10px; }
  .install-section .step h3 { font-size: 18px; }
  .install-section .step p { font-size: 14px; line-height: 1.55; }
  .home-final-section { padding-top: 58px; padding-bottom: 58px; }
  .home-final-cta { padding: 30px 22px; }
  .home-final-action { width: 100%; }
  .home-final-action .btn { width: 100%; }
  .home-footer { padding-top: 54px; }
  .home-footer .footer-grid { gap: 30px; }
  .home-footer .footer-bottom { margin-top: 34px; gap: 8px; }
  .back-to-top { right: 16px; bottom: 16px; width: 48px; height: 48px; border-radius: 15px; }
}

@media (prefers-reduced-motion: reduce) {
  .install-section .step:hover,
  .home-footer .footer-col a:hover,
  .back-to-top:hover { transform: none; }
}




/* Page Tarifs — offres, activation et restauration */
.pricing-notice { margin-bottom: 42px; }
.pricing-offers-grid {
  width: min(100%, 900px);
  margin-inline: auto;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 28px;
  align-items: stretch;
}
.pricing-offers-grid .price-card { min-height: 520px; }
.pricing-offers-grid .price-card h2 { font-size: 25px; }
.pricing-restoration-note {
  max-width: 820px;
  margin: 30px auto 0;
  color: var(--muted);
  text-align: center;
  font-size: 13px;
}
.pricing-activation-section {
  background:
    radial-gradient(circle at 12% 30%, rgba(143,92,255,.10), transparent 28%),
    radial-gradient(circle at 88% 70%, rgba(231,189,115,.06), transparent 26%);
}
.pricing-activation-grid {
  display: grid;
  grid-template-columns: minmax(0, .95fr) minmax(420px, 1.05fr);
  gap: clamp(42px, 6vw, 82px);
  align-items: start;
}
.pricing-journey { padding-top: 14px; }
.pricing-journey > p { max-width: 600px; }
.pricing-steps {
  margin-top: 30px;
  padding: 16px;
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 28px;
  background: linear-gradient(145deg, rgba(255,255,255,.06), rgba(255,255,255,.02));
  box-shadow: 0 26px 64px rgba(0,0,0,.26);
}
.pricing-step {
  position: relative;
  min-height: 108px;
  display: grid;
  grid-template-columns: 58px minmax(0, 1fr);
  gap: 18px;
  align-items: center;
  padding: 18px;
  border-radius: 20px;
}
.pricing-step + .pricing-step { margin-top: 6px; }
.pricing-step:not(:last-child)::after {
  content: "";
  position: absolute;
  left: 46px;
  top: 78px;
  bottom: -16px;
  width: 2px;
  background: linear-gradient(180deg, rgba(143,92,255,.72), rgba(231,189,115,.24));
}
.pricing-step-num {
  position: relative;
  z-index: 1;
  width: 58px;
  height: 58px;
  display: grid;
  place-items: center;
  border-radius: 19px;
  border: 1px solid rgba(194,100,255,.34);
  background: linear-gradient(145deg, rgba(143,92,255,.42), rgba(239,73,184,.12), rgba(231,189,115,.12));
  box-shadow: 0 12px 30px rgba(75,37,138,.20), inset 0 1px 0 rgba(255,255,255,.15);
  color: #f4edff;
  font-weight: 800;
  font-size: 14px;
  letter-spacing: .06em;
}
.pricing-step h3 { margin-bottom: 6px; font-size: 20px; }
.pricing-step p { margin-bottom: 0; font-size: 14px; }
.pricing-form { padding: 32px; }
.form-intro { margin: 0; font-size: 14px; }
.pricing-form-link {
  display: block;
  width: fit-content;
  margin: 15px auto 0;
  color: #d9c8ff;
  font-size: 13px;
  font-weight: 700;
  text-align: center;
}
.pricing-form-link:hover { color: white; }
.license-services-section { overflow: hidden; }
.license-services-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 26px;
  align-items: stretch;
}
.license-services-grid .panel { height: 100%; }
.restore-panel {
  border-color: rgba(231,189,115,.22);
  background:
    radial-gradient(circle at 92% 0, rgba(231,189,115,.10), transparent 36%),
    rgba(255,255,255,.035);
}
.license-security-note { margin-top: 26px; }

@media (max-width: 920px) {
  .pricing-activation-grid { grid-template-columns: 1fr; }
  .pricing-journey { padding-top: 0; }
}
@media (max-width: 760px) {
  .pricing-notice { margin-bottom: 30px; }
  .pricing-offers-grid,
  .license-services-grid { grid-template-columns: 1fr; }
  .pricing-offers-grid { gap: 20px; }
  .pricing-offers-grid .price-card { min-height: 0; }
  .pricing-form { padding: 25px 20px; }
  .pricing-steps { padding: 10px; border-radius: 23px; }
  .pricing-step {
    min-height: 0;
    grid-template-columns: 52px minmax(0, 1fr);
    gap: 14px;
    padding: 16px 12px;
  }
  .pricing-step-num { width: 52px; height: 52px; border-radius: 17px; font-size: 13px; }
  .pricing-step:not(:last-child)::after { left: 38px; top: 66px; bottom: -12px; }
  .pricing-step h3 { font-size: 18px; }
}


/* Page FAQ */
.faq-section { padding-top: 64px; }
.faq-search-panel {
  max-width: 820px;
  margin: 0 auto 48px;
  padding: 20px;
  border: 1px solid rgba(255,255,255,.09);
  border-radius: 22px;
  background: linear-gradient(145deg, rgba(255,255,255,.055), rgba(255,255,255,.018));
  box-shadow: 0 18px 50px rgba(0,0,0,.22);
}
.faq-search-panel .search-wrap input { min-height: 54px; }
.faq-search-help { margin: 11px 4px 0; font-size: 12px; color: var(--muted-2); }
.faq-groups { max-width: 940px; margin: 0 auto; display: grid; gap: 46px; }
.faq-group { scroll-margin-top: 110px; }
.faq-group-heading { margin-bottom: 18px; }
.faq-group-heading .eyebrow { margin-bottom: 8px; }
.faq-group-heading h2 { font-size: clamp(25px, 3vw, 36px); margin-bottom: 8px; }
.faq-group-heading p { margin-bottom: 0; max-width: 700px; }
.faq-group .accordion {
  border: 1px solid var(--stroke);
  border-radius: 22px;
  overflow: hidden;
  background: linear-gradient(145deg, rgba(255,255,255,.045), rgba(255,255,255,.015));
}
.faq-group .accordion-item { padding: 0 22px; }
.faq-group .accordion-item:last-child { border-bottom: 0; }
.faq-group .accordion-btn { font-size: 15px; }
.faq-group .accordion-btn:focus-visible { outline: 3px solid rgba(231,189,115,.65); outline-offset: -3px; border-radius: 10px; }
.faq-empty {
  text-align: center;
  padding: 38px 24px;
  border: 1px dashed rgba(255,255,255,.16);
  border-radius: 22px;
  background: rgba(255,255,255,.025);
}
.faq-empty strong { display: block; font-size: 20px; margin-bottom: 8px; }
.faq-empty p { margin: 0 0 18px; }
@media (max-width: 760px) {
  .faq-section { padding-top: 48px; }
  .faq-search-panel { margin-bottom: 36px; padding: 14px; border-radius: 18px; }
  .faq-groups { gap: 36px; }
  .faq-group .accordion-item { padding: 0 16px; }
  .faq-group .accordion-btn { padding: 19px 0; font-size: 14px; }
  .faq-group .accordion-content p { padding-right: 8px; }
}


/* Page Nous contacter */
.support-entry-section { padding-top: 62px; padding-bottom: 62px; }
.support-entry-grid .card { min-height: 270px; }
.support-entry-grid .card h2 { font-size: 22px; }
.support-contact-section { background: radial-gradient(circle at 12% 30%, rgba(143,92,255,.09), transparent 30%), radial-gradient(circle at 88% 65%, rgba(231,189,115,.055), transparent 28%); }
.support-contact-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.support-contact-card { display:grid; grid-template-columns:58px minmax(0,1fr); gap:20px; align-items:start; padding:30px; }
.support-contact-grid > .support-contact-card:first-child { position:relative; isolation:isolate; overflow:hidden; }
.support-contact-grid > .support-contact-card:first-child > * { position:relative; z-index:1; }
.support-contact-grid > .support-contact-card:first-child::after {
  content:"";
  position:absolute;
  z-index:0;
  left:50%;
  bottom:clamp(86px,9vw,142px);
  width:clamp(240px,23vw,350px);
  height:clamp(170px,17vw,250px);
  transform:translateX(-50%);
  background:url("../df-logo-symbol.png") center/contain no-repeat;
  opacity:.15;
  filter:blur(1.2px) saturate(.72);
  pointer-events:none;
}
.support-contact-card h3 { font-size:clamp(21px,2.4vw,28px); overflow-wrap:anywhere; }
.support-contact-card p { max-width:540px; }
.support-contact-icon { width:58px; height:58px; display:grid; place-items:center; border-radius:18px; color:#e4d8ff; border:1px solid rgba(143,92,255,.28); background:linear-gradient(145deg,rgba(143,92,255,.26),rgba(239,73,184,.09)); }
.support-contact-whatsapp { border-color:rgba(85,214,167,.20); }
.support-contact-whatsapp .support-contact-icon { color:#a8efd3; border-color:rgba(85,214,167,.28); background:linear-gradient(145deg,rgba(85,214,167,.20),rgba(85,214,167,.06)); }
.support-whatsapp-list { display:grid; gap:14px; margin-top:20px; }
.support-whatsapp-option { display:grid; gap:7px; padding:16px; border:1px solid rgba(255,255,255,.09); border-radius:16px; background:rgba(255,255,255,.025); transition:transform .24s ease, border-color .24s ease, background-color .24s ease, box-shadow .24s ease; transform-origin:center; }
.support-whatsapp-option strong { color:#f4effa; font-size:14px; }
.support-whatsapp-option span { color:#cfc5d8; font-size:17px; font-weight:700; letter-spacing:.01em; }
.support-whatsapp-option .btn { width:fit-content; margin-top:4px; }
.support-check-grid { display:grid; grid-template-columns:minmax(0,.9fr) minmax(420px,1.1fr); gap:clamp(38px,6vw,82px); align-items:center; }
.support-checklist { padding:30px; }
.support-checklist .feature-list { margin-top:0; }
.support-form-layout { display:grid; grid-template-columns:minmax(0,.82fr) minmax(480px,1.18fr); gap:clamp(38px,6vw,78px); align-items:start; }
.support-form-layout > div { position:sticky; top:112px; }
.support-consent label { display:flex; align-items:flex-start; gap:11px; color:var(--muted); font-weight:500; line-height:1.55; }
.support-consent input[type="checkbox"] { width:18px; height:18px; flex:0 0 auto; margin-top:3px; padding:0; accent-color:var(--violet); }
.support-consent a { color:var(--gold); text-decoration:underline; text-underline-offset:3px; }
.support-mail-action { display:inline-flex; margin-top:12px; }
@media (max-width: 980px) {
  .support-contact-grid,
  .support-check-grid,
  .support-form-layout { grid-template-columns:1fr; }
  .support-form-layout > div { position:static; }
  .support-contact-grid > .support-contact-card:first-child::after { display:none; }
}
@media (max-width: 620px) {
  .support-entry-section { padding-top:50px; padding-bottom:50px; }
  .support-contact-card { grid-template-columns:1fr; padding:24px 20px; }
  .support-contact-card .btn { width:100%; }
  .support-checklist { padding:24px 20px; }
}


/* Liens légaux discrets en bas du site */
.footer-legal-mini {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: 7px;
  margin-top: 12px;
  color: rgba(210, 202, 221, .46);
  font-size: 10px;
  line-height: 1.4;
  letter-spacing: .015em;
}
.footer-legal-mini a {
  color: inherit;
  text-decoration: none;
  transition: color .2s ease;
}
.footer-legal-mini a:hover,
.footer-legal-mini a:focus-visible {
  color: rgba(245, 240, 252, .82);
}
.footer-legal-mini a:focus-visible {
  outline: 2px solid rgba(231, 189, 115, .62);
  outline-offset: 3px;
  border-radius: 3px;
}
@media (max-width: 560px) {
  .footer-legal-mini { margin-top: 10px; font-size: 9px; gap: 6px; }
}


/* Page Revendeur — phase publique */
.reseller-hero { background: radial-gradient(circle at 76% 30%, rgba(143,92,255,.10), transparent 32%); }
.reseller-hero p { max-width: 760px; }
.reseller-hero-note { margin: 20px 0 0; color: var(--muted-2); font-size: 12px !important; }
.reseller-benefits-grid .feature-card { min-height: 300px; }
.reseller-how-section {
  background: radial-gradient(circle at 10% 45%, rgba(143,92,255,.09), transparent 30%), radial-gradient(circle at 90% 65%, rgba(231,189,115,.055), transparent 26%);
}
.reseller-how-layout { display:grid; grid-template-columns:minmax(0,.85fr) minmax(460px,1.15fr); gap:clamp(46px,7vw,88px); align-items:center; }
.reseller-how-copy p { max-width: 600px; }
.reseller-how-copy .notice { margin-top: 24px; }
.reseller-steps { padding:16px; border:1px solid rgba(255,255,255,.10); border-radius:28px; background:linear-gradient(145deg,rgba(255,255,255,.06),rgba(255,255,255,.02)); box-shadow:0 26px 64px rgba(0,0,0,.26); }
.reseller-step { position:relative; display:grid; grid-template-columns:58px minmax(0,1fr); gap:18px; align-items:center; min-height:108px; padding:18px; border-radius:20px; }
.reseller-step + .reseller-step { margin-top:6px; }
.reseller-step:not(:last-child)::after { content:""; position:absolute; left:46px; top:78px; bottom:-16px; width:2px; background:linear-gradient(180deg,rgba(143,92,255,.72),rgba(231,189,115,.24)); }
.reseller-step-num { position:relative; z-index:1; width:58px; height:58px; display:grid; place-items:center; border-radius:19px; border:1px solid rgba(194,100,255,.34); background:linear-gradient(145deg,rgba(143,92,255,.42),rgba(239,73,184,.12),rgba(231,189,115,.12)); box-shadow:0 12px 30px rgba(75,37,138,.20),inset 0 1px 0 rgba(255,255,255,.15); color:#f4edff; font-weight:800; font-size:14px; letter-spacing:.06em; }
.reseller-step h3 { margin-bottom:7px; font-size:20px; }
.reseller-step p { margin:0; font-size:14px; }
.reseller-capability-grid .card { min-height: 210px; }
.reseller-access-section { padding-top: 58px; padding-bottom: 58px; }
.reseller-access-card { padding: clamp(34px,5vw,52px); }
.reseller-access-card .row-between { gap: 36px; }
.reseller-access-actions { flex:0 0 auto; display:grid; gap:14px; justify-items:center; text-align:center; }
.reseller-access-actions .btn[disabled] { opacity:.64; cursor:not-allowed; }
.reseller-apply-section { background:linear-gradient(180deg,rgba(255,255,255,.012),transparent); }
.reseller-apply-layout { display:grid; grid-template-columns:minmax(0,.78fr) minmax(540px,1.22fr); gap:clamp(44px,6vw,78px); align-items:start; }
.reseller-apply-copy { position:sticky; top:110px; }
.reseller-contact-mini { margin-top:28px; padding:18px; display:grid; gap:7px; border:1px solid rgba(255,255,255,.09); border-radius:16px; background:rgba(255,255,255,.025); }
.reseller-contact-mini strong { font-size:13px; color:#e5deeb; }
.reseller-contact-mini a { width:fit-content; color:#d4c1ff; font-size:14px; }
.reseller-apply-form { padding: clamp(22px,3vw,30px); }
.reseller-checks { gap:12px; }
.reseller-check { display:flex; align-items:flex-start; gap:11px; color:#c9c1d1; font-size:13px; font-weight:500; line-height:1.5; }
.reseller-check input { flex:0 0 auto; width:18px; height:18px; margin-top:2px; padding:0; }
.reseller-rules-section { padding-top: 70px; }

@media (max-width: 1060px) {
  .reseller-how-layout, .reseller-apply-layout { grid-template-columns:1fr; }
  .reseller-apply-copy { position:static; }
  .reseller-how-copy { max-width:760px; }
}
@media (max-width: 760px) {
  .reseller-benefits-grid .feature-card { min-height:0; }
  .reseller-steps { padding:10px; border-radius:23px; }
  .reseller-step { grid-template-columns:52px minmax(0,1fr); gap:14px; min-height:0; padding:16px 13px; }
  .reseller-step-num { width:52px; height:52px; border-radius:17px; font-size:13px; }
  .reseller-step:not(:last-child)::after { left:38px; top:67px; bottom:-10px; }
  .reseller-step h3 { font-size:18px; }
  .reseller-access-card .row-between { align-items:flex-start; }
  .reseller-access-actions { width:100%; justify-items:stretch; text-align:left; }
  .reseller-access-actions .btn { width:100%; }
  .reseller-capability-grid .card { min-height:0; }
  .reseller-rules-section { padding-top:58px; }
}

/* Page Compatibilité */
.compatibility-check-layout {
  display: grid;
  grid-template-columns: minmax(300px, .78fr) minmax(0, 1.22fr);
  gap: clamp(34px, 5vw, 66px);
  align-items: start;
}
.compatibility-device-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}
.compatibility-device-grid .device-card { min-width: 0; }
.compatibility-device-grid .device-visual { height: 188px; padding: 14px; }
.compatibility-device-grid .device-body { padding: 20px; }
.compatibility-device-grid .device-body h3 { font-size: 18px; }
.compatibility-device-grid .device-body p { min-height: 0; margin: 14px 0 0; font-size: 13px; }
.compatibility-check-section .panel { margin-top: 24px; }

@media (max-width: 980px) {
  .compatibility-check-layout { grid-template-columns: 1fr; }
}
@media (max-width: 620px) {
  .compatibility-device-grid { grid-template-columns: 1fr; }
  .compatibility-device-grid .device-visual { height: 205px; }
}


/* Finalisation de la page Téléchargement */
.download-release-card { padding: clamp(26px, 4vw, 42px); }
.download-release-layout { display:grid; grid-template-columns:minmax(0,1fr) 150px; gap:36px; align-items:center; }
.download-release-copy { max-width:760px; }
.download-release-copy h2 { margin-top:18px; font-size:clamp(32px,4vw,52px); }
.download-app-icon { width:140px; aspect-ratio:1; padding:14px; border-radius:30px; border:1px solid rgba(255,255,255,.12); background:radial-gradient(circle at 30% 20%,rgba(255,255,255,.13),transparent 34%),linear-gradient(145deg,rgba(143,92,255,.24),rgba(255,255,255,.025)); box-shadow:0 24px 55px rgba(0,0,0,.34); }
.download-app-icon img { display:block; width:100%; height:100%; object-fit:contain; border-radius:22px; }
.download-official-note { margin-top:28px; }
.download-guide-layout { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr); gap:clamp(34px,6vw,72px); align-items:start; }
.download-steps { list-style:none; padding:0; margin:28px 0 0; display:grid; gap:14px; }
.download-steps li { display:grid; grid-template-columns:52px minmax(0,1fr); gap:16px; padding:18px; border:1px solid var(--stroke); border-radius:18px; background:rgba(255,255,255,.025); }
.download-steps li > span { width:52px; height:52px; display:grid; place-items:center; border-radius:16px; color:#eee4ff; font-size:13px; font-weight:800; letter-spacing:.05em; background:linear-gradient(145deg,rgba(143,92,255,.34),rgba(231,189,115,.10)); border:1px solid rgba(143,92,255,.28); }
.download-steps h3 { margin:2px 0 6px; font-size:18px; }
.download-steps p { margin:0; font-size:14px; }
.download-security-panel { position:sticky; top:110px; }
.download-hash-pending { margin:22px 0 16px; padding:18px; border-radius:16px; border:1px dashed rgba(195,163,255,.28); background:rgba(143,92,255,.055); }
.download-hash-pending strong { display:block; margin-top:8px; color:#ddd0fb; font-size:16px; }
@media (max-width: 860px) {
  .download-release-layout { grid-template-columns:1fr; }
  .download-app-icon { width:112px; order:-1; }
  .download-guide-layout { grid-template-columns:1fr; }
  .download-security-panel { position:static; }
}
@media (max-width: 560px) {
  .download-release-card { padding:22px 18px; }
  .download-release-copy .hero-actions .btn { width:100%; }
  .download-steps li { grid-template-columns:44px minmax(0,1fr); padding:15px; }
  .download-steps li > span { width:44px; height:44px; border-radius:14px; }
}


/* Production, internationalisation et états globaux */
.language-option[data-lang-status="planned"] { opacity: .58; }
.language-option[data-lang-status="planned"]:hover { opacity: .82; }
.language-status { margin-left:auto; font-size:9px; text-transform:uppercase; letter-spacing:.08em; color:var(--muted-2); }
.global-notice { position:fixed; right:20px; bottom:20px; z-index:180; max-width:min(390px,calc(100% - 40px)); padding:14px 16px; border-radius:14px; border:1px solid rgba(255,255,255,.14); background:rgba(14,10,22,.95); color:#f8f6ff; box-shadow:0 20px 60px rgba(0,0,0,.45); opacity:0; transform:translateY(10px); transition:.22s ease; }
.global-notice.show { opacity:1; transform:none; }
.global-notice.info { border-color:rgba(116,191,255,.28); }
.global-notice.error { border-color:rgba(255,111,145,.32); }
button:disabled, .btn[aria-disabled="true"] { cursor:not-allowed; opacity:.58; }
:focus-visible { outline:3px solid rgba(231,189,115,.72); outline-offset:3px; }

/* Gestion des playlists synchronisées */
.playlist-manager-hero { padding-bottom: 54px; }
.playlist-manager-hero h1 { max-width:840px; padding-right:.08em; }
.playlist-manager-hero .gradient-text { display:inline-block; padding-right:.08em; }
.playlist-manager-hero p { max-width: 720px; }
.playlist-manager-section { padding-top: 18px; }
.playlist-manager-layout { display:grid; grid-template-columns:minmax(260px,.72fr) minmax(0,1.28fr); gap:32px; align-items:start; }
.playlist-manager-summary { position:sticky; top:108px; padding:30px; border:1px solid rgba(255,255,255,.10); border-radius:26px; background:linear-gradient(150deg,rgba(143,92,255,.13),rgba(255,255,255,.025) 58%,rgba(231,189,115,.07)); box-shadow:0 22px 60px rgba(0,0,0,.20); }
.playlist-manager-summary h2 { margin:8px 0 14px; font-size:clamp(24px,2.4vw,34px); line-height:1.12; }
.playlist-manager-steps { list-style:none; display:grid; gap:20px; margin:25px 0 28px; padding:0; }
.playlist-manager-steps li { display:grid; grid-template-columns:38px minmax(0,1fr); gap:12px; align-items:start; }
.playlist-manager-steps li > span { display:grid; place-items:center; width:34px; height:34px; border:1px solid rgba(194,100,255,.40); border-radius:11px; color:#e9ddff; background:rgba(143,92,255,.18); font-size:11px; font-weight:900; letter-spacing:.08em; }
.playlist-manager-steps strong { display:block; color:#f6f2ff; font-size:14px; }
.playlist-manager-steps p { margin:3px 0 0; color:var(--muted); font-size:13px; line-height:1.45; }
.playlist-manager-panel { min-height:560px; padding:clamp(24px,4vw,42px); border-color:rgba(194,100,255,.22); background:radial-gradient(circle at 94% 3%,rgba(143,92,255,.15),transparent 30%),rgba(255,255,255,.034); box-shadow:var(--shadow-lg); }
.playlist-manager-panel h2 { margin:8px 0 10px; font-size:clamp(26px,3.2vw,38px); }
.playlist-manager-panel h3 { margin:0; font-size:20px; }
.playlist-manager-panel > div > p { max-width:660px; }
.playlist-session-loading { min-height:430px; display:grid; place-content:center; justify-items:center; gap:16px; color:#ddd3ef; text-align:center; }
.playlist-session-loading[hidden] { display:none; }
.playlist-session-spinner { width:38px; height:38px; border:3px solid rgba(255,255,255,.14); border-top-color:#b85cff; border-right-color:#e7bd73; border-radius:50%; box-shadow:0 0 22px rgba(143,92,255,.18); animation:playlist-session-spin .8s linear infinite; }
.playlist-session-loading strong { font-size:15px; letter-spacing:.01em; }
@keyframes playlist-session-spin { to { transform:rotate(360deg); } }
@media (prefers-reduced-motion:reduce) { .playlist-session-spinner { animation-duration:1.6s; } }
.playlist-manager-form { display:grid; gap:15px; margin-top:26px; }
.playlist-manager-form input, .playlist-manager-form select { width:100%; }
.playlist-manager-form small { color:var(--muted-2); font-size:12px; }
.playlist-manager-message { margin:0 0 22px; padding:14px 16px; border:1px solid rgba(255,111,145,.34); border-radius:14px; color:#ffd5df; background:rgba(255,111,145,.09); font-size:14px; }
.playlist-manager-message[hidden] { display:none; }
.playlist-manager-message.error {
  position:fixed;
  z-index:1600;
  top:clamp(78px,9vh,104px);
  left:50%;
  width:min(760px,calc(100vw - 32px));
  max-height:min(40vh,280px);
  margin:0;
  padding:16px 20px 16px 54px;
  overflow:auto;
  border-color:rgba(255,111,145,.72);
  color:#ffe8ee;
  background:linear-gradient(135deg,rgba(58,17,35,.98),rgba(35,15,31,.98));
  box-shadow:0 18px 55px rgba(0,0,0,.48),0 0 0 1px rgba(255,111,145,.12),0 0 28px rgba(255,71,120,.16);
  font-size:15px;
  font-weight:750;
  line-height:1.5;
  transform:translateX(-50%);
  animation:playlist-error-in .24s ease-out both;
  outline:none;
}
.playlist-manager-message.error::before {
  content:"!";
  position:absolute;
  top:50%;
  left:18px;
  display:grid;
  place-items:center;
  width:24px;
  height:24px;
  border-radius:50%;
  color:#210913;
  background:#ff7898;
  font-size:15px;
  font-weight:950;
  transform:translateY(-50%);
}
@keyframes playlist-error-in {
  from { opacity:0; transform:translate(-50%,-12px) scale(.985); }
  to { opacity:1; transform:translate(-50%,0) scale(1); }
}
.playlist-manager-message.success { border-color:rgba(85,214,167,.34); color:#c8f7e5; background:rgba(85,214,167,.09); }
.playlist-manager-message.info { border-color:rgba(116,191,255,.34); color:#cce8ff; background:rgba(116,191,255,.09); }
.playlist-workspace-head { display:flex; align-items:flex-start; justify-content:space-between; gap:22px; padding-bottom:26px; border-bottom:1px solid var(--stroke); }
.playlist-workspace-head p { margin:4px 0 0; color:var(--muted); font-size:13px; }
.playlist-workspace-toolbar { display:flex; align-items:center; justify-content:space-between; gap:18px; margin:26px 0 18px; }
.playlist-workspace-toolbar strong { display:block; font-size:17px; }
.playlist-workspace-toolbar span { display:block; margin-top:2px; color:var(--muted-2); font-size:12px; }
.playlist-editor { margin:0 0 22px; padding:24px; border:1px solid rgba(143,92,255,.31); border-radius:20px; background:rgba(8,6,15,.62); }
.playlist-editor-head { display:flex; justify-content:space-between; gap:16px; align-items:flex-start; margin-bottom:20px; }
.playlist-editor .form-grid { gap:16px; }
.field-group { display:grid; gap:12px; }
.playlist-enabled { flex-direction:row; align-items:flex-start; gap:12px; padding:14px 15px; border:1px solid var(--stroke); border-radius:14px; background:rgba(255,255,255,.025); cursor:pointer; }
.playlist-enabled input { width:18px; height:18px; margin-top:3px; accent-color:var(--violet); }
.playlist-enabled strong, .playlist-enabled small { display:block; }
.playlist-enabled small { margin-top:2px; }
.playlist-enabled small.pin-removal-warning { color:#f5d792; font-weight:700; }
.playlist-list { display:grid; gap:13px; }
.playlist-card { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:20px; border:1px solid rgba(255,255,255,.10); border-radius:18px; background:linear-gradient(135deg,rgba(255,255,255,.052),rgba(255,255,255,.018)); transition:border-color .2s ease,transform .2s ease; }
.playlist-card:hover { border-color:rgba(194,100,255,.36); transform:translateY(-1px); }
.playlist-card.is-disabled { opacity:.72; }
.playlist-card-content { min-width:0; }
.playlist-card-head { display:flex; gap:10px; align-items:center; flex-wrap:wrap; }
.playlist-card-number { display:inline-grid; place-items:center; min-width:30px; height:30px; padding:0 8px; border:1px solid rgba(194,100,255,.34); border-radius:10px; color:#f4ecff; background:linear-gradient(145deg,rgba(143,92,255,.20),rgba(143,92,255,.08)); box-shadow:inset 0 0 14px rgba(194,100,255,.06); font-size:12px; font-weight:900; font-variant-numeric:tabular-nums; }
.status-connected { color:#9af0c9; border:1px solid rgba(57,224,153,.38); background:rgba(57,224,153,.10); box-shadow:0 0 18px rgba(57,224,153,.08); }
.status-danger { color:#ff9aaa; border:1px solid rgba(255,92,118,.40); background:rgba(255,92,118,.10); box-shadow:0 0 18px rgba(255,92,118,.07); }
.playlist-card h3 { max-width:430px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.playlist-card-type { margin:7px 0 1px; color:#d8c8fa; font-size:12px; font-weight:800; letter-spacing:.04em; text-transform:uppercase; }
.playlist-card-detail { max-width:480px; margin:0; overflow:hidden; color:var(--muted); font-size:13px; text-overflow:ellipsis; white-space:nowrap; }
.playlist-card-actions { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:8px; flex:0 0 auto; }
.status-muted { color:#c4bbce; border:1px solid rgba(196,187,206,.24); background:rgba(196,187,206,.08); }
.btn-danger { color:#ffd4df; border-color:rgba(255,111,145,.34); background:rgba(255,111,145,.08); }
.btn-danger:hover,.btn-danger:focus-visible { background:rgba(255,111,145,.16); border-color:rgba(255,111,145,.55); box-shadow:0 0 0 1px rgba(255,111,145,.18),0 0 24px rgba(255,111,145,.18); }
.playlist-empty { padding:48px 24px; border:1px dashed rgba(194,100,255,.32); border-radius:20px; text-align:center; background:rgba(143,92,255,.04); }
.playlist-empty[hidden] { display:none; }
.playlist-empty > div { display:grid; place-items:center; width:46px; height:46px; margin:0 auto 14px; border-radius:15px; color:#eadfff; background:rgba(143,92,255,.20); font-size:26px; }
.playlist-empty h3 { margin:0; }
.playlist-empty p { max-width:500px; margin:8px auto 20px; color:var(--muted); }
@media (max-width:900px) { .playlist-manager-layout { grid-template-columns:1fr; } .playlist-manager-summary { position:static; } }
@media (max-width:640px) { .playlist-manager-panel { padding:24px 18px; } .playlist-workspace-head,.playlist-workspace-toolbar,.playlist-card { align-items:flex-start; flex-direction:column; } .playlist-card-actions { justify-content:flex-start; } .playlist-card h3,.playlist-card-detail { max-width:calc(100vw - 80px); } }
@media (max-width:560px){ .global-notice{right:14px;bottom:14px;max-width:calc(100% - 28px);} }

.error-page{min-height:100vh;display:grid;place-items:center;padding:50px 0}.error-card{max-width:760px;padding:clamp(34px,6vw,72px);border:1px solid var(--stroke);border-radius:var(--radius-xl);background:linear-gradient(145deg,rgba(255,255,255,.07),rgba(255,255,255,.02));box-shadow:var(--shadow-lg);text-align:center}.error-card h1{font-size:clamp(48px,8vw,86px)}.error-card .hero-actions{justify-content:center}

/* Utilitaires validés par l’audit final : remplacent les styles HTML inline. */
.u-heading-tight { margin: 6px 0 0; }
.u-mb-20 { margin-bottom: 20px; }
.u-relative-front { position: relative; z-index: 1; }
.u-max-w-480 { max-width: 480px; }
.u-mt-28 { margin-top: 28px; }
.u-mt-22 { margin-top: 22px; }
.u-inline-auto { margin-inline: auto; }
.u-mt-18 { margin-top: 18px; }
.form-message.info { background: rgba(116,191,255,.10); border: 1px solid rgba(116,191,255,.24); color: #b8ddff; }

/* Arabic interface */
html[dir="rtl"] body { text-align: right; }
html[dir="rtl"] .nav-container, html[dir="rtl"] .nav-links, html[dir="rtl"] .footer-grid, html[dir="rtl"] .button-row { direction: rtl; }
html[dir="rtl"] .language-option { text-align: right; }
html[dir="rtl"] input, html[dir="rtl"] textarea, html[dir="rtl"] select { direction: rtl; text-align: right; }
/* WhatsApp options: identical neutral style with a subtle interactive lift. */
.support-whatsapp-option:focus-within { transform:scale(1.025); border-color:rgba(166,116,255,.42); background:rgba(143,92,255,.075); box-shadow:0 16px 36px rgba(0,0,0,.24); }
@media (hover:hover) and (pointer:fine) {
  .support-whatsapp-option:hover { transform:scale(1.025); border-color:rgba(166,116,255,.42); background:rgba(143,92,255,.075); box-shadow:0 16px 36px rgba(0,0,0,.24); }
}
@media (prefers-reduced-motion:reduce) {
  .support-whatsapp-option { transition:none; }
  .support-whatsapp-option:hover, .support-whatsapp-option:focus-within { transform:none; }
}

/* Public APK release */
.download-release-meta { margin-top:14px; color:var(--muted); }
.download-hash-pending strong { overflow-wrap:anywhere; word-break:break-word; font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace; font-size:13px; line-height:1.55; }

.downloader-public-section { padding-top: 26px; }
.downloader-public-card {
  display: grid;
  grid-template-columns: minmax(150px, 220px) minmax(0, 1fr);
  align-items: center;
  gap: clamp(26px, 5vw, 64px);
  padding: clamp(24px, 4vw, 46px);
  overflow: hidden;
  background:
    radial-gradient(circle at 10% 50%, rgba(255, 111, 24, .18), transparent 34%),
    linear-gradient(145deg, rgba(25, 17, 32, .98), rgba(12, 9, 17, .98));
}
.downloader-public-logo {
  width: min(100%, 220px);
  aspect-ratio: 1;
  padding: 10px;
  border: 1px solid rgba(255, 134, 49, .38);
  border-radius: 28px;
  background: rgba(255, 255, 255, .035);
  box-shadow: 0 24px 54px rgba(0, 0, 0, .34), 0 0 34px rgba(255, 112, 24, .12);
}
.downloader-public-logo img { display: block; width: 100%; height: 100%; border-radius: 20px; object-fit: cover; }
.downloader-public-copy h2 { margin: 8px 0 12px; }
.downloader-public-copy > p { max-width: 760px; }
.downloader-public-code {
  display: inline-grid;
  gap: 5px;
  margin: 20px 0 2px;
  padding: 14px 22px;
  border: 1px solid rgba(255, 145, 72, .48);
  border-radius: 16px;
  background: linear-gradient(135deg, rgba(255, 118, 27, .16), rgba(255, 255, 255, .035));
  box-shadow: 0 14px 32px rgba(0, 0, 0, .25);
}
.downloader-public-code span { color: #ffb277; font-size: 11px; font-weight: 850; letter-spacing: .12em; }
.downloader-public-code strong { color: #fff; font-size: clamp(30px, 5vw, 46px); line-height: 1; letter-spacing: .08em; }
.downloader-public-short { margin: 14px 0 0; color: var(--muted); font-size: 14px; }
.downloader-public-short a { color: #ffb277; font-weight: 800; }

@media (max-width: 760px) {
  .downloader-public-card { grid-template-columns: 1fr; text-align: center; }
  .downloader-public-logo { width: 138px; margin-inline: auto; border-radius: 22px; }
  .downloader-public-logo img { border-radius: 15px; }
  .downloader-public-copy > p { margin-inline: auto; }
  .downloader-public-copy .hero-actions { justify-content: center; }
}

@media (max-width: 520px) {
  .downloader-public-card { padding: 22px 17px; }
  .downloader-public-copy .hero-actions { display: grid; }
  .downloader-public-copy .hero-actions .btn { width: 100%; }
}


/* Popup de téléchargement */
.download-platforms-section { padding-top: 42px; }
.download-platforms-section .platforms-heading { max-width: 850px; }
.download-platforms-section .platform-card { min-height: 168px; }
.download-modal { z-index: 130; background: rgba(3, 2, 7, .84); }
.download-modal.open .download-modal-card { animation: downloadModalIn .22s ease-out both; }
.download-modal-card {
  width: min(760px, 100%);
  border-color: rgba(231, 189, 115, .22);
  background:
    radial-gradient(circle at 92% 4%, rgba(143, 92, 255, .16), transparent 30%),
    linear-gradient(155deg, #171120, #0d0a13 68%);
  box-shadow: 0 34px 120px rgba(0, 0, 0, .72), 0 0 0 1px rgba(255, 255, 255, .025) inset;
}
.download-modal-head { align-items: flex-start; }
.download-modal-head h2 { margin: 7px 0 0; font-size: clamp(24px, 3vw, 34px); }
.download-modal-head p { max-width: 590px; margin: 9px 0 0; color: var(--muted); font-size: 14px; }
.download-modal-close { flex: 0 0 auto; font-size: 24px; line-height: 1; cursor: pointer; transition: border-color .2s ease, background .2s ease, transform .2s ease; }
.download-modal-close:hover,
.download-modal-close:focus-visible { border-color: rgba(231, 189, 115, .65); background: rgba(231, 189, 115, .12); outline: none; transform: scale(1.05); }
.download-modal-body { padding-top: 22px; }
.download-methods { display: grid; gap: 12px; }
.download-method {
  display: grid;
  grid-template-columns: 58px minmax(0, 1fr) auto;
  align-items: center;
  gap: 15px;
  width: 100%;
  padding: 14px;
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 17px;
  background: rgba(255,255,255,.045);
  color: #fff;
  text-decoration: none;
  transition: transform .2s ease, border-color .2s ease, background .2s ease, box-shadow .2s ease;
}
.download-method:hover,
.download-method:focus-within,
.download-method.is-emphasized {
  transform: translateY(-2px);
  border-color: rgba(94,255,211,.46);
  background: linear-gradient(110deg, rgba(94,255,211,.11), rgba(143,92,255,.08));
  box-shadow: 0 15px 38px rgba(0,0,0,.30), 0 0 30px rgba(94,255,211,.10);
  outline: none;
}
.download-method-icon {
  width: 58px;
  height: 58px;
  display: grid;
  place-items: center;
  border-radius: 15px;
  flex: 0 0 auto;
}
.download-method-icon-direct { overflow: hidden; background: #06101d; box-shadow: 0 10px 25px rgba(31,204,255,.22); }
.download-method-icon-direct img { display: block; width: 100%; height: 100%; object-fit: cover; }
.download-method-icon-downloader { overflow: hidden; color: #fff; background: #f87523; box-shadow: 0 10px 25px rgba(255,100,47,.18); }
.download-method-icon-downloader img { display: block; width: 100%; height: 100%; object-fit: cover; }
.download-method-copy { min-width: 0; display: grid; gap: 3px; }
.download-method-copy strong { font-size: 17px; line-height: 1.2; }
.download-method-copy small { color: var(--muted); font-size: 12px; }
.download-method-detail { display: block; overflow-wrap: anywhere; color: #cfc7d8; font-size: 12px; }
.download-code-line b { color: #fff; font-weight: 800; }
.download-method-action,
.download-method-status {
  align-self: center;
  padding: 8px 11px;
  border-radius: 999px;
  white-space: nowrap;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .03em;
}
.download-method-action { color: #0b1612; background: #75f4ca; transition: filter .2s ease, transform .2s ease; }
.download-method-action:hover,
.download-method-action:focus-visible { color: #07110e; filter: brightness(1.08); outline: 2px solid rgba(117, 244, 202, .34); outline-offset: 3px; transform: translateY(-1px); }
.download-method-status { color: #d4cbdc; border: 1px solid rgba(255,255,255,.12); background: rgba(255,255,255,.06); }
.download-method-direct { order: 1; }
.download-method-downloader { order: 2; }
.download-modal[data-platform="fire-tv"] .download-method-downloader { border-color: rgba(255, 139, 65, .38); }
.download-modal[data-platform="android-tv"] .download-method-direct { border-color: rgba(117, 244, 202, .34); }
.download-modal-tools { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; margin-top: 16px; }
.download-copy-status { min-height: 20px; color: #8cf4d2; font-size: 12px; font-weight: 700; }
.download-release-meta { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 17px; }
.download-release-meta span { padding: 6px 10px; border: 1px solid rgba(255,255,255,.09); border-radius: 999px; background: rgba(255,255,255,.04); color: var(--muted); font-size: 11px; }
.download-integrity { margin-top: 16px; padding: 12px 14px; border: 1px solid rgba(255,255,255,.08); border-radius: 14px; background: rgba(255,255,255,.025); }
.download-integrity summary { color: #e9e3ef; font-size: 12px; font-weight: 750; cursor: pointer; }
.download-integrity p { margin: 12px 0 4px; color: var(--muted-2); font-size: 10px; font-weight: 800; letter-spacing: .1em; }
.download-integrity code { display: block; overflow-wrap: anywhere; color: #d7cce0; font-size: 11px; line-height: 1.55; }
.download-code-notice { margin-top: 17px; }
.download-code-notice p { margin: 0; }
body.modal-lock { overflow: hidden; }

@keyframes downloadModalIn {
  from { opacity: 0; transform: translateY(14px) scale(.985); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}

@media (max-width: 620px) {
  .download-method { grid-template-columns: 50px minmax(0, 1fr); gap: 12px; }
  .download-method-icon { width: 50px; height: 50px; border-radius: 13px; }
  .download-method-action, .download-method-status { grid-column: 2; justify-self: start; }
  .download-modal-tools { display: grid; }
  .download-modal-tools .btn { width: 100%; }
  .download-copy-status { text-align: center; }
  .download-platforms-section { padding-top: 28px; }
  .download-platforms-section .platform-card { min-height: auto; }
  .download-modal { padding: 10px; }
  .download-modal-head { padding: 20px 18px; }
  .download-modal-body { padding: 18px; }
}

@media (prefers-reduced-motion: reduce) {
  .platform-card-action, .platform-card-action::after, .download-method,
  .btn, .nav-links a, .language-trigger, .language-option, .playlist-type-choice { transition: none; }
}

/* Gestion playlists V1.0.3 — choix M3U/Xtream et protection PIN */
.playlist-type-selector { margin:0; padding:0; border:0; }
.playlist-type-selector legend { margin-bottom:10px; color:#f5f1ff; font-size:13px; font-weight:800; }
.playlist-type-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.playlist-type-choice { display:flex; min-height:104px; flex-direction:column; align-items:flex-start; justify-content:center; gap:6px; padding:17px 18px; border:1px solid rgba(255,255,255,.12); border-radius:16px; color:#f5f1ff; background:rgba(255,255,255,.025); text-align:left; cursor:pointer; transition:border-color .2s ease,background .2s ease,transform .2s ease,box-shadow .2s ease,filter .2s ease; }
.playlist-type-choice:hover,.playlist-type-choice:focus-visible { border-color:rgba(194,100,255,.62); transform:translateY(-2px) scale(1.015); box-shadow:0 0 0 1px rgba(194,100,255,.16),0 0 28px rgba(143,92,255,.20); filter:brightness(1.07); outline:none; }
.playlist-type-choice.is-selected { border-color:rgba(194,100,255,.72); background:linear-gradient(145deg,rgba(143,92,255,.23),rgba(143,92,255,.08)); box-shadow:0 0 0 1px rgba(194,100,255,.12) inset; }
.playlist-type-choice strong { font-size:15px; }
.playlist-type-choice span { color:var(--muted); font-size:12px; line-height:1.4; }
.playlist-source-panel { padding:18px; border:1px solid rgba(255,255,255,.10); border-radius:16px; background:rgba(255,255,255,.022); }
.playlist-source-heading { display:flex; flex-direction:column; gap:3px; margin-bottom:13px; }
.playlist-source-heading strong { color:#f5f1ff; font-size:14px; }
.playlist-source-heading small { color:var(--muted-2); }
.playlist-pin-toggle { border-color:rgba(231,189,115,.24); background:rgba(231,189,115,.045); }
.playlist-pin-fields { padding:18px; border:1px solid rgba(231,189,115,.28); border-radius:16px; background:rgba(231,189,115,.04); }
.playlist-pin-status { color:#ffe2aa; border:1px solid rgba(231,189,115,.28); background:rgba(231,189,115,.08); }
.playlist-pin-modal { position:fixed; inset:0; z-index:300; display:grid; place-items:center; padding:22px; background:rgba(3,2,8,.78); backdrop-filter:blur(9px); }
.playlist-pin-modal[hidden] { display:none; }
.playlist-pin-modal-card { width:min(100%,430px); padding:30px; border:1px solid rgba(194,100,255,.38); border-radius:22px; background:radial-gradient(circle at 95% 0,rgba(143,92,255,.18),transparent 34%),#0d0915; box-shadow:0 30px 90px rgba(0,0,0,.55); }
.playlist-pin-modal-card h2 { margin:8px 0 8px; font-size:26px; }
.playlist-pin-modal-card p { margin:0; color:var(--muted); }
.playlist-pin-modal-actions { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-top:8px; }
.playlist-primary-action-wrap { display:flex; justify-content:center; }
.playlist-primary-action { width:min(100%,360px); }
.playlist-pin-forgot {
  width:100%;
  margin-top:12px;
  padding:10px 14px;
  border:1px solid transparent;
  border-radius:12px;
  color:#74ddff;
  background:rgba(0,217,255,.035);
  font-weight:800;
  cursor:pointer;
  transition:transform .18s ease,border-color .18s ease,background .18s ease,box-shadow .18s ease;
}
.playlist-pin-forgot:hover,.playlist-pin-forgot:focus-visible {
  transform:scale(1.018);
  border-color:rgba(0,217,255,.38);
  background:rgba(0,217,255,.10);
  box-shadow:0 0 24px rgba(0,217,255,.14);
  outline:none;
}
.playlist-pin-forgot:disabled { opacity:.78; transform:none; }
.playlist-pin-reset-status {
  display:flex;
  align-items:flex-start;
  gap:12px;
  margin-top:14px;
  padding:14px;
  border:1px solid rgba(0,217,255,.28);
  border-radius:14px;
  background:rgba(0,217,255,.065);
}
.playlist-pin-reset-status[hidden] { display:none; }
.playlist-pin-reset-status strong,.playlist-pin-reset-status small { display:block; }
.playlist-pin-reset-status strong { color:#e8fbff; font-size:14px; line-height:1.35; }
.playlist-pin-reset-status small { margin-top:4px; color:#b9c9d3; line-height:1.45; }
.playlist-pin-reset-countdown {
  display:inline-flex;
  align-items:center;
  width:max-content;
  margin-top:10px;
  padding:6px 10px;
  border:1px solid rgba(116,221,255,.32);
  border-radius:999px;
  color:#dff9ff;
  background:rgba(4,16,28,.58);
  box-shadow:inset 0 0 14px rgba(0,217,255,.055),0 0 18px rgba(0,217,255,.06);
  font-size:12px;
  font-weight:850;
  letter-spacing:.02em;
  font-variant-numeric:tabular-nums;
}
.playlist-pin-reset-countdown[hidden] { display:none; }
.playlist-pin-reset-status.is-error { border-color:rgba(255,92,118,.35); background:rgba(255,92,118,.07); }
.playlist-pin-reset-status.is-success { border-color:rgba(57,224,153,.38); background:rgba(57,224,153,.08); }
.playlist-pin-reset-status.is-error .playlist-pin-reset-spinner,.playlist-pin-reset-status.is-success .playlist-pin-reset-spinner { animation:none; }
.playlist-pin-reset-status.is-error .playlist-pin-reset-spinner { border-color:rgba(255,92,118,.28); border-top-color:#ff5c76; }
.playlist-pin-reset-status.is-success .playlist-pin-reset-spinner { border-color:rgba(57,224,153,.28); border-top-color:#39e099; }
.playlist-pin-reset-spinner {
  flex:0 0 auto;
  width:20px;
  height:20px;
  margin-top:1px;
  border:2px solid rgba(116,221,255,.24);
  border-top-color:#74ddff;
  border-radius:50%;
  animation:df-button-spin .75s linear infinite;
}
@media (max-width:640px) { .playlist-type-grid { grid-template-columns:1fr; } .playlist-pin-modal-actions { grid-template-columns:1fr; } }

/* États masqués explicites : évite qu'une règle de mise en page réaffiche un panneau fermé. */
.playlist-manager-form[hidden],
#playlist-workspace[hidden],
.playlist-source-panel[hidden],
.playlist-pin-fields[hidden] {
  display: none !important;
}

/* Aide lorsque le code playlist appartient à un appareil non activé */
.playlist-activation-modal-card{width:min(100%,500px)}
.playlist-activation-steps{display:grid;grid-template-columns:30px 1fr;gap:10px 12px;margin:22px 0 6px;align-items:start}
.playlist-activation-steps span{display:grid;place-items:center;width:28px;height:28px;border-radius:9px;background:rgba(143,92,255,.18);border:1px solid rgba(194,100,255,.35);color:#efe5ff;font-size:12px;font-weight:900}
.playlist-activation-steps p{margin:3px 0 0!important;color:#d3cce0!important;font-size:14px;line-height:1.45}
.playlist-pin-modal-actions .btn{display:flex;align-items:center;justify-content:center;text-decoration:none}


/* Gérer les listes V1.2.0 — mise en page pleine largeur et saisie simplifiée */
.playlist-manager-layout {
  grid-template-columns:1fr;
  gap:26px;
}
.playlist-manager-summary {
  position:static;
  top:auto;
  padding:28px 30px;
}
.playlist-manager-summary h2 { margin-bottom:0; }
.playlist-manager-steps {
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
  margin:24px 0 20px;
}
.playlist-manager-steps li {
  min-height:116px;
  padding:18px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:17px;
  background:rgba(255,255,255,.025);
}
.playlist-manager-summary .notice { margin-top:0; }
.playlist-manager-panel { width:100%; min-height:0; }

/* Filigrane discret dans l'espace libre du panneau de connexion. */
#playlist-access-panel {
  position:relative;
  isolation:isolate;
}
#playlist-access-panel > :not(.playlist-access-watermark) {
  position:relative;
  z-index:1;
}
.playlist-access-watermark {
  position:absolute;
  z-index:0;
  top:50%;
  right:clamp(20px,3.5vw,58px);
  width:clamp(220px,25vw,360px);
  max-height:78%;
  transform:translateY(-50%);
  object-fit:contain;
  opacity:.105;
  filter:blur(1.35px) saturate(.72);
  pointer-events:none;
  user-select:none;
}
@media (max-width:900px) {
  .playlist-access-watermark { display:none; }
}

.device-code-control {
  display:flex;
  align-items:stretch;
  overflow:hidden;
  width:min(100%,430px);
  border:1px solid rgba(255,255,255,.13);
  border-radius:14px;
  background:rgba(255,255,255,.045);
  transition:border-color .2s ease,box-shadow .2s ease;
}
.device-code-control:focus-within {
  border-color:rgba(143,92,255,.72);
  box-shadow:0 0 0 4px rgba(143,92,255,.12);
}
.device-code-prefix {
  display:flex;
  align-items:center;
  padding:0 0 0 16px;
  color:#f3eaff;
  font-weight:900;
  letter-spacing:.06em;
  background:transparent;
  user-select:none;
}
.playlist-manager-form .device-code-control input {
  min-width:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  padding-left:5px;
  font-weight:800;
  letter-spacing:.08em;
}
.playlist-manager-form .device-code-control input:focus,
.playlist-manager-form .device-code-control input:focus-visible { border:0; box-shadow:none; outline:none; }

.password-field-wrap { position:relative; }
.password-field-wrap input { padding-right:52px; }
.password-toggle {
  position:absolute;
  top:50%;
  right:8px;
  display:grid;
  place-items:center;
  width:38px;
  height:38px;
  padding:0;
  transform:translateY(-50%);
  border:1px solid rgba(255,255,255,.10);
  border-radius:10px;
  color:#cfc6dd;
  background:rgba(255,255,255,.045);
  cursor:pointer;
}
.password-toggle:hover,.password-toggle:focus-visible { color:#fff; border-color:rgba(194,100,255,.42); background:rgba(143,92,255,.12); }
.password-toggle svg { width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.password-toggle.is-visible::after {
  content:'';
  position:absolute;
  width:22px;
  height:2px;
  border-radius:2px;
  background:currentColor;
  transform:rotate(-45deg);
}

button.is-loading {
  position:relative;
  cursor:wait;
  color:transparent !important;
  text-shadow:none !important;
  opacity:.9 !important;
}
button.is-loading::after {
  content:'';
  position:absolute;
  top:50%;
  left:50%;
  right:auto;
  width:22px;
  height:22px;
  margin:-11px 0 0 -11px;
  border:3px solid rgba(255,255,255,.42);
  border-top-color:#fff;
  border-right-color:#f1deff;
  border-radius:50%;
  box-shadow:0 0 15px rgba(255,255,255,.24);
  animation:df-button-spin .7s linear infinite;
}
@keyframes df-button-spin { to { transform:rotate(360deg); } }
@media (prefers-reduced-motion:reduce) {
  button.is-loading::after { animation-duration:1.4s; }
}

.playlist-empty { padding-bottom:30px; }
.playlist-empty p { margin-bottom:0; }

@media (max-width:900px) {
  .playlist-manager-steps { grid-template-columns:1fr; }
  .playlist-manager-steps li { min-height:0; }
}
@media (max-width:640px) {
  .playlist-manager-summary { padding:24px 18px; }
  .device-code-control { width:100%; }
}


/* Réorganisation des catégories par playlist — TV / Mobile / Site */
.playlist-category-order-card {
  width:min(100%,760px);
  max-height:min(84vh,760px);
  display:grid;
  grid-template-rows:auto auto auto minmax(150px,1fr) auto;
  gap:16px;
  overflow:hidden;
}
.playlist-category-order-head h2 { margin:8px 0 8px; }
.playlist-category-order-head p { margin:0; }
.playlist-category-tabs { display:flex; flex-wrap:wrap; gap:8px; }
.playlist-category-tab {
  appearance:none; border:1px solid rgba(255,255,255,.13); border-radius:12px;
  padding:10px 14px; background:rgba(255,255,255,.035); color:#cfc7d8;
  font:inherit; font-size:13px; font-weight:750; cursor:pointer; transition:.18s ease;
}
.playlist-category-tab:hover,.playlist-category-tab:focus-visible { border-color:rgba(194,100,255,.48); color:#fff; }
.playlist-category-tab.is-active {
  color:#fff; border-color:rgba(194,100,255,.58);
  background:linear-gradient(135deg,rgba(112,63,220,.62),rgba(171,70,207,.42));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.10);
}
.playlist-category-order-message {
  padding:12px 14px; border-radius:12px; border:1px solid rgba(116,191,255,.24);
  background:rgba(28,108,170,.08); color:#cde9ff; font-size:13px; line-height:1.45;
}
.playlist-category-order-message[hidden] { display:none; }
.playlist-category-order-list {
  min-height:150px; overflow:auto; padding:2px 6px 2px 2px; display:grid; gap:8px;
  scrollbar-width:thin; scrollbar-color:rgba(194,100,255,.45) transparent;
}
.playlist-category-order-row {
  display:grid; grid-template-columns:42px minmax(0,1fr) auto; gap:12px; align-items:center;
  padding:10px 12px; border:1px solid rgba(255,255,255,.09); border-radius:14px;
  background:rgba(255,255,255,.025);
}
.playlist-category-order-index {
  width:34px; height:34px; display:grid; place-items:center; border-radius:10px;
  background:rgba(143,92,255,.16); border:1px solid rgba(194,100,255,.26);
  color:#eee6ff; font-size:12px; font-weight:800;
}
.playlist-category-order-name { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:#f1edf5; font-size:14px; font-weight:720; }
.playlist-category-order-moves { display:flex; gap:6px; }
.playlist-category-order-move {
  min-width:42px; height:36px; padding:0 10px; border:1px solid rgba(255,255,255,.12); border-radius:10px;
  background:rgba(255,255,255,.04); color:#e7e0ee; cursor:pointer; font:inherit; font-weight:800;
}
.playlist-category-order-move:hover:not(:disabled),.playlist-category-order-move:focus-visible:not(:disabled) { border-color:rgba(194,100,255,.52); background:rgba(143,92,255,.13); color:#fff; }
.playlist-category-order-move:disabled { opacity:.30; cursor:default; }
.playlist-category-order-empty {
  align-self:center; padding:24px; border:1px dashed rgba(255,255,255,.13); border-radius:14px;
  color:#b9b0c3; text-align:center; line-height:1.55;
}
.playlist-category-order-actions { display:grid; grid-template-columns:auto minmax(170px,auto) minmax(150px,auto); justify-content:end; gap:10px; }
@media (max-width:700px) {
  .playlist-category-order-card { max-height:88vh; padding:22px 18px; }
  .playlist-category-tabs { display:grid; grid-template-columns:1fr 1fr; }
  .playlist-category-order-row { grid-template-columns:34px minmax(0,1fr); }
  .playlist-category-order-moves { grid-column:1 / -1; justify-content:flex-end; }
  .playlist-category-order-actions { grid-template-columns:1fr; }
}

/* ===== DF PLAYER PRO — page premium de réorganisation des catégories ===== */
.category-manager-page{background:radial-gradient(circle at 82% 16%,rgba(128,73,192,.11),transparent 28%),radial-gradient(circle at 14% 80%,rgba(82,44,132,.08),transparent 34%),#050309;min-height:100vh}
.category-manager-main{padding:46px 0 78px}
.category-manager-shell{width:min(1180px,calc(100% - 40px))}
.category-manager-topbar{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:20px}
.category-back-link{display:inline-flex;align-items:center;gap:9px;color:#c9c2d2;text-decoration:none;font-size:14px;font-weight:700;transition:color .2s ease,text-shadow .2s ease,transform .2s ease}
.category-back-link:hover,.category-back-link:focus-visible{color:#fff;text-shadow:0 0 16px rgba(180,112,255,.56);transform:translateX(-2px)}
.category-back-link span:first-child{font-size:20px;line-height:1;color:#b778ff}
.category-device-chip{max-width:48%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border:1px solid rgba(255,255,255,.10);background:rgba(255,255,255,.035);border-radius:999px;padding:8px 12px;color:#aaa2b5;font-size:12px;font-weight:760;letter-spacing:.02em}
.category-manager-heading{display:grid;grid-template-columns:minmax(0,1fr) minmax(230px,320px);gap:28px;align-items:end;padding:32px 34px;border:1px solid rgba(196,107,255,.20);border-radius:24px;background:linear-gradient(145deg,rgba(17,13,24,.96),rgba(11,8,17,.94));box-shadow:0 24px 70px rgba(0,0,0,.28);position:relative;overflow:hidden}
.category-manager-heading::after{content:"";position:absolute;width:330px;height:330px;border-radius:50%;right:-150px;top:-210px;background:rgba(142,78,217,.15);filter:blur(6px);pointer-events:none}
.category-manager-heading h1{margin:10px 0 10px;font-size:clamp(30px,4vw,46px);line-height:1.02;letter-spacing:-.035em;color:#f7f3fa}
.category-manager-heading p{margin:0;max-width:720px;color:#aaa2b5;font-size:15px;line-height:1.65}
.category-playlist-identity{position:relative;z-index:1;padding:16px 17px;border:1px solid rgba(255,255,255,.09);border-radius:16px;background:rgba(255,255,255,.035);min-width:0}
.category-playlist-label{display:block;margin-bottom:7px;color:#8f859b;font-size:10px;font-weight:850;letter-spacing:.14em}
.category-playlist-identity strong{display:block;color:#f5f1f7;font-size:19px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.category-playlist-identity small{display:block;margin-top:6px;color:#a774d8;font-weight:850;font-size:11px;letter-spacing:.09em}
.category-page-message{margin:16px 0 0;padding:12px 14px;border-radius:12px;border:1px solid rgba(255,255,255,.10);background:rgba(255,255,255,.045);color:#d7d0de;font-size:13px;font-weight:700}
.category-page-message[hidden]{display:none}
.category-page-message.success{border-color:rgba(58,206,139,.32);background:rgba(36,142,96,.11);color:#9ff0c9}
.category-page-message.error{border-color:rgba(255,90,119,.34);background:rgba(178,45,72,.11);color:#ffb2bf}
.category-page-message.info{border-color:rgba(163,109,235,.30);background:rgba(126,72,196,.10);color:#d9c3f5}
.category-manager-panel{margin-top:18px;border:1px solid rgba(255,255,255,.095);border-radius:22px;background:rgba(13,10,19,.93);box-shadow:0 22px 65px rgba(0,0,0,.24);overflow:hidden}
.category-manager-tabs-wrap{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 18px;border-bottom:1px solid rgba(255,255,255,.07);background:rgba(255,255,255,.018)}
.category-manager-tabs{display:flex;gap:7px;flex-wrap:wrap}
.category-manager-tab{display:inline-flex;align-items:center;gap:8px;min-height:36px;padding:0 13px;border:1px solid rgba(255,255,255,.11);border-radius:10px;background:rgba(255,255,255,.035);color:#aaa2b5;font:inherit;font-size:12px;font-weight:800;cursor:pointer;transition:border-color .18s ease,background .18s ease,color .18s ease,box-shadow .18s ease,transform .18s ease}
.category-manager-tab:hover,.category-manager-tab:focus-visible{color:#fff;border-color:rgba(185,110,255,.42);background:rgba(145,78,216,.10);box-shadow:0 0 18px rgba(138,74,208,.14);transform:translateY(-1px)}
.category-manager-tab.is-active{color:#fff;border-color:rgba(184,107,255,.52);background:rgba(133,68,203,.18);box-shadow:inset 0 0 0 1px rgba(185,112,255,.08)}
.category-tab-dot{width:6px;height:6px;border-radius:50%;background:currentColor;opacity:.65}
.category-manager-tab.is-active .category-tab-dot{background:#b879ff;box-shadow:0 0 10px rgba(184,121,255,.72);opacity:1}
.category-manager-counters{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end;color:#bdb5c7;font-size:11px;font-weight:760}
.category-manager-counters span{padding:7px 10px;border:1px solid rgba(255,255,255,.08);border-radius:999px;background:rgba(255,255,255,.03)}
.category-manager-counters .is-muted{color:#837a8d}
.category-manager-toolbar{display:flex;align-items:end;justify-content:space-between;gap:24px;padding:22px 22px 16px}
.category-manager-toolbar h2{margin:0 0 4px;color:#f5f1f7;font-size:20px}
.category-manager-toolbar p{margin:0;color:#8f879a;font-size:12.5px;line-height:1.55}
.category-toolbar-copy{min-width:0;flex:1}
.category-section-title-line{display:flex;align-items:center;gap:12px 16px;flex-wrap:wrap;margin-bottom:5px}
.category-section-title-line h2{margin:0}
.category-section-metrics{display:inline-flex;align-items:center;gap:7px;min-height:29px;padding:0 10px;border:1px solid rgba(180,108,246,.18);border-radius:999px;background:rgba(135,70,204,.075);color:#aca3b7;font-size:10.5px;font-weight:760;letter-spacing:.01em}
.category-section-metrics strong{color:#f2ebf7;font-size:12px;font-weight:900}
.category-section-metric-primary strong{color:#c79af2}
.category-section-metric-separator{color:#645c6e}
.category-section-metrics.is-pending{border-color:rgba(255,255,255,.08);background:rgba(255,255,255,.025);color:#786f83}
.category-compact-button,.category-action-button,.category-move-button{appearance:none;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.045);color:#d8d1df;border-radius:9px;font:inherit;font-weight:800;cursor:pointer;transition:border-color .18s ease,background .18s ease,color .18s ease,box-shadow .18s ease,transform .18s ease}
.category-compact-button{min-height:34px;padding:0 12px;font-size:11px;white-space:nowrap}
.category-compact-button:hover:not(:disabled),.category-compact-button:focus-visible:not(:disabled),.category-action-button:hover:not(:disabled),.category-action-button:focus-visible:not(:disabled),.category-move-button:hover:not(:disabled),.category-move-button:focus-visible:not(:disabled){color:#fff;border-color:rgba(186,112,255,.56);background:rgba(135,70,204,.13);box-shadow:0 0 18px rgba(138,74,208,.18);transform:translateY(-1px)}
.category-compact-button:disabled,.category-action-button:disabled,.category-move-button:disabled{opacity:.32;cursor:default;transform:none;box-shadow:none}
.category-list-head{display:grid;grid-template-columns:92px minmax(0,1fr) 150px 92px;gap:14px;align-items:center;padding:0 22px 9px;color:#6f6879;font-size:10px;font-weight:850;letter-spacing:.10em;text-transform:uppercase}
.category-manager-list{padding:0 14px 16px;display:grid;gap:6px;max-height:min(59vh,660px);overflow:auto;scrollbar-width:thin;scrollbar-color:rgba(159,94,226,.38) transparent}
.category-manager-row{display:grid;grid-template-columns:92px minmax(0,1fr) 150px 92px;gap:14px;align-items:center;min-height:57px;padding:8px 8px;border:1px solid rgba(255,255,255,.065);border-radius:12px;background:rgba(255,255,255,.025);transition:border-color .16s ease,background .16s ease,opacity .16s ease,transform .16s ease,box-shadow .16s ease}
.category-manager-row:hover{border-color:rgba(255,255,255,.11);background:rgba(255,255,255,.038)}
.category-manager-row.is-hidden-category{opacity:.55;background:rgba(255,255,255,.018)}
.category-manager-row.is-dragging{opacity:.35;transform:scale(.995)}
.category-manager-row.is-drag-target{border-color:rgba(185,112,255,.56);background:rgba(138,74,208,.09);box-shadow:0 0 0 1px rgba(185,112,255,.08),0 8px 25px rgba(0,0,0,.18)}
.category-row-order{display:flex;align-items:center;gap:10px;color:#9272b6}
.category-row-order strong{width:29px;height:29px;display:grid;place-items:center;border-radius:8px;background:rgba(137,74,205,.12);border:1px solid rgba(174,102,241,.18);font-size:11px;color:#c39aef}
.category-drag-handle{color:#5e5668;font-size:17px;letter-spacing:-4px;cursor:grab;user-select:none}
.category-manager-row:active .category-drag-handle{cursor:grabbing}
.category-row-identity{min-width:0}
.category-row-identity strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#ece7f0;font-size:13.5px;font-weight:780}
.category-row-identity small{display:block;margin-top:3px;color:#746d7e;font-size:10.5px;font-weight:650}
.category-visibility-switch{display:inline-flex;align-items:center;gap:9px;width:max-content;cursor:pointer;user-select:none;color:#b9b1c2;font-size:11.5px;font-weight:800}
.category-visibility-switch input{position:absolute;opacity:0;pointer-events:none}
.category-check-visual{width:20px;height:20px;border:1px solid rgba(255,255,255,.18);border-radius:6px;background:rgba(255,255,255,.035);display:grid;place-items:center;transition:.18s ease}
.category-check-visual::after{content:"✓";font-size:13px;font-weight:900;color:#fff;opacity:0;transform:scale(.75);transition:.16s ease}
.category-visibility-switch input:checked + .category-check-visual{border-color:rgba(167,96,235,.66);background:rgba(132,65,197,.26);box-shadow:0 0 14px rgba(137,72,204,.12)}
.category-visibility-switch input:checked + .category-check-visual::after{opacity:1;transform:scale(1)}
.category-visibility-switch input:focus-visible + .category-check-visual{outline:2px solid rgba(207,162,255,.72);outline-offset:2px}
.category-row-moves{display:flex;gap:5px;justify-content:flex-end}
.category-move-button{width:34px;height:32px;padding:0;font-size:14px}
.category-manager-empty{margin:10px 8px 4px;padding:44px 26px;text-align:center;border:1px dashed rgba(255,255,255,.10);border-radius:14px;background:rgba(255,255,255,.018)}
.category-manager-empty strong{display:block;color:#dcd5e2;font-size:14px;margin-bottom:7px}
.category-manager-empty p{max-width:670px;margin:0 auto;color:#827a8c;font-size:12px;line-height:1.6}
.category-manager-loading{display:flex;align-items:center;justify-content:center;gap:12px;min-height:170px;color:#9d95a7;font-size:13px}
.category-manager-loading[hidden]{display:none}
.category-manager-note{display:flex;gap:13px;align-items:flex-start;margin:14px 2px 0;padding:14px 16px;border:1px solid rgba(87,173,223,.14);border-radius:13px;background:rgba(42,115,154,.055);color:#9eacb8}
.category-note-icon{width:22px;height:22px;display:grid;place-items:center;flex:0 0 auto;border:1px solid rgba(101,195,246,.28);border-radius:50%;color:#79c3ec;font-size:11px;font-weight:900}
.category-manager-note strong{display:block;color:#c9d3db;font-size:12px;margin-bottom:2px}
.category-manager-note p{margin:0;font-size:11.5px;line-height:1.55}
.category-manager-actions{position:sticky;bottom:10px;z-index:4;margin:18px 0 0;padding:11px;border:1px solid rgba(255,255,255,.09);border-radius:15px;background:rgba(8,6,12,.88);backdrop-filter:blur(18px);box-shadow:0 16px 50px rgba(0,0,0,.32);display:flex;justify-content:flex-end;gap:8px}
.category-action-button{display:inline-flex;align-items:center;justify-content:center;min-height:37px;padding:0 15px;text-decoration:none;font-size:11.5px}
.category-save-button.is-loading{position:relative;color:transparent;pointer-events:none}
.category-save-button.is-loading::after{content:"";position:absolute;width:15px;height:15px;border:2px solid rgba(255,255,255,.28);border-top-color:#fff;border-radius:50%;animation:spin .7s linear infinite}
@media(max-width:860px){.category-manager-heading{grid-template-columns:1fr}.category-playlist-identity{max-width:100%}.category-manager-tabs-wrap,.category-manager-toolbar{align-items:flex-start;flex-direction:column}.category-manager-counters{justify-content:flex-start}.category-list-head{display:none}.category-manager-row{grid-template-columns:62px minmax(0,1fr) auto}.category-visibility-switch{grid-column:2}.category-row-moves{grid-column:3;grid-row:1 / span 2}.category-manager-list{max-height:none}.category-manager-actions{position:static;flex-wrap:wrap}.category-action-button{flex:1 1 130px}}
@media(max-width:560px){.category-section-title-line{align-items:flex-start;flex-direction:column;gap:6px}.category-section-metrics{max-width:100%;white-space:normal}.category-manager-main{padding-top:24px}.category-manager-shell{width:min(100% - 24px,1180px)}.category-manager-heading{padding:24px 20px;border-radius:19px}.category-manager-heading h1{font-size:31px}.category-manager-panel{border-radius:18px}.category-manager-tabs{display:grid;grid-template-columns:1fr 1fr;width:100%}.category-manager-tab{justify-content:center}.category-manager-toolbar{padding:18px 16px 13px}.category-manager-list{padding:0 9px 12px}.category-manager-row{grid-template-columns:52px minmax(0,1fr) 74px;gap:8px}.category-row-order{gap:5px}.category-drag-handle{display:none}.category-visibility-switch{grid-column:2}.category-check-label{font-size:10px}.category-move-button{width:31px}.category-manager-actions{padding:8px}.category-device-chip{max-width:55%}}

/* ===== DF PLAYER PRO — V1.2.7.5 dimensions alignees sur l'accueil ===== */
.category-manager-page .site-header .container,
.category-manager-page .site-footer .container,
.category-manager-page .category-manager-shell{
  width:min(calc(100% - 40px),var(--container));
}
.category-manager-main{padding:30px 0 58px}
.category-manager-heading{padding:28px 30px;grid-template-columns:minmax(0,1fr) minmax(230px,290px);gap:24px}
.category-manager-heading h1{font-size:clamp(32px,3.5vw,44px)}
.category-manager-heading p{max-width:760px;font-size:16px;line-height:1.58}
.category-back-link{font-size:15px}
.category-device-chip{font-size:13px}
.category-playlist-label{font-size:11px}
.category-playlist-identity strong{font-size:21px}
.category-playlist-identity small{font-size:12px}
.category-page-message{font-size:14px;line-height:1.5}
.category-manager-tabs-wrap{padding:18px 20px}
.category-manager-tab{min-height:38px;padding-inline:15px;font-size:13.5px}
.category-manager-counters{font-size:12.5px}
.category-manager-counters span{padding:8px 12px}
.category-manager-toolbar{padding:24px 26px 18px}
.category-manager-toolbar h2{font-size:23px}
.category-manager-toolbar p{font-size:14px;line-height:1.6}
.category-section-metrics{min-height:31px;padding-inline:12px;font-size:12px}
.category-section-metrics strong{font-size:13.5px}
.category-compact-button{font-size:12.5px}
.category-list-head{grid-template-columns:105px minmax(0,1fr) 175px 105px;padding:0 26px 10px;font-size:11.5px}
.category-manager-list{padding:0 18px 18px;gap:8px;max-height:min(62vh,720px)}
.category-manager-row{grid-template-columns:105px minmax(0,1fr) 175px 105px;gap:16px;min-height:64px;padding:10px 12px}
.category-row-order strong{width:32px;height:32px;font-size:12.5px}
.category-drag-handle{font-size:18px}
.category-row-identity strong{font-size:15.5px}
.category-row-identity small{margin-top:4px;font-size:12px}
.category-visibility-switch{font-size:13px}
.category-check-visual{width:22px;height:22px}
.category-move-button{width:36px;height:34px;font-size:15px}
.category-manager-empty strong{font-size:16px}
.category-manager-empty p{font-size:13.5px}
.category-manager-loading{font-size:14.5px}
.category-manager-note{padding:16px 18px}
.category-manager-note strong{font-size:13.5px}
.category-manager-note p{font-size:13px;line-height:1.6}
.category-action-button{font-size:12.5px}

@media(max-width:1100px){
  .category-manager-page .site-header .container,
  .category-manager-page .site-footer .container,
  .category-manager-page .category-manager-shell{width:min(calc(100% - 36px),var(--container))}
  .category-manager-heading{grid-template-columns:minmax(0,1fr) minmax(220px,280px);padding:26px 28px}
  .category-manager-heading p{font-size:16px}
}
@media(max-width:860px){
  .category-manager-page .site-header .container,
  .category-manager-page .site-footer .container,
  .category-manager-page .category-manager-shell{width:min(calc(100% - 28px),var(--container))}
  .category-manager-tab{font-size:13px}
  .category-manager-toolbar p{font-size:13.5px}
  .category-manager-row{grid-template-columns:68px minmax(0,1fr) auto}
  .category-row-identity strong{font-size:15px}
  .category-row-identity small{font-size:11.5px}
}
@media(max-width:560px){
  .category-manager-page .site-header .container,
  .category-manager-page .site-footer .container,
  .category-manager-page .category-manager-shell{width:min(calc(100% - 20px),var(--container))}
  .category-manager-heading{padding:24px 20px}
  .category-manager-heading h1{font-size:32px}
  .category-manager-heading p{font-size:15px}
  .category-manager-toolbar h2{font-size:21px}
  .category-manager-toolbar p{font-size:13px}
  .category-manager-tab{font-size:12.5px}
  .category-manager-counters{font-size:12px}
  .category-row-identity strong{font-size:14.5px}
  .category-row-identity small{font-size:11px}
}

/* =========================================================
   V1.2.7.3 — HOME DESKTOP DENSITY / LARGE SCREEN BALANCE
   Scope strict: page d'accueil uniquement.
   Réduit les vides latéraux et verticaux sans toucher aux
   autres pages ni à la logique fonctionnelle.
   ========================================================= */
@media (min-width: 1061px) {
  body[data-page="home"] .container {
    width: min(calc(100% - 64px), 1460px);
  }

  body[data-page="home"] .hero {
    min-height: clamp(620px, 72vh, 720px);
    padding: 34px 0 24px;
  }

  body[data-page="home"] .hero-grid {
    grid-template-columns: minmax(0, 1.04fr) minmax(0, .96fr);
    gap: clamp(42px, 4vw, 72px);
  }

  body[data-page="home"] .hero-copy {
    max-width: 790px;
  }

  body[data-page="home"] .hero-copy p,
  body[data-page="home"] .hero-legal {
    max-width: 700px;
  }

  body[data-page="home"] .visual-stage {
    min-height: 460px;
  }

  body[data-page="home"] .tv-shell {
    width: min(108%, 700px);
    right: 0;
    top: 20px;
  }

  body[data-page="home"] .section {
    padding-top: 68px;
    padding-bottom: 68px;
  }

  body[data-page="home"] .section-tight {
    padding-top: 48px;
    padding-bottom: 48px;
  }
}

/* V1.7.13 — recherche et sélection multiple au clavier des catégories */
.category-toolbar-actions {
  display: grid;
  grid-template-columns: minmax(260px, 380px) auto;
  align-items: center;
  justify-content: end;
  gap: 7px 10px;
  min-width: min(100%, 510px);
}
.category-search {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  min-height: 42px;
  padding: 0 7px 0 12px;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 11px;
  background: rgba(255,255,255,.04);
  color: #8f879a;
  transition: border-color .18s ease, background .18s ease, box-shadow .18s ease;
}
.category-search:focus-within {
  border-color: rgba(186,112,255,.62);
  background: rgba(135,70,204,.09);
  box-shadow: 0 0 0 3px rgba(138,74,208,.12);
}
.category-search-icon { margin-right: 8px; color: #b894dc; font-size: 20px; line-height: 1; }
.category-search input {
  width: 100%;
  min-width: 0;
  height: 40px;
  padding: 0;
  border: 0;
  outline: 0;
  background: transparent;
  color: #f2edf5;
  font: inherit;
  font-size: 13.5px;
}
.category-search input::placeholder { color: #766e80; }
.category-search input::-webkit-search-cancel-button { display: none; }
.category-search button {
  display: grid;
  place-items: center;
  width: 29px;
  height: 29px;
  padding: 0;
  border: 0;
  border-radius: 8px;
  background: rgba(255,255,255,.06);
  color: #cfc5d6;
  font: inherit;
  font-size: 19px;
  cursor: pointer;
}
.category-search button:hover,
.category-search button:focus-visible { background: rgba(173,102,239,.17); color: #fff; outline: none; }
.category-search button[hidden] { display: none; }
.category-search-status {
  grid-column: 1;
  min-height: 16px;
  color: #948a9f;
  font-size: 11.5px;
  text-align: right;
}
.category-toolbar-actions .category-compact-button { grid-column: 2; grid-row: 1; }
.category-manager-row:focus-visible {
  outline: 2px solid rgba(202,151,255,.82);
  outline-offset: 2px;
}
.category-search-empty { min-height: 190px; display: grid; align-content: center; }
@media (max-width: 860px) {
  .category-toolbar-actions { width: 100%; min-width: 0; grid-template-columns: minmax(0,1fr) auto; }
}
@media (max-width: 560px) {
  .category-toolbar-actions { grid-template-columns: 1fr; }
  .category-toolbar-actions .category-compact-button { grid-column: 1; grid-row: auto; width: 100%; }
  .category-search-status { text-align: left; }
}

@media (min-width: 1500px) {
  body[data-page="home"] .container {
    width: min(calc(100% - 80px), 1540px);
  }

  body[data-page="home"] .hero-grid {
    gap: 78px;
  }

  body[data-page="home"] .tv-shell {
    width: min(110%, 760px);
  }
}

/* ===== DF PLAYER PRO — V1.2.7.7 carte playlist compacte + ellipsis intelligent ===== */
@media (min-width:861px){
  .category-manager-heading{grid-template-columns:minmax(0,1fr) 228px}
  .category-playlist-identity{width:228px;max-width:228px;justify-self:end}
}
.category-playlist-identity strong{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* =========================================================
   V1.2.7.9 — SITE UNIFIE / LISIBILITE / GESTION PREMIUM
   - densite des pages internes alignee sur l'accueil
   - textes secondaires legerement agrandis
   - numerotation or ouverte plus visible
   - page categories optimisee pour grands catalogues
   ========================================================= */

/* Pages internes : moins d'espace vide, proportions plus proches de l'accueil. */
@media (min-width: 1061px) {
  body:not([data-page="home"]):not(.category-manager-page) .page-hero {
    padding: 54px 0 46px;
  }
  body:not([data-page="home"]):not(.category-manager-page) .page-hero-compact {
    padding: 50px 0 42px;
  }
  body:not([data-page="home"]):not(.category-manager-page) .page-hero h1 {
    max-width: 980px;
    margin-bottom: 20px;
    font-size: clamp(42px, 4.65vw, 66px);
    line-height: 1.04;
  }
  body:not([data-page="home"]):not(.category-manager-page) .page-hero p {
    max-width: 760px;
    font-size: 17.5px;
    line-height: 1.62;
  }
  body:not([data-page="home"]):not(.category-manager-page) .page-hero .breadcrumb {
    margin-bottom: 18px;
    font-size: 13px;
  }
  body:not([data-page="home"]):not(.category-manager-page) .page-hero .hero-actions {
    margin: 24px 0 0;
  }
  body:not([data-page="home"]):not(.category-manager-page) .section {
    padding-top: 68px;
    padding-bottom: 68px;
  }
  body:not([data-page="home"]):not(.category-manager-page) .section-tight {
    padding-top: 50px;
    padding-bottom: 50px;
  }
}

/* Lisibilite : petites informations un peu plus presentes sans grossir l'interface. */
body:not([data-page="home"]) .card p,
body:not([data-page="home"]) .section-head p,
body:not([data-page="home"]) .showcase-copy p,
body:not([data-page="home"]) .cta-copy p {
  font-size: 15.5px;
  line-height: 1.68;
}

.playlist-manager-steps p,
.playlist-workspace-head span,
.playlist-workspace-toolbar span,
.playlist-card-detail {
  font-size: 14.5px;
  line-height: 1.55;
}
.playlist-card-type {
  font-size: 13.5px;
}

/* Numerotation jaune-or, contour ouvert et premium. */
.playlist-card-number,
.playlist-category-order-index,
.category-row-order strong {
  color: var(--gold-2);
  border-color: rgba(255, 202, 106, .72);
  background: rgba(255, 202, 106, .035);
  box-shadow: inset 0 0 0 1px rgba(255, 227, 162, .035), 0 0 16px rgba(231, 189, 115, .10);
}
.playlist-card-number {
  min-width: 32px;
  height: 32px;
  font-size: 13px;
}

/* Les grands catalogues restent fluides pendant le defilement. */
.category-manager-row {
  content-visibility: auto;
  contain-intrinsic-size: 64px;
}
.category-manager-list {
  overscroll-behavior: contain;
}

/* Gestion des listes/categories : navigation complete sans chevauchement. */
@media (min-width: 1061px) and (max-width: 1500px) {
  body[data-page="playlists"] .nav-links { display: none; }
  body[data-page="playlists"] .mobile-toggle { display: block; }
  body[data-page="playlists"] .mobile-panel {
    position: fixed;
    inset: var(--header-h) 0 auto 0;
    background: rgba(7,5,12,.96);
    border-bottom: 1px solid var(--stroke);
    padding: 22px;
    backdrop-filter: blur(20px);
  }
  body[data-page="playlists"] .mobile-panel.open { display: block; }
  body[data-page="playlists"] .mobile-panel a {
    display: block;
    padding: 13px 0;
    border-bottom: 1px solid rgba(255,255,255,.05);
    color: #d7d0df;
  }
}

@media (min-width: 1061px) {
  body:not([data-page="home"]):not(.category-manager-page) .container {
    width: min(calc(100% - 64px), 1380px);
  }
}
@media (min-width: 1500px) {
  body:not([data-page="home"]):not(.category-manager-page) .container {
    width: min(calc(100% - 80px), 1460px);
  }
}

/* Grand ecran : le header de la page categories dispose de la meme largeur utile
   que le reste du site afin que la navigation complete ne se chevauche pas. */
@media (min-width: 1501px) {
  .category-manager-page .site-header .container {
    width: min(calc(100% - 80px), 1460px);
  }
}

/* =========================================================
   V1.2.8.0 — LISIBILITE GLOBALE + CATEGORIES GRAND ECRAN
   - tous les petits textes du site sont legerement agrandis
   - page categories plus large et mieux exploitee
   - selection vert lumineux + panneau d'actions premium
   ========================================================= */

/* Lisibilite globale : minimum visuel plus confortable sans gonfler les titres. */
.nav-links { font-size: 15px; }
.language-current-code { font-size: 13px; }
.language-option-name { font-size: 14px; }
.language-status { font-size: 10.5px; }
.btn { font-size: 15px; }
.eyebrow { font-size: 13px; }
.badge { font-size: 13px; }
.micro { font-size: 13.5px; line-height: 1.58; }
.hero-proof { font-size: 14px; }
.hero-legal { font-size: 13px; line-height: 1.6; }
.feature-list li { font-size: 15px; }
.status { font-size: 13px; }
.price small { font-size: 15px; }
label { font-size: 14px; }
.help { font-size: 13px; line-height: 1.55; }
th { font-size: 13px; }
td { font-size: 15px; }
.notice p { font-size: 14px; line-height: 1.6; }
.breadcrumb { font-size: 13.5px; }
.footer-col h2,
.footer-col h4 { font-size: 14px; }
.footer-col a { font-size: 15px; }
.footer-bottom { font-size: 13.5px; }
.footer-brand p,
.cookie-banner p { font-size: 14px; line-height: 1.65; }
.stepper-item { font-size: 12.5px; }
.faq-search-help { font-size: 13.5px; }
.reseller-hero-note { font-size: 13.5px !important; }
.reseller-step p { font-size: 15px; }
.reseller-contact-mini strong { font-size: 14px; }
.reseller-contact-mini a { font-size: 15px; }
.reseller-check { font-size: 14px; }
.compatibility-device-grid .device-body p { font-size: 14.5px; }
.download-steps p { font-size: 15px; }
.download-method-copy small,
.download-method-detail { font-size: 13.5px; line-height: 1.55; }
.download-release-meta span { font-size: 12.5px; }
.playlist-manager-steps li > span { font-size: 12.5px; }
.playlist-manager-steps strong { font-size: 15px; }
.playlist-manager-steps p { font-size: 14.5px; line-height: 1.55; }
.playlist-manager-form small { font-size: 13.5px; }
.playlist-workspace-head p { font-size: 14.5px; }
.playlist-workspace-toolbar span { font-size: 13.5px; }
.playlist-card-type { font-size: 14px; }
.playlist-card-detail { font-size: 15px; }
.playlist-type-selector legend { font-size: 14px; }
.playlist-type-choice span { font-size: 13.5px; line-height: 1.5; }
.playlist-source-heading small,
.playlist-pin-reset-status small { font-size: 13.5px; line-height: 1.5; }
.playlist-activation-steps p { font-size: 15px !important; }
.playlist-category-order-message { font-size: 14px; }
.playlist-category-order-index { font-size: 13.5px; }
.playlist-category-order-name { font-size: 15px; }

/* Page categories : plus de largeur utile et beaucoup moins d'espace perdu. */
@media (min-width: 1180px) {
  .category-manager-page .category-manager-shell {
    width: min(calc(100% - 48px), 1580px);
  }
  .category-manager-page .site-header .container,
  .category-manager-page .site-footer .container {
    width: min(calc(100% - 64px), 1540px);
  }
  .category-manager-heading {
    grid-template-columns: minmax(0,1fr) 250px;
    gap: 34px;
    padding: 30px 36px;
  }
  .category-manager-panel { border-radius: 24px; }
  .category-manager-tabs-wrap { padding: 18px 24px; }
  .category-manager-toolbar { padding: 25px 28px 18px; }
}

/* Typographie de la page categories : confortable meme sur grands ecrans. */
.category-back-link { font-size: 16px; }
.category-device-chip { font-size: 14px; }
.category-playlist-label { font-size: 12.5px; }
.category-playlist-identity small { font-size: 13.5px; }
.category-page-message { font-size: 14.5px; }
.category-manager-tab { min-height: 42px; padding-inline: 17px; font-size: 14.5px; }
.category-manager-counters { font-size: 13.5px; }
.category-manager-toolbar h2 { font-size: 24px; }
.category-manager-toolbar p { font-size: 15px; line-height: 1.65; }
.category-section-metrics { min-height: 34px; padding-inline: 13px; font-size: 13px; }
.category-section-metrics strong { font-size: 14.5px; }
.category-compact-button { min-height: 38px; font-size: 13.5px; }
.category-list-head { font-size: 12.5px; }
.category-row-order strong { width: 36px; height: 36px; font-size: 14px; }
.category-row-identity strong { font-size: 16px; }
.category-row-identity small { font-size: 13.5px; line-height: 1.45; }
.category-visibility-switch { font-size: 14px; }
.category-manager-empty strong { font-size: 17px; }
.category-manager-empty p { font-size: 14.5px; }
.category-manager-loading { font-size: 15px; }
.category-manager-note strong { font-size: 14.5px; }
.category-manager-note p { font-size: 14px; line-height: 1.6; }
.category-action-button { font-size: 13.5px; }

/* Espace de travail premium : liste a gauche, commandes persistantes a droite. */
.category-manager-workspace {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 270px;
  gap: 18px;
  align-items: start;
  padding: 0 18px 20px;
}
.category-manager-list-pane { min-width: 0; }
.category-manager-list-pane .category-list-head {
  grid-template-columns: 112px minmax(0,1fr) 180px;
  padding: 0 14px 10px;
}
.category-list-head-move { display: none; }
.category-manager-list-pane .category-manager-list {
  padding: 0;
  max-height: min(64vh, 760px);
  gap: 8px;
}
.category-manager-list-pane .category-manager-row {
  grid-template-columns: 112px minmax(0,1fr) 180px;
  gap: 18px;
  min-height: 66px;
  padding: 10px 14px;
  border-radius: 14px;
  cursor: pointer;
}
.category-manager-list-pane .category-row-moves { display: none; }
.category-manager-row.is-selected {
  border-color: rgba(73, 255, 165, .88);
  background: linear-gradient(90deg, rgba(56, 215, 139, .105), rgba(255,255,255,.035) 34%, rgba(255,255,255,.025));
  box-shadow: 0 0 0 1px rgba(96,255,183,.24), 0 0 22px rgba(57,226,148,.18), inset 0 0 22px rgba(47,190,126,.045);
}
.category-manager-row.is-selected .category-drag-handle {
  color: #79f4b8;
  text-shadow: 0 0 12px rgba(89,244,174,.62);
}
.category-manager-row.is-drag-target {
  border-color: rgba(73,255,165,.82);
  background: rgba(48,190,124,.10);
  box-shadow: 0 0 0 1px rgba(96,255,183,.20), 0 0 25px rgba(57,226,148,.16);
}
.category-manager-row.is-dragging { opacity: .42; transform: scale(.992); }

.category-side-panel {
  position: sticky;
  top: calc(var(--header-h) + 16px);
  display: grid;
  gap: 14px;
  padding: 16px;
  border: 1px solid rgba(231,189,115,.26);
  border-radius: 18px;
  background: linear-gradient(160deg, rgba(24,21,20,.96), rgba(11,10,14,.96));
  box-shadow: 0 18px 52px rgba(0,0,0,.30), inset 0 1px 0 rgba(255,255,255,.035);
}
.category-side-selected {
  min-width: 0;
  padding: 12px 12px 13px;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 13px;
  background: rgba(255,255,255,.025);
}
.category-side-selected > span {
  display: block;
  margin-bottom: 7px;
  color: #aaa1b2;
  font-size: 11.5px;
  font-weight: 850;
  letter-spacing: .10em;
}
.category-side-selected strong {
  display: block;
  overflow: hidden;
  color: #f7f4f8;
  font-size: 15px;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.category-side-selected small {
  display: block;
  margin-top: 5px;
  color: #9c94a5;
  font-size: 13px;
  line-height: 1.45;
}
.category-side-actions { display: grid; gap: 8px; }
.category-side-button {
  appearance: none;
  width: 100%;
  min-height: 52px;
  display: grid;
  grid-template-columns: 34px minmax(0,1fr);
  align-items: center;
  gap: 8px;
  padding: 0 14px;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 12px;
  color: #eeeaf0;
  text-align: left;
  background: linear-gradient(180deg, rgba(255,255,255,.065), rgba(255,255,255,.028));
  transition: transform .18s ease, border-color .18s ease, background .18s ease, box-shadow .18s ease;
}
.category-side-button > span {
  color: var(--gold-2);
  font-size: 23px;
  line-height: 1;
  text-align: center;
}
.category-side-button strong { font-size: 15px; }
.category-side-button:hover:not(:disabled),
.category-side-button:focus-visible:not(:disabled) {
  transform: translateY(-1px);
  border-color: rgba(231,189,115,.48);
  background: rgba(231,189,115,.08);
  box-shadow: 0 0 20px rgba(231,189,115,.10);
  outline: none;
}
.category-side-button.is-restore > span { color: #74e8ae; }
.category-side-button:disabled { opacity: .34; cursor: default; transform: none; box-shadow: none; }
.category-side-save {
  color: #181108;
  border-color: rgba(255,221,135,.86);
  background: linear-gradient(135deg, #ffe9a9, #f0bf45 58%, #ffd868);
  box-shadow: 0 10px 26px rgba(236,185,66,.18);
}
.category-side-save > span { color: #191108; }
.category-side-save.has-changes {
  box-shadow: 0 0 0 1px rgba(255,229,153,.30), 0 0 28px rgba(242,191,66,.28), 0 12px 30px rgba(0,0,0,.24);
}
.category-side-save:hover:not(:disabled),
.category-side-save:focus-visible:not(:disabled) {
  color: #120d06;
  border-color: #fff0bd;
  background: linear-gradient(135deg, #fff0bd, #f3c64d 58%, #ffe07b);
  box-shadow: 0 0 28px rgba(245,198,78,.28), 0 12px 30px rgba(0,0,0,.24);
}
.category-side-save.is-loading { color: transparent; pointer-events: none; position: relative; }
.category-side-save.is-loading::after {
  content: "";
  position: absolute;
  left: 50%; top: 50%;
  width: 17px; height: 17px;
  margin: -10px 0 0 -10px;
  border: 2px solid rgba(20,13,5,.25);
  border-top-color: #171008;
  border-radius: 50%;
  animation: spin .7s linear infinite;
}
.category-side-sync {
  display: grid;
  grid-template-columns: 28px minmax(0,1fr);
  gap: 9px;
  align-items: start;
  margin-top: 2px;
  padding: 12px;
  border: 1px solid rgba(73,255,165,.15);
  border-radius: 12px;
  background: rgba(42,144,98,.055);
}
.category-side-sync > span { color: #68e7aa; font-size: 23px; line-height: 1; }
.category-side-sync p { margin: 0; color: #aab8b0; font-size: 13px; line-height: 1.5; }

/* Sur bureau, le panneau lateral remplace les petites fleches par ligne et la barre basse. */
@media (min-width: 1061px) {
  .category-manager-actions { display: none; }
}

/* Tablette/mobile : on garde les commandes historiques, plus simples au toucher. */
@media (max-width: 1060px) {
  .category-manager-workspace { display: block; padding: 0 12px 16px; }
  .category-side-panel { display: none; }
  .category-manager-list-pane .category-list-head { display: none; }
  .category-manager-list-pane .category-manager-list { max-height: none; }
  .category-manager-list-pane .category-manager-row { grid-template-columns: 68px minmax(0,1fr) auto; gap: 10px; }
  .category-manager-list-pane .category-row-moves { display: flex; grid-column: 3; grid-row: 1 / span 2; }
  .category-manager-actions { display: flex; }
}

@media (max-width: 560px) {
  .nav-links { font-size: 14px; }
  .btn { font-size: 14px; }
  .micro, .breadcrumb, .footer-bottom { font-size: 13px; }
  .category-manager-tab { font-size: 13px; }
  .category-manager-toolbar p { font-size: 14px; }
  .category-section-metrics { font-size: 12.5px; }
  .category-row-identity strong { font-size: 15px; }
  .category-row-identity small { font-size: 13px; }
  .category-visibility-switch { font-size: 13px; }
  .category-manager-note p { font-size: 13.5px; }
}
@media (max-width: 1060px) and (min-width: 861px) {
  .category-manager-list-pane .category-visibility-switch { grid-column: 2; }
}
/* Derniers micro-textes : aucun libelle utile ne reste volontairement minuscule. */
.app-nav { font-size: 11.5px; }
.app-mini-btn { font-size: 11.5px; }
.float-card span { font-size: 13px; }
.platform-mobile-copy small { font-size: 12px; }
.platform-badge { font-size: 12.5px; }
.footer-legal-mini { font-size: 12px; line-height: 1.5; }
.download-method-action,
.download-method-status { font-size: 12.5px; }
.playlist-activation-steps span { font-size: 13px; }
.category-side-selected > span { font-size: 12px; }
@media (max-width: 560px) {
  .footer-legal-mini { font-size: 11.5px; }
  .platform-badge { font-size: 12px; }
}


/* V1.2.8.1 — selection multiple + suivi de focus fluide sur les categories */
.category-manager-page .category-manager-main {
  padding-bottom: 20px;
}
.category-manager-page .site-footer {
  padding-top: 24px;
}
.category-manager-list-pane .category-manager-list {
  scroll-behavior: smooth;
  scroll-padding-block: 20px;
  overscroll-behavior: contain;
}
.category-manager-row.is-selected {
  border-color: rgba(73,255,165,.72);
  box-shadow: 0 0 0 1px rgba(96,255,183,.16), 0 0 16px rgba(57,226,148,.12), inset 0 0 18px rgba(47,190,126,.035);
}
.category-manager-row.is-primary-selected {
  border-color: rgba(73,255,165,.98);
  background: linear-gradient(90deg, rgba(56,215,139,.14), rgba(255,255,255,.04) 38%, rgba(255,255,255,.025));
  box-shadow: 0 0 0 1px rgba(96,255,183,.32), 0 0 28px rgba(57,226,148,.23), inset 0 0 24px rgba(47,190,126,.055);
}
.category-manager-row.is-primary-selected .category-drag-handle {
  color: #8affc7;
  text-shadow: 0 0 14px rgba(89,244,174,.72);
}
.category-manager-toolbar p {
  max-width: 1050px;
}
.category-side-selected > span {
  color: #beb5c3;
}
@media (min-width: 1061px) {
  .category-manager-note { margin-bottom: 0; }
}


/* V1.7.3 — page stable, focus conserve et suivi fluide de la selection */
@media (min-width: 1061px) {
  /* La liste reste le seul espace qui defile pendant la reorganisation. */
  .category-manager-list-pane .category-manager-list {
    scroll-behavior: smooth;
    overscroll-behavior: contain;
    scrollbar-width: none;
    -ms-overflow-style: none;
  }
  .category-manager-list-pane .category-manager-list::-webkit-scrollbar {
    width: 0;
    height: 0;
  }
  /* Le panneau d'actions reste parfaitement stable pendant le travail. */
  .category-side-panel {
    align-self: start;
    will-change: auto;
  }
}

/* Le message d'enregistrement devient un toast et ne deplace plus la page. */
.category-page-message {
  position: fixed;
  z-index: 80;
  top: calc(var(--header-h) + 14px);
  left: 50%;
  width: min(760px, calc(100% - 32px));
  margin: 0;
  transform: translateX(-50%);
  box-shadow: 0 16px 44px rgba(0,0,0,.36);
  backdrop-filter: blur(18px);
  opacity: 1;
  transition: opacity .18s ease, transform .18s ease;
}
.category-page-message.is-hiding {
  opacity: 0;
  transform: translate(-50%, -7px);
  pointer-events: none;
}

/* Moins de vide inutile apres la zone de travail. */
.category-manager-page .category-manager-main { padding-bottom: 8px; }
.category-manager-page .site-footer { padding: 12px 0 18px; }
.category-manager-page .category-manager-note { margin-bottom: 0; }

@media (max-width: 1060px) {
  .category-page-message {
    top: calc(var(--header-h) + 8px);
    width: min(620px, calc(100% - 20px));
  }
}


/* V1.2.8.3 — badge PIN adaptatif : le nom garde sa place, le badge suit sans chevauchement. */
.playlist-card-content {
  flex: 1 1 auto;
  min-width: 0;
}
.playlist-card-head {
  min-width: 0;
  column-gap: 14px;
  row-gap: 8px;
}
.playlist-card-head h3 {
  flex: 0 1 auto;
  min-width: 0;
  max-width: min(680px, 58vw);
}
.playlist-pin-status {
  flex: 0 0 auto;
  margin-left: 2px;
  white-space: nowrap;
}
@media (max-width: 900px) {
  .playlist-card-head h3 {
    max-width: min(100%, calc(100vw - 150px));
  }
}


/* V1.3.0 — LOT CONSOLIDÉ SITE PUBLIC (2026-08-17) */
.features-without-hero > .section:first-child { padding-top: clamp(42px, 5vw, 72px); }

/* V1.7.4 — en-tête fluide sur les très petits téléphones */
@media (max-width: 380px) {
  .site-header .container { width: min(calc(100% - 16px), var(--container)); }
  .nav-wrap { gap: 8px; }
  .brand-logo { width: 54px; height: 42px; }
  .brand-wordmark { width: 88px; height: 38px; }
  .nav-actions { gap: 6px; }
  .language-trigger { min-width: 58px; width: 58px; height: 36px; padding: 0 7px; gap: 5px; }
  .language-chevron { display: none; }
  .mobile-toggle { width: 38px; min-width: 38px; padding: 7px; }
  .mobile-toggle span { width: 22px; }
}

/* PIN : erreur locale sans fermer la fenêtre */
.playlist-pin-entry-error {
  margin-top: 10px;
  padding: 10px 12px;
  border: 1px solid rgba(255, 92, 92, .42);
  border-radius: 10px;
  background: rgba(150, 26, 26, .14);
  color: #ffb6b6;
  font-size: .92rem;
  font-weight: 700;
}
.playlist-pin-entry-error[hidden] { display: none !important; }

/* Tarifs */
.pricing-offers-grid { column-gap: clamp(42px, 5vw, 76px); }
.pricing-activation-v130 .pricing-form .btn-block { width: fit-content; min-width: 260px; max-width: 100%; }
.pricing-activation-v130 .pricing-form .form-intro { margin-bottom: 16px; }
.license-services-v130 .section-head.center { max-width: 1180px; margin-inline: auto; text-align: center; }
.license-services-v130 .section-head.center h2,
.license-services-v130 .section-head.center p { margin-inline: auto; }

/* Téléchargement */
.download-hero-v130 .container { text-align: center; }
.download-hero-v130 .breadcrumb { justify-content: center; }
.download-hero-v130 h1, .download-hero-v130 p { margin-left: auto; margin-right: auto; }
.download-devices-v130 .section-head { text-align: center; max-width: 1180px; margin-inline: auto; }
.download-devices-v130 .section-head p { margin-inline: auto; }
.download-devices-v130 .grid.grid-2 { gap: clamp(28px, 4vw, 52px); }
.download-devices-v130 .device-card { overflow: hidden; min-height: 0; }
.download-devices-v130 .device-visual { height: 178px; padding: 16px 18px 0; }
.download-devices-v130 .device-body { padding: 17px 20px 20px; text-align: center; }
.download-devices-v130 .device-body p { min-height: 0; max-width: 520px; margin: 10px auto 0; }
.download-devices-v130 .device-body .status { margin-inline: auto; }
.release-title-v130 { white-space: nowrap; }
.download-support-v130 .home-final-cta { padding-top: 30px; padding-bottom: 30px; }
.download-support-v130 .home-final-action .btn { width: fit-content; min-width: 0; padding-inline: 24px; }

/* Gérer les listes */
.playlists-v130 .playlist-manager-hero h1 { max-width: none; }
.playlists-v130 .playlist-manager-summary > .eyebrow,
.playlists-v130 .playlist-manager-summary > h2 { display: block; text-align: center; margin-left: auto; margin-right: auto; }
.playlists-v130 .playlist-manager-summary > .notice { width: fit-content; max-width: min(920px, 100%); margin-left: auto; margin-right: auto; }
.playlists-v130 .playlist-manager-summary > .notice p { text-align: center; }
.playlists-v130 .playlist-access-watermark { filter: saturate(.82) !important; opacity: .14; }
.playlists-v130 .playlist-primary-action { width: fit-content; min-width: 210px; max-width: 100%; }

/* FAQ */
.faq-hero-v130 .container { max-width: 1420px; }

/* Plan présélectionné depuis la page Tarifs */
.activation-plan.is-preferred { outline: 2px solid rgba(255, 215, 89, .92); outline-offset: 3px; }

@media (min-width: 1180px) {
  .pricing-restoration-note,
  .license-services-v130 .section-head.center h2,
  .license-services-v130 .section-head.center p,
  .download-hero-v130 h1,
  .download-hero-v130 p,
  .download-devices-v130 .section-head h2,
  .download-devices-v130 .section-head p,
  .download-support-v130 .cta-copy h2,
  .download-support-v130 .cta-copy p,
  .playlists-v130 .playlist-manager-hero h1,
  .playlists-v130 .playlist-manager-hero p,
  .faq-hero-v130 h1 { white-space: nowrap; }
  .pricing-restoration-note { max-width: 1180px; }
}

@media (max-width: 1179px) {
  .pricing-restoration-note,
  .license-services-v130 .section-head.center h2,
  .license-services-v130 .section-head.center p,
  .download-hero-v130 h1,
  .download-hero-v130 p,
  .download-devices-v130 .section-head h2,
  .download-devices-v130 .section-head p,
  .download-support-v130 .cta-copy h2,
  .download-support-v130 .cta-copy p,
  .playlists-v130 .playlist-manager-hero h1,
  .playlists-v130 .playlist-manager-hero p,
  .faq-hero-v130 h1,
  .release-title-v130 { white-space: normal; }
}

@media (max-width: 760px) {
  .pricing-offers-grid { column-gap: 22px; row-gap: 24px; }
  .download-devices-v130 .device-visual { height: 160px; }
  .pricing-activation-v130 .pricing-form .btn-block,
  .playlists-v130 .playlist-primary-action { width: 100%; }
}

/* V1.3.0 — restauration sécurisée par code e-mail */
.license-restore-otp {
  padding: 14px 16px;
  border: 1px solid rgba(231,189,115,.24);
  border-radius: 16px;
  background: rgba(231,189,115,.055);
}
.license-restore-restart {
  width: fit-content;
  margin-top: 9px;
  padding: 0;
  border: 0;
  background: transparent;
  color: #d9c8ff;
  font: inherit;
  font-size: 12.5px;
  font-weight: 700;
  cursor: pointer;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.license-restore-restart:hover { color: #fff; }

/* V1.3.0 — ajustements desktop demandés */
@media (min-width: 1180px) {
  .download-hero-v130 h1 {
    max-width: none !important;
    font-size: clamp(44px, 3.7vw, 54px) !important;
    line-height: 1.04;
  }
  .download-hero-v130 p {
    max-width: none !important;
    font-size: 16px;
  }
  .download-devices-v130 .section-head {
    max-width: none !important;
  }
  .download-devices-v130 .section-head h2 {
    max-width: none;
    font-size: clamp(34px, 3vw, 44px);
  }
  .download-devices-v130 .section-head p {
    max-width: none;
  }
  .license-services-v130 .section-head.center {
    max-width: none !important;
  }
  .license-services-v130 .section-head.center h2 {
    max-width: none;
    font-size: clamp(34px, 3vw, 44px);
  }
  .license-services-v130 .section-head.center p {
    max-width: none;
  }
  .playlists-v130 .playlist-manager-hero h1 {
    max-width: none !important;
    font-size: clamp(44px, 3.7vw, 54px) !important;
  }
  .playlists-v130 .playlist-manager-hero p {
    max-width: none !important;
    font-size: 16px;
  }
  .faq-hero-v130 h1 {
    max-width: none !important;
    font-size: clamp(42px, 3.5vw, 52px) !important;
  }
  .faq-hero-v130 p { max-width: none !important; }
  .download-support-v130 .cta-copy { max-width: none; }
}

/* Cartes de téléchargement plus compactes et plus premium */
.download-devices-v130 .device-card {
  border-color: rgba(255,255,255,.11);
  background:
    radial-gradient(circle at 50% 0, rgba(143,92,255,.10), transparent 42%),
    linear-gradient(150deg, rgba(255,255,255,.055), rgba(255,255,255,.022));
  box-shadow: 0 18px 44px rgba(0,0,0,.22);
}
.download-devices-v130 .device-visual {
  height: 152px;
  padding: 12px 18px 0;
}
.download-devices-v130 .device-visual img {
  max-height: 126px;
  width: auto;
  object-fit: contain;
}
.download-devices-v130 .device-body {
  padding: 15px 20px 18px;
}
.download-devices-v130 .device-body h3 { margin-bottom: 8px; }
.download-devices-v130 .device-body p {
  margin-top: 7px;
  line-height: 1.55;
}

/* Boutons compacts demandés */
.pricing-activation-v130 .pricing-form > .btn,
.pricing-activation-v130 .pricing-form .btn-block,
.download-support-v130 .home-final-action .btn,
.playlists-v130 .playlist-primary-action {
  width: fit-content !important;
  min-width: 0 !important;
  padding-left: 24px;
  padding-right: 24px;
}
.pricing-activation-v130 .pricing-form > .btn,
.pricing-activation-v130 .pricing-form .btn-block { margin-top: 10px; }

@media (max-width: 760px) {
  .pricing-activation-v130 .pricing-form > .btn,
  .pricing-activation-v130 .pricing-form .btn-block,
  .playlists-v130 .playlist-primary-action {
    width: 100% !important;
  }
}
@media (min-width:1180px){
  .license-services-v130 .license-security-note p { white-space: nowrap; }
}
@media (max-width:1179px){
  .license-services-v130 .license-security-note p { white-space: normal; }
}


/* PAIEMENTS PREMIUM — V1.3.0 FINAL */
.payment-methods-section-v130{position:relative;overflow:hidden;background:radial-gradient(circle at 50% 0,rgba(103,55,180,.10),transparent 34%),linear-gradient(180deg,rgba(9,7,17,.35),rgba(4,3,9,.25))}
.payment-methods-section-v130::before{content:"";position:absolute;inset:8% 22% auto;height:180px;background:radial-gradient(ellipse,rgba(131,74,255,.11),transparent 68%);filter:blur(28px);pointer-events:none}
.payment-methods-head{position:relative;max-width:980px!important;text-align:center;margin-bottom:38px!important}
.payment-methods-head h2{font-size:clamp(34px,4.2vw,58px);letter-spacing:-.035em;margin-bottom:12px}
.payment-methods-head p{max-width:850px!important;margin-inline:auto!important}
.payment-methods-grid{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(20px,2.4vw,34px);max-width:1390px;margin:0 auto}
.payment-method-card{position:relative;display:flex;flex-direction:column;align-items:center;min-height:430px;padding:30px 28px 28px;border-radius:30px;border:1px solid rgba(145,99,225,.46);background:radial-gradient(circle at 50% 0,rgba(108,63,181,.14),transparent 45%),linear-gradient(160deg,rgba(31,24,49,.82),rgba(10,8,18,.92));box-shadow:0 24px 64px rgba(0,0,0,.28),inset 0 1px rgba(255,255,255,.045);text-align:center;overflow:hidden}
.payment-method-card::after{content:"";position:absolute;left:25%;right:25%;top:245px;height:1px;background:linear-gradient(90deg,transparent,rgba(149,80,255,.95),transparent);box-shadow:0 0 18px rgba(149,80,255,.72)}
.payment-method-mtn{border-color:rgba(231,189,115,.58);background:radial-gradient(circle at 50% 0,rgba(231,189,115,.13),transparent 46%),linear-gradient(160deg,rgba(38,31,29,.82),rgba(12,10,13,.94))}
.payment-method-mtn::after{background:linear-gradient(90deg,transparent,rgba(242,198,91,.95),transparent);box-shadow:0 0 18px rgba(242,198,91,.62)}
.payment-logo-stage{display:grid;place-items:center;width:100%;height:205px;margin-bottom:18px}
.payment-logo{display:block;max-width:82%;max-height:178px;width:auto;height:auto;object-fit:contain;filter:drop-shadow(0 14px 24px rgba(0,0,0,.25))}
.payment-logo-airtel{max-height:190px;max-width:68%}
.payment-logo-mtn{max-height:174px;max-width:74%}
.payment-logo-card{max-width:92%;max-height:145px}
.payment-method-card h3{font-size:clamp(22px,2vw,30px);margin:4px 0 10px;color:#f9f6ff}
.payment-soon-badge{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:8px 15px;border-radius:999px;border:1px solid rgba(152,98,231,.35);background:rgba(119,55,199,.12);color:#c8a5ff;font-weight:800;line-height:1;white-space:nowrap}
.payment-soon-badge-gold{border-color:rgba(227,183,88,.34);background:rgba(207,160,54,.10);color:#f2c85c}
.payment-status-dot{width:8px;height:8px;border-radius:50%;background:currentColor;box-shadow:0 0 13px currentColor;opacity:.92}
.payment-method-card>p{margin:14px 0 18px;color:var(--muted);font-size:1rem}
.payment-disabled-button{width:100%;min-height:55px;margin-top:auto;border-radius:15px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.035);color:rgba(238,235,246,.48);font:inherit;font-weight:800;cursor:not-allowed}
.payment-methods-note{max-width:1050px;margin:34px auto 0;text-align:center;color:var(--muted);font-size:1rem}
.payment-methods-note::before{content:"◇";display:inline-block;margin-right:9px;color:#e8bd63;font-size:1.25em;vertical-align:-.05em}
@media(max-width:980px){.payment-methods-grid{grid-template-columns:1fr;max-width:620px}.payment-method-card{min-height:390px}.payment-method-card::after{top:224px}.payment-logo-stage{height:185px}.payment-logo{max-height:158px}}
@media(max-width:640px){.payment-methods-head{margin-bottom:26px!important}.payment-method-card{padding:24px 20px;border-radius:23px}.payment-methods-note{font-size:.94rem}.payment-soon-badge{white-space:normal}}


/* PAIEMENTS PREMIUM COMPACTS — V1.3.0 FINAL */
.payment-methods-section-v130{padding-top:64px;padding-bottom:64px}
.payment-methods-head{max-width:900px!important;margin-bottom:28px!important}
.payment-methods-head h2{font-size:clamp(32px,3.6vw,50px);margin-bottom:9px}
.payment-methods-head p{font-size:1rem}
.payment-methods-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(18px,2vw,26px);max-width:1120px}
.payment-method-card{min-height:326px;padding:22px 22px 20px;border-radius:24px;border-width:1px;box-shadow:0 18px 46px rgba(0,0,0,.24),inset 0 1px rgba(255,255,255,.04)}
.payment-method-card::after{left:30%;right:30%;top:159px}
.payment-logo-stage{height:124px;margin-bottom:12px}
.payment-logo{max-width:80%;max-height:110px;filter:drop-shadow(0 10px 18px rgba(0,0,0,.22))}
.payment-logo-airtel{max-height:116px;max-width:58%}
.payment-logo-mtn{max-height:98px;max-width:78%}
.payment-logo-card{max-height:84px;max-width:88%}
.payment-method-card h3{font-size:clamp(20px,1.7vw,25px);margin:2px 0 9px}
.payment-soon-badge{padding:7px 12px;font-size:.9rem}
.payment-status-dot{width:7px;height:7px}
.payment-method-card>p{margin:11px 0 13px;font-size:.92rem}
.payment-disabled-button{width:auto;min-width:180px;min-height:44px;padding:0 18px;border-radius:13px;font-size:.92rem}
.payment-methods-note{max-width:920px;margin-top:26px;font-size:.94rem}
@media(max-width:980px){.payment-methods-grid{grid-template-columns:1fr;max-width:470px}.payment-method-card{min-height:300px}.payment-method-card::after{top:151px}.payment-logo-stage{height:116px}.payment-logo{max-height:101px}.payment-logo-airtel{max-height:108px}.payment-logo-mtn{max-height:92px}.payment-logo-card{max-height:78px}}
@media(max-width:640px){.payment-methods-section-v130{padding-top:48px;padding-bottom:48px}.payment-method-card{min-height:286px;padding:20px 18px 18px;border-radius:21px}.payment-disabled-button{min-width:165px}.payment-methods-note{margin-top:22px}}


/* V1.3.1 — LOT FINAL : Fonctionnalités + Revendeur */
body[data-page="features"] .features-primary-section{padding-top:54px;padding-bottom:54px}
body[data-page="features"] .features-primary-grid{gap:18px}
body[data-page="features"] .features-primary-grid .feature-card{min-height:190px;padding:20px 22px;border-radius:22px}
body[data-page="features"] .features-primary-grid .card-icon{width:42px;height:42px;border-radius:13px;margin-bottom:13px}
body[data-page="features"] .features-primary-grid .feature-card h2{margin-bottom:8px;font-size:1.18rem;line-height:1.22}
body[data-page="features"] .features-primary-grid .feature-card p{font-size:.91rem;line-height:1.52}
.features-release-section{position:relative;overflow:hidden}
.features-release-layout{display:grid;grid-template-columns:minmax(0,.9fr) minmax(480px,1.1fr);gap:clamp(42px,6vw,78px);align-items:start}
.features-release-head{max-width:none;margin:0;text-align:left}
.features-release-head h2{max-width:none;margin-left:0;margin-right:0;font-size:clamp(32px,3.4vw,48px)}
.features-release-head p{max-width:690px;margin-left:0;margin-right:0}
.features-versions>.eyebrow{display:block;margin-bottom:12px}
.features-version-list{display:grid;gap:13px}
.features-version-card{padding:18px 20px;border-radius:18px;border:1px solid rgba(255,255,255,.10);background:linear-gradient(145deg,rgba(255,255,255,.055),rgba(255,255,255,.022));box-shadow:0 15px 38px rgba(0,0,0,.18)}
.features-version-card>div{display:flex;align-items:center;justify-content:space-between;gap:16px}
.features-version-card strong{font-size:1.05rem;color:#fff}
.features-version-card span{padding:5px 9px;border-radius:999px;border:1px solid rgba(143,92,255,.26);background:rgba(143,92,255,.09);color:#d6c2ff;font-size:.76rem;font-weight:800}
.features-version-card p{margin:8px 0 0;font-size:.88rem;line-height:1.5}

body[data-page="reseller"] .reseller-portal-hero{background:radial-gradient(circle at 78% 22%,rgba(143,92,255,.14),transparent 30%),radial-gradient(circle at 20% 72%,rgba(231,189,115,.055),transparent 26%)}
body[data-page="reseller"] .reseller-portal-hero .container{max-width:1180px}
body[data-page="reseller"] .reseller-portal-hero h1{max-width:none;font-size:clamp(44px,4.6vw,68px)}
.reseller-portal-lead{max-width:780px!important;font-size:1.08rem!important;color:#ece7f4!important}
.reseller-portal-copy{max-width:820px!important;margin-top:8px!important}
.reseller-portal-actions{margin-top:24px}
.reseller-quick-benefits{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}
.reseller-quick-benefits span,.reseller-auth-trust span{display:inline-flex;align-items:center;gap:7px;padding:8px 11px;border-radius:999px;border:1px solid rgba(255,255,255,.10);background:rgba(255,255,255,.035);color:#d9d1e4;font-size:.82rem;font-weight:750}
.reseller-quick-benefits span::before,.reseller-auth-trust span::before{content:"✓";color:#e7be68;font-weight:900}
.reseller-capabilities-section .section-head{max-width:1180px}
.reseller-capability-grid-v131{gap:18px}
.reseller-capability-grid-v131 .card{min-height:148px;padding:20px 22px;border-radius:20px}
.reseller-capability-grid-v131 .card h3{margin-bottom:8px;font-size:1.05rem}
.reseller-capability-grid-v131 .card p{font-size:.9rem;line-height:1.5}
.reseller-auth-section{background:radial-gradient(circle at 15% 48%,rgba(50,139,255,.08),transparent 28%),radial-gradient(circle at 88% 48%,rgba(143,92,255,.09),transparent 30%)}
.reseller-auth-layout{display:grid;grid-template-columns:minmax(0,.8fr) minmax(520px,1.2fr);gap:clamp(44px,6vw,82px);align-items:center;max-width:1180px}
.reseller-auth-copy h2{font-size:clamp(32px,3.6vw,48px);margin-bottom:10px}
.reseller-auth-copy p{max-width:520px}
.reseller-auth-trust{display:flex;flex-wrap:wrap;gap:9px;margin-top:22px}
.reseller-auth-panel{padding:26px;border-color:rgba(127,101,208,.30);background:linear-gradient(145deg,rgba(19,15,39,.94),rgba(10,9,25,.95));box-shadow:0 28px 70px rgba(0,0,0,.28)}
.reseller-auth-tabs{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-bottom:22px;padding:6px;border-radius:15px;background:rgba(3,5,17,.68);border:1px solid rgba(255,255,255,.08)}
.reseller-auth-tab{min-height:46px;border:0;border-radius:11px;background:transparent;color:var(--muted);font:inherit;font-weight:850;cursor:pointer}
.reseller-auth-tab.active{background:linear-gradient(135deg,rgba(68,121,255,.27),rgba(133,73,244,.24));color:#fff;box-shadow:inset 0 0 0 1px rgba(112,143,255,.30)}
.reseller-auth-form[hidden]{display:none!important}
.reseller-auth-form{gap:14px}
.reseller-auth-form input[type="password"]{letter-spacing:.02em}
.reseller-auth-form .btn-block{min-height:50px}
.reseller-auth-switch{text-align:center;color:var(--muted);font-size:.9rem}
.reseller-auth-switch button{padding:0;border:0;background:transparent;color:#d3b8ff;font:inherit;font-weight:800;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.reseller-auth-switch button:hover,.reseller-auth-switch button:focus-visible{color:#fff}
.reseller-check a{color:#d6c2ff;text-decoration:underline;text-underline-offset:3px}
.reseller-portal-note-section{padding-top:34px;padding-bottom:54px}
.reseller-portal-note{max-width:860px;margin:0 auto}
.reseller-portal-note p{text-align:center}
body[data-page="reseller"] #reseller-capabilities-title{max-width:none}
@media (min-width:1180px){.features-release-head h2,body[data-page="reseller"] #reseller-capabilities-title,body[data-page="reseller"] .reseller-portal-hero h1{white-space:nowrap}}
@media (max-width:1060px){.features-release-layout,.reseller-auth-layout{grid-template-columns:1fr}.reseller-auth-copy{max-width:760px}}
@media (max-width:760px){body[data-page="features"] .features-primary-section{padding-top:38px;padding-bottom:38px}body[data-page="features"] .features-primary-grid .feature-card{min-height:0;padding:18px}.features-release-head h2{white-space:normal}.reseller-auth-panel{padding:20px 17px}.reseller-auth-tabs{grid-template-columns:1fr}.reseller-quick-benefits,.reseller-auth-trust{align-items:flex-start;flex-direction:column}body[data-page="reseller"] #reseller-capabilities-title{white-space:normal}}


/* V1.3.2 — code DF fixe pour la restauration de licence */
.restore-panel .restore-device-code-control { width:100%; }
.restore-panel .restore-device-code-control input {
  min-width:0;
  width:100%;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  padding-left:5px;
  font-weight:800;
  letter-spacing:.08em;
}
.restore-panel .restore-device-code-control input:focus,
.restore-panel .restore-device-code-control input:focus-visible {
  border:0;
  box-shadow:none;
  outline:none;
}

/* ============================================================
   DF PLAYER PRO — Revendeur Auth + Dashboard V1.3.7
   Scope strict : reseller / reseller-dashboard uniquement
   ============================================================ */
body[data-page="reseller"] .reseller-password-wrap{position:relative}
body[data-page="reseller"] .reseller-password-wrap input{padding-right:50px}
body[data-page="reseller"] .reseller-password-toggle{position:absolute;right:7px;top:50%;transform:translateY(-50%);width:38px;height:38px;border:0;border-radius:11px;background:transparent;color:#8883a2;display:grid;place-items:center;cursor:pointer;transition:.18s ease}
body[data-page="reseller"] .reseller-password-toggle:hover,body[data-page="reseller"] .reseller-password-toggle:focus-visible,body[data-page="reseller"] .reseller-password-toggle.active{background:rgba(132,99,255,.12);color:#ece6ff;outline:none}
body[data-page="reseller"] .reseller-password-rules{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:-2px}
body[data-page="reseller"] .reseller-password-rules span{position:relative;display:flex;align-items:center;min-height:36px;padding:8px 10px 8px 27px;border:1px solid rgba(255,255,255,.08);border-radius:11px;background:rgba(255,255,255,.025);color:#8f8aa2;font-size:.76rem;font-weight:760;line-height:1.25;transition:.18s ease}
body[data-page="reseller"] .reseller-password-rules span::before{content:"";position:absolute;left:10px;width:8px;height:8px;border-radius:50%;background:#665f76;box-shadow:0 0 0 3px rgba(255,255,255,.025)}
body[data-page="reseller"] .reseller-password-rules span.valid{color:#c8f7d8;border-color:rgba(52,210,123,.25);background:rgba(42,182,105,.065)}
body[data-page="reseller"] .reseller-password-rules span.valid::before{background:#40d987;box-shadow:0 0 12px rgba(64,217,135,.42)}
body[data-page="reseller"] .reseller-forgot-row{text-align:right;margin-top:-6px}
body[data-page="reseller"] .reseller-forgot-row button{padding:0;border:0;background:transparent;color:#cdb9ff;font:inherit;font-size:.84rem;font-weight:800;cursor:pointer;text-decoration:underline;text-underline-offset:4px}
body[data-page="reseller"] .reseller-auth-step-head{padding:4px 0 6px}
body[data-page="reseller"] .reseller-auth-step-head h3{margin:9px 0 7px;font-size:1.24rem}
body[data-page="reseller"] .reseller-auth-step-head p{margin:0;color:#a8a2b7;font-size:.9rem;line-height:1.55}
body[data-page="reseller"] .reseller-step-badge{display:inline-flex;align-items:center;padding:6px 9px;border:1px solid rgba(143,92,255,.24);border-radius:999px;background:rgba(143,92,255,.075);color:#d8c8ff;font-size:.72rem;font-weight:850;text-transform:uppercase;letter-spacing:.06em}
body[data-page="reseller"] .reseller-code-input{text-align:center;font-size:1.55rem!important;font-weight:900;letter-spacing:.32em;font-variant-numeric:tabular-nums}
body[data-page="reseller"] .reseller-code-form .reseller-auth-switch{display:flex;justify-content:center;gap:6px;flex-wrap:wrap}
body[data-page="reseller"] .reseller-auth-panel .form-message.show{margin-top:11px;padding:10px 12px;border-radius:10px;background:rgba(255,255,255,.035)}
body[data-page="reseller"] .reseller-auth-panel .form-message.show.success{background:rgba(49,190,112,.075);border:1px solid rgba(49,190,112,.2)}
body[data-page="reseller"] .reseller-auth-panel .form-message.show.error{background:rgba(244,83,110,.07);border:1px solid rgba(244,83,110,.2)}

body[data-page="reseller-dashboard"]{background:#07070d}
body[data-page="reseller-dashboard"].reseller-dashboard-auth-pending .reseller-dashboard-main{visibility:hidden}
.reseller-dashboard-main{min-height:72vh}
.reseller-dashboard-page{position:relative;padding:38px 0 78px;overflow:hidden;background:radial-gradient(circle at 14% 12%,rgba(97,72,219,.14),transparent 30%),radial-gradient(circle at 88% 24%,rgba(231,189,115,.07),transparent 30%),linear-gradient(180deg,#080811 0%,#090911 100%)}
.reseller-dashboard-page::before{content:"";position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px);background-size:52px 52px;mask-image:linear-gradient(to bottom,rgba(0,0,0,.45),transparent 78%)}
.reseller-dashboard-container{position:relative;z-index:1;max-width:1240px}
.reseller-dashboard-topbar{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:22px}
.reseller-dashboard-brandline{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.reseller-dashboard-kicker{color:#a9a2b8;font-size:.78rem;font-weight:850;text-transform:uppercase;letter-spacing:.09em}
.reseller-dashboard-live{display:inline-flex;align-items:center;gap:8px;padding:7px 10px;border:1px solid rgba(61,213,132,.18);border-radius:999px;background:rgba(52,184,113,.065);color:#baf2d0;font-size:.77rem;font-weight:800}
.reseller-dashboard-live i{width:7px;height:7px;border-radius:50%;background:#44db8c;box-shadow:0 0 12px rgba(68,219,140,.7)}
.reseller-dashboard-hero{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:30px 32px;margin-bottom:22px;border:1px solid rgba(146,118,237,.22);border-radius:28px;background:linear-gradient(135deg,rgba(28,22,56,.92),rgba(12,12,25,.94) 58%,rgba(38,28,40,.74));box-shadow:0 28px 80px rgba(0,0,0,.34),inset 0 1px 0 rgba(255,255,255,.045)}
.reseller-dashboard-identity{display:flex;align-items:center;gap:20px;min-width:0}
.reseller-dashboard-avatar{flex:0 0 auto;width:72px;height:72px;display:grid;place-items:center;border-radius:22px;border:1px solid rgba(189,142,255,.34);background:linear-gradient(145deg,rgba(121,75,235,.46),rgba(76,56,154,.18));box-shadow:0 18px 42px rgba(70,42,130,.28),inset 0 1px 0 rgba(255,255,255,.16);color:#fff;font-size:1.34rem;font-weight:950;letter-spacing:.04em}
.reseller-dashboard-hero h1{margin:7px 0 5px;font-size:clamp(28px,3vw,43px);line-height:1.05}
.reseller-dashboard-hero p{margin:0;color:#aaa5b5}
.reseller-dashboard-badges{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.reseller-secure-badge{display:inline-flex;align-items:center;padding:8px 11px;border:1px solid rgba(255,255,255,.09);border-radius:999px;background:rgba(255,255,255,.035);color:#d9d4e1;font-size:.78rem;font-weight:800;white-space:nowrap}
.reseller-dashboard-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(310px,.7fr);gap:22px;align-items:start}
.reseller-dashboard-primary,.reseller-dashboard-side{display:grid;gap:22px}
.reseller-dashboard-card{border:1px solid rgba(255,255,255,.085);border-radius:24px;background:linear-gradient(145deg,rgba(20,18,33,.93),rgba(10,10,19,.96));box-shadow:0 20px 58px rgba(0,0,0,.22);padding:24px}
.reseller-dashboard-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:19px}
.reseller-dashboard-section-head h2,.reseller-dashboard-side h2{margin:6px 0 0;font-size:1.36rem}
.reseller-dashboard-muted{color:#777284;font-size:.78rem;font-weight:850;letter-spacing:.05em}
.reseller-status-dot{display:inline-flex;align-items:center;gap:7px;padding:7px 10px;border-radius:999px;background:rgba(52,184,113,.07);border:1px solid rgba(52,184,113,.18);color:#b9f0ce;font-size:.76rem;font-weight:850}
.reseller-status-dot::before{content:"";width:7px;height:7px;border-radius:50%;background:#44db8c}
.reseller-dashboard-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.reseller-fact{min-width:0;padding:15px 16px;border:1px solid rgba(255,255,255,.065);border-radius:16px;background:rgba(255,255,255,.022)}
.reseller-fact span{display:block;margin-bottom:5px;color:#777284;font-size:.75rem;font-weight:760;text-transform:uppercase;letter-spacing:.04em}
.reseller-fact strong{display:block;overflow:hidden;text-overflow:ellipsis;color:#eeebf2;font-size:.93rem;white-space:nowrap}
.reseller-dashboard-tools{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.reseller-dashboard-tool{position:relative;display:grid;grid-template-columns:42px minmax(0,1fr) 20px;gap:12px;align-items:center;min-height:92px;padding:16px;border:1px solid rgba(255,255,255,.07);border-radius:18px;background:rgba(255,255,255,.024);text-decoration:none;transition:.2s ease}
.reseller-dashboard-tool:hover,.reseller-dashboard-tool:focus-visible{transform:translateY(-2px);border-color:rgba(139,101,255,.27);background:linear-gradient(135deg,rgba(109,74,213,.10),rgba(255,255,255,.025));box-shadow:0 14px 30px rgba(0,0,0,.19);outline:none}
.reseller-tool-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:13px;background:linear-gradient(145deg,rgba(116,80,232,.25),rgba(82,59,159,.10));border:1px solid rgba(139,101,255,.20);color:#ddceff;font-size:1.08rem;font-weight:900}
.reseller-dashboard-tool strong{display:block;margin-bottom:3px;color:#f1eef5;font-size:.9rem}
.reseller-dashboard-tool p{margin:0;color:#858091;font-size:.78rem;line-height:1.4}
.reseller-tool-arrow{color:#6e6878;font-weight:900;transition:.2s ease}
.reseller-dashboard-tool:hover .reseller-tool-arrow{color:#ceb8ff;transform:translateX(2px)}
.reseller-dashboard-security{text-align:center;background:radial-gradient(circle at 50% 14%,rgba(74,202,129,.07),transparent 28%),linear-gradient(145deg,rgba(20,18,33,.93),rgba(10,10,19,.96))}
.reseller-security-orb{width:76px;height:76px;margin:22px auto 16px;display:grid;place-items:center;border-radius:24px;border:1px solid rgba(68,219,140,.22);background:linear-gradient(145deg,rgba(68,219,140,.15),rgba(68,219,140,.035));box-shadow:0 18px 44px rgba(33,132,81,.13)}
.reseller-security-orb span{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:#3fd383;color:#07120b;font-weight:950;font-size:1.1rem}
.reseller-dashboard-security>p,.reseller-dashboard-help p{color:#918b9c;font-size:.85rem;line-height:1.58}
.reseller-security-list{list-style:none;margin:20px 0;padding:0;display:grid;gap:8px;text-align:left}
.reseller-security-list li{display:flex;justify-content:space-between;gap:14px;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.055);color:#9892a3;font-size:.8rem}
.reseller-security-list li strong{color:#b9f0ce;font-size:.76rem}
.reseller-dashboard-help{text-align:left}
.reseller-dashboard-help .btn{margin-top:17px}

@media (max-width:980px){
  body[data-page="reseller"] .reseller-password-rules{grid-template-columns:repeat(2,minmax(0,1fr))}
  .reseller-dashboard-grid{grid-template-columns:1fr}
  .reseller-dashboard-side{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:720px){
  body[data-page="reseller"] .reseller-password-rules{grid-template-columns:1fr 1fr}
  .reseller-dashboard-page{padding-top:24px}
  .reseller-dashboard-topbar{align-items:flex-start}
  .reseller-dashboard-hero{align-items:flex-start;flex-direction:column;padding:24px 20px;border-radius:22px}
  .reseller-dashboard-identity{align-items:flex-start}
  .reseller-dashboard-avatar{width:58px;height:58px;border-radius:18px}
  .reseller-dashboard-badges{justify-content:flex-start}
  .reseller-dashboard-facts,.reseller-dashboard-tools,.reseller-dashboard-side{grid-template-columns:1fr}
  .reseller-dashboard-card{padding:19px;border-radius:20px}
}
@media (max-width:460px){
  body[data-page="reseller"] .reseller-password-rules{grid-template-columns:1fr}
  .reseller-dashboard-topbar{flex-direction:column}
  .reseller-dashboard-topbar .reseller-logout{width:100%}
  .reseller-dashboard-identity{gap:13px}
  .reseller-dashboard-avatar{width:50px;height:50px}
  .reseller-dashboard-hero h1{font-size:28px}
}


/* ============================================================
   DF PLAYER PRO — V1.3.8 Revendeur : notifications temporaires
   Scope strict : reseller uniquement
   ============================================================ */
body[data-page="reseller"] .reseller-auth-panel .form-message{display:none!important}
body[data-page="reseller"] .reseller-auth-toast{
  position:fixed;
  z-index:140;
  top:calc(var(--header-h) + 18px);
  right:22px;
  width:min(390px,calc(100vw - 28px));
  min-height:58px;
  padding:12px 42px 12px 14px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:15px;
  background:rgba(18,16,30,.94);
  box-shadow:0 18px 52px rgba(0,0,0,.42),0 0 0 1px rgba(255,255,255,.025) inset;
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
  color:#f7f4ff;
  display:grid;
  grid-template-columns:12px minmax(0,1fr);
  align-items:center;
  gap:11px;
  opacity:0;
  transform:translateY(-10px) scale(.985);
  pointer-events:none;
  transition:opacity .2s ease,transform .2s ease,border-color .2s ease,background .2s ease;
}
body[data-page="reseller"] .reseller-auth-toast.show{opacity:1;transform:translateY(0) scale(1);pointer-events:auto}
body[data-page="reseller"] .reseller-auth-toast.is-hiding{opacity:0;transform:translateY(-8px) scale(.985);pointer-events:none}
body[data-page="reseller"] .reseller-auth-toast-icon{width:10px;height:10px;border-radius:50%;background:#75bfff;box-shadow:0 0 16px rgba(117,191,255,.5)}
body[data-page="reseller"] .reseller-auth-toast-text{font-size:.9rem;font-weight:760;line-height:1.45;overflow-wrap:anywhere}
body[data-page="reseller"] .reseller-auth-toast-close{position:absolute;right:9px;top:50%;transform:translateY(-50%);width:30px;height:30px;border:0;border-radius:9px;background:transparent;color:#b8b2c9;font-size:1.25rem;line-height:1;cursor:pointer;display:grid;place-items:center}
body[data-page="reseller"] .reseller-auth-toast-close:hover,body[data-page="reseller"] .reseller-auth-toast-close:focus-visible{background:rgba(255,255,255,.08);color:#fff;outline:none}
body[data-page="reseller"] .reseller-auth-toast.error{border-color:rgba(255,101,133,.34);background:linear-gradient(135deg,rgba(63,20,34,.96),rgba(22,16,31,.96))}
body[data-page="reseller"] .reseller-auth-toast.error .reseller-auth-toast-icon{background:#ff6c8e;box-shadow:0 0 17px rgba(255,108,142,.54)}
body[data-page="reseller"] .reseller-auth-toast.success{border-color:rgba(66,218,137,.30);background:linear-gradient(135deg,rgba(18,55,42,.96),rgba(16,19,29,.96))}
body[data-page="reseller"] .reseller-auth-toast.success .reseller-auth-toast-icon{background:#45dc8d;box-shadow:0 0 17px rgba(69,220,141,.52)}
body[data-page="reseller"] .reseller-auth-toast.info{border-color:rgba(117,191,255,.28)}
@media(max-width:700px){body[data-page="reseller"] .reseller-auth-toast{top:calc(var(--header-h) + 10px);right:14px;width:calc(100vw - 28px)}}

/* Panel Revendeur V1.5 — interface métier originale DF PLAYER PRO */
body[data-page="reseller-dashboard"]{
  margin:0;
  min-width:320px;
  background:#f2f5fa;
  color:#172033;
  color-scheme:light;
  overflow-x:hidden;
}
body[data-page="reseller-dashboard"] *{box-sizing:border-box}
body[data-page="reseller-dashboard"] a{color:inherit}
body[data-page="reseller-dashboard"].rd-auth-pending .rd-shell{visibility:hidden}
.rd-loading-screen{position:fixed;inset:0;z-index:500;display:grid;place-content:center;justify-items:center;gap:15px;background:#07101f;color:#fff}
.rd-loading-screen[hidden]{display:none}
.rd-loading-screen strong{font-size:.94rem;letter-spacing:.01em}
.rd-loader{display:inline-block;width:28px;height:28px;border:3px solid rgba(93,139,255,.22);border-top-color:#4f7cff;border-radius:50%;animation:rd-spin .75s linear infinite}
@keyframes rd-spin{to{transform:rotate(360deg)}}

.rd-shell{min-height:100vh;display:grid;grid-template-columns:276px minmax(0,1fr)}
.rd-sidebar{position:sticky;top:0;z-index:120;display:flex;flex-direction:column;height:100vh;padding:24px 18px 18px;overflow-y:auto;background:
  radial-gradient(circle at 10% 0,rgba(57,112,244,.21),transparent 31%),
  linear-gradient(180deg,#091426 0%,#07101f 60%,#050b16 100%);color:#dce5f5;box-shadow:18px 0 52px rgba(15,27,48,.08)}
.rd-sidebar-head{display:flex;align-items:center;justify-content:space-between;min-height:46px;padding:0 8px 0 5px}
.rd-brand{display:flex;align-items:center;gap:6px;width:190px;padding:0;border:0;background:transparent;color:inherit;text-decoration:none;text-align:left}
.rd-brand-reload{cursor:pointer;border-radius:10px;transition:background .18s ease,box-shadow .18s ease}
.rd-brand-reload:hover{background:rgba(255,255,255,.045)}
.rd-brand-reload:focus-visible{outline:2px solid var(--primary);outline-offset:4px}
.rd-brand-symbol{width:57px;height:35px;object-fit:contain;filter:drop-shadow(0 7px 15px rgba(33,108,237,.24))}
.rd-brand-wordmark{width:124px;height:auto;object-fit:contain}
.rd-sidebar-close{display:none;width:36px;height:36px;border:1px solid rgba(255,255,255,.12);border-radius:11px;background:rgba(255,255,255,.06);color:#fff;font-size:1.45rem;cursor:pointer}
.rd-account-mini{display:grid;grid-template-columns:46px minmax(0,1fr) 24px;align-items:center;gap:11px;margin:26px 0 25px;padding:15px 13px;border:1px solid rgba(255,255,255,.09);border-radius:17px;background:rgba(255,255,255,.055);box-shadow:inset 0 1px 0 rgba(255,255,255,.035)}
.rd-account-avatar,.rd-user-button>span:first-child{display:grid;place-items:center;border-radius:13px;background:linear-gradient(145deg,#3f72ee,#694fd6);color:white;font-weight:900;letter-spacing:.03em;box-shadow:0 10px 24px rgba(40,88,212,.28)}
.rd-account-avatar{width:46px;height:46px}
.rd-account-copy{min-width:0}
.rd-account-copy strong,.rd-account-copy small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rd-account-copy strong{color:#fff;font-size:.88rem}
.rd-account-copy small{margin-top:4px;color:#8595af;font-size:.7rem}
.rd-account-verified{display:grid;place-items:center;width:21px;height:21px;border-radius:50%;background:#35cc84;color:#061a10;font-size:.72rem;font-weight:950}
.rd-navigation{display:flex;flex-direction:column;gap:5px}
.rd-nav-label{margin:17px 13px 7px;color:#596b87;font-size:.65rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}
.rd-nav-label:first-child{margin-top:0}
.rd-nav-item{position:relative;display:flex;align-items:center;gap:12px;min-height:47px;padding:8px 12px;border:1px solid transparent;border-radius:13px;color:#9fadc2;text-decoration:none;font-size:.82rem;font-weight:750;transition:.18s ease}
.rd-nav-item:hover,.rd-nav-item:focus-visible{background:rgba(255,255,255,.065);color:#f3f7ff;outline:none}
.rd-nav-item.active{border-color:rgba(98,142,255,.26);background:linear-gradient(90deg,rgba(50,100,225,.24),rgba(67,76,171,.12));color:#fff;box-shadow:inset 3px 0 0 #5c83ff,0 13px 28px rgba(2,8,19,.18)}
.rd-nav-icon{display:grid;place-items:center;width:28px;height:28px;border-radius:9px;background:rgba(255,255,255,.055);color:#aab9d2;font-size:.95rem;font-weight:900}
.rd-nav-item.active .rd-nav-icon{background:rgba(90,133,255,.22);color:#fff}
.rd-sidebar-foot{display:grid;gap:12px;margin-top:auto;padding-top:28px}
.rd-security-note{display:flex;align-items:center;gap:10px;padding:12px;border:1px solid rgba(50,211,136,.12);border-radius:14px;background:rgba(40,190,118,.05)}
.rd-security-note>span{color:#37d187;font-size:.68rem;text-shadow:0 0 12px rgba(55,209,135,.7)}
.rd-security-note strong,.rd-security-note small{display:block}
.rd-security-note strong{color:#d6f7e6;font-size:.72rem}
.rd-security-note small{margin-top:3px;color:#6c927f;font-size:.63rem}
.rd-logout-link{display:flex;align-items:center;justify-content:center;gap:8px;min-height:42px;border:1px solid rgba(255,255,255,.09);border-radius:12px;background:transparent;color:#8fa0b8;font-weight:750;cursor:pointer}
.rd-logout-link:hover,.rd-logout-link:focus-visible{border-color:rgba(255,117,141,.22);background:rgba(255,90,122,.06);color:#ffbdca;outline:none}
.rd-sidebar-backdrop{display:none}

.rd-workspace{min-width:0}
.rd-topbar{position:sticky;top:0;z-index:90;display:flex;align-items:center;justify-content:space-between;gap:24px;height:76px;padding:0 clamp(22px,3.2vw,48px);border-bottom:1px solid #e5eaf2;background:rgba(255,255,255,.92);box-shadow:0 10px 30px rgba(31,48,77,.035);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
.rd-topbar-title{display:flex;align-items:center;gap:13px}
.rd-topbar-title>div span,.rd-topbar-title>div strong{display:block}
.rd-topbar-title>div span{color:#7b8799;font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.rd-topbar-title>div strong{margin-top:2px;color:#172033;font-size:1rem}
.rd-menu-button{display:none;width:40px;height:40px;border:1px solid #dfe5ef;border-radius:12px;background:#fff;color:#243047;font-size:1.1rem;cursor:pointer}
.rd-topbar-actions{display:flex;align-items:center;gap:12px}
.rd-credit-counter{display:grid;grid-template-columns:auto minmax(31px,auto);align-items:center;gap:11px;min-height:48px;padding:6px 8px 6px 13px;border:1px solid #dfe5ef;border-radius:14px;background:#fff;text-decoration:none;box-shadow:0 7px 20px rgba(36,54,88,.045);transition:.16s ease}
.rd-credit-counter:hover,.rd-credit-counter:focus-visible{transform:translateY(-1px);border-color:#b6c7f2;box-shadow:0 11px 25px rgba(47,75,145,.1);outline:none}
.rd-credit-counter>span{display:block;color:#69768a;font-size:.66rem;font-weight:850;line-height:1.15;white-space:nowrap}
.rd-credit-counter small{display:block;margin-top:3px;color:#9aa4b3;font-size:.57rem;font-weight:700}
.rd-credit-counter>strong{display:grid;place-items:center;min-width:34px;height:34px;padding:0 8px;border-radius:10px;background:linear-gradient(135deg,#376ff0,#7650dc);color:#fff;font-size:.88rem;box-shadow:0 7px 15px rgba(67,91,211,.2)}
.rd-live-status{display:inline-flex;align-items:center;gap:7px;padding:8px 11px;border:1px solid #dff3e9;border-radius:999px;background:#f1fbf6;color:#27885c;font-size:.72rem;font-weight:850}
.rd-live-status i{width:7px;height:7px;border-radius:50%;background:#31c77b;box-shadow:0 0 0 4px rgba(49,199,123,.12)}
.rd-topbar-help{padding:8px 11px;color:#667389;text-decoration:none;font-size:.78rem;font-weight:800}
.rd-user-button{display:grid;grid-template-columns:38px minmax(0,1fr);align-items:center;gap:9px;min-width:154px;padding:6px 10px 6px 6px;border:1px solid #e1e6ef;border-radius:14px;background:#fff;text-align:left;cursor:pointer;box-shadow:0 7px 20px rgba(36,54,88,.045)}
.rd-user-button>span:first-child{width:38px;height:38px;border-radius:11px;font-size:.78rem}
.rd-user-button>span:last-child{min-width:0}
.rd-user-button strong,.rd-user-button small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rd-user-button strong{color:#273248;font-size:.76rem}
.rd-user-button small{margin-top:2px;color:#8a95a7;font-size:.63rem}

.rd-main{width:min(100% - 44px,1500px);margin:0 auto;padding:38px 0 64px}
.rd-welcome{display:flex;align-items:flex-end;justify-content:space-between;gap:28px;margin-bottom:27px}
.rd-overline{display:block;margin-bottom:7px;color:#5574c5;font-size:.68rem;font-weight:900;letter-spacing:.11em;text-transform:uppercase}
.rd-welcome h1{margin:0;color:#131d30;font-size:clamp(1.75rem,3vw,2.55rem);line-height:1.08;letter-spacing:-.035em}
.rd-welcome p{margin:8px 0 0;color:#738096;font-size:.9rem}
.rd-welcome-actions{display:flex;align-items:center;gap:16px}
.rd-last-sync{color:#8a95a7;font-size:.71rem;white-space:nowrap}
.rd-last-sync strong{color:#57657a}
.rd-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:43px;padding:0 16px;border:1px solid transparent;border-radius:12px;text-decoration:none;font-size:.76rem;font-weight:850;line-height:1;cursor:pointer;transition:transform .16s ease,box-shadow .16s ease,background .16s ease,border-color .16s ease}
.rd-button:hover,.rd-button:focus-visible{transform:translateY(-1px);outline:none}
.rd-button-primary{background:linear-gradient(135deg,#376ff0,#7650dc);color:#fff;box-shadow:0 11px 24px rgba(67,91,211,.22)}
.rd-button-primary:hover,.rd-button-primary:focus-visible{box-shadow:0 14px 30px rgba(67,91,211,.3)}
.rd-button-light{border-color:#dfe5ee;background:#fff;color:#4f5c70}
.rd-button-dark{background:#172235;color:#fff;box-shadow:0 9px 21px rgba(25,35,54,.15)}
.rd-button:disabled{opacity:.45;cursor:not-allowed;transform:none}
.rd-button[aria-busy="true"]{cursor:wait;opacity:.84;transform:none}
.rd-button .btn-loading-spinner{width:15px;height:15px;flex-basis:15px;border-width:2px}

.rd-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin-bottom:21px}
.rd-metric{position:relative;display:grid;grid-template-columns:48px minmax(0,1fr);align-items:center;gap:14px;min-height:132px;padding:20px;border:1px solid #e2e7f0;border-radius:19px;background:#fff;box-shadow:0 12px 32px rgba(39,56,88,.045);overflow:hidden}
.rd-metric::after{content:"";position:absolute;right:-28px;top:-34px;width:94px;height:94px;border-radius:50%;background:var(--metric-soft)}
.rd-metric-icon{position:relative;z-index:1;display:grid;place-items:center;width:48px;height:48px;border-radius:14px;background:var(--metric-soft);color:var(--metric-color);font-size:1.05rem;font-weight:950}
.rd-metric div{min-width:0}
.rd-metric small,.rd-metric strong,.rd-metric div span{display:block}
.rd-metric small{color:#748095;font-size:.68rem;font-weight:850;text-transform:uppercase;letter-spacing:.045em}
.rd-metric strong{margin:4px 0 2px;color:#172033;font-size:1.8rem;line-height:1;font-weight:900}
.rd-metric div span{color:#9aa4b3;font-size:.65rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rd-metric-total{--metric-color:#376ff0;--metric-soft:#edf3ff}
.rd-metric-active{--metric-color:#169664;--metric-soft:#eaf9f2}
.rd-metric-soon{--metric-color:#c57a0a;--metric-soft:#fff5df}
.rd-metric-expired{--metric-color:#d64f6a;--metric-soft:#fff0f3}

.rd-panel{border:1px solid #e1e6ee;border-radius:21px;background:#fff;box-shadow:0 16px 42px rgba(32,48,78,.05)}
.rd-activations-panel{overflow:hidden}
.rd-panel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:22px;padding:23px 25px 19px}
.rd-panel-heading h2{margin:0;color:#172033;font-size:1.18rem;letter-spacing:-.018em}
.rd-panel-heading p{margin:6px 0 0;color:#8a95a7;font-size:.76rem}
.rd-panel-heading-actions{display:flex;align-items:center;gap:9px}
.rd-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:13px 25px;border-top:1px solid #edf0f5;border-bottom:1px solid #e7ebf2;background:#f9fafc}
.rd-search{display:flex;align-items:center;gap:9px;width:min(340px,100%);height:42px;padding:0 13px;border:1px solid #dfe5ee;border-radius:12px;background:#fff;color:#8591a4;box-shadow:0 3px 10px rgba(33,48,78,.025)}
.rd-search-prefix{color:#dce8ff;font-size:.86rem;font-weight:900;letter-spacing:.04em;white-space:nowrap}
.rd-search:focus-within{border-color:#9bb4f3;box-shadow:0 0 0 3px rgba(55,111,240,.09)}
.rd-search input{width:100%;height:100%;padding:0;border:0;outline:0;background:transparent;color:#273248;font:inherit;font-size:.77rem}
.rd-search input::placeholder{color:#9da7b6}
.rd-filter-group{display:flex;align-items:center;gap:4px;padding:4px;border:1px solid #e3e8f0;border-radius:12px;background:#fff}
.rd-filter{display:inline-flex;align-items:center;gap:6px;min-height:32px;padding:0 10px;border:0;border-radius:9px;background:transparent;color:#7a8699;font-size:.68rem;font-weight:800;cursor:pointer;white-space:nowrap}
.rd-filter span{display:grid;place-items:center;min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:#f0f3f8;color:#8792a3;font-size:.62rem}
.rd-filter.active{background:#172235;color:#fff;box-shadow:0 5px 13px rgba(25,35,54,.14)}
.rd-filter.active span{background:rgba(255,255,255,.14);color:#fff}
.rd-inline-alert{display:flex;align-items:center;gap:12px;margin:16px 25px;padding:13px 15px;border:1px solid #ffd4dd;border-radius:13px;background:#fff4f6;color:#9c2942}
.rd-inline-alert[hidden]{display:none}
.rd-inline-alert>span{display:grid;place-items:center;width:28px;height:28px;border-radius:9px;background:#ffe2e8;font-weight:950}
.rd-inline-alert div{min-width:0;flex:1}
.rd-inline-alert strong,.rd-inline-alert p{display:block;margin:0}
.rd-inline-alert strong{font-size:.75rem}
.rd-inline-alert p{margin-top:2px;font-size:.68rem}
.rd-inline-alert button{border:0;background:transparent;color:#a32e47;font-weight:850;cursor:pointer}
.rd-table-wrap{position:relative;min-height:245px;overflow-x:auto}
.rd-table{width:100%;min-width:1040px;border-collapse:collapse;table-layout:fixed}
.rd-table[hidden]{display:none}
.rd-table th{position:relative;height:47px;padding:0 16px;border-bottom:1px solid #e8ecf2;background:#fff;color:#7e899a;font-size:.64rem;font-weight:900;text-align:left;text-transform:uppercase;letter-spacing:.055em;white-space:nowrap}
.rd-table th:first-child,.rd-table td:first-child{padding-left:25px}
.rd-table th:last-child,.rd-table td:last-child{padding-right:25px}
.rd-table td{height:72px;padding:10px 16px;border-bottom:1px solid #eef1f5;color:#334056;font-size:.73rem;vertical-align:middle}
.rd-number-column{width:55px;text-align:center!important}
.rd-row-number{width:55px;color:#9aa5b5!important;font-size:.67rem!important;font-weight:850;text-align:center}
.rd-table tbody tr{transition:background .16s ease}
.rd-table tbody tr:hover{background:#f8faff}
.rd-device-cell{display:grid;grid-template-columns:38px minmax(0,1fr);align-items:center;gap:11px;min-width:215px}
.rd-device-mark{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:linear-gradient(145deg,#edf3ff,#e9eefe);color:#4774df;font-weight:950}
.rd-device-cell strong,.rd-device-cell small{display:block;max-width:210px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rd-device-cell strong{color:#172033;font-size:.76rem}
.rd-device-cell small{margin-top:4px;color:#98a2b1;font-size:.64rem}
.rd-note-cell{max-width:170px;overflow:hidden;color:#4a576b!important;text-overflow:ellipsis;white-space:nowrap}
.rd-country-cell{display:inline-flex;max-width:100%;align-items:center;gap:8px;white-space:nowrap}
.rd-country-flag{flex:0 0 auto;font-size:1.15rem;line-height:1}
img.rd-country-flag{width:24px;height:16px;object-fit:cover;border-radius:2px}
.rd-country-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:750}
.rd-country-cell.is-empty .rd-country-name{color:#7b8798;font-weight:650}
.rd-column-resizer{position:absolute;z-index:3;top:7px;right:-6px;bottom:7px;width:12px;cursor:col-resize;touch-action:none}
.rd-column-resizer::before{position:absolute;top:0;right:5px;bottom:0;width:1px;border-radius:99px;background:#d5dce6;content:"";transition:width .14s ease,background .14s ease,box-shadow .14s ease}
.rd-column-resizer:hover::before,.rd-column-resizer:focus-visible::before,.rd-column-resizer.active::before{right:4px;width:3px;background:#3479ed;box-shadow:0 0 0 1px rgba(52,121,237,.12),0 0 10px rgba(52,121,237,.42)}
.rd-column-resizer:focus-visible{outline:none}
.rd-column-label{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
[dir="rtl"] .rd-column-resizer{right:auto;left:-6px}
html.rd-column-resizing,html.rd-column-resizing *{cursor:col-resize!important;user-select:none!important}
.rd-platform-badge,.rd-plan-badge,.rd-status-badge{display:inline-flex;align-items:center;justify-content:center;min-height:28px;padding:0 9px;border-radius:8px;font-size:.65rem;font-weight:850;white-space:nowrap}
.rd-platform-badge{background:#edf3ff;color:#3167df}
.rd-plan-badge{background:#f1edff;color:#6545c8}
.rd-plan-badge.lifetime{background:#fff3d9;color:#a56808}
.rd-status-badge::before{content:"";width:6px;height:6px;margin-right:6px;border-radius:50%;background:currentColor}
.rd-status-badge.active{background:#e9f8f1;color:#148b5c}
.rd-status-badge.soon{background:#fff3dc;color:#b66c00}
.rd-status-badge.expired{background:#ffedf1;color:#c93f5a}
.rd-status-badge.inactive{background:#eef1f5;color:#727e90}
.rd-table-muted{color:#7b8798!important}
.rd-expiry-date,.rd-activation-date{display:block;white-space:nowrap}
.rd-expiry-date{color:#344158;font-size:.71rem}
.rd-activation-date{margin-top:4px;color:#9ba5b3;font-size:.61rem}
.rd-actions-column{text-align:right!important}
.rd-row-actions{text-align:right;white-space:nowrap}
.rd-icon-button{display:inline-grid;place-items:center;width:34px;height:34px;margin-left:5px;border:1px solid #dfe5ee;border-radius:10px;background:#fff;color:#536177;text-decoration:none;font-size:.82rem;font-weight:900;cursor:pointer;transition:.15s ease}
.rd-icon-button:hover,.rd-icon-button:focus-visible{transform:translateY(-1px);border-color:#aebff0;color:#345fcb;box-shadow:0 7px 15px rgba(40,71,145,.09);outline:none}
.rd-icon-button:disabled{opacity:.35;cursor:not-allowed;transform:none}
.rd-icon-manage{border-color:#dbe4fb;background:#edf3ff;color:#356be3}
.rd-table-loading{position:absolute;inset:0;display:grid;place-content:center;justify-items:center;gap:10px;background:#fff;color:#8792a3}
.rd-table-loading[hidden]{display:none}
.rd-table-loading .rd-loader{width:24px;height:24px;border-width:2px}
.rd-table-loading p{margin:0;font-size:.73rem;font-weight:750}
.rd-empty{display:grid;place-items:center;min-height:320px;padding:38px;text-align:center}
.rd-empty[hidden]{display:none}
.rd-empty-icon{display:grid;place-items:center;width:62px;height:62px;border-radius:19px;background:#edf3ff;color:#4876e6;font-size:1.35rem;font-weight:950}
.rd-empty h3{margin:16px 0 6px;color:#273248;font-size:1rem}
.rd-empty p{max-width:430px;margin:0 0 18px;color:#8b96a7;font-size:.75rem;line-height:1.55}
.rd-table-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:47px;padding:0 25px;border-top:1px solid #edf0f5;background:#fafbfd;color:#8b96a7;font-size:.66rem}
.rd-table-footer>strong{color:#536176;font-size:.69rem}
.rd-pagination{display:flex;align-items:center;gap:4px}
.rd-pagination span{min-width:92px;padding:0 8px;color:#4b586d;font-size:.69rem;font-weight:800;text-align:center;white-space:nowrap}
.rd-pagination button{display:grid;place-items:center;width:31px;height:31px;border:1px solid transparent;border-radius:9px;background:transparent;color:#445269;font-size:1rem;font-weight:850;cursor:pointer;transition:.15s ease}
.rd-pagination button:hover,.rd-pagination button:focus-visible{border-color:#dce4f1;background:#fff;color:#3167df;outline:none;box-shadow:0 5px 12px rgba(36,59,105,.08)}
.rd-pagination button:disabled{color:#c2c9d3;cursor:not-allowed;box-shadow:none;background:transparent;border-color:transparent}

.rd-purchases-panel{margin-top:21px;overflow:hidden}
.rd-purchases-table-wrap{overflow-x:auto;border-top:1px solid #edf0f5}
.rd-purchases-table{width:100%;min-width:700px;border-collapse:collapse}
.rd-purchases-table[hidden]{display:none}
.rd-purchases-table th{height:47px;padding:0 25px;border-bottom:1px solid #e8ecf2;color:#7e899a;font-size:.64rem;font-weight:900;text-align:left;text-transform:uppercase;letter-spacing:.055em;white-space:nowrap}
.rd-purchases-table td{height:65px;padding:10px 25px;border-bottom:1px solid #eef1f5;color:#48566b;font-size:.72rem}
.rd-purchase-reference{max-width:260px;overflow:hidden;color:#26344b!important;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.67rem!important;text-overflow:ellipsis;white-space:nowrap}
.rd-purchase-amount{color:#18243a!important;font-weight:900}
.rd-order-status{display:inline-flex;align-items:center;min-height:27px;padding:0 9px;border-radius:8px;font-size:.64rem;font-weight:850}
.rd-order-status.paid{background:#e9f8f1;color:#148b5c}
.rd-order-status.pending{background:#fff3dc;color:#b66c00}
.rd-order-status.failed{background:#ffedf1;color:#c93f5a}
.rd-order-status.refunded{background:#eef1f5;color:#667286}
.rd-purchases-empty{display:flex;align-items:center;justify-content:center;gap:14px;min-height:150px;padding:30px;color:#8995a6;text-align:left}
.rd-purchases-empty[hidden]{display:none}
.rd-purchases-empty>span{display:grid;place-items:center;width:46px;height:46px;border-radius:14px;background:#edf3ff;color:#4774df;font-size:1.05rem;font-weight:950}
.rd-purchases-empty strong{display:block;color:#38465c;font-size:.78rem}
.rd-purchases-empty p{margin:4px 0 0;font-size:.7rem}

.rd-bottom-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(280px,.65fr);gap:20px;margin-top:21px}
.rd-profile-panel{overflow:hidden}
.rd-verified-pill{display:inline-flex;align-items:center;min-height:30px;padding:0 10px;border:1px solid #d7f0e4;border-radius:999px;background:#effaf5;color:#23865a;font-size:.66rem;font-weight:850}
.rd-profile-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:0;padding:0 25px 25px;gap:11px}
.rd-profile-grid div{min-width:0;padding:14px;border:1px solid #e7ebf2;border-radius:13px;background:#fafbfd}
.rd-profile-grid dt{margin-bottom:6px;color:#8b96a7;font-size:.62rem;font-weight:850;text-transform:uppercase;letter-spacing:.04em}
.rd-profile-grid dd{margin:0;overflow:hidden;color:#354258;font-size:.72rem;font-weight:800;text-overflow:ellipsis;white-space:nowrap}
.rd-profile-grid .rd-value-success{color:#1d9462}
.rd-support-panel{position:relative;padding:24px;overflow:hidden;background:
  radial-gradient(circle at 100% 0,rgba(113,84,223,.38),transparent 42%),
  linear-gradient(145deg,#15233d,#0c172b);color:#fff;border-color:#1c2f51}
.rd-support-panel::after{content:"";position:absolute;right:-38px;bottom:-55px;width:150px;height:150px;border:1px solid rgba(255,255,255,.07);border-radius:50%}
.rd-support-icon{display:grid;place-items:center;width:43px;height:43px;margin-bottom:21px;border:1px solid rgba(255,255,255,.13);border-radius:13px;background:rgba(255,255,255,.08);color:#fff;font-size:1rem;font-weight:950}
.rd-support-panel .rd-overline{color:#9fb8ff}
.rd-support-panel h2{max-width:280px;margin:0;color:#fff;font-size:1.18rem;line-height:1.25}
.rd-support-panel p{position:relative;z-index:1;margin:9px 0 21px;color:#a5b1c6;font-size:.75rem;line-height:1.55}
.rd-support-panel .rd-button{position:relative;z-index:1}

.rd-toast{position:fixed;right:24px;bottom:24px;z-index:300;min-width:240px;max-width:min(390px,calc(100vw - 32px));padding:14px 16px;border:1px solid #dce7f0;border-radius:13px;background:#172235;color:#fff;box-shadow:0 22px 50px rgba(18,31,53,.25);font-size:.75rem;font-weight:800;opacity:0;transform:translateY(12px);pointer-events:none;transition:.2s ease}
.rd-toast.show{opacity:1;transform:none}
.rd-toast.error{border-color:#e26e84;background:#7d263b}
.rd-copy-fallback{position:fixed;left:-9999px;top:0}

@media(max-width:1280px){
  .rd-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
  .rd-toolbar{align-items:flex-start;flex-direction:column}
  .rd-search{width:100%}
  .rd-filter-group{max-width:100%;overflow-x:auto}
}
@media(max-width:1020px){
  .rd-shell{display:block}
  .rd-sidebar{position:fixed;left:0;top:0;width:min(300px,86vw);transform:translateX(-105%);transition:transform .22s ease;box-shadow:30px 0 70px rgba(3,10,23,.32)}
  .rd-menu-open .rd-sidebar{transform:none}
  .rd-sidebar-close,.rd-menu-button{display:grid;place-items:center}
  .rd-sidebar-backdrop{position:fixed;inset:0;z-index:110;display:block;border:0;background:rgba(7,14,27,.54);opacity:0;pointer-events:none;transition:opacity .22s ease}
  .rd-menu-open .rd-sidebar-backdrop{opacity:1;pointer-events:auto}
  .rd-main{width:min(100% - 34px,1500px)}
  .rd-bottom-grid{grid-template-columns:1fr}
}
@media(max-width:760px){
  .rd-topbar{height:66px;padding:0 16px}
  .rd-topbar-title>div,.rd-live-status,.rd-topbar-help,.rd-user-button>span:last-child,.rd-credit-counter>span{display:none}
  .rd-credit-counter{display:block;min-height:0;padding:4px;border:0;background:transparent;box-shadow:none}
  .rd-user-button{min-width:0;padding:4px;border:0;box-shadow:none}
  .rd-main{width:min(100% - 24px,1500px);padding:25px 0 48px}
  .rd-welcome{align-items:flex-start;flex-direction:column;margin-bottom:21px}
  .rd-welcome-actions{width:100%;justify-content:space-between}
  .rd-last-sync{display:none}
  .rd-welcome-actions .rd-button{flex:1}
  .rd-metrics{gap:10px}
  .rd-metric{grid-template-columns:40px minmax(0,1fr);min-height:112px;padding:15px;gap:11px;border-radius:16px}
  .rd-metric-icon{width:40px;height:40px;border-radius:12px}
  .rd-metric strong{font-size:1.45rem}
  .rd-metric div span{display:none}
  .rd-panel{border-radius:17px}
  .rd-panel-heading{align-items:flex-start;flex-direction:column;padding:19px 17px 15px}
  .rd-panel-heading-actions{width:100%}
  .rd-panel-heading-actions .rd-button{flex:1}
  .rd-toolbar{padding:12px 17px}
  .rd-filter-group{width:100%}
  .rd-filter{flex:0 0 auto}
  .rd-table th:first-child,.rd-table td:first-child{padding-left:17px}
  .rd-table-footer{padding:0 17px}
  .rd-pagination-footer{align-items:flex-start;flex-direction:column;padding:12px 17px}
  .rd-pagination{width:100%;justify-content:space-between}
  .rd-profile-grid{grid-template-columns:1fr 1fr;padding:0 17px 18px}
}
@media(max-width:480px){
  .rd-metrics{grid-template-columns:1fr 1fr}
  .rd-metric{display:block;min-height:118px}
  .rd-metric-icon{width:34px;height:34px;margin-bottom:11px}
  .rd-metric small{font-size:.59rem}
  .rd-profile-grid{grid-template-columns:1fr}
  .rd-panel-heading-actions{display:grid;grid-template-columns:1fr 1fr}
}
@media(prefers-reduced-motion:reduce){
  .rd-loader,.btn-loading-spinner{animation-duration:1.8s}
  .rd-sidebar,.rd-sidebar-backdrop,.rd-toast,.rd-button,.rd-nav-item,.rd-icon-button{transition:none}
}

/* Panel Revendeur V1.5.1 — thème sombre confortable */
body[data-page="reseller-dashboard"]{
  background:#07101d;
  color:#dce5f2;
  color-scheme:dark;
  scrollbar-color:#394b65 #0a1422;
}
body[data-page="reseller-dashboard"] .rd-workspace{
  background:
    radial-gradient(circle at 14% 4%,rgba(69,105,214,.10),transparent 28%),
    radial-gradient(circle at 92% 12%,rgba(112,75,199,.08),transparent 24%),
    linear-gradient(180deg,#0a1423 0%,#07101d 100%);
}
body[data-page="reseller-dashboard"] .rd-sidebar{
  border-right:1px solid #1b2a40;
  background:radial-gradient(circle at 8% 0,rgba(60,105,224,.22),transparent 31%),linear-gradient(180deg,#081428 0%,#07111f 58%,#050c17 100%);
  box-shadow:18px 0 52px rgba(0,0,0,.18);
}
body[data-page="reseller-dashboard"] .rd-topbar{
  border-bottom-color:#1e2d43;
  background:rgba(9,18,32,.94);
  box-shadow:0 12px 32px rgba(0,0,0,.16);
}
body[data-page="reseller-dashboard"] .rd-topbar-title>div span{color:#74839a}
body[data-page="reseller-dashboard"] .rd-topbar-title>div strong{color:#e7edf7}
body[data-page="reseller-dashboard"] .rd-menu-button,
body[data-page="reseller-dashboard"] .rd-credit-counter,
body[data-page="reseller-dashboard"] .rd-user-button{
  border-color:#273750;
  background:#101c2d;
  box-shadow:0 9px 24px rgba(0,0,0,.16);
}
body[data-page="reseller-dashboard"] .rd-credit-counter:hover,
body[data-page="reseller-dashboard"] .rd-credit-counter:focus-visible,
body[data-page="reseller-dashboard"] .rd-user-button:hover,
body[data-page="reseller-dashboard"] .rd-user-button:focus-visible{border-color:#4665a2;background:#132139}
body[data-page="reseller-dashboard"] .rd-credit-counter>span{color:#a9b5c7}
body[data-page="reseller-dashboard"] .rd-credit-counter small{color:#718096}
body[data-page="reseller-dashboard"] .rd-user-button strong{color:#e6edf7}
body[data-page="reseller-dashboard"] .rd-user-button small{color:#7f8da2}
body[data-page="reseller-dashboard"] .rd-live-status{border-color:#183e35;background:#0c2922;color:#7ee1b1}
body[data-page="reseller-dashboard"] .rd-topbar-help{color:#b4c0d1}
body[data-page="reseller-dashboard"] .rd-language-menu{z-index:120}
body[data-page="reseller-dashboard"] .rd-language-menu .language-trigger{border-color:#273750;background:#101c2d;color:#eef4ff;box-shadow:0 9px 24px rgba(0,0,0,.16)}
body[data-page="reseller-dashboard"] .rd-language-menu .language-trigger:hover,
body[data-page="reseller-dashboard"] .rd-language-menu .language-trigger:focus-visible,
body[data-page="reseller-dashboard"] .rd-language-menu.open .language-trigger{border-color:#5575b5;background:#15243a;box-shadow:0 12px 30px rgba(0,0,0,.24),0 0 22px rgba(91,117,223,.16)}
body[data-page="reseller-dashboard"] .rd-language-menu .language-dropdown{border-color:#273750;background:linear-gradient(180deg,#101c2d,#0b1626);box-shadow:0 24px 65px rgba(0,0,0,.48)}
body[data-page="reseller-dashboard"] .rd-language-menu .language-option{color:#aebbd0}
body[data-page="reseller-dashboard"] .rd-language-menu .language-option:hover,
body[data-page="reseller-dashboard"] .rd-language-menu .language-option:focus-visible{color:#fff;background:rgba(91,117,223,.16)}
body[data-page="reseller-dashboard"] .rd-language-menu .language-option.active{color:#fff;background:linear-gradient(120deg,rgba(63,114,238,.25),rgba(118,80,220,.18))}

body[data-page="reseller-dashboard"] .rd-overline{color:#83a2ff}
body[data-page="reseller-dashboard"] .rd-welcome h1{color:#f1f5fb}
body[data-page="reseller-dashboard"] .rd-welcome p{color:#95a3b7}
body[data-page="reseller-dashboard"] .rd-last-sync{color:#76869c}
body[data-page="reseller-dashboard"] .rd-last-sync strong{color:#b5c0d0}
body[data-page="reseller-dashboard"] .rd-button-light{border-color:#2a3b55;background:#121f32;color:#cbd5e3}
body[data-page="reseller-dashboard"] .rd-button-light:hover,
body[data-page="reseller-dashboard"] .rd-button-light:focus-visible{border-color:#4564a0;background:#17263c}
body[data-page="reseller-dashboard"] .rd-button-dark{border-color:#32445f;background:#1b2a40;color:#edf2f8;box-shadow:0 9px 22px rgba(0,0,0,.18)}

body[data-page="reseller-dashboard"] .rd-metric{
  border-color:#203149;
  background:linear-gradient(145deg,#111e31,#0d1929);
  box-shadow:0 15px 38px rgba(0,0,0,.16),inset 0 1px 0 rgba(255,255,255,.025);
}
body[data-page="reseller-dashboard"] .rd-metric::after{opacity:.12}
body[data-page="reseller-dashboard"] .rd-metric small{color:#8e9bb0}
body[data-page="reseller-dashboard"] .rd-metric strong{color:#f0f4fa}
body[data-page="reseller-dashboard"] .rd-metric div span{color:#6f7e94}
body[data-page="reseller-dashboard"] .rd-metric-total{--metric-soft:#233b75}
body[data-page="reseller-dashboard"] .rd-metric-active{--metric-soft:#173e35}
body[data-page="reseller-dashboard"] .rd-metric-soon{--metric-soft:#4a3719}
body[data-page="reseller-dashboard"] .rd-metric-expired{--metric-soft:#482331}

body[data-page="reseller-dashboard"] .rd-panel{
  border-color:#203149;
  background:linear-gradient(145deg,#101c2d,#0b1625);
  box-shadow:0 18px 46px rgba(0,0,0,.18),inset 0 1px 0 rgba(255,255,255,.02);
}
body[data-page="reseller-dashboard"] .rd-panel-heading h2{color:#edf2f8}
body[data-page="reseller-dashboard"] .rd-panel-heading p{color:#8190a5}
body[data-page="reseller-dashboard"] .rd-toolbar{
  border-top-color:#1d2c42;
  border-bottom-color:#1d2c42;
  background:#0a1524;
}
body[data-page="reseller-dashboard"] .rd-search{
  border-color:#293a54;
  background:#111e30;
  color:#788aa3;
  box-shadow:0 4px 13px rgba(0,0,0,.10);
}
body[data-page="reseller-dashboard"] .rd-search:focus-within{border-color:#5577c4;box-shadow:0 0 0 3px rgba(77,114,213,.14)}
body[data-page="reseller-dashboard"] .rd-search input{color:#e1e8f2}
body[data-page="reseller-dashboard"] .rd-search input::placeholder{color:#728096}
body[data-page="reseller-dashboard"] .rd-filter-group{border-color:#293a54;background:#111e30}
body[data-page="reseller-dashboard"] .rd-filter{color:#91a0b4}
body[data-page="reseller-dashboard"] .rd-filter span{background:#1c2a3e;color:#8f9db0}
body[data-page="reseller-dashboard"] .rd-filter.active{background:linear-gradient(135deg,#315fd1,#6548c6);color:#fff;box-shadow:0 7px 16px rgba(42,70,159,.28)}

body[data-page="reseller-dashboard"] .rd-table-loading{background:#0d1827;color:#8695aa}
body[data-page="reseller-dashboard"] .rd-table th{
  border-bottom-color:#213148;
  background:#0e1a2a;
  color:#7f8da2;
}
body[data-page="reseller-dashboard"] .rd-column-resizer::before{background:#314159}
body[data-page="reseller-dashboard"] .rd-column-resizer:hover::before,
body[data-page="reseller-dashboard"] .rd-column-resizer:focus-visible::before,
body[data-page="reseller-dashboard"] .rd-column-resizer.active::before{background:#3b82f6;box-shadow:0 0 0 1px rgba(59,130,246,.16),0 0 12px rgba(59,130,246,.52)}
body[data-page="reseller-dashboard"] .rd-country-name{color:#c9d3e0}
body[data-page="reseller-dashboard"] .rd-country-cell.is-empty .rd-country-name{color:#748299}
body[data-page="reseller-dashboard"] .rd-table td{border-bottom-color:#1c2b40;color:#b9c4d3}
body[data-page="reseller-dashboard"] .rd-table tbody tr:hover{background:#122137}
body[data-page="reseller-dashboard"] .rd-row-number{color:#6f7f96!important}
body[data-page="reseller-dashboard"] .rd-device-mark{background:linear-gradient(145deg,#1d3568,#242c57);color:#9eb8ff}
body[data-page="reseller-dashboard"] .rd-device-cell strong{color:#e7edf6}
body[data-page="reseller-dashboard"] .rd-device-cell small{color:#718096}
body[data-page="reseller-dashboard"] .rd-note-cell{color:#b1bdcd!important}
body[data-page="reseller-dashboard"] .rd-table-muted{color:#8e9caf!important}
body[data-page="reseller-dashboard"] .rd-platform-badge{background:#172e58;color:#9db9ff}
body[data-page="reseller-dashboard"] .rd-plan-badge{background:#28214b;color:#c7b4ff}
body[data-page="reseller-dashboard"] .rd-plan-badge.lifetime{background:#44351c;color:#efc878}
body[data-page="reseller-dashboard"] .rd-status-badge.active{background:#12382f;color:#75ddb0}
body[data-page="reseller-dashboard"] .rd-status-badge.soon{background:#493617;color:#edc270}
body[data-page="reseller-dashboard"] .rd-status-badge.expired{background:#45202c;color:#f59bb0}
body[data-page="reseller-dashboard"] .rd-status-badge.inactive{background:#202d3f;color:#9ba9ba}
body[data-page="reseller-dashboard"] .rd-expiry-date{color:#c9d3e0}
body[data-page="reseller-dashboard"] .rd-activation-date{color:#718096}
body[data-page="reseller-dashboard"] .rd-icon-button{border-color:#2c3d57;background:#132034;color:#aab7c9}
body[data-page="reseller-dashboard"] .rd-icon-button:hover,
body[data-page="reseller-dashboard"] .rd-icon-button:focus-visible{border-color:#5577c4;background:#192a44;color:#a9beff;box-shadow:0 8px 17px rgba(0,0,0,.17)}
body[data-page="reseller-dashboard"] .rd-icon-manage{border-color:#314d82;background:#172d55;color:#a1baff}

body[data-page="reseller-dashboard"] .rd-empty{background:#0d1827}
body[data-page="reseller-dashboard"] .rd-empty-icon{background:#192f5c;color:#9cb7ff}
body[data-page="reseller-dashboard"] .rd-empty h3{color:#dbe4ef}
body[data-page="reseller-dashboard"] .rd-empty p{color:#8492a6}
body[data-page="reseller-dashboard"] .rd-table-footer{border-top-color:#1c2b40;background:#0a1523;color:#75849a}
body[data-page="reseller-dashboard"] .rd-table-footer>strong,
body[data-page="reseller-dashboard"] .rd-pagination span{color:#a9b6c7}
body[data-page="reseller-dashboard"] .rd-pagination button{color:#a8b6ca}
body[data-page="reseller-dashboard"] .rd-pagination button:hover,
body[data-page="reseller-dashboard"] .rd-pagination button:focus-visible{border-color:#334965;background:#15243a;color:#a6bcff;box-shadow:0 6px 14px rgba(0,0,0,.16)}
body[data-page="reseller-dashboard"] .rd-pagination button:disabled{color:#45536a}

body[data-page="reseller-dashboard"] .rd-purchases-table-wrap{border-top-color:#1d2c42}
body[data-page="reseller-dashboard"] .rd-purchases-table th{border-bottom-color:#213148;color:#7f8da2}
body[data-page="reseller-dashboard"] .rd-purchases-table td{border-bottom-color:#1c2b40;color:#b5c1d1}
body[data-page="reseller-dashboard"] .rd-purchase-reference{color:#cdd7e5!important}
body[data-page="reseller-dashboard"] .rd-purchase-amount{color:#edf2f8!important}
body[data-page="reseller-dashboard"] .rd-purchases-empty{color:#8190a5}
body[data-page="reseller-dashboard"] .rd-purchases-empty>span{background:#192f5c;color:#9cb7ff}
body[data-page="reseller-dashboard"] .rd-purchases-empty strong{color:#d9e2ed}
body[data-page="reseller-dashboard"] .rd-profile-grid div{border-color:#22334b;background:#0d1929}
body[data-page="reseller-dashboard"] .rd-profile-grid dt{color:#7d8ba0}
body[data-page="reseller-dashboard"] .rd-profile-grid dd{color:#cbd5e2}
body[data-page="reseller-dashboard"] .rd-verified-pill{border-color:#20483b;background:#102b25;color:#79ddb1}
body[data-page="reseller-dashboard"] .rd-inline-alert{border-color:#623044;background:#301923;color:#ffb3c3}
body[data-page="reseller-dashboard"] .rd-inline-alert>span{background:#4a2230}
body[data-page="reseller-dashboard"] .rd-inline-alert button{color:#ffb2c2}

@media(max-width:760px){
  body[data-page="reseller-dashboard"] .rd-credit-counter{background:transparent;box-shadow:none}
}

/* Panel Revendeur V1.6.0 — navigation interne, profil et crédits */
body[data-page="reseller-dashboard"] .rd-svg-sprite{position:absolute;width:0;height:0;overflow:hidden}
body[data-page="reseller-dashboard"] .rd-workspace{min-height:100vh}
body[data-page="reseller-dashboard"] .rd-account-mini{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer}
body[data-page="reseller-dashboard"] .rd-account-mini:hover,
body[data-page="reseller-dashboard"] .rd-account-mini:focus-visible{border-color:rgba(110,145,235,.32);background:rgba(255,255,255,.08);outline:none}
body[data-page="reseller-dashboard"] .rd-nav-icon{fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
body[data-page="reseller-dashboard"] .rd-view[hidden]{display:none!important}
body[data-page="reseller-dashboard"] .rd-view.active{animation:rd-view-in .22s ease both}
@keyframes rd-view-in{from{opacity:.25;transform:translateY(5px)}to{opacity:1;transform:none}}

body[data-page="reseller-dashboard"] .rd-topbar-help{border:0;background:transparent;cursor:pointer}
body[data-page="reseller-dashboard"] .rd-search input:focus,
body[data-page="reseller-dashboard"] .rd-search input:focus-visible{border:0!important;outline:0!important;box-shadow:none!important;background:transparent!important}
body[data-page="reseller-dashboard"] .rd-search:focus-within{border-color:#5c7fd2;outline:0;box-shadow:0 0 0 3px rgba(77,114,213,.15)!important}

body[data-page="reseller-dashboard"] .rd-section-intro{display:flex;align-items:flex-end;justify-content:space-between;gap:28px;margin-bottom:25px}
body[data-page="reseller-dashboard"] .rd-section-intro h1{margin:0;color:#f0f4fa;font-size:clamp(1.65rem,2.7vw,2.35rem);line-height:1.08;letter-spacing:-.035em}
body[data-page="reseller-dashboard"] .rd-section-intro p{max-width:720px;margin:9px 0 0;color:#8e9db2;font-size:.86rem;line-height:1.55}
body[data-page="reseller-dashboard"] .rd-purchases-panel{margin-top:0}
body[data-page="reseller-dashboard"] .rd-purchases-table{background:#0d1827}
body[data-page="reseller-dashboard"] .rd-purchases-table th{background:#0e1a2a}

body[data-page="reseller-dashboard"] .rd-download-platforms{
  padding:24px;
  overflow:hidden;
  background:
    radial-gradient(circle at 50% 0,rgba(104,76,202,.13),transparent 38%),
    linear-gradient(145deg,#101c2d,#0b1625);
}
body[data-page="reseller-dashboard"] .rd-download-platforms .platforms-grid{
  grid-template-columns:repeat(auto-fit,minmax(250px,1fr));
  gap:16px;
}
body[data-page="reseller-dashboard"] .rd-download-platforms .platform-card{
  min-height:154px;
  padding:12px;
  background:linear-gradient(145deg,rgba(255,255,255,.075),rgba(255,255,255,.025));
}
body[data-page="reseller-dashboard"] .rd-download-platforms .platform-card-action{
  border-color:rgba(85,214,167,.25);
}
body[data-page="reseller-dashboard"] .rd-download-platforms .platform-card-action:hover,
body[data-page="reseller-dashboard"] .rd-download-platforms .platform-card-action:focus-visible{
  border-color:rgba(94,255,211,.68);
}

body[data-page="reseller-dashboard"] .rd-profile-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px;align-items:start}
body[data-page="reseller-dashboard"] .rd-profile-column{display:grid;gap:20px}
body[data-page="reseller-dashboard"] .rd-settings-card{padding:25px}
body[data-page="reseller-dashboard"] .rd-settings-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:22px}
body[data-page="reseller-dashboard"] .rd-settings-heading h2{margin:0;color:#edf2f8;font-size:1.1rem;letter-spacing:-.02em}
body[data-page="reseller-dashboard"] .rd-settings-heading p{margin:6px 0 0;color:#8190a5;font-size:.74rem;line-height:1.55}
body[data-page="reseller-dashboard"] .rd-avatar-editor{display:grid;grid-template-columns:86px minmax(0,1fr);align-items:center;gap:18px;margin-bottom:24px;padding:18px;border:1px solid #22334b;border-radius:17px;background:#0b1727}
body[data-page="reseller-dashboard"] .rd-avatar-preview{display:grid;place-items:center;width:86px;height:86px;border:3px solid #30486e;border-radius:24px;background:linear-gradient(145deg,#376ff0,#7650dc) center/cover no-repeat;color:#fff;font-size:1.25rem;font-weight:950;box-shadow:0 12px 28px rgba(32,61,137,.28)}
body[data-page="reseller-dashboard"] .rd-avatar-preview.has-photo,
body[data-page="reseller-dashboard"] .rd-account-avatar.has-photo,
body[data-page="reseller-dashboard"] .rd-user-button>span:first-child.has-photo{background-position:center;background-size:cover;background-repeat:no-repeat;color:transparent}
body[data-page="reseller-dashboard"] .rd-avatar-crop-dialog{width:min(560px,calc(100vw - 28px))}
body[data-page="reseller-dashboard"] .rd-avatar-crop-card{border-color:#304f80;background:linear-gradient(155deg,#101f34,#091321)}
body[data-page="reseller-dashboard"] .rd-avatar-crop-stage{width:min(420px,100%);aspect-ratio:1;margin:2px auto 0;overflow:hidden;border:1px solid #345179;border-radius:24px;background:#07101c;box-shadow:0 20px 50px rgba(0,0,0,.32),inset 0 0 0 1px rgba(126,162,255,.08)}
body[data-page="reseller-dashboard"] .rd-avatar-crop-stage canvas{display:block;width:100%;height:100%;cursor:grab;touch-action:none;user-select:none}
body[data-page="reseller-dashboard"] .rd-avatar-crop-stage canvas.is-dragging{cursor:grabbing}
body[data-page="reseller-dashboard"] .rd-avatar-zoom{display:grid;grid-template-columns:42px minmax(0,1fr) 42px;align-items:center;gap:12px;width:min(420px,100%);margin:0 auto}
body[data-page="reseller-dashboard"] .rd-avatar-zoom button{display:grid;place-items:center;width:42px;height:42px;border:1px solid #344b6b;border-radius:12px;background:#111f32;color:#e7eef9;font-size:1.12rem;font-weight:900;cursor:pointer;transition:transform .16s ease,border-color .16s ease,background .16s ease}
body[data-page="reseller-dashboard"] .rd-avatar-zoom button:hover{transform:translateY(-2px);border-color:#5f83d9;background:#172a43}
body[data-page="reseller-dashboard"] .rd-avatar-zoom input{min-height:42px;padding:0;border:0;background:transparent;box-shadow:none;cursor:pointer;accent-color:#6d78f4}
body[data-page="reseller-dashboard"] .rd-avatar-crop-card>.rd-dialog-actions{width:min(420px,100%);margin-left:auto;margin-right:auto}
body[data-page="reseller-dashboard"] .rd-avatar-editor strong{color:#e4ebf5;font-size:.83rem}
body[data-page="reseller-dashboard"] .rd-avatar-editor p{margin:5px 0 12px;color:#77869c;font-size:.68rem;line-height:1.5}
body[data-page="reseller-dashboard"] .rd-inline-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
body[data-page="reseller-dashboard"] .rd-button-quiet{border-color:transparent;background:transparent;color:#8fa0b7}
body[data-page="reseller-dashboard"] .rd-button-quiet:hover,
body[data-page="reseller-dashboard"] .rd-button-quiet:focus-visible{border-color:#35465e;background:#152238;color:#d1dae6}

body[data-page="reseller-dashboard"] .rd-form{display:grid;gap:16px}
body[data-page="reseller-dashboard"] .rd-form>label:not(.rd-toggle-row):not(.rd-consent-row),
body[data-page="reseller-dashboard"] .rd-dialog-card>label{display:grid;gap:7px}
body[data-page="reseller-dashboard"] .rd-form label>span,
body[data-page="reseller-dashboard"] .rd-dialog-card label>span{color:#aebacd;font-size:.72rem;font-weight:800}
body[data-page="reseller-dashboard"] .rd-form input,
body[data-page="reseller-dashboard"] .rd-form select,
body[data-page="reseller-dashboard"] .rd-form textarea,
body[data-page="reseller-dashboard"] .rd-dialog-card input{width:100%;min-height:48px;padding:0 14px;border:1px solid #2b3c56;border-radius:12px;background:#091321;color:#e5ebf4;font:inherit;font-size:.79rem;outline:0;transition:border-color .16s ease,box-shadow .16s ease,background .16s ease}
body[data-page="reseller-dashboard"] .rd-form textarea{min-height:145px;padding:13px 14px;resize:vertical;line-height:1.5}
body[data-page="reseller-dashboard"] .rd-form select{appearance:auto}
body[data-page="reseller-dashboard"] .rd-form input:focus,
body[data-page="reseller-dashboard"] .rd-form select:focus,
body[data-page="reseller-dashboard"] .rd-form textarea:focus,
body[data-page="reseller-dashboard"] .rd-dialog-card input:focus{border-color:#5c7fd2;background:#0c1829;box-shadow:0 0 0 3px rgba(77,114,213,.14)}
body[data-page="reseller-dashboard"] .rd-form input[readonly]{border-color:#243248;background:#111a28;color:#7f8da2;cursor:not-allowed}
body[data-page="reseller-dashboard"] .rd-form-note{padding:11px 13px;border-left:3px solid #456ed5;border-radius:0 10px 10px 0;background:#101d31;color:#8090a6;font-size:.67rem;line-height:1.5}
body[data-page="reseller-dashboard"] .rd-form>.rd-button{justify-self:start;min-width:170px}
body[data-page="reseller-dashboard"] .rd-password-rules{display:grid;grid-template-columns:1fr 1fr;gap:8px}
body[data-page="reseller-dashboard"] .rd-password-rules span{display:flex;align-items:center;gap:7px;min-height:34px;padding:7px 10px;border:1px solid #2a374b;border-radius:10px;background:#0c1726;color:#718097;font-size:.64rem;font-weight:750}
body[data-page="reseller-dashboard"] .rd-password-rules span::before{content:"";width:7px;height:7px;border-radius:50%;background:#4d5c72}
body[data-page="reseller-dashboard"] .rd-password-rules span.valid{border-color:#1d5744;background:#102820;color:#84dcb6}
body[data-page="reseller-dashboard"] .rd-password-rules span.valid::before{background:#41da96;box-shadow:0 0 8px rgba(65,218,150,.45)}

body[data-page="reseller-dashboard"] .rd-security-state{flex:0 0 auto;padding:7px 10px;border:1px solid #49313a;border-radius:999px;background:#2b1820;color:#e68da0;font-size:.65rem;font-weight:850}
body[data-page="reseller-dashboard"] .rd-security-state.active{border-color:#20513f;background:#102b24;color:#79dfb0}
body[data-page="reseller-dashboard"] .rd-toggle-row{position:relative;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:15px;border:1px solid #273950;border-radius:14px;background:#0b1727;cursor:pointer}
body[data-page="reseller-dashboard"] .rd-toggle-row>span{display:grid;gap:4px}
body[data-page="reseller-dashboard"] .rd-toggle-row strong{color:#d9e2ed;font-size:.75rem}
body[data-page="reseller-dashboard"] .rd-toggle-row small{color:#728198;font-size:.63rem;font-weight:600}
body[data-page="reseller-dashboard"] .rd-toggle-row input{position:absolute;width:1px;height:1px;opacity:0}
body[data-page="reseller-dashboard"] .rd-toggle-row i{position:relative;width:46px;height:25px;flex:0 0 46px;border-radius:999px;background:#344156;transition:.18s ease}
body[data-page="reseller-dashboard"] .rd-toggle-row i::after{content:"";position:absolute;left:3px;top:3px;width:19px;height:19px;border-radius:50%;background:#c2ccda;transition:.18s ease;box-shadow:0 3px 8px rgba(0,0,0,.28)}
body[data-page="reseller-dashboard"] .rd-toggle-row input:checked+i{background:#2a996b}
body[data-page="reseller-dashboard"] .rd-toggle-row input:checked+i::after{left:24px;background:#fff}
body[data-page="reseller-dashboard"] .rd-toggle-row input:focus-visible+i{box-shadow:0 0 0 3px rgba(82,126,232,.28)}
body[data-page="reseller-dashboard"] .rd-danger-card{border-color:#482738;background:linear-gradient(145deg,#1b1522,#121421)}
body[data-page="reseller-dashboard"] .rd-button-danger{border-color:#9d3951;background:linear-gradient(135deg,#b83f5a,#8e2c44);color:#fff;box-shadow:0 10px 23px rgba(125,35,57,.25)}

body[data-page="reseller-dashboard"] .rd-credit-hero-balance{min-width:190px;padding:15px 18px;border:1px solid #2e4160;border-radius:16px;background:linear-gradient(145deg,#14253d,#101b2e);text-align:right;box-shadow:0 13px 30px rgba(0,0,0,.18)}
body[data-page="reseller-dashboard"] .rd-credit-hero-balance small,
body[data-page="reseller-dashboard"] .rd-credit-hero-balance strong{display:block}
body[data-page="reseller-dashboard"] .rd-credit-hero-balance small{color:#8190a6;font-size:.65rem;text-transform:uppercase;font-weight:850;letter-spacing:.05em}
body[data-page="reseller-dashboard"] .rd-credit-hero-balance strong{margin-top:5px;color:#edf3fa;font-size:1.05rem}
body[data-page="reseller-dashboard"] .rd-credit-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(280px,.75fr);gap:20px;align-items:stretch}
body[data-page="reseller-dashboard"] .rd-money-input{display:grid;grid-template-columns:minmax(0,1fr) 64px;align-items:center;border:1px solid #2b3c56;border-radius:12px;background:#091321;overflow:hidden}
body[data-page="reseller-dashboard"] .rd-money-input:focus-within{border-color:#5c7fd2;box-shadow:0 0 0 3px rgba(77,114,213,.14)}
body[data-page="reseller-dashboard"] .rd-money-input input{border:0!important;box-shadow:none!important;background:transparent!important}
body[data-page="reseller-dashboard"] .rd-money-input strong{display:grid;place-items:center;height:100%;border-left:1px solid #2b3c56;color:#9eb5ed;font-size:.72rem}
body[data-page="reseller-dashboard"] .rd-quick-amounts{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
body[data-page="reseller-dashboard"] .rd-quick-amounts button{min-height:37px;border:1px solid #2a3b55;border-radius:10px;background:#111e31;color:#aebbd0;font-size:.7rem;font-weight:850;cursor:pointer}
body[data-page="reseller-dashboard"] .rd-quick-amounts button:hover,
body[data-page="reseller-dashboard"] .rd-quick-amounts button:focus-visible{border-color:#5174c9;background:#192b48;color:#fff;outline:0}
body[data-page="reseller-dashboard"] .rd-conversion-card{display:grid;gap:5px;padding:18px;border:1px solid #344778;border-radius:15px;background:radial-gradient(circle at 100% 0,rgba(105,74,214,.22),transparent 45%),linear-gradient(145deg,#172749,#121e34)}
body[data-page="reseller-dashboard"] .rd-conversion-card span{color:#9cacbf;font-size:.67rem;font-weight:800;text-transform:uppercase;letter-spacing:.045em}
body[data-page="reseller-dashboard"] .rd-conversion-card strong{color:#f1f5fb;font-size:1.55rem;letter-spacing:-.03em}
body[data-page="reseller-dashboard"] .rd-conversion-card small{color:#7d8da5;font-size:.64rem;line-height:1.5}
body[data-page="reseller-dashboard"] .rd-consent-row{display:flex;align-items:flex-start;gap:10px;color:#91a0b5;font-size:.68rem;line-height:1.45;cursor:pointer}
body[data-page="reseller-dashboard"] .rd-consent-row input{width:17px;height:17px;min-height:0;flex:0 0 17px;margin-top:1px;accent-color:#587ce4}
body[data-page="reseller-dashboard"] .rd-credit-info{display:flex;flex-direction:column;align-items:flex-start;padding:28px;background:radial-gradient(circle at 100% 0,rgba(89,79,206,.22),transparent 42%),linear-gradient(160deg,#111f36,#0b1524)}
body[data-page="reseller-dashboard"] .rd-credit-info-icon{display:grid;place-items:center;width:52px;height:52px;border:1px solid #405b98;border-radius:15px;background:#1a315f;color:#b5c7ff;font-size:1.25rem;font-weight:950}
body[data-page="reseller-dashboard"] .rd-credit-info h2{margin:20px 0 10px;color:#eef3f9;font-size:1.18rem}
body[data-page="reseller-dashboard"] .rd-credit-info ol{display:grid;gap:13px;margin:0 0 24px;padding-left:22px;color:#91a0b5;font-size:.73rem;line-height:1.5}
body[data-page="reseller-dashboard"] .rd-credit-info .rd-button{margin-top:auto}
body[data-page="reseller-dashboard"] .rd-credit-requests{margin-top:20px;overflow:hidden}
body[data-page="reseller-dashboard"] .rd-request-list{display:grid}
body[data-page="reseller-dashboard"] .rd-request-item{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 25px;border-top:1px solid #1d2d43;background:#0d1929}
body[data-page="reseller-dashboard"] .rd-request-item div{display:grid;gap:3px}
body[data-page="reseller-dashboard"] .rd-request-item strong{color:#e4ebf4;font-size:.85rem}
body[data-page="reseller-dashboard"] .rd-request-item span{color:#8190a5;font-size:.68rem}
body[data-page="reseller-dashboard"] .rd-request-item small{color:#5f7088;font-size:.61rem}

/* V1.8.3 — système de crédits premium DF PLAYER PRO */
body[data-page="reseller-dashboard"] .rd-credit-premium-shell{position:relative;display:grid;gap:22px;overflow:hidden;padding:clamp(20px,2.4vw,34px);border:1px solid #2b3b55;border-radius:26px;background:radial-gradient(circle at 8% 0,rgba(50,104,228,.18),transparent 28%),radial-gradient(circle at 94% 14%,rgba(226,174,63,.12),transparent 24%),linear-gradient(150deg,#101c2e 0%,#091321 54%,#10111c 100%);box-shadow:0 28px 70px rgba(2,8,17,.34),inset 0 1px rgba(255,255,255,.035)}
body[data-page="reseller-dashboard"] .rd-credit-premium-shell::before{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 0 44%,rgba(255,255,255,.018) 44% 45%,transparent 45% 100%);pointer-events:none}
body[data-page="reseller-dashboard"] .rd-credit-premium-hero{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:22px;align-items:center;padding:5px 2px 8px}
body[data-page="reseller-dashboard"] .rd-credit-emblem{display:grid;place-items:center;width:72px;height:72px;border:1px solid rgba(232,188,90,.55);border-radius:22px;background:radial-gradient(circle at 35% 25%,rgba(255,232,169,.18),transparent 40%),linear-gradient(145deg,#332b1c,#171827);color:#efc766;box-shadow:0 16px 34px rgba(0,0,0,.28),0 0 28px rgba(218,166,55,.08)}
body[data-page="reseller-dashboard"] .rd-credit-gem{position:relative;width:23px;height:23px;border:3px solid #efc766;transform:rotate(45deg);filter:drop-shadow(0 0 10px rgba(237,192,87,.35))}
body[data-page="reseller-dashboard"] .rd-credit-gem::after{content:"";position:absolute;inset:5px;border:2px solid #efc766}
body[data-page="reseller-dashboard"] .rd-credit-hero-copy{min-width:0}
body[data-page="reseller-dashboard"] .rd-credit-hero-copy .rd-overline{color:#e8bd63;font-size:.8rem;letter-spacing:.1em}
body[data-page="reseller-dashboard"] .rd-credit-hero-copy h1{margin:6px 0 8px;color:#f7f9fc;font-size:clamp(2rem,3.5vw,3.25rem);line-height:1.02;letter-spacing:-.045em}
body[data-page="reseller-dashboard"] .rd-credit-hero-copy p{max-width:780px;margin:0;color:#a8b5c8;font-size:1rem;line-height:1.65}
body[data-page="reseller-dashboard"] .rd-credit-hero-balance{min-width:205px;padding:17px 19px;border-color:#405273;background:radial-gradient(circle at 100% 0,rgba(92,81,214,.2),transparent 48%),linear-gradient(145deg,#182942,#111b2c);text-align:left}
body[data-page="reseller-dashboard"] .rd-credit-hero-balance strong{font-size:1.25rem}
body[data-page="reseller-dashboard"] .rd-credit-hero-balance>span{display:block;margin-top:6px;color:#7e8da4;font-size:.78rem}

body[data-page="reseller-dashboard"] .rd-credit-steps{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin:0;padding:0;overflow:hidden;border:1px solid #2a3b55;border-radius:17px;background:#213047;list-style:none}
body[data-page="reseller-dashboard"] .rd-credit-steps li{display:flex;align-items:center;gap:13px;min-height:74px;padding:14px 20px;background:#0d1929;color:#8593a8}
body[data-page="reseller-dashboard"] .rd-credit-steps li.is-current{background:linear-gradient(135deg,rgba(39,83,173,.32),rgba(16,30,51,.96));color:#f3f6fb;box-shadow:inset 0 -2px #e7b94f}
body[data-page="reseller-dashboard"] .rd-credit-steps li>span{display:grid;place-items:center;width:34px;height:34px;flex:0 0 34px;border:1px solid #41516a;border-radius:50%;font-size:.88rem;font-weight:900}
body[data-page="reseller-dashboard"] .rd-credit-steps .is-current>span{border-color:#edc35f;background:#e7b94f;color:#111827;box-shadow:0 0 20px rgba(232,188,82,.18)}
body[data-page="reseller-dashboard"] .rd-credit-steps li div{display:grid;gap:3px}
body[data-page="reseller-dashboard"] .rd-credit-steps li strong{font-size:.96rem}
body[data-page="reseller-dashboard"] .rd-credit-steps li small{font-size:.77rem;color:#718198}
body[data-page="reseller-dashboard"] .rd-credit-steps .is-locked>span::after{content:"";width:5px;height:5px;border-radius:50%;background:#5b687b}

body[data-page="reseller-dashboard"] .rd-credit-value-strip{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:15px;align-items:stretch;padding:15px;border:1px solid #293a52;border-radius:20px;background:rgba(7,15,27,.72)}
body[data-page="reseller-dashboard"] .rd-credit-value-strip article{display:flex;align-items:center;justify-content:center;gap:17px;min-height:106px;padding:17px;border:1px solid #30496e;border-radius:16px;background:radial-gradient(circle at 10% 0,rgba(53,108,231,.18),transparent 45%),linear-gradient(135deg,#132642,#111b2b)}
body[data-page="reseller-dashboard"] .rd-credit-value-strip article.is-gold{border-color:#604d2b;background:radial-gradient(circle at 92% 0,rgba(227,178,66,.16),transparent 45%),linear-gradient(135deg,#211f20,#171821)}
body[data-page="reseller-dashboard"] .rd-credit-value-icon{display:grid;place-items:center;width:56px;height:56px;flex:0 0 56px;border:1px solid #5374b6;border-radius:17px;background:#172e58;color:#9db9ff;font-size:1.2rem;font-weight:950;box-shadow:0 10px 24px rgba(1,7,16,.26)}
body[data-page="reseller-dashboard"] .is-gold .rd-credit-value-icon{border-color:#9b772e;background:#3a2d18;color:#f1c85e;font-size:1.8rem}
body[data-page="reseller-dashboard"] .rd-credit-value-strip article>div:last-child{display:grid;gap:2px}
body[data-page="reseller-dashboard"] .rd-credit-value-strip article small{color:#8797ad;font-size:.78rem}
body[data-page="reseller-dashboard"] .rd-credit-value-strip article strong{color:#f2f6fb;font-size:1.2rem}
body[data-page="reseller-dashboard"] .rd-credit-value-strip article span{color:#79a5ff;font-size:.94rem;font-weight:900}
body[data-page="reseller-dashboard"] .rd-credit-value-strip .is-gold span{color:#edbf55}
body[data-page="reseller-dashboard"] .rd-credit-value-center{display:grid;place-content:center;min-width:155px;padding:12px;text-align:center}
body[data-page="reseller-dashboard"] .rd-credit-value-center span{color:#d9e1ec;font-size:.86rem;font-weight:850}
body[data-page="reseller-dashboard"] .rd-credit-value-center small{margin-top:4px;color:#66768d;font-size:.74rem}

body[data-page="reseller-dashboard"] .rd-credit-premium-grid{display:grid;grid-template-columns:minmax(0,.92fr) minmax(420px,1.08fr);gap:20px;align-items:start}
body[data-page="reseller-dashboard"] .rd-credit-rates-card,
body[data-page="reseller-dashboard"] .rd-credit-order-card{position:relative;overflow:hidden;border:1px solid #2c3d57;border-radius:21px;background:linear-gradient(155deg,#111e31,#0b1524);box-shadow:0 18px 40px rgba(1,7,15,.22)}
body[data-page="reseller-dashboard"] .rd-credit-card-heading{display:flex;align-items:center;gap:14px;padding:22px 23px;border-bottom:1px solid #24354d}
body[data-page="reseller-dashboard"] .rd-credit-heading-icon{display:grid;place-items:center;width:45px;height:45px;flex:0 0 45px;border:1px solid #715c30;border-radius:14px;background:#2d2518;color:#efc25b;font-size:1.25rem;font-weight:900}
body[data-page="reseller-dashboard"] .rd-credit-heading-icon.is-blue{border-color:#355aa6;background:#142b55;color:#90b1ff}
body[data-page="reseller-dashboard"] .rd-credit-tag-mark{width:16px;height:16px;border:2px solid currentColor;border-radius:4px;transform:rotate(45deg)}
body[data-page="reseller-dashboard"] .rd-credit-tag-mark::after{content:"";display:block;width:4px;height:4px;margin:4px;border-radius:50%;background:currentColor}
body[data-page="reseller-dashboard"] .rd-credit-plus-mark{position:relative;width:18px;height:18px}
body[data-page="reseller-dashboard"] .rd-credit-plus-mark::before,
body[data-page="reseller-dashboard"] .rd-credit-plus-mark::after{content:"";position:absolute;left:50%;top:50%;border-radius:2px;background:currentColor;transform:translate(-50%,-50%)}
body[data-page="reseller-dashboard"] .rd-credit-plus-mark::before{width:18px;height:3px}
body[data-page="reseller-dashboard"] .rd-credit-plus-mark::after{width:3px;height:18px}
body[data-page="reseller-dashboard"] .rd-credit-card-heading .rd-overline{color:#e5b855;font-size:.7rem}
body[data-page="reseller-dashboard"] .rd-credit-card-heading h2{margin:3px 0 4px;color:#f0f4fa;font-size:1.25rem}
body[data-page="reseller-dashboard"] .rd-credit-card-heading p{margin:0;color:#8291a7;font-size:.83rem;line-height:1.5}
body[data-page="reseller-dashboard"] .rd-credit-rates-table{display:grid;padding:13px 17px 5px}
body[data-page="reseller-dashboard"] .rd-credit-rate-head,
body[data-page="reseller-dashboard"] .rd-credit-rate{display:grid;grid-template-columns:minmax(0,.75fr) minmax(160px,1.25fr);align-items:center;gap:15px;min-height:57px;padding:10px 15px}
body[data-page="reseller-dashboard"] .rd-credit-rate-head{min-height:47px;border-radius:12px 12px 6px 6px;background:linear-gradient(135deg,#173a78,#111f3a);color:#dce8ff;font-size:.8rem;font-weight:850}
body[data-page="reseller-dashboard"] .rd-credit-rate{border-bottom:1px solid #22334a;color:#b8c4d4;font-size:.88rem;transition:.16s ease}
body[data-page="reseller-dashboard"] .rd-credit-rate.is-selected{border-color:#9a762c;border-radius:10px;background:linear-gradient(90deg,rgba(229,179,64,.12),rgba(54,84,153,.1));box-shadow:inset 3px 0 #e7b94f}
body[data-page="reseller-dashboard"] .rd-credit-rate span{display:flex;align-items:center;gap:10px}
body[data-page="reseller-dashboard"] .rd-credit-rate i{width:9px;height:9px;border:2px solid #618af0;border-radius:3px;transform:rotate(45deg)}
body[data-page="reseller-dashboard"] .rd-credit-rate strong{color:#e9eef6;font-size:.91rem;text-align:right}
body[data-page="reseller-dashboard"] .rd-credit-rate strong small{color:#e4b94f;font-size:.82rem}
body[data-page="reseller-dashboard"] .rd-credit-rate-note{margin:0;padding:15px 22px 20px;color:#75849a;font-size:.78rem;line-height:1.55}

body[data-page="reseller-dashboard"] .rd-credit-form-premium{gap:16px;padding:21px 23px 24px}
body[data-page="reseller-dashboard"] .rd-credit-form-premium label>span:first-child{font-size:.83rem}
body[data-page="reseller-dashboard"] .rd-credit-quantity-control{display:grid;grid-template-columns:48px minmax(0,1fr) 48px;overflow:hidden;border:1px solid #38527b;border-radius:14px;background:#081321;box-shadow:inset 0 0 0 1px rgba(111,151,255,.04)}
body[data-page="reseller-dashboard"] .rd-credit-quantity-control:focus-within{border-color:#668ff1;box-shadow:0 0 0 3px rgba(78,118,220,.15)}
body[data-page="reseller-dashboard"] .rd-credit-quantity-control input{height:53px;border:0!important;border-inline:1px solid #2d4264!important;border-radius:0!important;background:transparent!important;color:#f4f7fb!important;font-size:1.15rem!important;font-weight:900;text-align:center;box-shadow:none!important}
body[data-page="reseller-dashboard"] .rd-credit-quantity-control button{border:0;background:#101e32;color:#9eb8f5;font-size:1.25rem;font-weight:900;cursor:pointer;transition:.16s ease}
body[data-page="reseller-dashboard"] .rd-credit-quantity-control button:hover,
body[data-page="reseller-dashboard"] .rd-credit-quantity-control button:focus-visible{background:#1a3156;color:#fff;outline:0}
body[data-page="reseller-dashboard"] .rd-quick-amounts{grid-template-columns:repeat(5,1fr)}
body[data-page="reseller-dashboard"] .rd-quick-amounts button{min-height:40px;font-size:.8rem}
body[data-page="reseller-dashboard"] .rd-quick-amounts button.is-selected{border-color:#d6a93d;background:linear-gradient(135deg,#3a301d,#1a2a49);color:#f4cc69;box-shadow:0 7px 18px rgba(0,0,0,.18)}
body[data-page="reseller-dashboard"] .rd-credit-total-card{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;overflow:hidden;border:1px solid #30476c;border-radius:15px;background:#30476c}
body[data-page="reseller-dashboard"] .rd-credit-total-card>div{display:grid;gap:6px;padding:14px;background:linear-gradient(145deg,#142542,#111c30)}
body[data-page="reseller-dashboard"] .rd-credit-total-card span{color:#8292aa;font-size:.72rem}
body[data-page="reseller-dashboard"] .rd-credit-total-card strong{color:#eef3fa;font-size:.92rem}
body[data-page="reseller-dashboard"] .rd-credit-total-card>div:nth-child(2) strong{color:#f0c55f;font-size:1.05rem}
body[data-page="reseller-dashboard"] .rd-credit-payment-lock{display:grid;gap:11px;padding:15px;border:1px solid #51462e;border-radius:15px;background:radial-gradient(circle at 100% 0,rgba(219,168,52,.1),transparent 45%),#151822}
body[data-page="reseller-dashboard"] .rd-credit-payment-lock>div:first-child{display:flex;align-items:center;gap:9px;color:#edc45f}
body[data-page="reseller-dashboard"] .rd-credit-lock-mark{position:relative;display:grid;place-items:center;width:27px;height:27px;flex:0 0 27px;border-radius:9px;background:#372d19}
body[data-page="reseller-dashboard"] .rd-credit-lock-mark::before{content:"";width:9px;height:7px;margin-top:5px;border:2px solid currentColor;border-bottom:0;border-radius:7px 7px 0 0}
body[data-page="reseller-dashboard"] .rd-credit-lock-mark::after{content:"";position:absolute;left:8px;right:8px;bottom:6px;height:9px;border-radius:3px;background:currentColor}
body[data-page="reseller-dashboard"] .rd-credit-payment-lock>div:first-child strong{font-size:.88rem}
body[data-page="reseller-dashboard"] .rd-credit-payment-lock p{margin:0;color:#8b97aa;font-size:.78rem;line-height:1.55}
body[data-page="reseller-dashboard"] .rd-credit-payment-methods{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
body[data-page="reseller-dashboard"] .rd-credit-payment-methods span{display:grid;place-items:center;height:45px;padding:5px 8px;border:1px solid #333b49;border-radius:10px;background:#0c1320;filter:grayscale(1);opacity:.48}
body[data-page="reseller-dashboard"] .rd-credit-payment-methods img{display:block;max-width:95%;max-height:33px;object-fit:contain}
body[data-page="reseller-dashboard"] .rd-credit-request-button{display:grid!important;gap:2px;width:100%;min-height:56px;text-align:center}
body[data-page="reseller-dashboard"] .rd-credit-request-button span{font-size:.9rem}
body[data-page="reseller-dashboard"] .rd-credit-request-button small{font-size:.7rem;font-weight:700;opacity:.72}
body[data-page="reseller-dashboard"] .rd-credit-requests{margin-top:22px}

@media(max-width:1180px){
  body[data-page="reseller-dashboard"] .rd-credit-premium-hero{grid-template-columns:auto minmax(0,1fr)}
  body[data-page="reseller-dashboard"] .rd-credit-hero-balance{grid-column:1/-1;width:100%}
  body[data-page="reseller-dashboard"] .rd-credit-premium-grid{grid-template-columns:1fr}
}
@media(max-width:760px){
  body[data-page="reseller-dashboard"] .rd-credit-premium-shell{gap:15px;padding:15px;border-radius:19px}
  body[data-page="reseller-dashboard"] .rd-credit-premium-hero{grid-template-columns:1fr;gap:13px;text-align:center}
  body[data-page="reseller-dashboard"] .rd-credit-emblem{width:60px;height:60px;margin:0 auto;border-radius:18px}
  body[data-page="reseller-dashboard"] .rd-credit-hero-copy h1{font-size:2.15rem}
  body[data-page="reseller-dashboard"] .rd-credit-hero-copy p{font-size:.93rem}
  body[data-page="reseller-dashboard"] .rd-credit-hero-balance{text-align:center}
  body[data-page="reseller-dashboard"] .rd-credit-steps{grid-template-columns:1fr}
  body[data-page="reseller-dashboard"] .rd-credit-steps li{min-height:58px;padding:10px 14px}
  body[data-page="reseller-dashboard"] .rd-credit-steps li:not(.is-current){display:none}
  body[data-page="reseller-dashboard"] .rd-credit-value-strip{grid-template-columns:1fr;padding:10px}
  body[data-page="reseller-dashboard"] .rd-credit-value-strip article{justify-content:flex-start;min-height:92px}
  body[data-page="reseller-dashboard"] .rd-credit-value-center{order:-1;min-width:0;padding:5px 10px 9px}
  body[data-page="reseller-dashboard"] .rd-credit-card-heading{align-items:flex-start;padding:18px 16px}
  body[data-page="reseller-dashboard"] .rd-credit-rates-table{padding:10px 10px 3px}
  body[data-page="reseller-dashboard"] .rd-credit-rate-head,
  body[data-page="reseller-dashboard"] .rd-credit-rate{grid-template-columns:minmax(0,.85fr) minmax(128px,1.15fr);gap:8px;padding:9px 10px}
  body[data-page="reseller-dashboard"] .rd-credit-rate{font-size:.82rem}
  body[data-page="reseller-dashboard"] .rd-credit-rate strong{font-size:.8rem}
  body[data-page="reseller-dashboard"] .rd-credit-form-premium{padding:17px 15px 19px}
  body[data-page="reseller-dashboard"] .rd-quick-amounts{grid-template-columns:repeat(5,1fr)}
  body[data-page="reseller-dashboard"] .rd-credit-total-card{grid-template-columns:1fr}
  body[data-page="reseller-dashboard"] .rd-credit-total-card>div{grid-template-columns:1fr auto;align-items:center}
  body[data-page="reseller-dashboard"] .rd-credit-payment-methods{grid-template-columns:1fr}
  body[data-page="reseller-dashboard"] .rd-credit-payment-methods span{height:50px}
}
@media(max-width:390px){
  body[data-page="reseller-dashboard"] .rd-credit-premium-shell{padding:12px}
  body[data-page="reseller-dashboard"] .rd-credit-card-heading{gap:10px;padding-inline:13px}
  body[data-page="reseller-dashboard"] .rd-credit-heading-icon{width:40px;height:40px;flex-basis:40px}
  body[data-page="reseller-dashboard"] .rd-credit-rate-head,
  body[data-page="reseller-dashboard"] .rd-credit-rate{grid-template-columns:1fr auto}
  body[data-page="reseller-dashboard"] .rd-credit-rate i{display:none}
  body[data-page="reseller-dashboard"] .rd-credit-form-premium{padding-inline:12px}
}

body[data-page="reseller-dashboard"] .rd-support-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);gap:20px;align-items:start}
body[data-page="reseller-dashboard"] .rd-support-contacts{display:grid;gap:13px}
body[data-page="reseller-dashboard"] .rd-contact-card{display:grid;grid-template-columns:43px minmax(0,1fr);gap:14px;align-items:center;padding:17px}
body[data-page="reseller-dashboard"] .rd-contact-card>span{display:grid;place-items:center;width:43px;height:43px;border-radius:13px;background:#192f5c;color:#a8bdff;font-size:.95rem;font-weight:950}
body[data-page="reseller-dashboard"] .rd-contact-card div{min-width:0}
body[data-page="reseller-dashboard"] .rd-contact-card small,
body[data-page="reseller-dashboard"] .rd-contact-card strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
body[data-page="reseller-dashboard"] .rd-contact-card small{color:#76869c;font-size:.62rem}
body[data-page="reseller-dashboard"] .rd-contact-card strong{margin:3px 0 7px;color:#dce5f1;font-size:.76rem}
body[data-page="reseller-dashboard"] .rd-contact-card a{color:#94afff;font-size:.68rem;font-weight:800;text-decoration:none}
body[data-page="reseller-dashboard"] .rd-contact-card a:hover{text-decoration:underline}

body[data-page="reseller-dashboard"] .rd-dialog{width:min(520px,calc(100vw - 28px));padding:0;border:0;border-radius:22px;background:transparent;color:#e8eef7;box-shadow:0 30px 90px rgba(0,0,0,.55)}
body[data-page="reseller-dashboard"] .rd-dialog::backdrop{background:rgba(2,7,15,.76);backdrop-filter:blur(5px)}
body[data-page="reseller-dashboard"] .rd-dialog-card{position:relative;display:grid;gap:16px;padding:30px;border:1px solid #543043;border-radius:22px;background:linear-gradient(155deg,#1a1723,#0e1522)}
body[data-page="reseller-dashboard"] .rd-dialog-close{position:absolute;right:15px;top:15px;width:34px;height:34px;border:1px solid #39455a;border-radius:10px;background:#151d2a;color:#a8b4c6;font-size:1.2rem;cursor:pointer}
body[data-page="reseller-dashboard"] .rd-danger-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:15px;background:#48202d;color:#ff9eb1;font-size:1.2rem;font-weight:950}
body[data-page="reseller-dashboard"] .rd-dialog h2{margin:0;color:#f1f4f8;font-size:1.28rem}
body[data-page="reseller-dashboard"] .rd-dialog p{margin:-7px 0 2px;color:#8e9bae;font-size:.73rem;line-height:1.55}
body[data-page="reseller-dashboard"] .rd-dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:4px}

@media(max-width:1050px){
  body[data-page="reseller-dashboard"] .rd-profile-layout,
  body[data-page="reseller-dashboard"] .rd-credit-layout,
  body[data-page="reseller-dashboard"] .rd-support-grid{grid-template-columns:1fr}
  body[data-page="reseller-dashboard"] .rd-credit-info{min-height:310px}
}
@media(max-width:760px){
  body[data-page="reseller-dashboard"] .rd-section-intro{align-items:flex-start;flex-direction:column}
  body[data-page="reseller-dashboard"] .rd-section-intro>.rd-button,
  body[data-page="reseller-dashboard"] .rd-credit-hero-balance{width:100%}
  body[data-page="reseller-dashboard"] .rd-credit-hero-balance{text-align:left}
  body[data-page="reseller-dashboard"] .rd-settings-card{padding:19px 17px}
  body[data-page="reseller-dashboard"] .rd-avatar-editor{grid-template-columns:1fr;text-align:center}
  body[data-page="reseller-dashboard"] .rd-avatar-preview{margin:0 auto}
  body[data-page="reseller-dashboard"] .rd-inline-actions{justify-content:center}
  body[data-page="reseller-dashboard"] .rd-password-rules{grid-template-columns:1fr}
  body[data-page="reseller-dashboard"] .rd-form>.rd-button{width:100%}
  body[data-page="reseller-dashboard"] .rd-quick-amounts{grid-template-columns:1fr 1fr}
  body[data-page="reseller-dashboard"] .rd-request-item{align-items:flex-start;flex-direction:column;padding:15px 17px}
  body[data-page="reseller-dashboard"] .rd-dialog-card{padding:25px 19px 19px}
  body[data-page="reseller-dashboard"] .rd-download-platforms{padding:14px}
  body[data-page="reseller-dashboard"] .rd-download-platforms .platforms-grid{grid-template-columns:1fr;gap:12px}
  body[data-page="reseller-dashboard"] .rd-language-menu .language-trigger{min-width:58px;width:58px;height:38px;padding:0 8px}
  body[data-page="reseller-dashboard"] .rd-language-menu .language-dropdown{top:74px;left:12px;right:12px;width:auto;max-height:calc(100dvh - 88px)}
}

/* V1.6.1 — tableau clients, actions réelles et lisibilité renforcée */
body[data-page="reseller-dashboard"]{font-size:16px}
body[data-page="reseller-dashboard"] .rd-nav-item{font-size:.9rem}
body[data-page="reseller-dashboard"] .rd-button{font-size:.83rem}
body[data-page="reseller-dashboard"] .rd-table{min-width:1260px}
body[data-page="reseller-dashboard"] .rd-table[data-resizable-ready="true"]{min-width:0}
body[data-page="reseller-dashboard"] .rd-table[data-resizable-ready="true"] td{overflow:hidden;text-overflow:ellipsis}
body[data-page="reseller-dashboard"] .rd-table[data-resizable-ready="true"] .rd-device-cell,
body[data-page="reseller-dashboard"] .rd-table[data-resizable-ready="true"] .rd-note-cell,
body[data-page="reseller-dashboard"] .rd-table[data-resizable-ready="true"] .rd-note-wrap,
body[data-page="reseller-dashboard"] .rd-table[data-resizable-ready="true"] .rd-last-connection{min-width:0;max-width:none}
body[data-page="reseller-dashboard"] .rd-table[data-resizable-ready="true"] .rd-note-wrap>span{min-width:0;flex:1;max-width:none}
body[data-page="reseller-dashboard"] .rd-table th{font-size:.71rem}
body[data-page="reseller-dashboard"] .rd-table td{height:78px;font-size:.8rem}
body[data-page="reseller-dashboard"] .rd-device-cell strong{font-size:.84rem}
body[data-page="reseller-dashboard"] .rd-device-cell small{font-size:.69rem}
body[data-page="reseller-dashboard"] .rd-note-cell{min-width:185px;max-width:230px;overflow:visible;white-space:normal}
body[data-page="reseller-dashboard"] .rd-note-wrap{display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:170px}
body[data-page="reseller-dashboard"] .rd-note-wrap>span{display:block;max-width:170px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#c5cfdb;font-weight:700}
body[data-page="reseller-dashboard"] .rd-note-wrap>span.empty{color:#78879b;font-weight:600}
body[data-page="reseller-dashboard"] .rd-note-edit{display:grid;flex:0 0 31px;place-items:center;width:31px;height:31px;border:1px solid #30425d;border-radius:9px;background:#132136;color:#9bb7ff;cursor:pointer}
body[data-page="reseller-dashboard"] .rd-note-edit:hover,body[data-page="reseller-dashboard"] .rd-note-edit:focus-visible{border-color:#5c7fd2;background:#1b3153;outline:none}
body[data-page="reseller-dashboard"] .rd-note-edit svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
body[data-page="reseller-dashboard"] .rd-last-connection{min-width:150px;color:#aab7c8!important;font-weight:650;white-space:nowrap}
body[data-page="reseller-dashboard"] .rd-status-badge.suspended{background:#fff0d8;color:#e99a27}
body[data-page="reseller-dashboard"] .rd-status-badge.revoked{background:#ffedf1;color:#ef7187}
body[data-page="reseller-dashboard"] .rd-icon-button{width:40px;height:40px;border-radius:11px}
body[data-page="reseller-dashboard"] .rd-icon-button svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
body[data-page="reseller-dashboard"] .rd-icon-playlists{border-color:#d7a429;background:linear-gradient(145deg,#f6c94d,#e6aa2f);color:#162035;box-shadow:0 8px 17px rgba(221,164,35,.18)}
body[data-page="reseller-dashboard"] .rd-icon-playlists:hover,body[data-page="reseller-dashboard"] .rd-icon-playlists:focus-visible{border-color:#ffd56c;color:#091321;box-shadow:0 10px 22px rgba(221,164,35,.28)}
body[data-page="reseller-dashboard"] .rd-icon-more{border-color:#31425c;background:#152236;color:#d9e2ed}
body[data-page="reseller-dashboard"] .rd-icon-more:hover,body[data-page="reseller-dashboard"] .rd-icon-more:focus-visible{border-color:#6687d7;background:#20395e;color:#fff}
body[data-page="reseller-dashboard"] .rd-row-actions .rd-icon-button{width:40px;height:38px;margin-left:5px;border-radius:8px;box-shadow:none}
body[data-page="reseller-dashboard"] .rd-row-actions .rd-icon-playlists{border-color:#ffd638;background:#ffd638;color:#111820}
body[data-page="reseller-dashboard"] .rd-row-actions .rd-icon-more{border-color:#303c4f;background:#232c3c;color:#fff}
body[data-page="reseller-dashboard"] .rd-row-actions .rd-icon-more svg{fill:currentColor;stroke:none}
body[data-page="reseller-dashboard"] .rd-prefix-field{display:flex!important;align-items:center;min-height:50px;border:1px solid #2b3c56;border-radius:12px;background:#091321;overflow:hidden;transition:border-color .16s ease,box-shadow .16s ease}
body[data-page="reseller-dashboard"] .rd-prefix-field:focus-within{border-color:#5c7fd2;box-shadow:0 0 0 3px rgba(77,114,213,.14)}
body[data-page="reseller-dashboard"] .rd-prefix-field>strong{align-self:stretch;display:flex;align-items:center;padding:0 0 0 15px;color:#7fa2fa;font-size:.88rem;letter-spacing:.03em}
body[data-page="reseller-dashboard"] .rd-prefix-field>input{min-height:48px!important;border:0!important;border-radius:0!important;box-shadow:none!important;background:transparent!important;padding-left:3px!important}
body[data-page="reseller-dashboard"] .rd-contact-card{min-height:132px;padding:24px;gap:18px}
body[data-page="reseller-dashboard"] .rd-contact-icon{display:grid!important;flex:0 0 58px;place-items:center;width:58px!important;height:58px!important;border-radius:17px!important;background:linear-gradient(145deg,#254a94,#20376f)!important;color:#bcd0ff!important}
body[data-page="reseller-dashboard"] .rd-contact-icon svg{width:27px;height:27px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
body[data-page="reseller-dashboard"] .rd-contact-card small{font-size:.77rem}
body[data-page="reseller-dashboard"] .rd-contact-card strong{margin-top:6px;font-size:.94rem}
body[data-page="reseller-dashboard"] .rd-contact-card a{margin-top:12px;font-size:.84rem}
body[data-page="reseller-dashboard"] .rd-dialog-kicker{color:#7ea2ff;font-size:.7rem;font-weight:900;letter-spacing:.11em;text-transform:uppercase}
body[data-page="reseller-dashboard"] .rd-field-help{margin-top:-8px;color:#77869b;font-size:.71rem}
body[data-page="reseller-dashboard"] .rd-note-dialog .rd-dialog-card{border-color:#304563;background:linear-gradient(155deg,#101e31,#0a1422)}
body[data-page="reseller-dashboard"] .rd-playlist-dialog{width:min(980px,calc(100vw - 28px));max-height:min(900px,calc(100vh - 28px));overflow:auto}
body[data-page="reseller-dashboard"] .rd-playlist-card{gap:22px;border-color:#304563;background:linear-gradient(155deg,#101e31,#091421)}
body[data-page="reseller-dashboard"] .rd-dialog-heading{display:grid;gap:6px;padding-right:45px}
body[data-page="reseller-dashboard"] .rd-dialog-heading p{margin:0}
body[data-page="reseller-dashboard"] .rd-dialog-heading p strong,body[data-page="reseller-dashboard"] .rd-actions-dialog>div>p strong{display:inline-flex;margin-left:5px;padding:5px 9px;border-radius:8px;background:#19345b;color:#bcd0ff;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.8rem}
body[data-page="reseller-dashboard"] .rd-dialog-loading{display:grid;place-items:center;gap:12px;min-height:220px;color:#9cabbd;font-size:.82rem}
body[data-page="reseller-dashboard"] .rd-dialog-loading[hidden]{display:none}
body[data-page="reseller-dashboard"] .rd-playlist-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:17px;border:1px solid #263a56;border-radius:15px;background:#0c1929}
body[data-page="reseller-dashboard"] .rd-playlist-toolbar strong,body[data-page="reseller-dashboard"] .rd-playlist-toolbar small{display:block}
body[data-page="reseller-dashboard"] .rd-playlist-toolbar strong{color:#edf3fa;font-size:.9rem}
body[data-page="reseller-dashboard"] .rd-playlist-toolbar small{margin-top:4px;color:#7f8ea3;font-size:.72rem}
body[data-page="reseller-dashboard"] .rd-playlist-list{display:grid;gap:10px;margin-top:13px;margin-inline-start:42px}
body[data-page="reseller-dashboard"] .rd-playlist-item{position:relative;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:15px 17px;border:1px solid #263a56;border-radius:14px;background:#0b1726}
body[data-page="reseller-dashboard"] .rd-playlist-item>div:first-child{min-width:0}
body[data-page="reseller-dashboard"] .rd-playlist-item strong,body[data-page="reseller-dashboard"] .rd-playlist-item span,body[data-page="reseller-dashboard"] .rd-playlist-item small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
body[data-page="reseller-dashboard"] .rd-playlist-item strong{color:#eaf0f7;font-size:.84rem}
body[data-page="reseller-dashboard"] .rd-playlist-item span{margin-top:5px;color:#a9b6c8;font-size:.75rem}
body[data-page="reseller-dashboard"] .rd-playlist-item small{margin-top:4px;color:#6f8097;font-size:.68rem}
body[data-page="reseller-dashboard"] .rd-playlist-item-heading{display:flex;align-items:center;gap:8px;min-width:0}
body[data-page="reseller-dashboard"] .rd-playlist-item-heading strong{min-width:0;flex:0 1 auto}
body[data-page="reseller-dashboard"] .rd-playlist-item .rd-playlist-item-number{position:absolute;inset-inline-start:-42px;top:50%;display:grid;place-items:center;width:29px;height:29px;margin:0;border:1px solid #38557d;border-radius:50%;background:#14294a;color:#b9ccff;font-size:.75rem;font-weight:900;font-variant-numeric:tabular-nums;line-height:1;pointer-events:none;transform:translateY(-50%)}
body[data-page="reseller-dashboard"] .rd-playlist-item .rd-playlist-protected{flex:0 1 auto;max-width:100%;margin:0;padding:4px 8px;border:1px solid #2f7360;border-radius:999px;background:#102d29;color:#9ce7c9;font-size:.64rem;font-weight:800;line-height:1.2;text-overflow:ellipsis}
body[data-page="reseller-dashboard"] .rd-playlist-item-actions{display:flex;gap:8px}
body[data-page="reseller-dashboard"] .rd-playlist-item-actions button{min-height:36px;padding:0 12px;border:1px solid #375073;border-radius:10px;background:#142741;color:#b9cbeb;font:inherit;font-size:.72rem;font-weight:800;cursor:pointer}
body[data-page="reseller-dashboard"] .rd-playlist-item-actions button.danger{border-color:#563345;background:#251624;color:#f0a3b3}
body[data-page="reseller-dashboard"] .rd-playlist-item-actions button.confirm{border-color:#d79d32;background:#c8861e;color:#fff}
body[data-page="reseller-dashboard"] .rd-playlist-empty{display:grid;place-items:center;min-height:150px;margin-top:13px;border:1px dashed #30435e;border-radius:14px;color:#8291a5;text-align:center}
body[data-page="reseller-dashboard"] .rd-playlist-empty[hidden]{display:none}
body[data-page="reseller-dashboard"] .rd-playlist-empty strong{color:#cbd5e2;font-size:.86rem}
body[data-page="reseller-dashboard"] .rd-playlist-empty p{margin:6px 0 0}
body[data-page="reseller-dashboard"] .rd-playlist-form{display:grid;gap:15px;margin-top:18px;padding:21px;border:1px solid #334968;border-radius:17px;background:#0a1625}
body[data-page="reseller-dashboard"] .rd-playlist-form[hidden]{display:none}
body[data-page="reseller-dashboard"] .rd-playlist-form-head{display:flex;align-items:flex-start;justify-content:space-between;gap:15px}
body[data-page="reseller-dashboard"] .rd-playlist-form-head h3{margin:5px 0 0;color:#eef3f9;font-size:1.05rem}
body[data-page="reseller-dashboard"] .rd-playlist-form-head>button{width:32px;height:32px;border:1px solid #34465f;border-radius:9px;background:#111e2e;color:#a8b5c6;font-size:1.1rem;cursor:pointer}
body[data-page="reseller-dashboard"] .rd-playlist-form label{display:grid;gap:7px;color:#aebacd;font-size:.75rem;font-weight:800}
body[data-page="reseller-dashboard"] .rd-playlist-form input,body[data-page="reseller-dashboard"] .rd-playlist-form select{width:100%;min-height:48px;padding:0 14px;border:1px solid #2b3c56;border-radius:12px;background:#091321;color:#e5ebf4;font:inherit;font-size:.8rem;outline:0}
body[data-page="reseller-dashboard"] .rd-playlist-form input:focus,body[data-page="reseller-dashboard"] .rd-playlist-form select:focus{border-color:#5c7fd2;box-shadow:0 0 0 3px rgba(77,114,213,.14)}
body[data-page="reseller-dashboard"] .rd-playlist-fields{display:grid;grid-template-columns:1.3fr .85fr .85fr;gap:12px}
body[data-page="reseller-dashboard"] .rd-playlist-form label small{color:#718198;font-size:.66rem;font-weight:600}
body[data-page="reseller-dashboard"] .rd-toggle-line{display:flex!important;align-items:center;grid-template-columns:none!important;gap:10px!important}
body[data-page="reseller-dashboard"] .rd-toggle-line input{width:19px!important;min-height:19px!important;accent-color:#5d7fe0}
body[data-page="reseller-dashboard"] .rd-playlist-pin-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}
body[data-page="reseller-dashboard"] .rd-inline-modal{position:absolute;inset:0;z-index:5;display:grid;place-items:center;padding:24px;border-radius:22px;background:rgba(3,8,16,.84);backdrop-filter:blur(5px)}
body[data-page="reseller-dashboard"] .rd-inline-modal[hidden]{display:none}
body[data-page="reseller-dashboard"] .rd-inline-modal form{display:grid;gap:14px;width:min(420px,100%);padding:25px;border:1px solid #3d5171;border-radius:17px;background:#0d1928;box-shadow:0 25px 60px rgba(0,0,0,.45)}
body[data-page="reseller-dashboard"] .rd-inline-modal h3{margin:0;color:#eef3f9;font-size:1.05rem}
body[data-page="reseller-dashboard"] .rd-inline-modal p{margin:0}
body[data-page="reseller-dashboard"] .rd-inline-modal input{width:100%;min-height:50px;padding:0 14px;border:1px solid #354966;border-radius:12px;background:#08121f;color:#fff;font:inherit;font-size:1rem;letter-spacing:.25em;text-align:center}
body[data-page="reseller-dashboard"] .rd-actions-dialog .rd-dialog-card{border-color:#304563;background:linear-gradient(155deg,#101e31,#091421)}
body[data-page="reseller-dashboard"] .rd-device-action-list{display:grid;gap:10px}
body[data-page="reseller-dashboard"] .rd-device-action{display:grid;grid-template-columns:44px minmax(0,1fr) 20px;align-items:center;gap:13px;width:100%;min-height:72px;padding:11px 14px;border:1px solid #2b405e;border-radius:13px;background:#0c1929;color:#dce5ef;text-align:left;text-decoration:none;font:inherit;cursor:pointer}
body[data-page="reseller-dashboard"] .rd-device-action:hover,body[data-page="reseller-dashboard"] .rd-device-action:focus-visible{border-color:#5578c3;background:#10223a;outline:none}
body[data-page="reseller-dashboard"] .rd-device-action>span{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:#18335a;color:#a9c3ff;font-size:1.1rem;font-weight:900}
body[data-page="reseller-dashboard"] .rd-device-action strong,body[data-page="reseller-dashboard"] .rd-device-action small{display:block}
body[data-page="reseller-dashboard"] .rd-device-action strong{color:#eef3f9;font-size:.84rem}
body[data-page="reseller-dashboard"] .rd-device-action small{margin-top:4px;color:#7f8fa5;font-size:.69rem}
body[data-page="reseller-dashboard"] .rd-device-action>b{color:#6f83a2;font-size:1.3rem}
body[data-page="reseller-dashboard"] .rd-device-action.danger>span{background:#321c2a;color:#ef9aac}
body[data-page="reseller-dashboard"] .rd-device-action:disabled{opacity:.45;cursor:not-allowed}
body[data-page="reseller-dashboard"] .rd-action-confirm{display:grid;gap:13px;padding:18px;border:1px solid #58364a;border-radius:14px;background:#251522}
body[data-page="reseller-dashboard"] .rd-action-confirm[hidden]{display:none}
body[data-page="reseller-dashboard"] .rd-action-confirm>strong{color:#ffd7df;font-size:.9rem}
body[data-page="reseller-dashboard"] .rd-action-confirm>p{margin:0;color:#b3959f}
body[data-page="reseller-dashboard"] .rd-transfer-dialog{width:min(610px,calc(100vw - 28px))}
body[data-page="reseller-dashboard"] .rd-transfer-dialog .rd-dialog-card{border-color:#3b4f79;background:radial-gradient(circle at 95% 0,rgba(93,121,224,.17),transparent 34%),linear-gradient(155deg,#102139,#081421)}
body[data-page="reseller-dashboard"] .rd-transfer-source{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;border:1px solid #294569;border-radius:14px;background:#0a192a}
body[data-page="reseller-dashboard"] .rd-transfer-source span{color:#95a6be;font-size:.76rem;font-weight:800}
body[data-page="reseller-dashboard"] .rd-transfer-source strong{padding:6px 10px;border-radius:9px;background:#17335a;color:#bad0ff;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.9rem;letter-spacing:.06em}
body[data-page="reseller-dashboard"] .rd-transfer-verified{display:grid;gap:5px;padding:14px 16px;border:1px solid #287059;border-radius:14px;background:#0b2d27;color:#a6f3d4;font-size:.78rem;line-height:1.45}
body[data-page="reseller-dashboard"] .rd-transfer-verified strong{color:#e0fff3;font-size:.84rem}
body[data-page="reseller-dashboard"] .rd-transfer-verified[hidden]{display:none}
body[data-page="reseller-dashboard"] .rd-transfer-dialog .rd-toggle-line{padding:11px 13px;border:1px solid #29415f;border-radius:12px;background:#0a192a}
body[data-page="reseller-dashboard"] .rd-transfer-dialog .rd-toggle-line input{flex:0 0 auto}
@media(max-width:760px){
  body[data-page="reseller-dashboard"] .rd-playlist-dialog{width:calc(100vw - 18px);max-height:calc(100vh - 18px)}
  body[data-page="reseller-dashboard"] .rd-playlist-card{padding:24px 16px 18px}
  body[data-page="reseller-dashboard"] .rd-playlist-list{margin-inline-start:36px}
  body[data-page="reseller-dashboard"] .rd-playlist-toolbar,body[data-page="reseller-dashboard"] .rd-playlist-item{align-items:stretch;flex-direction:column}
  body[data-page="reseller-dashboard"] .rd-playlist-item .rd-playlist-item-number{inset-inline-start:-36px;width:26px;height:26px;font-size:.7rem}
  body[data-page="reseller-dashboard"] .rd-playlist-fields,body[data-page="reseller-dashboard"] .rd-playlist-pin-fields{grid-template-columns:1fr}
  body[data-page="reseller-dashboard"] .rd-playlist-item-actions button{flex:1}
  body[data-page="reseller-dashboard"] .rd-playlist-item-heading{flex-wrap:wrap}
}

/* V1.7.0 — activation revendeur et ajout de client en deux étapes */
body[data-page="reseller-dashboard"] .rd-primary-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}
body[data-page="reseller-dashboard"] .rd-status-badge.prospect{border:1px solid #34507d;background:#182d4d;color:#9dbaff}
body[data-page="reseller-dashboard"] .rd-activation-dialog{width:min(610px,calc(100vw - 28px))}
body[data-page="reseller-dashboard"] .rd-new-client-dialog{width:min(880px,calc(100vw - 28px));max-height:min(920px,calc(100vh - 28px));overflow:auto}
body[data-page="reseller-dashboard"] .rd-operation-card{gap:20px;border-color:#33517b;background:radial-gradient(circle at 95% 0,rgba(68,104,200,.18),transparent 34%),linear-gradient(155deg,#102139,#081421)}
body[data-page="reseller-dashboard"] .rd-operation-card label{display:grid;gap:8px}
body[data-page="reseller-dashboard"] .rd-operation-card label>span{font-size:.79rem}
body[data-page="reseller-dashboard"] .rd-operation-card label>span small{color:#728198;font-weight:650}
body[data-page="reseller-dashboard"] .rd-df-field{display:grid!important;grid-template-columns:62px minmax(0,1fr);align-items:center;min-height:54px;border:1px solid #334b6d;border-radius:13px;background:#071321;overflow:hidden;transition:border-color .16s ease,box-shadow .16s ease}
body[data-page="reseller-dashboard"] .rd-df-field:focus-within{border-color:#668ce9;box-shadow:0 0 0 3px rgba(82,126,232,.18)}
body[data-page="reseller-dashboard"] .rd-df-field>strong{display:grid;align-self:stretch;place-items:center;border-right:1px solid #29405f;background:#112441;color:#94b2ff;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:1rem;letter-spacing:.04em}
body[data-page="reseller-dashboard"] .rd-df-field>input{min-height:52px!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;color:#f0f5fb!important;font-family:ui-monospace,SFMono-Regular,Consolas,monospace!important;font-size:1.05rem!important;font-weight:850;letter-spacing:.08em}
body[data-page="reseller-dashboard"] .rd-plan-choice{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:0;padding:0;border:0}
body[data-page="reseller-dashboard"] .rd-plan-choice legend{grid-column:1/-1;margin-bottom:8px;color:#aebacd;font-size:.79rem;font-weight:850}
body[data-page="reseller-dashboard"] .rd-plan-choice label{position:relative;cursor:pointer}
body[data-page="reseller-dashboard"] .rd-plan-choice input{position:absolute;width:1px!important;height:1px!important;min-height:0!important;opacity:0}
body[data-page="reseller-dashboard"] .rd-plan-choice label>span{display:flex;align-items:center;justify-content:space-between;min-height:76px;padding:16px;border:1px solid #2c425f;border-radius:15px;background:#0b1a2c;color:#b6c2d1;transition:.18s ease}
body[data-page="reseller-dashboard"] .rd-plan-choice label>span strong{color:#eef4fb;font-size:.96rem}
body[data-page="reseller-dashboard"] .rd-plan-choice label>span small{padding:6px 9px;border-radius:8px;background:#182d4f;color:#a9c1ff;font-size:.72rem;font-weight:900}
body[data-page="reseller-dashboard"] .rd-plan-choice input:checked+span{border-color:#6a87ed;background:linear-gradient(145deg,#1a3564,#17294a);box-shadow:0 0 0 3px rgba(92,121,219,.15)}
body[data-page="reseller-dashboard"] .rd-plan-choice input:focus-visible+span{outline:2px solid #8da8ff;outline-offset:2px}
body[data-page="reseller-dashboard"] .rd-operation-balance{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:13px 15px;border:1px solid #29415f;border-radius:13px;background:#0a192a;color:#8090a6;font-size:.76rem}
body[data-page="reseller-dashboard"] .rd-operation-balance strong{color:#eef3fa;font-size:.88rem}
body[data-page="reseller-dashboard"] .rd-form-error{padding:12px 14px;border:1px solid #74364d;border-radius:12px;background:#321725;color:#ffb0c0;font-size:.78rem;font-weight:750;line-height:1.45}
body[data-page="reseller-dashboard"] .rd-form-error[hidden]{display:none}
body[data-page="reseller-dashboard"] .rd-step-indicator{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:14px 16px;border:1px solid #263e5e;border-radius:14px;background:#0a192a}
body[data-page="reseller-dashboard"] .rd-step-indicator>span{display:flex;align-items:center;gap:8px;color:#697a91;font-size:.73rem;font-weight:900}
body[data-page="reseller-dashboard"] .rd-step-indicator>span::first-letter{color:inherit}
body[data-page="reseller-dashboard"] .rd-step-indicator>span.active{color:#aec4ff}
body[data-page="reseller-dashboard"] .rd-step-indicator>span.done{color:#62dba8}
body[data-page="reseller-dashboard"] .rd-step-indicator>i{height:2px;background:#263d5a}
body[data-page="reseller-dashboard"] .rd-operation-step{display:grid;gap:18px}
body[data-page="reseller-dashboard"] .rd-operation-step[hidden]{display:none}
body[data-page="reseller-dashboard"] .rd-validated-device{display:flex;align-items:center;gap:12px;padding:13px 15px;border:1px solid #285647;border-radius:13px;background:#0c2722}
body[data-page="reseller-dashboard"] .rd-existing-prospect-copy{margin:0;padding:13px 15px;border:1px solid #34507d;border-radius:13px;background:#12233a;color:#c4d6ff;font-size:.82rem;font-weight:700;line-height:1.5}
body[data-page="reseller-dashboard"] .rd-validated-device span{color:#78c8a6;font-size:.74rem;font-weight:800}
body[data-page="reseller-dashboard"] .rd-validated-device strong{color:#d9fff0;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.9rem}
body[data-page="reseller-dashboard"] .rd-validated-device button{margin-left:auto;border:0;background:transparent;color:#9db7ff;font:inherit;font-size:.72rem;font-weight:850;cursor:pointer}
body[data-page="reseller-dashboard"] .rd-draft-heading{display:flex;align-items:center;justify-content:space-between;gap:18px}
body[data-page="reseller-dashboard"] .rd-draft-heading strong,body[data-page="reseller-dashboard"] .rd-draft-heading small{display:block}
body[data-page="reseller-dashboard"] .rd-draft-heading strong{color:#edf3fa;font-size:.92rem}
body[data-page="reseller-dashboard"] .rd-draft-heading small{margin-top:4px;color:#77879d;font-size:.7rem}
body[data-page="reseller-dashboard"] .rd-draft-playlists{display:grid;gap:13px}
body[data-page="reseller-dashboard"] .rd-draft-playlist{display:grid;gap:14px;padding:18px;border:1px solid #2b4363;border-radius:16px;background:#091827}
body[data-page="reseller-dashboard"] .rd-draft-card-head{display:flex;align-items:center;justify-content:space-between}
body[data-page="reseller-dashboard"] .rd-draft-number{color:#a9c1ff;font-size:.77rem;text-transform:uppercase;letter-spacing:.06em}
body[data-page="reseller-dashboard"] .rd-draft-remove{width:31px;height:31px;border:1px solid #563449;border-radius:9px;background:#261624;color:#e99aab;font-size:1rem;cursor:pointer}
body[data-page="reseller-dashboard"] .rd-draft-remove:disabled{opacity:.3;cursor:not-allowed}
body[data-page="reseller-dashboard"] .rd-draft-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(160px,.65fr);gap:12px}
body[data-page="reseller-dashboard"] .rd-draft-xtream{grid-template-columns:1.35fr .85fr .85fr}
body[data-page="reseller-dashboard"] .rd-draft-playlist input,body[data-page="reseller-dashboard"] .rd-draft-playlist select{width:100%;min-height:48px;padding:0 13px;border:1px solid #2b405d;border-radius:11px;background:#06111e;color:#e7edf6;font:inherit;font-size:.8rem;outline:0}
body[data-page="reseller-dashboard"] .rd-draft-playlist input:focus,body[data-page="reseller-dashboard"] .rd-draft-playlist select:focus{border-color:#6286df;box-shadow:0 0 0 3px rgba(78,117,214,.14)}
body[data-page="reseller-dashboard"] .rd-draft-playlist label>span{font-size:.73rem}
body[data-page="reseller-dashboard"] .rd-draft-m3u[hidden],body[data-page="reseller-dashboard"] .rd-draft-xtream[hidden]{display:none}
body[data-page="reseller-dashboard"] .rd-busy-button[aria-busy="true"]{pointer-events:none}
@media(max-width:760px){
  body[data-page="reseller-dashboard"] .rd-primary-actions{width:100%;justify-content:stretch}
  body[data-page="reseller-dashboard"] .rd-primary-actions .rd-button{flex:1;min-width:150px}
  body[data-page="reseller-dashboard"] .rd-plan-choice,body[data-page="reseller-dashboard"] .rd-draft-grid,body[data-page="reseller-dashboard"] .rd-draft-xtream{grid-template-columns:1fr}
  body[data-page="reseller-dashboard"] .rd-new-client-dialog{width:calc(100vw - 18px);max-height:calc(100vh - 18px)}
  body[data-page="reseller-dashboard"] .rd-draft-heading{align-items:stretch;flex-direction:column}
  body[data-page="reseller-dashboard"] .rd-operation-card .rd-dialog-actions{display:grid;grid-template-columns:1fr 1fr}
  body[data-page="reseller-dashboard"] .rd-transfer-dialog .rd-dialog-actions{grid-template-columns:1fr}
  body[data-page="reseller-dashboard"] .rd-step-indicator{gap:7px;padding:12px}
  body[data-page="reseller-dashboard"] .rd-step-indicator>span{gap:4px;font-size:.68rem}
}

/* =========================================================
   V1.7.9 — LISIBILITE PUBLIQUE ET HIERARCHIE TYPOGRAPHIQUE
   Les textes utiles restent confortables sans agrandir
   artificiellement les titres ni casser les petits ecrans.
   ========================================================= */
body:not([data-page="reseller-dashboard"]) {
  font-size: 16.5px;
}
body:not([data-page="reseller-dashboard"]) p {
  line-height: 1.68;
}

/* Navigation, actions et libelles communs. */
.nav-links { font-size: 16px; }
.language-current-code { font-size: 14px; }
.language-option-name { font-size: 15px; }
.language-status { font-size: 12.5px; line-height: 1.45; }
.btn { min-height: 44px; padding-inline: 19px; font-size: 16px; }
.eyebrow { font-size: 14px; line-height: 1.45; }
.badge { font-size: 14px; }
.micro { font-size: 14.5px; line-height: 1.65; }
.hero-proof { font-size: 15px; line-height: 1.55; }
.hero-legal { font-size: 14px; line-height: 1.68; }
.feature-list li { font-size: 16px; line-height: 1.55; }
.status { font-size: 13.5px; }
label { font-size: 15px; }
.help { font-size: 14.5px; line-height: 1.62; }
th { font-size: 14px; }
td { font-size: 15.5px; line-height: 1.55; }
.notice p { font-size: 15px; line-height: 1.65; }
.breadcrumb { font-size: 14.5px; }
.page-hero p,
.section-head > p,
.card > p,
.showcase-copy > p,
.device-body > p { font-size: 16.5px; line-height: 1.68; }

/* Pied de page et informations secondaires. */
.footer-col h2,
.footer-col h4 { font-size: 15px; }
.footer-col a { padding-block: 7px; font-size: 15.5px; }
.footer-brand p,
.cookie-banner p { font-size: 15px; line-height: 1.68; }
.footer-bottom { font-size: 14.5px; line-height: 1.6; }
.footer-legal-mini { font-size: 13.5px; line-height: 1.6; }
.stepper-item { font-size: 13.5px; }

/* Pages FAQ, support, revendeur et compatibilite. */
.faq-search-help { font-size: 14.5px; line-height: 1.55; }
.faq-group .accordion-btn { font-size: 16px; line-height: 1.45; }
.reseller-hero-note { font-size: 14.5px !important; line-height: 1.65; }
.reseller-step p { font-size: 16px; line-height: 1.65; }
.reseller-contact-mini strong { font-size: 15px; }
.reseller-contact-mini a { font-size: 16px; }
.reseller-check { font-size: 15px; line-height: 1.6; }
.compatibility-device-grid .device-body p { font-size: 15.5px; line-height: 1.65; }

/* Gestion des listes et categories. */
.playlist-manager-steps li > span { font-size: 13.5px; }
.playlist-manager-steps strong { font-size: 16px; }
.playlist-manager-steps p,
.playlist-activation-steps p { font-size: 15.5px !important; line-height: 1.65; }
.playlist-manager-form small,
.playlist-source-heading small,
.playlist-pin-reset-status small { font-size: 14.5px; line-height: 1.58; }
.playlist-workspace-head p { font-size: 15.5px; }
.playlist-workspace-toolbar span { font-size: 14.5px; }
.playlist-card-type { font-size: 14.5px; }
.playlist-card-detail { font-size: 15.5px; }
.playlist-type-selector legend { font-size: 15px; }
.playlist-type-choice span { font-size: 14.5px; line-height: 1.58; }
.playlist-category-order-message { font-size: 15px; }
.playlist-category-order-index { font-size: 14.5px; }
.playlist-category-order-name { font-size: 16px; }
.category-device-chip { font-size: 14.5px; }
.category-playlist-label { font-size: 13.5px; }
.category-playlist-identity small { font-size: 14.5px; }
.category-page-message { font-size: 15.5px; }
.category-manager-tab { min-height: 44px; font-size: 15px; }
.category-manager-counters { font-size: 14px; }
.category-manager-toolbar p { font-size: 15.5px; line-height: 1.65; }
.category-section-metrics { font-size: 13.5px; }
.category-row-identity strong { font-size: 16.5px; }
.category-row-identity small { font-size: 14px; line-height: 1.5; }
.category-visibility-switch { font-size: 14.5px; }
.category-manager-note strong { font-size: 15px; }
.category-manager-note p { font-size: 14.5px; line-height: 1.65; }
.category-action-button { min-height: 40px; font-size: 14px; }

/* Telechargement : titre centre et phrase sur une ligne quand l'espace existe. */
.download-platforms-section .platforms-heading {
  display: grid;
  width: 100%;
  max-width: none;
  justify-items: center;
  margin-inline: auto;
  margin-bottom: 24px;
  text-align: center;
}
.download-platforms-section .platforms-heading .eyebrow {
  justify-content: center;
}
.download-platforms-section .platforms-heading .eyebrow::after {
  content: "";
  width: 22px;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--gold));
}
.download-platforms-section .platforms-heading h2 {
  margin-top: 8px;
  font-size: clamp(30px, 3vw, 42px);
  letter-spacing: .045em;
}
.download-platforms-section .platforms-heading p {
  max-width: 1120px;
  font-size: 16.5px;
  line-height: 1.65;
}
.platform-badge { font-size: 13.5px; }
.platform-mobile-copy strong { font-size: clamp(14px, 1.15vw, 17px); }
.platform-mobile-copy small { font-size: 13px; }
.download-steps p { font-size: 16px; line-height: 1.65; }

/* Fenetre de telechargement : aucun texte utile en format miniature. */
.download-modal-card {
  width: min(860px, 100%);
  max-height: calc(100dvh - 28px);
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  overflow: hidden;
}
.download-modal-head { gap: 24px; padding: 28px 30px 24px; }
.download-modal-head h2 { font-size: clamp(30px, 3.3vw, 40px); }
.download-modal-head p { max-width: 680px; font-size: 16.5px; line-height: 1.65; }
.download-modal-body { padding: 26px 30px 30px; overflow-y: auto; }
.download-methods { gap: 14px; }
.download-method {
  grid-template-columns: 64px minmax(0, 1fr) auto;
  gap: 18px;
  padding: 17px;
}
.download-method-icon { width: 64px; height: 64px; }
.download-method-copy { gap: 5px; }
.download-method-copy strong { font-size: 19px; }
.download-method-copy small,
.download-method-detail { font-size: 15px; line-height: 1.55; }
.download-method-action,
.download-method-status { padding: 10px 15px; font-size: 14px; }
.download-modal-tools { margin-top: 19px; gap: 12px; }
.download-copy-status { min-height: 22px; font-size: 14px; }
.download-release-meta { margin-top: 19px; gap: 9px; }
.download-release-meta span { padding: 7px 11px; font-size: 14px; }
.download-integrity { margin-top: 18px; padding: 14px 16px; }
.download-integrity summary { font-size: 15px; }
.download-integrity p { font-size: 13.5px; line-height: 1.5; }
.download-integrity code { font-size: 13.5px; line-height: 1.65; }
.download-code-notice p { font-size: 15px; line-height: 1.65; }

@media (min-width: 1100px) {
  .download-platforms-section .platforms-heading p { white-space: nowrap; }
}

@media (max-width: 760px) {
  body:not([data-page="reseller-dashboard"]) { font-size: 16px; }
  .btn { min-height: 46px; font-size: 15.5px; }
  .micro,
  .breadcrumb,
  .footer-bottom { font-size: 14px; }
  .footer-legal-mini { font-size: 13px; }
  .download-platforms-section .platforms-heading { margin-bottom: 20px; }
  .download-platforms-section .platforms-heading h2 {
    font-size: clamp(27px, 8vw, 36px);
    letter-spacing: .025em;
  }
  .download-platforms-section .platforms-heading p {
    max-width: 36rem;
    font-size: 15.5px;
    white-space: normal;
  }
  .platform-badge { min-width: 82px; font-size: 13px; }
  .download-modal { padding: 8px; }
  .download-modal-card { max-height: calc(100dvh - 16px); }
  .download-modal-head { padding: 22px 20px 19px; }
  .download-modal-head h2 { font-size: clamp(27px, 7vw, 34px); }
  .download-modal-head p { font-size: 15.5px; }
  .download-modal-body { padding: 20px; }
  .download-method { grid-template-columns: 54px minmax(0, 1fr); gap: 13px; padding: 14px; }
  .download-method-icon { width: 54px; height: 54px; }
  .download-method-copy strong { font-size: 18px; }
  .download-method-copy small,
  .download-method-detail { font-size: 14.5px; }
  .download-method-action,
  .download-method-status { grid-column: 2; justify-self: start; font-size: 14px; }
  .download-release-meta span { font-size: 13.5px; }
}

/* V1.7.9 — plancher de lisibilite pour tous les textes utilitaires publics. */
body:not([data-page="reseller-dashboard"]) .breadcrumb,
body:not([data-page="reseller-dashboard"]) .breadcrumb a,
body:not([data-page="reseller-dashboard"]) .breadcrumb span {
  font-size: 14.5px;
}
body:not([data-page="reseller-dashboard"]) .footer-legal-mini,
body:not([data-page="reseller-dashboard"]) .footer-legal-mini a,
body:not([data-page="reseller-dashboard"]) .footer-legal-mini span,
body:not([data-page="reseller-dashboard"]) .stepper-item {
  font-size: 14px;
}
body:not([data-page="reseller-dashboard"]) .status,
body:not([data-page="reseller-dashboard"]) .platform-badge,
body:not([data-page="reseller-dashboard"]) .platform-mobile-copy small,
body:not([data-page="reseller-dashboard"]) .download-steps li > span,
body:not([data-page="reseller-dashboard"]) .download-hash-pending strong {
  font-size: 14px;
}
body[data-page="features"] .features-version-card span,
body[data-page="pricing"] .pricing-restoration-note,
body[data-page="pricing"] .pricing-form-link,
body[data-page="reseller"] .reseller-quick-benefits span,
body[data-page="reseller"] .reseller-auth-trust span,
body[data-page="reseller"] .reseller-password-rules span,
body[data-page="reseller"] .reseller-step-badge,
body[data-page="reseller"] .reseller-forgot-row button {
  font-size: 14px;
  line-height: 1.45;
}
body[data-page="download"] .download-integrity p,
body[data-page="download"] .download-integrity code {
  font-size: 14px;
}
body[data-page="home"] .step-num,
body[data-page="pricing"] .pricing-step-num {
  font-size: 14px;
}
body[data-page="playlists"] .playlist-manager-steps li > span,
body[data-page="playlists"] .playlist-activation-steps span,
body[data-page="categories"] .playlist-manager-steps li > span,
body[data-page="categories"] .playlist-activation-steps span {
  font-size: 14px;
}

@media (max-width: 760px) {
  body:not([data-page="reseller-dashboard"]) .breadcrumb,
  body:not([data-page="reseller-dashboard"]) .breadcrumb a,
  body:not([data-page="reseller-dashboard"]) .breadcrumb span,
  body:not([data-page="reseller-dashboard"]) .footer-legal-mini,
  body:not([data-page="reseller-dashboard"]) .footer-legal-mini a,
  body:not([data-page="reseller-dashboard"]) .footer-legal-mini span,
  body:not([data-page="reseller-dashboard"]) .stepper-item,
  body:not([data-page="reseller-dashboard"]) .platform-badge,
  body:not([data-page="reseller-dashboard"]) .download-release-meta span {
    font-size: 14px;
  }
  .platform-mobile-tile {
    gap: 6px;
    padding-inline: 6px;
  }
  .platform-mobile-icon {
    width: 58px;
    height: 44px;
  }
  .platform-mobile-copy strong {
    white-space: normal;
    font-size: 14px;
    line-height: 1.08;
  }
}

/* V186: the direct visitor offer is lifetime-only. */
.pricing-offers-grid:has(> .price-card:only-child) { grid-template-columns: minmax(0, 620px); justify-content: center; }
.pricing-offers-grid > .price-card:only-child { grid-column: 1 / -1; width: 100%; max-width: 620px; justify-self: center; transform: none; }

/* V190: translated header labels must fit the available width, including tablets. */
body[data-page="reseller-dashboard"] .rd-topbar {
  height: auto;
  min-height: 76px;
  flex-wrap: wrap;
  row-gap: 10px;
  padding-block: 12px;
}
body[data-page="reseller-dashboard"] .rd-topbar-title { min-width: 0; flex: 1 1 140px; }
body[data-page="reseller-dashboard"] .rd-topbar-title > div { min-width: 0; overflow-wrap: anywhere; }
body[data-page="reseller-dashboard"] .rd-topbar-actions { min-width: 0; max-width: 100%; flex-wrap: wrap; justify-content: flex-end; margin-inline-start: auto; }
@media (max-width: 760px) {
  body[data-page="reseller-dashboard"] .rd-topbar { min-height: 66px; padding-block: 8px; }
  body[data-page="reseller-dashboard"] .rd-topbar-title { flex: 0 0 auto; }
}

/* V194: public text remains comfortably readable on every screen. */
body:not([data-page="reseller-dashboard"]) {
  font-size: 17px;
}
body:not([data-page="reseller-dashboard"]) small,
body:not([data-page="reseller-dashboard"]) .micro,
body:not([data-page="reseller-dashboard"]) .eyebrow,
body:not([data-page="reseller-dashboard"]) .badge,
body:not([data-page="reseller-dashboard"]) .status,
body:not([data-page="reseller-dashboard"]) .breadcrumb,
body:not([data-page="reseller-dashboard"]) .footer-bottom,
body:not([data-page="reseller-dashboard"]) .footer-legal-mini,
body:not([data-page="reseller-dashboard"]) .stepper-item,
body:not([data-page="reseller-dashboard"]) .platform-badge,
body:not([data-page="reseller-dashboard"]) .download-release-meta span {
  font-size: 15px;
  line-height: 1.55;
}
body:not([data-page="reseller-dashboard"]) .nav-links,
body:not([data-page="reseller-dashboard"]) label,
body:not([data-page="reseller-dashboard"]) .footer-col a {
  font-size: 16px;
}
body:not([data-page="reseller-dashboard"]) .footer-col h2,
body:not([data-page="reseller-dashboard"]) .footer-col h4 {
  font-size: 16px;
}
body:not([data-page="reseller-dashboard"]) .page-hero p,
body:not([data-page="reseller-dashboard"]) .section-head > p,
body:not([data-page="reseller-dashboard"]) .card > p,
body:not([data-page="reseller-dashboard"]) .showcase-copy > p,
body:not([data-page="reseller-dashboard"]) .device-body > p {
  font-size: 17px;
}

/* Keep this home-page heading on one line when the viewport can support it. */
#experience .section-head {
  max-width: none;
}
#experience .section-head > p {
  max-width: 820px;
  margin-inline: auto;
}
@media (min-width: 1200px) {
  #experience .section-head h2 {
    white-space: nowrap;
  }
}

/* Reseller access heading and trust badges share one line on wide screens. */
@media (min-width: 1280px) {
  body[data-page="reseller"] .reseller-auth-layout {
    grid-template-columns: minmax(620px, 1.15fr) minmax(480px, .85fr);
    gap: 40px;
    max-width: 1240px;
  }
  body[data-page="reseller"] .reseller-auth-copy h2,
  body[data-page="reseller"] .reseller-auth-trust span {
    white-space: nowrap;
  }
  body[data-page="reseller"] .reseller-auth-trust {
    flex-wrap: nowrap;
  }
}

/* Cadre Revendeur légèrement plus large, sans changement des dimensions verticales. */
@media (min-width: 1360px) {
  body[data-page="reseller"] .reseller-auth-layout {
    grid-template-columns: minmax(620px, 1.05fr) minmax(600px, 1fr);
    max-width: 1400px;
  }
  body[data-page="reseller"] .reseller-password-rules span {
    /* Garder la hauteur des trois lignes initiales après élargissement. */
    box-sizing: content-box;
    min-block-size: 3lh;
  }
}

/* Compact, slow-moving reseller information strip. */
body[data-page="reseller"] .reseller-portal-note {
  width: min(820px, 100%);
  max-width: 820px;
  padding: 12px 0;
  overflow: hidden;
}
body[data-page="reseller"] .reseller-note-ticker {
  width: 100%;
  overflow: hidden;
}
body[data-page="reseller"] .reseller-note-ticker-track {
  display: flex;
  width: max-content;
  align-items: center;
  animation: reseller-note-scroll 90s linear infinite;
  will-change: transform;
}
body[data-page="reseller"] .reseller-note-ticker-track span {
  flex: 0 0 auto;
  padding-inline: 28px 76px;
  color: inherit;
  font-size: 16px;
  line-height: 1.5;
  white-space: nowrap;
}
body[data-page="reseller"] .reseller-portal-note:hover .reseller-note-ticker-track,
body[data-page="reseller"] .reseller-portal-note:focus-within .reseller-note-ticker-track {
  animation-play-state: paused;
}
@keyframes reseller-note-scroll {
  from { transform: translateX(-50%); }
  to { transform: translateX(0); }
}
@media (prefers-reduced-motion: reduce) {
  body[data-page="reseller"] .reseller-note-ticker-track {
    width: auto;
    animation: none;
  }
  body[data-page="reseller"] .reseller-note-ticker-track span:first-child {
    padding-inline: 20px;
    white-space: normal;
  }
  body[data-page="reseller"] .reseller-note-ticker-track span[aria-hidden="true"] {
    display: none;
  }
}
@media (max-width: 760px) {
  body[data-page="reseller"] .reseller-portal-note {
    width: 100%;
  }
  body[data-page="reseller"] .reseller-note-ticker-track span {
    font-size: 15px;
  }
}

/* V195: every actionable control gives visible motion feedback without shifting layout. */
:is(
  button,
  a[href],
  input[type="button"],
  input[type="submit"],
  input[type="reset"],
  a.btn,
  a.rd-button,
  a.rd-icon-button,
  a.rd-nav-item,
  a.rd-credit-counter,
  a.reseller-dashboard-tool,
  a.category-back-link,
  a.back-to-top,
  [role="button"],
  summary
):not(:disabled):not([aria-disabled="true"]):not([aria-busy="true"]):not(.is-loading) {
  transform-origin: center;
  transition-property: all;
  transition-duration: .18s;
  transition-timing-function: cubic-bezier(.2,.8,.2,1);
  will-change: translate, scale;
}
:is(
  button,
  a[href],
  input[type="button"],
  input[type="submit"],
  input[type="reset"],
  a.btn,
  a.rd-button,
  a.rd-icon-button,
  a.rd-nav-item,
  a.rd-credit-counter,
  a.reseller-dashboard-tool,
  a.category-back-link,
  a.back-to-top,
  [role="button"],
  summary
):not(:disabled):not([aria-disabled="true"]):not([aria-busy="true"]):not(.is-loading):hover,
:is(
  button,
  a[href],
  input[type="button"],
  input[type="submit"],
  input[type="reset"],
  a.btn,
  a.rd-button,
  a.rd-icon-button,
  a.rd-nav-item,
  a.rd-credit-counter,
  a.reseller-dashboard-tool,
  a.category-back-link,
  a.back-to-top,
  [role="button"],
  summary
):not(:disabled):not([aria-disabled="true"]):not([aria-busy="true"]):not(.is-loading):focus-visible {
  translate: 0 -2px;
  scale: 1.015;
  filter: brightness(1.07);
}
:is(
  button,
  a[href],
  input[type="button"],
  input[type="submit"],
  input[type="reset"],
  a.btn,
  a.rd-button,
  a.rd-icon-button,
  a.rd-nav-item,
  a.rd-credit-counter,
  a.reseller-dashboard-tool,
  a.category-back-link,
  a.back-to-top,
  [role="button"],
  summary
):not(:disabled):not([aria-disabled="true"]):not([aria-busy="true"]):not(.is-loading):active {
  translate: 0 1px;
  scale: .97;
  filter: brightness(.94);
  transition-duration: .07s;
}
@media (prefers-reduced-motion: reduce) {
  :is(button, a[href], input[type="button"], input[type="submit"], input[type="reset"], a.btn, a.rd-button, a.rd-icon-button, a.rd-nav-item, a.rd-credit-counter, a.reseller-dashboard-tool, a.category-back-link, a.back-to-top, [role="button"], summary) {
    translate: none !important;
    scale: none !important;
    transition: none !important;
  }
}

/* Point 1 : survol et focus verts sur les commandes du panel Revendeur. */
body[data-page="reseller-dashboard"] :is(button, a[href], label.rd-button, input[type="button"], input[type="submit"], input[type="reset"], [role="button"], summary):not(:disabled):not([aria-disabled="true"]):not([aria-busy="true"]):not(.is-loading):is(:hover, :focus-visible) {
  border-color: #48d99b !important;
  background: #123c30 !important;
  color: #c7ffe2 !important;
  box-shadow: 0 0 0 3px rgba(72,217,155,.22), 0 8px 18px rgba(0,0,0,.17) !important;
  transition-property: transform, translate, scale, filter;
}
body[data-page="reseller-dashboard"] :is(button, a[href], input, select, textarea, [role="button"], summary):not(:disabled):not([aria-disabled="true"]):not([aria-busy="true"]):not(.is-loading):focus-visible {
  outline: 2px solid #48d99b !important;
  outline-offset: 3px;
  transition: none !important;
}
body[data-page="reseller-dashboard"] :is(input:not([type="hidden"]), select, textarea):not(:disabled):not([aria-disabled="true"]):is(:hover, :focus-visible) {
  border-color: #48d99b !important;
  accent-color: #48d99b;
  box-shadow: 0 0 0 3px rgba(72,217,155,.22) !important;
}
body[data-page="reseller-dashboard"] .rd-toggle-row:has(input:not(:disabled)):hover i,
body[data-page="reseller-dashboard"] .rd-toggle-row input:not(:disabled):focus-visible + i {
  border-color: #48d99b;
  box-shadow: 0 0 0 3px rgba(72,217,155,.22);
}
body[data-page="reseller-dashboard"] .rd-column-resizer:is(:hover, :focus-visible)::before {
  background: #48d99b;
  box-shadow: 0 0 0 1px rgba(72,217,155,.22), 0 0 10px rgba(72,217,155,.42);
}

/* Point 2 : formulaire de playlist en pleine page, dans le panel existant. */
body[data-page="reseller-dashboard"] .rd-playlist-page { width: 100%; }
body[data-page="reseller-dashboard"] .rd-playlist-page [hidden] { display: none !important; }
body[data-page="reseller-dashboard"] .rd-playlist-back { display: inline-flex; align-items: center; gap: 10px; margin-bottom: 22px; }
body[data-page="reseller-dashboard"] .rd-playlist-page-header { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 16px 32px; border: 1px solid #304765; border-radius: 22px; background: radial-gradient(ellipse at 95% 0,rgba(79,91,202,.18),transparent 65%),linear-gradient(120deg,#122239,#0c1727); box-shadow: 0 16px 40px rgba(0,0,0,.12); }
body[data-page="reseller-dashboard"] .rd-playlist-heading-copy { min-width: 0; }
body[data-page="reseller-dashboard"] .rd-playlist-heading-copy h1 { margin: 10px 0 0; color: #eef4ff; font-size: clamp(1.55rem,2.4vw,2rem); line-height: 1.25; letter-spacing: -.035em; }
body[data-page="reseller-dashboard"] .rd-playlist-device { display: flex; align-items: center; gap: 14px; flex-shrink: 0; padding: 15px 20px; border: 1px solid #354b6b; border-radius: 15px; background: rgba(8,18,32,.45); }
body[data-page="reseller-dashboard"] .rd-playlist-device-icon { display: grid; place-items: center; width: 40px; height: 40px; border-radius: 12px; background: #1b3456; color: #a7bdff; }
body[data-page="reseller-dashboard"] .rd-playlist-device-icon svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
body[data-page="reseller-dashboard"] .rd-playlist-device > div { display: grid; gap: 4px; }
body[data-page="reseller-dashboard"] .rd-playlist-device > div > span { color: #a2b3cd; font-size: .75rem; }
body[data-page="reseller-dashboard"] .rd-playlist-device strong { color: #d3e0ff; font-size: .95rem; letter-spacing: .035em; }
body[data-page="reseller-dashboard"] .rd-playlist-page .rd-playlist-form { gap: 28px; margin-top: 22px; padding: 32px; border: 1px solid #2a405d; border-radius: 22px; background: linear-gradient(145deg,#101e30,#0b1625); box-shadow: 0 18px 48px rgba(0,0,0,.13); }
body[data-page="reseller-dashboard"] .rd-playlist-page .rd-playlist-form label { display: grid; align-content: start; gap: 10px; min-width: 0; color: #ced9ed; font-size: .875rem; font-weight: 650; }
body[data-page="reseller-dashboard"] .rd-playlist-page .rd-playlist-form :is(input:not([type="checkbox"]),select) { width: 100%; min-width: 0; min-height: 54px; padding: 14px 16px; border: 1px solid #344a69; border-radius: 12px; background: #091422; color: #eef4ff; font: inherit; font-size: .95rem; font-weight: 450; box-shadow: inset 0 2px 5px rgba(0,0,0,.1); }
body[data-page="reseller-dashboard"] .rd-playlist-page .rd-playlist-form input::placeholder { color: #7387a4; }
body[data-page="reseller-dashboard"] .rd-playlist-page .rd-playlist-form small { color: #9badc8; font-size: .8rem; line-height: 1.5; font-weight: 400; }
body[data-page="reseller-dashboard"] .rd-playlist-identity-fields, body[data-page="reseller-dashboard"] .rd-playlist-page .rd-playlist-fields { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px; }
body[data-page="reseller-dashboard"] .rd-playlist-page .rd-playlist-server-field { grid-column: 1 / -1; }
body[data-page="reseller-dashboard"] .rd-playlist-security { padding: 22px 24px; border: 1px solid #2c4563; border-radius: 16px; background: rgba(25,47,73,.3); }
body[data-page="reseller-dashboard"] .rd-playlist-page .rd-playlist-form .rd-toggle-line { display: flex; align-items: center; gap: 12px; margin: 0; cursor: pointer; }
body[data-page="reseller-dashboard"] .rd-playlist-page .rd-toggle-line input { flex: 0 0 20px; width: 20px; height: 20px; accent-color: #48d99b; }
body[data-page="reseller-dashboard"] .rd-playlist-page .rd-playlist-pin-fields { margin-top: 22px; gap: 24px; }
body[data-page="reseller-dashboard"] .rd-playlist-page .rd-playlist-form-actions { margin-top: 0; padding-top: 24px; border-top: 1px solid #263c57; gap: 12px; }
body[data-page="reseller-dashboard"] .rd-playlist-page .rd-playlist-form-actions .rd-button { min-width: 140px; min-height: 50px; }
body[data-page="reseller-dashboard"] .rd-playlist-password-control { position: relative; min-width: 0; }
body[data-page="reseller-dashboard"] .rd-playlist-password-control > input { padding-inline-end: 56px !important; }
body[data-page="reseller-dashboard"] .rd-playlist-password-control > .rd-playlist-visibility { position: absolute; inset-inline-end: 8px; top: 8px; display: grid; place-items: center; width: 38px; height: 38px; min-height: 0; padding: 8px; border: 1px solid transparent; border-radius: 9px; background: #16283e; color: #a9bddc; cursor: pointer; }
body[data-page="reseller-dashboard"] .rd-playlist-visibility svg { width: 21px; height: 21px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
body[data-page="reseller-dashboard"] .rd-playlist-dialog > .rd-toast,
body[data-page="reseller-dashboard"] #rd-playlist-pin-form > .rd-toast,
body[data-page="reseller-dashboard"]:has(.rd-playlist-page.active) > .rd-toast { display: none; position: fixed; inset: auto; inset-inline-end: 24px; bottom: 24px; width: max-content; min-width: 0; max-width: min(360px,calc(100% - 48px)); margin: 0; padding: 15px 18px; align-items: center; gap: 12px; border: 1px solid #38546b; border-radius: 16px; background: linear-gradient(135deg,#15263a,#0c1828); color: #e8f1ff; box-shadow: 0 16px 42px rgba(0,0,0,.4),inset 0 1px rgba(255,255,255,.04); font-size: .8rem; font-weight: 650; line-height: 1.5; overflow-wrap: anywhere; z-index: 300; }
body[data-page="reseller-dashboard"] .rd-playlist-dialog > .rd-toast.show,
body[data-page="reseller-dashboard"] #rd-playlist-pin-form > .rd-toast.show,
body[data-page="reseller-dashboard"]:has(.rd-playlist-page.active) > .rd-toast.show { display: flex; }
body[data-page="reseller-dashboard"] .rd-playlist-dialog > .rd-toast.error,
body[data-page="reseller-dashboard"] #rd-playlist-pin-form > .rd-toast.error,
body[data-page="reseller-dashboard"]:has(.rd-playlist-page.active) > .rd-toast.error { border-color: #754459; background: linear-gradient(135deg,#281c2c,#111c2d); color: #ffe4eb; }
body[data-page="reseller-dashboard"] .rd-playlist-dialog > .rd-toast::before,
body[data-page="reseller-dashboard"] #rd-playlist-pin-form > .rd-toast::before,
body[data-page="reseller-dashboard"]:has(.rd-playlist-page.active) > .rd-toast::before { content: '✓'; display: grid; place-items: center; flex: 0 0 26px; width: 26px; height: 26px; border-radius: 50%; background: #173c32; color: #70e2ae; font-size: .875rem; font-weight: 800; }
body[data-page="reseller-dashboard"] .rd-playlist-dialog > .rd-toast.error::before,
body[data-page="reseller-dashboard"] #rd-playlist-pin-form > .rd-toast.error::before,
body[data-page="reseller-dashboard"]:has(.rd-playlist-page.active) > .rd-toast.error::before { content: '!'; background: #482c3d; color: #ffa9c0; }
body[data-page="reseller-dashboard"] .rd-playlist-dialog:has(#rd-playlist-pin-modal:not([hidden])) { overflow: visible; }
body[data-page="reseller-dashboard"] #rd-playlist-pin-form { position: relative; }
body[data-page="reseller-dashboard"] #rd-playlist-pin-form > .rd-toast { position: absolute; inset-inline-end: auto; left: 50%; bottom: calc(100% + 12px); max-width: min(360px,100%); translate: -50% 0; transform: none; }

/* V1.7.28 — tableau Revendeur : lecture directe des appareils */
body[data-page="reseller-dashboard"] .rd-number-column{width:82px;color:#fff!important;font-size:.82rem}
body[data-page="reseller-dashboard"] .rd-row-number{width:82px;color:#fff!important;font-size:1.02rem!important;font-weight:900}
body[data-page="reseller-dashboard"] .rd-device-cell{display:block;min-width:215px}
body[data-page="reseller-dashboard"] .rd-device-cell strong{color:#ffd45d!important;font-weight:900}
body[data-page="reseller-dashboard"] .rd-status-badge.trial{background:#493617;color:#edc270}
body[data-page="reseller-dashboard"] .rd-status-badge.active{background:#12382f;color:#75ddb0}
body[data-page="reseller-dashboard"] .rd-status-badge.expired{background:#45202c;color:#f59bb0}
body[data-page="reseller-dashboard"] .rd-playlist-confirm-name { color: #fff; font-size: .95rem; overflow-wrap: anywhere; }

/* Lecture confortable dans la gestion des listes de lecture. */
body[data-page="reseller-dashboard"] .rd-playlist-dialog .rd-dialog-kicker { font-size: .82rem; }
body[data-page="reseller-dashboard"] .rd-playlist-dialog h2 { font-size: 1.48rem; }
body[data-page="reseller-dashboard"] .rd-playlist-dialog .rd-dialog-heading > p { font-size: .88rem; }
body[data-page="reseller-dashboard"] .rd-playlist-dialog .rd-dialog-heading > p strong { padding: 6px 10px; color: #e7efff; font-size: .92rem; }
body[data-page="reseller-dashboard"] .rd-playlist-dialog .rd-playlist-toolbar { padding: 20px; }
body[data-page="reseller-dashboard"] .rd-playlist-dialog .rd-playlist-toolbar strong { font-size: 1.04rem; }
body[data-page="reseller-dashboard"] .rd-playlist-dialog .rd-playlist-toolbar small { font-size: .84rem; }
body[data-page="reseller-dashboard"] .rd-playlist-dialog .rd-playlist-toolbar .rd-button { min-height: 48px; padding-inline: 19px; font-size: .9rem; }
body[data-page="reseller-dashboard"] .rd-playlist-dialog .rd-playlist-item { padding: 18px 20px; }
body[data-page="reseller-dashboard"] .rd-playlist-dialog .rd-playlist-item strong { font-size: 1rem; }
body[data-page="reseller-dashboard"] .rd-playlist-dialog .rd-playlist-item > div:first-child > span:not(.rd-playlist-item-number):not(.rd-playlist-protected) { font-size: .86rem; }
body[data-page="reseller-dashboard"] .rd-playlist-dialog .rd-playlist-item small { font-size: .79rem; }
body[data-page="reseller-dashboard"] .rd-playlist-dialog .rd-playlist-item .rd-playlist-item-number { width: 34px; height: 34px; inset-inline-start: -45px; font-size: .88rem; }
body[data-page="reseller-dashboard"] .rd-playlist-dialog .rd-playlist-item .rd-playlist-protected { padding: 5px 9px; font-size: .74rem; }
body[data-page="reseller-dashboard"] .rd-playlist-dialog .rd-playlist-item-actions button { min-height: 42px; padding-inline: 15px; font-size: .84rem; }
@media (max-width: 760px) {
  body[data-page="reseller-dashboard"] .rd-playlist-dialog .rd-playlist-item .rd-playlist-item-number { width: 30px; height: 30px; inset-inline-start: -38px; font-size: .78rem; }
}

/* Fenêtre des actions : fond bleu nuit et lecture plus confortable. */
body[data-page="reseller-dashboard"] .rd-actions-dialog { width: min(620px,calc(100vw - 28px)); max-height: calc(100dvh - 28px); overflow: auto; }
body[data-page="reseller-dashboard"] .rd-actions-dialog .rd-dialog-card { padding: 32px; border-color: #354e77; background: linear-gradient(145deg,#0d2041,#08152e); }
body[data-page="reseller-dashboard"] .rd-actions-dialog .rd-dialog-kicker { padding-inline-end: 32px; font-size: .8rem; }
body[data-page="reseller-dashboard"] .rd-actions-dialog h2 { font-size: 1.5rem; }
body[data-page="reseller-dashboard"] .rd-actions-dialog p { color: #c1cfe3; font-size: .9rem; }
body[data-page="reseller-dashboard"] #rd-actions-code { color: #fff; font-size: 1rem; font-weight: 800; letter-spacing: .04em; }
body[data-page="reseller-dashboard"] .rd-actions-dialog .rd-device-action-list { gap: 12px; }
body[data-page="reseller-dashboard"] .rd-actions-dialog .rd-device-action { min-height: 84px; padding: 15px 16px; background: #0b1b35; }
body[data-page="reseller-dashboard"] .rd-actions-dialog .rd-device-action strong { font-size: .95rem; }
body[data-page="reseller-dashboard"] .rd-actions-dialog .rd-device-action small { color: #a5b7d2; font-size: .82rem; line-height: 1.5; }
@media (max-width: 700px) {
  body[data-page="reseller-dashboard"] .rd-actions-dialog .rd-dialog-card { padding: 28px 20px 22px; }
}
@media (max-width: 700px) {
  body[data-page="reseller-dashboard"] .rd-playlist-page-header { align-items: stretch; flex-direction: column; gap: 22px; padding: 16px 20px; }
  body[data-page="reseller-dashboard"] .rd-playlist-device { align-self: flex-start; }
  body[data-page="reseller-dashboard"] .rd-playlist-page .rd-playlist-form { padding: 24px 18px; gap: 24px; }
  body[data-page="reseller-dashboard"] .rd-playlist-identity-fields, body[data-page="reseller-dashboard"] .rd-playlist-page .rd-playlist-fields, body[data-page="reseller-dashboard"] .rd-playlist-page .rd-playlist-pin-fields { grid-template-columns: minmax(0,1fr); gap: 22px; }
  body[data-page="reseller-dashboard"] .rd-playlist-security { padding: 20px 16px; }
  body[data-page="reseller-dashboard"] .rd-playlist-page .rd-playlist-form-actions .rd-button { flex: 1; min-width: 0; }
}
