.watch-party-nav-link { color: rgba(255,255,255,.78); }
.watch-party-nav-link::after { background: linear-gradient(90deg, #e50914, #7c5cff); }

.watch-party-layer {
  position: fixed;
  z-index: 4200;
  inset: 0;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 24px;
}
.watch-party-layer.open { display: flex; }
.watch-party-backdrop { position: absolute; inset: 0; background: rgba(0,0,0,.78); backdrop-filter: blur(18px); -webkit-backdrop-filter: blur(18px); }
.watch-party-panel {
  position: relative;
  width: min(980px, 100%);
  max-height: min(880px, calc(100vh - 42px));
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.15);
  border-radius: 24px;
  color: #fff;
  background:
    radial-gradient(circle at 88% 0%, rgba(124,92,255,.18), transparent 35%),
    radial-gradient(circle at 0% 100%, rgba(229,9,20,.18), transparent 34%),
    rgba(9,9,12,.94);
  box-shadow: 0 34px 120px rgba(0,0,0,.72);
}
.watch-party-head { min-height: 74px; display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 0 24px; border-bottom: 1px solid rgba(255,255,255,.08); }
.watch-party-head div { display: grid; gap: 3px; }
.watch-party-head span { color: #ff4a58; font-size: 9px; font-weight: 900; letter-spacing: .2em; }
.watch-party-head strong { font-size: 19px; letter-spacing: -.03em; }
.watch-party-close { width: 38px; height: 38px; border: 1px solid rgba(255,255,255,.14); border-radius: 50%; background: rgba(255,255,255,.05); color: #fff; cursor: pointer; }
.watch-party-content { max-height: calc(min(880px, 100vh - 42px) - 74px); overflow: auto; padding: 24px; }
.watch-party-lobby { display: grid; grid-template-columns: 1.15fr .85fr; gap: 18px; }
.watch-party-card { border: 1px solid rgba(255,255,255,.1); border-radius: 18px; padding: 20px; background: rgba(255,255,255,.035); }
.watch-party-card h3 { margin: 0 0 7px; font-size: 18px; }
.watch-party-card p { margin: 0 0 18px; color: rgba(255,255,255,.55); font-size: 11px; line-height: 1.55; }
.watch-party-label { display: grid; gap: 7px; color: rgba(255,255,255,.7); font-size: 10px; font-weight: 700; }
.watch-party-select, .watch-party-input, .watch-party-chat-input {
  width: 100%; min-height: 46px; border: 1px solid rgba(255,255,255,.12); border-radius: 12px; padding: 0 13px; outline: 0; color: #fff; background: rgba(0,0,0,.26);
}
.watch-party-select:focus, .watch-party-input:focus, .watch-party-chat-input:focus { border-color: rgba(229,9,20,.65); box-shadow: 0 0 0 3px rgba(229,9,20,.1); }
.watch-party-code-input { text-transform: uppercase; letter-spacing: .18em; font-weight: 850; }
.watch-party-primary, .watch-party-secondary { min-height: 44px; border-radius: 12px; padding: 0 16px; color: #fff; font: inherit; font-size: 10px; font-weight: 800; cursor: pointer; }
.watch-party-primary { border: 1px solid rgba(229,9,20,.55); background: linear-gradient(135deg, #e50914, #a0000b); box-shadow: 0 12px 30px rgba(229,9,20,.18); }
.watch-party-secondary { border: 1px solid rgba(255,255,255,.14); background: rgba(255,255,255,.055); }
.watch-party-actions { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 14px; }
.watch-party-status { min-height: 18px; margin: 10px 0 0; color: rgba(255,255,255,.55); font-size: 10px; }
.watch-party-status.error { color: #ff7d85; }
.watch-party-room { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(280px, .65fr); gap: 18px; }
.watch-party-media { position: relative; min-height: 270px; overflow: hidden; border: 1px solid rgba(255,255,255,.11); border-radius: 20px; background: #09090c; }
.watch-party-media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: .52; }
.watch-party-media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(4,4,6,.95), rgba(4,4,6,.48)), linear-gradient(180deg, transparent, rgba(4,4,6,.9)); }
.watch-party-media-copy { position: relative; z-index: 2; min-height: 270px; display: flex; flex-direction: column; justify-content: flex-end; padding: 24px; }
.watch-party-room-code { display: inline-flex; align-items: center; width: fit-content; min-height: 28px; margin-bottom: 11px; border: 1px solid rgba(255,255,255,.16); border-radius: 999px; padding: 0 10px; background: rgba(0,0,0,.35); font-size: 9px; font-weight: 850; letter-spacing: .14em; }
.watch-party-media-copy h2 { margin: 0; font-size: clamp(28px, 4vw, 48px); line-height: .95; letter-spacing: -.055em; }
.watch-party-media-copy p { max-width: 620px; margin: 11px 0 0; color: rgba(255,255,255,.64); font-size: 11px; line-height: 1.55; }
.watch-party-sync { margin-top: 14px; color: rgba(255,255,255,.72); font-size: 10px; }
.watch-party-side { display: grid; gap: 14px; }
.watch-party-box { border: 1px solid rgba(255,255,255,.1); border-radius: 17px; padding: 15px; background: rgba(255,255,255,.035); }
.watch-party-box-head { display: flex; justify-content: space-between; gap: 12px; margin-bottom: 11px; }
.watch-party-box-head strong { font-size: 12px; }
.watch-party-box-head span { color: rgba(255,255,255,.44); font-size: 9px; }
.watch-party-participants { display: flex; flex-wrap: wrap; gap: 6px; }
.watch-party-participant { min-height: 27px; display: inline-flex; align-items: center; padding: 0 9px; border: 1px solid rgba(255,255,255,.1); border-radius: 999px; background: rgba(255,255,255,.04); font-size: 9px; }
.watch-party-chat { height: 270px; overflow: auto; display: grid; align-content: start; gap: 8px; padding-right: 4px; }
.watch-party-message { display: grid; gap: 2px; padding: 9px 10px; border-radius: 11px; background: rgba(255,255,255,.045); }
.watch-party-message strong { font-size: 9px; }
.watch-party-message span { color: rgba(255,255,255,.68); font-size: 10px; line-height: 1.45; word-break: break-word; }
.watch-party-chat-form { display: grid; grid-template-columns: 1fr auto; gap: 8px; margin-top: 10px; }
.watch-party-chat-input { min-height: 40px; }
.watch-party-chat-form button { min-width: 44px; border: 1px solid rgba(229,9,20,.5); border-radius: 11px; background: #e50914; color: #fff; cursor: pointer; }
.watch-party-empty { color: rgba(255,255,255,.43); font-size: 10px; text-align: center; padding: 25px 8px; }
.watch-party-active-pill { position: fixed; z-index: 1800; right: 20px; bottom: 24px; display: none; align-items: center; gap: 8px; min-height: 42px; border: 1px solid rgba(229,9,20,.48); border-radius: 999px; padding: 0 14px; background: rgba(12,12,15,.86); color: #fff; box-shadow: 0 14px 45px rgba(0,0,0,.45); backdrop-filter: blur(15px); cursor: pointer; font-size: 10px; font-weight: 800; }
.watch-party-active-pill.show { display: inline-flex; }
.watch-party-active-pill i { width: 7px; height: 7px; border-radius: 50%; background: #e50914; box-shadow: 0 0 0 5px rgba(229,9,20,.13); }
@media (max-width: 800px) {
  .watch-party-lobby, .watch-party-room { grid-template-columns: 1fr; }
  .watch-party-layer { padding: 10px; }
  .watch-party-content { padding: 15px; }
  .watch-party-panel { border-radius: 18px; }
  .watch-party-chat { height: 210px; }
  .watch-party-nav-link { display: none; }
}

/* V40.3 — Watch Party avancée */
.watch-party-card-kicker { display:block; margin-bottom:8px; color:#ff5360; font-size:8px; font-weight:900; letter-spacing:.2em; }
.watch-party-code-line { display:flex; align-items:center; flex-wrap:wrap; gap:8px; margin-bottom:11px; }
.watch-party-code-line .watch-party-room-code { margin-bottom:0; }
.watch-party-lock-state { min-height:28px; display:inline-flex; align-items:center; padding:0 10px; border:1px solid rgba(255,255,255,.13); border-radius:999px; background:rgba(0,0,0,.28); color:rgba(255,255,255,.66); font-size:8px; font-weight:800; }
.watch-party-readiness { display:grid; gap:7px; width:min(420px,100%); margin-top:16px; }
.watch-party-readiness > span { color:rgba(255,255,255,.68); font-size:9px; font-weight:750; }
.watch-party-readiness > div { height:6px; overflow:hidden; border-radius:999px; background:rgba(255,255,255,.1); }
.watch-party-readiness > div i { display:block; height:100%; border-radius:inherit; background:linear-gradient(90deg,#e50914,#ff6671); box-shadow:0 0 18px rgba(229,9,20,.35); transition:width .3s ease; }
.watch-party-host-controls { display:flex; flex-wrap:wrap; gap:9px; margin-top:10px; }
.watch-party-ready-button { min-height:42px; width:fit-content; margin-top:11px; border:1px solid rgba(255,255,255,.16); border-radius:12px; padding:0 16px; color:#fff; background:rgba(255,255,255,.06); font:inherit; font-size:10px; font-weight:850; cursor:pointer; }
.watch-party-ready-button.ready { border-color:rgba(62,211,139,.55); background:rgba(35,151,95,.18); color:#a9f5cd; box-shadow:0 0 25px rgba(62,211,139,.13); }
.watch-party-participants-list { display:grid; gap:8px; }
.watch-party-participant-row { display:grid; grid-template-columns:34px minmax(0,1fr) auto auto; align-items:center; gap:9px; min-height:48px; padding:7px 8px; border:1px solid rgba(255,255,255,.08); border-radius:12px; background:rgba(255,255,255,.03); }
.watch-party-participant-avatar { width:34px; height:34px; display:grid; place-items:center; border-radius:10px; background:linear-gradient(145deg,#e50914,#401016); color:#fff; font-size:12px; font-weight:900; }
.watch-party-participant-name { min-width:0; display:grid; gap:2px; }
.watch-party-participant-name strong { overflow:hidden; color:#fff; font-size:10px; text-overflow:ellipsis; white-space:nowrap; }
.watch-party-participant-name small { color:rgba(255,255,255,.46); font-size:8px; }
.watch-party-ready-dot { width:9px; height:9px; border-radius:50%; background:#5b5b65; box-shadow:0 0 0 4px rgba(255,255,255,.04); }
.watch-party-ready-dot.ready { background:#43d790; box-shadow:0 0 0 4px rgba(67,215,144,.1),0 0 15px rgba(67,215,144,.4); }
.watch-party-kick { min-height:29px; border:1px solid rgba(255,92,103,.24); border-radius:8px; padding:0 8px; background:rgba(255,72,85,.07); color:#ff9ca3; font:inherit; font-size:7px; font-weight:800; cursor:pointer; }
.watch-party-countdown-inline { width:fit-content; margin-top:12px; padding:8px 11px; border:1px solid rgba(255,255,255,.15); border-radius:10px; background:rgba(0,0,0,.36); color:#fff; font-size:12px; font-weight:900; letter-spacing:.04em; animation:partyCountdownPulse .8s ease-in-out infinite alternate; }
@keyframes partyCountdownPulse { to { transform:scale(1.03); box-shadow:0 0 30px rgba(229,9,20,.22); } }

/* V40.3 — couches plein écran génériques */
.feature-full-layer { position:fixed; z-index:4100; inset:0; display:none; overflow:auto; color:#fff; background:radial-gradient(circle at 12% -4%,rgba(229,9,20,.13),transparent 34%),radial-gradient(circle at 92% 12%,rgba(124,92,255,.1),transparent 28%),linear-gradient(180deg,#09090c,#050506); }
.feature-full-layer.open { display:block; animation:featureLayerIn .26s ease both; }
@keyframes featureLayerIn { from { opacity:0; transform:translateY(8px); } }
.feature-layer-head { position:sticky; z-index:20; top:0; width:100%; min-height:72px; display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:18px; padding:0 max(18px,calc((100vw - 1240px)/2)); border-bottom:1px solid rgba(255,255,255,.08); background:rgba(7,7,10,.78); backdrop-filter:blur(24px) saturate(145%); -webkit-backdrop-filter:blur(24px) saturate(145%); }
.feature-layer-head > div { display:grid; justify-items:center; gap:2px; }
.feature-layer-head > div span { color:#ff4451; font-size:8px; font-weight:900; letter-spacing:.2em; }
.feature-layer-head > div strong { font-size:14px; }
.feature-back,.feature-head-action { min-height:38px; width:fit-content; border:1px solid rgba(255,255,255,.12); border-radius:11px; padding:0 13px; background:rgba(255,255,255,.04); color:#fff; font:inherit; font-size:9px; font-weight:800; cursor:pointer; }
.feature-back { justify-self:start; }
.feature-head-action { justify-self:end; border-color:rgba(229,9,20,.32); background:rgba(229,9,20,.1); }
.feature-layer-content { width:min(1240px,calc(100% - 34px)); margin:0 auto; padding:54px 0 90px; }
.feature-empty { padding:36px 20px; border:1px dashed rgba(255,255,255,.13); border-radius:17px; color:rgba(255,255,255,.46); text-align:center; font-size:10px; }

/* V40.3 — statistiques personnelles */
.statistics-nav-link { color:rgba(255,255,255,.78); }
.statistics-nav-link::after { background:linear-gradient(90deg,#e50914,#ff6671); }
.stats-hero { display:flex; align-items:flex-end; justify-content:space-between; gap:24px; margin-bottom:28px; }
.stats-kicker { color:#ff4451; font-size:8px; font-weight:900; letter-spacing:.2em; }
.stats-hero h1 { margin:8px 0 10px; font-size:clamp(36px,5vw,68px); line-height:.92; letter-spacing:-.055em; }
.stats-hero p { max-width:650px; margin:0; color:rgba(255,255,255,.54); font-size:11px; line-height:1.65; }
.cloud-sync-chip { min-height:34px; display:inline-flex; align-items:center; gap:8px; border:1px solid rgba(255,255,255,.1); border-radius:999px; padding:0 11px; background:rgba(255,255,255,.035); color:rgba(255,255,255,.6); white-space:nowrap; font-size:8px; font-weight:800; }
.cloud-sync-chip i { width:7px; height:7px; border-radius:50%; background:#777; }
.cloud-sync-chip.synced i { background:#44d990; box-shadow:0 0 0 4px rgba(68,217,144,.1); }
.cloud-sync-chip.syncing i { background:#ffb536; animation:cloudPulse .8s ease infinite alternate; }
.cloud-sync-chip.error i { background:#ff5c67; }
@keyframes cloudPulse { to { opacity:.35; } }
.stats-metric-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.stats-metric-card { min-height:152px; display:flex; flex-direction:column; justify-content:flex-end; border:1px solid rgba(255,255,255,.09); border-radius:20px; padding:19px; background:linear-gradient(145deg,rgba(255,255,255,.055),rgba(255,255,255,.018)); box-shadow:0 20px 55px rgba(0,0,0,.2); }
.stats-metric-card > span { margin-bottom:auto; color:rgba(255,255,255,.5); font-size:9px; font-weight:800; text-transform:uppercase; letter-spacing:.08em; }
.stats-metric-card strong { font-size:clamp(28px,3.4vw,46px); line-height:1; letter-spacing:-.05em; }
.stats-metric-card small { margin-top:8px; color:rgba(255,255,255,.42); font-size:8px; line-height:1.45; }
.stats-panels { display:grid; grid-template-columns:1.45fr .75fr; gap:16px; margin-top:16px; }
.stats-panel { border:1px solid rgba(255,255,255,.09); border-radius:22px; padding:21px; background:rgba(255,255,255,.028); box-shadow:0 20px 60px rgba(0,0,0,.19); }
.stats-panel-head { display:flex; align-items:flex-end; justify-content:space-between; gap:18px; margin-bottom:20px; }
.stats-panel-head span { color:#ff4451; font-size:7px; font-weight:900; letter-spacing:.18em; }
.stats-panel-head h2 { margin:5px 0 0; font-size:20px; letter-spacing:-.035em; }
.stats-panel-head > strong { font-size:14px; }
.stats-chart { height:210px; display:grid; grid-template-columns:repeat(7,1fr); align-items:end; gap:10px; }
.stats-bar-wrap { height:100%; display:grid; grid-template-rows:1fr auto auto; gap:6px; text-align:center; }
.stats-bar { position:relative; min-height:120px; overflow:hidden; border-radius:10px; background:rgba(255,255,255,.035); }
.stats-bar i { position:absolute; inset:auto 0 0; border-radius:10px 10px 0 0; background:linear-gradient(180deg,#ff5662,#a9000d); box-shadow:0 0 25px rgba(229,9,20,.25); }
.stats-bar-wrap > span { color:rgba(255,255,255,.7); font-size:8px; font-weight:800; text-transform:uppercase; }
.stats-bar-wrap > small { color:rgba(255,255,255,.36); font-size:7px; }
.stats-donut-row { min-height:210px; display:grid; grid-template-columns:150px 1fr; align-items:center; gap:22px; }
.stats-donut { width:145px; aspect-ratio:1; display:grid; place-items:center; border-radius:50%; background:conic-gradient(#e50914 0 var(--movie-share),#7c5cff var(--movie-share) 360deg); box-shadow:0 0 45px rgba(229,9,20,.12); position:relative; }
.stats-donut::after { content:""; position:absolute; inset:22px; border-radius:50%; background:#0b0b0f; border:1px solid rgba(255,255,255,.08); }
.stats-donut span { position:relative; z-index:1; font-size:28px; font-weight:900; }
.stats-legend { display:grid; gap:13px; }
.stats-legend span { display:grid; grid-template-columns:9px 1fr auto; align-items:center; gap:8px; color:rgba(255,255,255,.57); font-size:9px; }
.stats-legend i { width:9px; height:9px; border-radius:3px; background:#e50914; }
.stats-legend i.episode { background:#7c5cff; }
.stats-legend i.list { background:#3f8cff; }
.stats-legend strong { color:#fff; font-size:11px; }
.stats-recent { margin-top:16px; }
.stats-top-list { display:grid; gap:8px; }
.stats-top-list button { width:100%; min-height:68px; display:grid; grid-template-columns:38px 48px minmax(0,1fr) auto; align-items:center; gap:12px; border:1px solid rgba(255,255,255,.07); border-radius:14px; padding:7px 13px; background:rgba(255,255,255,.025); color:#fff; text-align:left; cursor:pointer; }
.stats-top-list button:hover { background:rgba(255,255,255,.06); border-color:rgba(255,255,255,.15); }
.stats-top-list button > span { color:rgba(255,255,255,.34); font-size:15px; font-weight:900; }
.stats-top-list img { width:48px; height:52px; object-fit:cover; border-radius:9px; }
.stats-top-list button > div { min-width:0; display:grid; gap:4px; }
.stats-top-list button strong { overflow:hidden; font-size:11px; text-overflow:ellipsis; white-space:nowrap; }
.stats-top-list button small { color:rgba(255,255,255,.43); font-size:8px; }
.stats-top-list button em { color:#ff727b; font-size:9px; font-style:normal; font-weight:850; }

/* V40.3 — centre hors connexion */
.offline-status-pill { position:fixed; z-index:1800; left:20px; bottom:24px; display:none; align-items:center; gap:8px; min-height:40px; border:1px solid rgba(255,255,255,.13); border-radius:999px; padding:0 13px; background:rgba(12,12,15,.9); color:#fff; box-shadow:0 14px 45px rgba(0,0,0,.42); backdrop-filter:blur(15px); font:inherit; font-size:9px; font-weight:800; cursor:pointer; }
.offline-status-pill.show { display:inline-flex; }
.offline-status-pill i { width:7px; height:7px; border-radius:50%; background:#ffb536; box-shadow:0 0 0 5px rgba(255,181,54,.1); }
.offline-status-pill.offline i { background:#ff5d67; box-shadow:0 0 0 5px rgba(255,93,103,.1); }
.offline-hero { min-height:280px; display:grid; grid-template-columns:1.4fr .6fr; align-items:end; gap:28px; border:1px solid rgba(255,255,255,.09); border-radius:25px; padding:32px; background:radial-gradient(circle at 86% 18%,rgba(124,92,255,.2),transparent 35%),radial-gradient(circle at 8% 110%,rgba(229,9,20,.18),transparent 36%),rgba(255,255,255,.025); }
.offline-state { min-height:29px; display:inline-flex; align-items:center; gap:8px; border:1px solid rgba(255,255,255,.11); border-radius:999px; padding:0 10px; background:rgba(0,0,0,.25); color:rgba(255,255,255,.64); font-size:8px; font-weight:850; }
.offline-state i { width:7px; height:7px; border-radius:50%; background:#ff5d67; }
.offline-state.online i { background:#42d58c; }
.offline-hero h1 { max-width:700px; margin:16px 0 12px; font-size:clamp(38px,5vw,68px); line-height:.92; letter-spacing:-.055em; }
.offline-hero p { max-width:690px; margin:0; color:rgba(255,255,255,.58); font-size:11px; line-height:1.65; }
.offline-cache-card { align-self:stretch; display:flex; flex-direction:column; justify-content:flex-end; border:1px solid rgba(255,255,255,.1); border-radius:18px; padding:20px; background:rgba(0,0,0,.25); }
.offline-cache-card strong { font-size:14px; }
.offline-cache-card span { margin-top:5px; color:rgba(255,255,255,.38); font-size:8px; }
.offline-cache-card button { min-height:40px; margin-top:18px; border:1px solid rgba(229,9,20,.38); border-radius:11px; background:rgba(229,9,20,.13); color:#fff; font:inherit; font-size:9px; font-weight:850; cursor:pointer; }
.offline-profile-row { display:flex; align-items:center; gap:14px; margin:18px 0 34px; padding:15px 18px; border:1px solid rgba(255,255,255,.08); border-radius:17px; background:rgba(255,255,255,.025); }
.offline-profile-row img { width:54px; height:54px; object-fit:cover; border-radius:16px; }
.offline-profile-row div { display:grid; gap:3px; }
.offline-profile-row span { color:#ff4d59; font-size:7px; font-weight:900; letter-spacing:.16em; }
.offline-profile-row strong { font-size:15px; }
.offline-profile-row small { color:rgba(255,255,255,.42); font-size:8px; }
.offline-section { margin-top:34px; }
.offline-section-head { margin-bottom:14px; }
.offline-section-head span { color:#ff4d59; font-size:7px; font-weight:900; letter-spacing:.17em; }
.offline-section-head h2 { margin:5px 0 0; font-size:22px; letter-spacing:-.035em; }
.offline-media-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:13px; }
.offline-media-card { min-height:250px; overflow:hidden; border:1px solid rgba(255,255,255,.08); border-radius:18px; background:rgba(255,255,255,.025); }
.offline-media-card img { width:100%; height:132px; display:block; object-fit:cover; filter:brightness(.72); }
.offline-media-card > div { display:grid; gap:5px; padding:13px; }
.offline-media-card strong { overflow:hidden; font-size:12px; text-overflow:ellipsis; white-space:nowrap; }
.offline-media-card span { color:#ff6a74; font-size:8px; font-weight:850; }
.offline-media-card p { display:-webkit-box; overflow:hidden; margin:2px 0 0; color:rgba(255,255,255,.43); font-size:8px; line-height:1.5; -webkit-box-orient:vertical; -webkit-line-clamp:3; }

@media (max-width:1000px) {
  .stats-metric-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .stats-panels,.offline-hero { grid-template-columns:1fr; }
  .offline-media-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .statistics-nav-link { display:none; }
}
@media (max-width:680px) {
  .feature-layer-head { grid-template-columns:auto 1fr auto; padding:0 10px; }
  .feature-layer-head > div { justify-items:start; }
  .feature-layer-head > div span { display:none; }
  .feature-layer-content { width:min(100% - 20px,1240px); padding-top:30px; }
  .feature-back,.feature-head-action { min-height:34px; padding:0 9px; font-size:8px; }
  .stats-hero { align-items:flex-start; flex-direction:column; }
  .stats-metric-grid { grid-template-columns:1fr; }
  .stats-metric-card { min-height:128px; }
  .stats-panels { grid-template-columns:1fr; }
  .stats-chart { gap:5px; }
  .stats-donut-row { grid-template-columns:1fr; justify-items:center; }
  .stats-legend { width:100%; }
  .stats-top-list button { grid-template-columns:28px 44px minmax(0,1fr); }
  .stats-top-list button em { display:none; }
  .offline-hero { min-height:0; padding:23px; }
  .offline-media-grid { grid-template-columns:1fr; }
  .watch-party-participant-row { grid-template-columns:34px minmax(0,1fr) auto; }
  .watch-party-kick { grid-column:2 / -1; justify-self:end; }
}

/* Mode télévision : mêmes couleurs, dimensions et navigation adaptées à distance */
body.tv-mode { --page-pad: clamp(42px, 5.5vw, 92px); font-size: 118%; }
body.tv-mode .header { min-height: 84px; }
body.tv-mode .media-card { transform-origin: center; }
body.tv-mode .media-card:focus,
body.tv-mode button:focus-visible,
body.tv-mode a:focus-visible,
body.tv-mode input:focus-visible,
body.tv-mode select:focus-visible,
body.tv-mode [tabindex]:focus-visible {
  outline: 4px solid #fff !important;
  outline-offset: 6px !important;
  box-shadow: 0 0 0 8px rgba(229,9,20,.72), 0 24px 70px rgba(0,0,0,.5) !important;
  transform: scale(1.055);
  z-index: 30;
}
body.tv-mode .media-card { min-width: 240px; }
body.tv-mode .section-title { font-size: clamp(24px, 2.4vw, 38px); }
body.tv-mode .bottom-nav { min-height: 82px; }
body.tv-mode.tv-cursor-hidden { cursor: none; }
.tv-mode-indicator {
  position: fixed; z-index: 5000; right: 24px; bottom: 24px; display: none; align-items: center; gap: 9px;
  padding: 11px 14px; border: 1px solid rgba(255,255,255,.18); border-radius: 999px;
  color: #fff; background: rgba(8,8,10,.72); backdrop-filter: blur(18px); font-size: 11px; font-weight: 800;
}
body.tv-mode .tv-mode-indicator { display: inline-flex; }
@media (max-width: 800px) { body.tv-mode { font-size: 108%; } .tv-mode-indicator { right: 12px; bottom: 90px; } }

.security-center-layer { position: fixed; z-index: 5200; inset: 0; display: none; padding: 24px; background: rgba(0,0,0,.78); backdrop-filter: blur(16px); overflow-y: auto; }
.security-center-layer.open { display: grid; place-items: center; }
.security-center-card { width: min(780px, 100%); max-height: min(820px, calc(100vh - 48px)); overflow-y: auto; border: 1px solid rgba(255,255,255,.13); border-radius: 24px; padding: 24px; background: #101014; box-shadow: 0 30px 100px rgba(0,0,0,.7); }
.security-center-head { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:18px; }
.security-center-head h2 { margin:0; font-size:28px; }
.security-center-close { width:38px; height:38px; border:1px solid rgba(255,255,255,.15); border-radius:50%; background:rgba(255,255,255,.06); color:#fff; cursor:pointer; }
.security-status-card { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:16px; border:1px solid rgba(255,255,255,.1); border-radius:16px; background:rgba(255,255,255,.035); }
.security-status-card strong { display:block; margin-bottom:4px; }
.security-status-card span { color:rgba(255,255,255,.55); font-size:11px; }
.security-session-list { display:grid; gap:10px; margin-top:16px; }
.security-session-row { display:grid; grid-template-columns:1fr auto; gap:14px; align-items:center; padding:14px; border:1px solid rgba(255,255,255,.09); border-radius:14px; background:rgba(255,255,255,.025); }
.security-session-row strong { display:block; }
.security-session-row small { color:rgba(255,255,255,.48); }
.security-current { color:#53d98c; }
.security-actions { display:flex; flex-wrap:wrap; gap:9px; margin-top:18px; }
.security-action { min-height:40px; padding:0 14px; border:1px solid rgba(255,255,255,.14); border-radius:11px; background:rgba(255,255,255,.06); color:#fff; cursor:pointer; font-weight:700; }
.security-action.danger { color:#ff9da3; border-color:rgba(255,93,102,.25); }
