/* Page Statistiques : reprise de Nuvio Manager (style.css + aurora.css).
   Variables de Nuvio Manager (theme Aurora), a cote de celles de Stremfin. */
:root {
  --ink: #f5f7ff;
  --text-muted: #8f9bb4;
  --text-secondary: #c2cbe0;
  --surface: rgba(14, 22, 39, 0.88);
  --border: rgba(111, 142, 190, 0.2);
  --border-strong: rgba(130, 159, 207, 0.38);
  --button: rgba(24, 35, 57, 0.92);
  --button-hover: rgba(38, 53, 82, 0.96);
  --purple: #8465ff;
  --purple-soft: #b8a9ff;
  --cyan: #3bd9e7;
  --selected: rgba(121, 82, 255, 0.17);
  --selected-border: rgba(145, 114, 255, 0.56);
  --selected-ink: #d9d0ff;
  --focus-wash: rgba(126, 91, 255, 0.2);
  --aurora-shadow: 0 20px 48px rgba(0, 5, 18, 0.28);
  --aurora-card-shadow: 0 12px 32px rgba(0, 5, 18, 0.18);
}
:root[data-theme="light"] {
  --ink: #182033;
  --text-muted: #69758d;
  --text-secondary: #44516a;
  --surface: rgba(255, 255, 255, 0.88);
  --border: rgba(70, 91, 128, 0.16);
  --border-strong: rgba(80, 101, 140, 0.3);
  --button: rgba(231, 236, 248, 0.9);
  --button-hover: #dde5f5;
  --purple: #6946dd;
  --purple-soft: #6946dd;
  --cyan: #078a99;
  --selected: rgba(105, 70, 221, 0.11);
  --selected-border: rgba(105, 70, 221, 0.38);
  --selected-ink: #5937bc;
  --focus-wash: rgba(105, 70, 221, 0.13);
  --aurora-shadow: 0 20px 50px rgba(54, 67, 104, 0.1);
  --aurora-card-shadow: 0 10px 28px rgba(54, 67, 104, 0.08);
}

/* ---- style.css de Nuvio Manager ---- */
.stats-controls {display:flex;align-items:end;gap:10px;flex-wrap:wrap;}
.stats-controls>label,.stats-control-label {font-size:.75rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;}
.stats-controls select {display:block;margin-top:6px;min-width:150px;}
.stats-days-input {margin-top:6px;width:120px;}
.stats-days-input[hidden] {display:none;}
.stats-control-label {display:block;}
.stats-profile-filter {position:relative;min-width:250px;}
.stats-profile-menu {position:relative;margin-top:6px;}
.stats-profile-menu summary {display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 12px;border:1px solid var(--border-strong);border-radius:7px;background:var(--input);color:var(--ink);cursor:pointer;list-style:none;user-select:none;}
.stats-profile-menu summary::-webkit-details-marker {display:none;}
.stats-profile-menu[open] summary {border-color:var(--purple);box-shadow:0 0 0 3px var(--focus-wash);}
.stats-profile-chevron {font-size:1rem;transition:transform .16s ease;}
.stats-profile-menu[open] .stats-profile-chevron {transform:rotate(180deg);}
.stats-profile-popover {position:absolute;z-index:35;top:calc(100% + 7px);right:0;width:max(100%,310px);padding:10px;border:1px solid var(--border-strong);border-radius:10px;background:var(--panel);box-shadow:0 18px 45px rgba(0,0,0,.32);}
.stats-profile-actions {display:flex;gap:7px;padding-bottom:9px;border-bottom:1px solid var(--line);}
.stats-profile-actions button {flex:1;padding:7px 9px;font-size:.7rem;}
.stats-profile-list {display:grid;gap:3px;max-height:280px;overflow-y:auto;padding-top:8px;}
.stats-profile-option {display:flex;grid-template-columns:none;align-items:center;gap:10px;padding:9px;border-radius:7px;color:var(--ink);cursor:pointer;text-transform:none;letter-spacing:normal;}
.stats-profile-option:hover {background:var(--selected);}
.stats-profile-option input {flex:0 0 18px;margin:0;}
.stats-profile-option span {min-width:0;}
.stats-profile-option strong,.stats-profile-option small {display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.stats-profile-option strong {font-size:.82rem;}
.stats-profile-option small {margin-top:3px;color:var(--text-muted);font-size:.68rem;}
.stats-metrics {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:22px 0;}
.metric {padding:20px;border-radius:12px;border:1px solid var(--border);background:linear-gradient(140deg,var(--focus-wash),var(--surface));}
.metric span {display:block;color:var(--text-muted);font-size:.8rem;margin-bottom:8px;}
.metric strong {font-size:1.55rem;letter-spacing:-.04em;}

.stats-dashboard-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:0 0 20px;}
.stats-ranking-card {position:relative;min-height:210px;overflow:hidden;border:1px solid var(--border-strong);border-radius:11px;background:#17191d;color:#f8fafc;box-shadow:0 10px 25px rgba(0,0,0,.16),inset 0 0 0 1px rgba(255,255,255,.035);outline:1px solid color-mix(in srgb,var(--border-strong) 78%,transparent);outline-offset:-1px;}
.stats-card-bg {position:absolute;inset:-10px;width:calc(100% + 20px);height:calc(100% + 20px);object-fit:cover;filter:blur(5px);opacity:.42;transform:scale(1.04);transition:opacity .18s ease;}
.stats-ranking-card::after {content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,11,14,.93) 0%,rgba(10,11,14,.78) 48%,rgba(10,11,14,.56) 100%);}
.stats-card-content {position:absolute;z-index:1;inset:1px;padding:0;overflow:hidden;border-radius:9px;}
.stats-card-content header {position:relative;z-index:3;top:auto;display:flex;align-items:center;gap:8px;height:auto;min-height:34px;margin-left:130px;padding:9px 10px 7px 10px;border-bottom:1px solid rgba(255,255,255,.13);background:rgba(8,12,20,.2);box-shadow:none;backdrop-filter:blur(11px) saturate(1.12);-webkit-backdrop-filter:blur(11px) saturate(1.12);}
.stats-card-content header h2 {min-width:0;margin:0;color:#fff;font-size:.8rem;line-height:1.1;text-transform:uppercase;letter-spacing:.03em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.stats-card-content header small {flex:none;margin-left:auto;color:var(--stats-card-accent,#38bdf8);font-size:.52rem;line-height:1.1;text-align:right;text-transform:uppercase;letter-spacing:.07em;}
.stats-info-btn {flex:none;width:15px;height:15px;padding:0;border:1px solid currentColor;border-radius:50%;background:transparent;color:inherit;font-family:Georgia,"Times New Roman",serif;font-size:.6rem;font-weight:700;font-style:italic;line-height:1;display:grid;place-items:center;cursor:pointer;opacity:.65;}
.stats-info-btn:hover {opacity:1;}
.stats-info-bubble {position:fixed;z-index:1200;max-width:250px;padding:9px 11px;border-radius:9px;background:var(--surface);color:var(--ink);border:1px solid var(--border-strong);box-shadow:0 10px 28px rgba(0,0,0,.28);font-size:.78rem;line-height:1.45;}
.stats-ranking-body {display:block;margin-left:130px;padding:6px 10px 8px 0;}
.stats-lead-image {position:absolute;z-index:2;inset:0 auto 0 8px;width:112px;height:100%;display:grid;place-items:center;object-fit:contain;border-radius:6px;background:#0d0f14;color:var(--stats-card-accent,#38bdf8);box-shadow:5px 0 18px rgba(0,0,0,.28);opacity:1;visibility:visible;transition:opacity .18s ease,transform .18s ease;}
.stats-lead-image.round {top:50%;right:auto;bottom:auto;left:14px;width:92px;height:92px;border:2px solid rgba(255,255,255,.2);border-radius:50%;object-fit:cover;transform:translateY(-50%);}
.stats-lead-image.stats-source-logo {top:50%;right:auto;bottom:auto;left:14px;width:92px;height:92px;padding:10px;border:1px solid rgba(255,255,255,.14);border-radius:16px;object-fit:contain;background:rgba(255,255,255,.12);transform:translateY(-50%);}
.stats-ranking-body ol {list-style:none;margin:0;padding:0;min-width:0;}
.stats-ranking-body li {display:grid;grid-template-columns:17px minmax(0,1fr) auto;gap:5px;align-items:center;min-width:0;padding:4px 5px;border-bottom:1px solid rgba(255,255,255,.08);background:linear-gradient(90deg,rgba(255,255,255,.07),transparent);font-size:.67rem;cursor:pointer;transition:background .15s ease;}
.stats-ranking-body li:hover,.stats-ranking-body li:focus-visible {background:linear-gradient(90deg,color-mix(in srgb,var(--stats-card-accent,#38bdf8) 22%,transparent),rgba(255,255,255,.04));outline:1px solid color-mix(in srgb,var(--stats-card-accent,#38bdf8) 52%,transparent);outline-offset:-1px;}
.stats-ranking-body li>b {color:#aeb6c4;font-size:.58rem;text-align:center;}
.stats-ranking-body li>span {overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#f1f5f9;font-size:.67rem;font-weight:450;transition:font-size .12s ease,font-weight .12s ease;}
.stats-ranking-body li:first-child>span {font-size:.79rem;font-weight:750;}
.stats-ranking-body li:hover>span,
.stats-ranking-body li:focus>span {font-size:.79rem;font-weight:750;}
.stats-ranking-body ol:has(li:not(:first-child):hover,li:not(:first-child):focus) li:first-child:not(:hover):not(:focus)>span {font-size:.67rem;font-weight:450;}
.stats-ranking-body li>strong {color:var(--stats-card-accent,#38bdf8);font-size:.63rem;white-space:nowrap;max-width:75px;overflow:hidden;text-overflow:ellipsis;}
.stats-card-empty {display:grid;place-items:center;min-height:130px;margin:0;color:#aeb6c4;font-size:.78rem;}
:root[data-theme="light"] .stats-ranking-card {background:#fbfaff;color:var(--ink);border-color:#d8d1e5;box-shadow:0 10px 25px rgba(69,50,105,.11);}
:root[data-theme="light"] .stats-card-bg {filter:blur(6px) saturate(1.08);opacity:.42;}
:root[data-theme="light"] .stats-ranking-card::after {background:linear-gradient(90deg,rgba(251,250,255,.9) 0%,rgba(251,250,255,.76) 48%,rgba(251,250,255,.52) 100%);}
:root[data-theme="light"] .stats-card-content header {border-bottom-color:rgba(64,48,88,.14);background:rgba(250,252,255,.2);}
:root[data-theme="light"] .stats-card-content header h2 {color:var(--ink);}
:root[data-theme="light"] .stats-ranking-card {--stats-card-accent:#0284c7;}
:root[data-theme="light"] .stats-card-content header small {color:var(--stats-card-accent);}
:root[data-theme="light"] .stats-lead-image {background:var(--selected);color:var(--stats-card-accent);box-shadow:0 5px 14px rgba(2,132,199,.16);}
:root[data-theme="light"] .stats-ranking-body li {border-bottom-color:rgba(64,48,88,.1);background:linear-gradient(90deg,color-mix(in srgb,var(--stats-card-accent) 7.5%,transparent),transparent);}
:root[data-theme="light"] .stats-ranking-body li:hover,
:root[data-theme="light"] .stats-ranking-body li:focus-visible {background:linear-gradient(90deg,color-mix(in srgb,var(--stats-card-accent) 17%,transparent),rgba(255,255,255,.42));outline-color:color-mix(in srgb,var(--stats-card-accent) 40%,transparent);}
:root[data-theme="light"] .stats-ranking-body li>b {color:var(--text-muted);}
:root[data-theme="light"] .stats-ranking-body li>span {color:var(--ink);}
:root[data-theme="light"] .stats-ranking-body li>strong {color:var(--stats-card-accent);}
:root[data-theme="light"] .stats-card-empty {color:var(--text-muted);}
.stats-section {margin:0 0 18px;min-width:0;}
.stats-section h2 {margin-top:0;}
.timeline-legend {display:flex;align-items:center;gap:14px;color:var(--text-muted);font-size:.75rem;}
.timeline-legend span {display:flex;align-items:center;gap:6px;}
.timeline-legend i {width:10px;height:10px;border-radius:3px;display:block;}
.timeline-legend .movie {background:#facc15;}
.timeline-legend .series {background:#ef4444;}
.timeline-summary {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:16px 0 7px;}
.timeline-summary>div {min-width:0;padding:10px 12px;border:1px solid var(--border);border-radius:8px;background:color-mix(in srgb,var(--surface) 74%,transparent);}
.timeline-summary span,.timeline-summary strong {display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.timeline-summary span {color:var(--text-muted);font-size:.65rem;text-transform:uppercase;letter-spacing:.055em;}
.timeline-summary strong {margin-top:5px;font-size:.82rem;}
.timeline-scroll {width:100%;overflow-x:auto;overflow-y:hidden;margin-top:8px;}
.timeline-chart {height:238px;display:block;max-width:none;}
.timeline-movie {fill:#facc15;}
.timeline-series {fill:#ef4444;}
.timeline-empty {fill:var(--border);}
.timeline-axis {stroke:var(--border);stroke-width:1;}
.timeline-gridline line {stroke:var(--border);stroke-width:1;stroke-dasharray:3 5;opacity:.65;}
.timeline-gridline text {fill:var(--text-muted);font-family:inherit;font-size:8px;text-anchor:end;}
.timeline-total,.timeline-date {fill:var(--text-muted);font-family:inherit;text-anchor:middle;}
.timeline-total {font-size:10px;font-weight:700;}
.timeline-date {font-size:9px;}
.timeline-year {fill:var(--text-muted);font-family:inherit;text-anchor:middle;font-size:8px;opacity:.7;}
.timeline-day rect {transition:filter .15s ease,opacity .15s ease;}
.timeline-day:hover rect,.timeline-day:focus rect {filter:brightness(1.22) drop-shadow(0 0 4px currentColor);}
.timeline-day:focus {outline:none;}
.timeline-hit {fill:transparent;}
#stats-timeline {position:relative;}
.stats-daytip {position:fixed;z-index:60;pointer-events:none;min-width:190px;max-width:270px;padding:11px 13px;border-radius:10px;border:1px solid var(--border);background:var(--surface);box-shadow:0 14px 34px rgba(0,0,0,.4);font-size:.8rem;}
.stats-daytip[hidden] {display:none;}
.stats-daytip-head {display:flex;justify-content:space-between;gap:12px;margin-bottom:9px;padding-bottom:8px;border-bottom:1px solid var(--line);}
.stats-daytip-head span:first-child {font-weight:700;color:var(--text);text-transform:capitalize;}
.stats-daytip-head span:last-child {color:var(--text-muted);white-space:nowrap;}
.stats-daytip ul {list-style:none;margin:0;padding:0;display:grid;gap:7px;max-height:210px;overflow:auto;}
.stats-daytip li {display:flex;align-items:center;gap:9px;}
.stats-daytip-name {flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text);}
.stats-daytip strong {font-variant-numeric:tabular-nums;color:var(--text);}
.stats-daytip-avatar {position:relative;width:22px;height:22px;flex:none;border-radius:50%;overflow:hidden;display:grid;place-items:center;background:var(--selected);color:var(--accent);font-size:.68rem;font-weight:700;}
.stats-daytip-avatar img {position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.stats-recent-shelf {position:relative;isolation:isolate;margin:0 0 18px;padding:16px;overflow:hidden;background:#17191d;color:#f8fafc;}
.stats-recent-shelf>.stats-card-bg {z-index:-2;filter:blur(7px) saturate(1.08);opacity:.62;transform:scale(1.05);}
.stats-recent-overlay {position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,rgba(10,11,14,.88),rgba(10,11,14,.68) 55%,rgba(10,11,14,.56));}
.stats-recent-content {position:relative;z-index:1;}
.stats-recent-header {position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:16px;margin:-5px -5px 14px;padding:11px 12px;border-bottom:1px solid rgba(255,255,255,.13);border-radius:9px 9px 4px 4px;background:rgba(8,12,20,.2);box-shadow:none;backdrop-filter:blur(11px) saturate(1.12);-webkit-backdrop-filter:blur(11px) saturate(1.12);}
.stats-recent-header h2,.stats-recent-header p {margin:0;}
.stats-recent-header h2 {font-size:.95rem;text-transform:uppercase;letter-spacing:.035em;}
.stats-recent-header p {margin-top:4px;font-size:.72rem;}
.stats-recent-shelf .muted,.stats-recent-tile>span {color:#c4cbd5;}
:root[data-theme="light"] .stats-recent-header {border-bottom-color:rgba(64,48,88,.14);background:rgba(250,252,255,.2);}
.stats-recent-tools,.stats-recent-filters,.stats-recent-arrows {display:flex;align-items:center;gap:6px;}
.stats-recent-filters button {padding:7px 12px;border-radius:6px;font-size:.72rem;}
.stats-recent-filters button.active {border-color:var(--purple);background:var(--selected);color:var(--selected-ink);}
.stats-recent-arrows {margin-left:8px;}
.stats-recent-arrows button {width:34px;height:34px;padding:0;border:0;background:transparent;color:var(--text-muted);font-size:1.8rem;line-height:1;}
.stats-recent-arrows button:hover {background:rgba(255,255,255,.1);color:#fff;}
.stats-recent-track {display:flex;gap:14px;overflow-x:auto;overflow-y:hidden;padding:4px 2px 10px;scroll-snap-type:x proximity;scrollbar-width:thin;}
.stats-recent-tile {flex:0 0 142px;min-width:0;cursor:pointer;scroll-snap-align:start;border-radius:8px;outline:none;}
.stats-recent-poster {position:relative;width:100%;aspect-ratio:2/3;display:grid;place-items:center;overflow:hidden;border:1px solid var(--border);border-radius:8px;background:var(--button);color:var(--text-muted);font-size:1.5rem;box-shadow:0 8px 20px rgba(0,0,0,.15);transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease;}
.stats-recent-poster::after {content:"";position:absolute;inset:45% 0 0;background:linear-gradient(transparent,rgba(4,5,8,.88));}
.stats-recent-poster img {width:100%;height:100%;object-fit:cover;}
.stats-recent-poster small {position:absolute;z-index:1;right:8px;bottom:7px;left:8px;overflow:hidden;color:#fff;font-size:.62rem;font-weight:650;text-overflow:ellipsis;white-space:nowrap;text-shadow:0 1px 3px #000;}
.stats-recent-tile:hover .stats-recent-poster,.stats-recent-tile:focus-visible .stats-recent-poster {transform:translateY(-3px);border-color:var(--purple);box-shadow:0 12px 25px rgba(77,43,164,.25);}
.stats-recent-tile>strong,.stats-recent-tile>span {display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.stats-recent-tile>strong {margin-top:9px;font-size:.76rem;}
.stats-recent-tile>span {margin-top:3px;font-size:.65rem;}
.stats-recent-tile[hidden] {display:none;}
:root[data-theme="light"] .stats-recent-shelf {background:#fbfaff;color:var(--ink);}
:root[data-theme="light"] .stats-recent-shelf>.stats-card-bg {opacity:.5;}
:root[data-theme="light"] .stats-recent-overlay {background:linear-gradient(90deg,rgba(251,250,255,.84),rgba(251,250,255,.65) 55%,rgba(251,250,255,.52));}
:root[data-theme="light"] .stats-recent-shelf .muted,
:root[data-theme="light"] .stats-recent-tile>span {color:var(--text-muted);}
:root[data-theme="light"] .stats-recent-arrows button:hover {background:rgba(255,255,255,.58);color:var(--ink);}
.stats-detail-modal {position:relative;margin:-28px;padding:28px;overflow:hidden;isolation:isolate;}
.stats-detail-backdrop {position:absolute;z-index:-2;inset:-16px;width:calc(100% + 32px);height:310px;object-fit:cover;filter:blur(8px) saturate(1.08);opacity:.48;}
.stats-detail-scrim {position:absolute;z-index:-1;inset:0 0 auto;height:330px;background:linear-gradient(180deg,rgba(15,13,23,.52),var(--surface) 92%);}
.stats-detail-content {display:grid;grid-template-columns:150px minmax(0,1fr);gap:24px;align-items:start;}
.stats-detail-visual {width:150px;aspect-ratio:2/3;display:grid;place-items:center;overflow:hidden;border:1px solid rgba(255,255,255,.22);border-radius:11px;background:var(--button);color:var(--text-muted);font-size:2rem;box-shadow:0 14px 32px rgba(0,0,0,.3);}
.stats-detail-visual img {width:100%;height:100%;object-fit:cover;}
.stats-detail-main {min-width:0;}
.stats-detail-kicker {margin:2px 0 5px;color:var(--purple-soft);font-size:.72rem;font-weight:750;letter-spacing:.1em;text-transform:uppercase;}
.stats-detail-main h2,.stats-profile-detail-header h2 {margin:0;font-size:1.65rem;line-height:1.15;}
.stats-detail-original {margin:6px 0;color:var(--text-muted);font-size:.78rem;}
.stats-detail-overview {margin:16px 0;line-height:1.55;color:var(--text-secondary);}
.stats-detail-facts {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:16px 0;}
.stats-detail-facts>div {padding:10px;border:1px solid var(--border);border-radius:8px;background:color-mix(in srgb,var(--surface) 86%,transparent);}
.stats-detail-facts dt {color:var(--text-muted);font-size:.65rem;text-transform:uppercase;letter-spacing:.05em;}
.stats-detail-facts dd {margin:5px 0 0;font-size:.85rem;font-weight:700;}
.stats-detail-tags {display:flex;flex-wrap:wrap;gap:6px;margin:13px 0;}
.stats-detail-tags span {padding:5px 9px;border-radius:20px;background:var(--selected);color:var(--selected-ink);font-size:.69rem;font-weight:650;}
.stats-detail-sources,.stats-detail-id {color:var(--text-muted);font-size:.75rem;}
.stats-detail-id {margin-bottom:0;overflow-wrap:anywhere;}
.stats-detail-list {margin-top:18px;border-top:1px solid var(--border);padding-top:13px;}
.stats-detail-list h3,.stats-profile-recent h3 {margin:0 0 8px;font-size:.85rem;}
.stats-detail-list>div {display:flex;justify-content:space-between;gap:12px;padding:7px 0;border-bottom:1px solid var(--border);font-size:.77rem;}
.stats-detail-list>div strong {text-align:right;}
.stats-detail-modal .dialog-actions a {display:inline-flex;align-items:center;padding:9px 14px;border:1px solid var(--border-strong);border-radius:8px;background:var(--button);color:var(--ink);font-size:.875rem;font-weight:550;text-decoration:none;}
/* Addon detail dialog: per-profile stream-open breakdown (tuiles) */
.stats-addon-detail-logo {overflow:hidden;background:var(--button);}
.stats-addon-detail-logo img {width:100%;height:100%;object-fit:contain;}
.stats-addon-tiles {margin-top:18px;border-top:1px solid var(--border);padding-top:13px;}
.stats-addon-tiles h3 {margin:0 0 12px;font-size:.85rem;}
.stats-addon-tile-grid {display:grid;grid-template-columns:repeat(auto-fill,minmax(116px,1fr));gap:12px;}
.stats-addon-tile {display:flex;flex-direction:column;align-items:center;text-align:center;gap:5px;padding:14px 8px;border:1px solid var(--border);border-radius:12px;background:var(--surface);min-width:0;}
.stats-addon-tile-avatar {width:46px;height:46px;border-radius:50%;overflow:hidden;display:grid;place-items:center;background:var(--selected);color:var(--selected-ink);font-size:1rem;}
.stats-addon-tile-avatar img {width:100%;height:100%;object-fit:cover;}
.stats-addon-tile-name {font-size:.85rem;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.stats-addon-tile-count {font-size:1.3rem;font-weight:700;line-height:1;}
.stats-addon-tile-sub {color:var(--text-muted);font-size:.72rem;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
/* Clickable timeline day + its day-detail dialog */
.timeline-day-clickable {cursor:pointer;}
.stats-day-header {padding-bottom:16px;border-bottom:1px solid var(--border);}
.stats-day-header h2 {margin:0;font-size:1.5rem;line-height:1.15;text-transform:capitalize;}
.stats-day-header p.muted {margin:6px 0 0;font-variant-numeric:tabular-nums;}
.stats-day-profiles {display:flex;gap:12px;margin:16px 0 4px;padding-bottom:14px;border-bottom:1px solid var(--border);overflow-x:auto;overflow-y:hidden;scrollbar-width:thin;}
.stats-day-profile {flex:none;display:flex;flex-direction:column;align-items:center;gap:7px;width:74px;padding:2px 0;border:0;background:none;color:var(--text-muted);font-size:.72rem;font-weight:600;cursor:pointer;}
.stats-day-profile-av {position:relative;width:56px;height:56px;flex:none;border-radius:50%;overflow:visible;display:grid;place-items:center;background:var(--selected);color:var(--purple);font-size:1.3rem;font-weight:700;border:2px solid transparent;}
.stats-day-profile-av>img {width:100%;height:100%;border-radius:50%;object-fit:cover;}
.stats-day-profile-av>span:not(.stats-day-profile-count) {display:grid;place-items:center;width:100%;height:100%;}
.stats-day-profile-icon svg {width:26px;height:26px;}
.stats-day-profile-count {position:absolute;right:-3px;bottom:-3px;min-width:19px;height:19px;padding:0 5px;display:grid;place-items:center;border-radius:10px;border:2px solid var(--surface);background:var(--purple);color:#fff;font-size:.62rem;font-weight:700;font-variant-numeric:tabular-nums;}
.stats-day-profile-name {max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.stats-day-profile.active {color:var(--text);}
.stats-day-profile.active .stats-day-profile-av {border-color:var(--purple);box-shadow:0 0 0 3px color-mix(in srgb,var(--purple) 38%,transparent);}
.stats-day-tabs {display:flex;gap:8px;margin:14px 0;}
.stats-day-item {cursor:pointer;transition:border-color .15s ease,background .15s ease;}
.stats-day-item:hover,.stats-day-item:focus {border-color:var(--purple);background:var(--selected);outline:none;}
.stats-day-tabs button {display:inline-flex;align-items:center;gap:7px;padding:8px 14px;border:1px solid var(--border);border-radius:9px;background:var(--button);color:var(--text-secondary);font-size:.82rem;font-weight:600;cursor:pointer;}
.stats-day-tabs button span {display:inline-grid;place-items:center;min-width:20px;height:18px;padding:0 5px;border-radius:9px;background:var(--selected);color:var(--selected-ink);font-size:.68rem;font-variant-numeric:tabular-nums;}
.stats-day-tabs button.active {border-color:var(--purple);background:var(--selected);color:var(--selected-ink);}
.stats-day-list {display:grid;gap:9px;max-height:min(52vh,440px);overflow:auto;padding-right:4px;}
.stats-day-item {display:flex;align-items:center;gap:12px;padding:8px;border:1px solid var(--border);border-radius:10px;background:color-mix(in srgb,var(--surface) 86%,transparent);}
.stats-day-poster {flex:none;width:44px;aspect-ratio:2/3;display:grid;place-items:center;overflow:hidden;border-radius:6px;background:var(--button);color:var(--text-muted);font-size:1rem;}
.stats-day-poster img {width:100%;height:100%;object-fit:cover;}
.stats-day-item-main {min-width:0;flex:1;display:flex;flex-direction:column;gap:2px;}
.stats-day-source {flex:none;display:grid;place-items:center;width:30px;height:30px;margin-left:4px;}
.stats-day-source img {max-width:100%;max-height:100%;object-fit:contain;border-radius:5px;}
.stats-day-source-text {width:auto;padding:2px 8px;border-radius:20px;background:var(--selected);color:var(--selected-ink);font-size:.68rem;font-weight:650;}
.stats-day-item-main strong {overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.9rem;}
.stats-day-sub {color:var(--purple-soft);font-size:.74rem;font-weight:650;font-variant-numeric:tabular-nums;}
.stats-day-meta {color:var(--text-muted);font-size:.74rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.stats-profile-detail-header {display:flex;align-items:center;gap:17px;padding-bottom:18px;border-bottom:1px solid var(--border);}
.stats-profile-detail-header p {margin:5px 0 0;color:var(--text-muted);}
.stats-profile-detail-avatar {width:88px;height:88px;display:grid;place-items:center;flex:none;overflow:hidden;border:2px solid var(--border-strong);border-radius:50%;background:var(--selected);color:var(--purple);font-size:2rem;}
.stats-profile-detail-avatar img {width:100%;height:100%;object-fit:cover;}
.stats-profile-facts {margin-top:18px;}
.stats-profile-recent {margin-top:20px;}
.stats-profile-recent>div {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;}
.stats-profile-recent article {display:grid;grid-template-columns:38px minmax(0,1fr);gap:9px;align-items:center;min-width:0;padding:7px;border:1px solid var(--border);border-radius:8px;background:var(--panel);}
.stats-profile-recent img,.stats-mini-poster {width:38px;aspect-ratio:2/3;display:grid;place-items:center;object-fit:cover;border-radius:4px;background:var(--button);color:var(--text-muted);}
.stats-profile-recent article>span:last-child {min-width:0;}
.stats-profile-recent strong,.stats-profile-recent small {display:block;overflow:hidden;text-overflow:ellipsis;}
.stats-profile-recent strong {font-size:.72rem;white-space:nowrap;}
.stats-profile-recent small {margin-top:3px;color:var(--text-muted);font-size:.6rem;line-height:1.35;}
:root[data-theme="light"] .stats-detail-backdrop {opacity:.55;}
:root[data-theme="light"] .stats-detail-scrim {background:linear-gradient(180deg,rgba(255,255,255,.42),var(--surface) 92%);}
:root[data-theme="light"] .stats-detail-kicker {color:var(--purple);}
@media(max-width:1150px){.stats-dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:950px){.stats-metrics{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.stats-dashboard-grid{grid-template-columns:1fr}}
@media(max-width:620px){.stats-recent-header{align-items:flex-start;flex-direction:column}.stats-recent-tools{width:100%;justify-content:space-between}.stats-recent-tile{flex-basis:124px}}
@media(max-width:750px){.timeline-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.stats-metrics{grid-template-columns:1fr}.timeline-legend{width:100%;margin-top:8px}.timeline-summary{grid-template-columns:1fr}.recent-row{grid-template-columns:52px minmax(0,1fr)}.recent-row>img,.recent-poster{width:52px}.recent-row time{grid-column:2;text-align:left}.stats-detail-content{grid-template-columns:92px minmax(0,1fr);gap:14px}.stats-detail-visual{width:92px}.stats-detail-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.stats-profile-recent>div{grid-template-columns:1fr}.stats-detail-modal{margin:-20px;padding:20px}.stats-recent-filters button{padding:6px 9px}.stats-recent-arrows{margin-left:0}}

/* ---- aurora.css de Nuvio Manager ---- */
.metric {
  position: relative;
  display: grid;
  grid-template-columns: 50px minmax(0, 1fr);
  grid-template-rows: auto auto;
  gap: 3px 14px;
  min-height: 106px;
  padding: 20px;
  overflow: hidden;
  border-radius: 13px;
  background:
    radial-gradient(220px 120px at 0 0, rgba(132, 101, 255, 0.13), transparent 72%),
    var(--panel);
}

.metric::before {
  grid-row: 1 / 3;
  display: grid;
  width: 48px;
  height: 48px;
  place-items: center;
  align-self: center;
  content: "◈";
  color: var(--purple-soft);
  border: 1px solid rgba(132, 101, 255, 0.24);
  border-radius: 50%;
  background: rgba(104, 66, 220, 0.17);
  font-size: 1.4rem;
}

.metric:nth-child(1)::before { content: "◎"; }
.metric:nth-child(2)::before { content: "▷"; }
.metric:nth-child(3)::before { content: "▤"; }
.metric:nth-child(4)::before { content: "◷"; }

.metric span,
.metric strong {
  grid-column: 2;
  margin: 0;
}

.metric span {
  align-self: end;
}

.metric strong {
  align-self: start;
  font-size: clamp(1.25rem, 1.65vw, 1.65rem);
  white-space: nowrap;
}

.stats-controls {
  align-items: end;
}

.stats-controls > button {
  min-height: 40px;
  color: #fff;
  border-color: rgba(177, 156, 255, 0.68);
  background: linear-gradient(115deg, #835cff, #6840e8);
  box-shadow: 0 8px 22px rgba(94, 56, 218, 0.22);
}

.stats-section {
  position: relative;
  overflow: hidden;
  padding: 20px 22px 14px;
  border-radius: 13px;
  background:
    linear-gradient(180deg, rgba(18, 29, 50, 0.86), rgba(11, 20, 35, 0.86)),
    var(--panel);
}

:root[data-theme="light"] .stats-section {
  background: rgba(255, 255, 255, 0.83);
}

.stats-section .section-heading {
  align-items: center;
}

.stats-section h2 {
  margin-bottom: 4px;
  font-size: 1.05rem;
}

.timeline-chart {
  height: 238px;
}

.timeline-axis {
  stroke: rgba(121, 149, 193, 0.2);
}

.timeline-summary > div {
  border-color: rgba(108, 139, 188, 0.18);
  background: rgba(10, 18, 33, 0.54);
}

:root[data-theme="light"] .timeline-summary > div {
  background: rgba(241, 244, 251, 0.7);
}

.stats-dashboard-grid {
  gap: 16px;
}

.stats-ranking-card {
  min-height: 224px;
  border-color: rgba(100, 136, 190, 0.3);
  border-radius: 13px;
  background: #0c1423;
  box-shadow: 0 15px 34px rgba(0, 5, 18, 0.24), inset 0 1px rgba(255, 255, 255, 0.045);
  outline: 0;
  --stats-card-accent: var(--cyan);
}

.stats-ranking-card:hover {
  border-color: rgba(59, 217, 231, 0.38);
  box-shadow: 0 18px 42px rgba(0, 5, 18, 0.3), 0 0 0 1px rgba(59, 217, 231, 0.06);
  transform: translateY(-1px);
}

.stats-card-bg {
  filter: blur(9px) saturate(1.15);
  opacity: 0.36;
}

.stats-ranking-card::after {
  background: linear-gradient(90deg, rgba(5, 10, 19, 0.94), rgba(8, 15, 28, 0.79) 56%, rgba(8, 15, 28, 0.62));
}

.stats-card-content header {
  position: relative;
  top: auto;
  min-height: 42px;
  margin-left: 140px;
  padding: 11px 12px 8px;
  border-bottom-color: rgba(160, 184, 220, 0.14);
  background: rgba(6, 12, 23, 0.18);
  box-shadow: none;
  backdrop-filter: blur(13px) saturate(1.14);
  -webkit-backdrop-filter: blur(13px) saturate(1.14);
}

:root[data-theme="light"] .stats-card-content header {
  background: rgba(248, 250, 255, 0.2);
}

.stats-card-content header h2 {
  font-size: 0.78rem;
  letter-spacing: 0.045em;
}

.stats-ranking-body {
  margin-left: 140px;
  padding: 7px 12px 9px 0;
}

.stats-lead-image {
  inset: auto;
  top: 50%;
  left: 10px;
  transform: translateY(-50%);
  width: 116px;
  height: auto;
  object-fit: contain;
  border: 1px solid rgba(174, 199, 234, 0.2);
  border-radius: 8px;
  box-shadow: 8px 0 24px rgba(0, 4, 13, 0.32);
}

/* Poster <img> keeps its natural ratio so the border hugs it exactly (only the
   radius nibbles the corners). The fallback <span> has no intrinsic size, so it
   gets the standard poster ratio. */
span.stats-lead-image {
  aspect-ratio: 2 / 3;
}

.stats-lead-image.round,
.stats-lead-image.stats-source-logo {
  left: 24px;
  width: 90px;
  height: 90px;
}

.stats-ranking-body li {
  padding: 5px 6px;
  border-bottom-color: rgba(176, 198, 229, 0.09);
  background: linear-gradient(90deg, rgba(255, 255, 255, 0.04), transparent);
}

.stats-ranking-body li > strong,
.stats-card-content header small {
  color: var(--cyan);
}

:root[data-theme="light"] .stats-ranking-card {
  border-color: rgba(80, 101, 140, 0.22);
  background: #f8faff;
  box-shadow: 0 14px 32px rgba(54, 67, 104, 0.13);
}

:root[data-theme="light"] .stats-ranking-card::after {
  background: linear-gradient(90deg, rgba(250, 252, 255, 0.95), rgba(248, 250, 255, 0.78) 56%, rgba(248, 250, 255, 0.6));
}

.stats-recent-shelf {
  padding: 19px;
  border-color: rgba(100, 136, 190, 0.3);
  border-radius: 13px;
  box-shadow: var(--aurora-shadow);
}

.stats-recent-header {
  border-bottom-color: rgba(160, 184, 220, 0.14);
  background: rgba(6, 12, 23, 0.18);
  backdrop-filter: blur(13px) saturate(1.14);
  -webkit-backdrop-filter: blur(13px) saturate(1.14);
}

:root[data-theme="light"] .stats-recent-header {
  background: rgba(248, 250, 255, 0.2);
}

.stats-recent-overlay {
  background: linear-gradient(90deg, rgba(5, 10, 19, 0.93), rgba(8, 15, 28, 0.7) 58%, rgba(8, 15, 28, 0.55));
}

.stats-recent-poster {
  border-color: rgba(140, 169, 211, 0.26);
  border-radius: 9px;
}

.stats-recent-tile:hover .stats-recent-poster,
.stats-recent-tile:focus-visible .stats-recent-poster {
  border-color: var(--cyan);
  box-shadow: 0 14px 30px rgba(12, 143, 165, 0.24);
}

/* Raccords avec Stremfin : en-tete, sections, boutons, fenetre. */
.stats-page .page-head { align-items: flex-end; }
.stats-page .stats-section { padding: 20px 22px 14px; }
.stats-page .section-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.stats-page .section-heading h2 { margin: 0 0 4px; }
.stats-page .section-heading p { margin: 0; }
.stats-profile-actions button, .stats-recent-filters button { border: 1px solid var(--border); background: var(--button); color: var(--ink); font: inherit; cursor: pointer; }
.stats-recent-filters button.active { border-color: var(--purple); background: var(--selected); color: var(--selected-ink); }
.stats-recent-arrows button { cursor: pointer; }
.stats-profile-menu summary { font: inherit; }
.stats-dialog { width: min(780px, 100%); padding: 28px; overflow-x: hidden; }
.stats-dialog .dialog-actions { display: flex; justify-content: flex-end; gap: 8px; margin-top: 20px; }
.stats-detail-scrim { background: linear-gradient(180deg, rgba(15, 13, 23, .52), var(--panel-solid) 92%); }
.stats-daytip, .stats-info-bubble { background: var(--panel-solid); }
@media (max-width: 860px) {
  .stats-page .stats-controls { width: 100%; }
  .stats-page .stats-profile-filter { min-width: min(100%, 260px); }
}

.stats-page { min-width: 0; }
.stats-page .metric strong { white-space: normal; }


/* ---- Lecture en cours : style.css de Nuvio Manager (v0.3.11) ---- */
/* Lecture en cours (statistiques) — style d'origine + état, release et débit */
.stats-now-playing {margin-bottom:18px;padding:16px;overflow:hidden;}
.stats-now-playing-heading {display:flex;align-items:center;justify-content:space-between;gap:14px;margin:-5px -5px 14px;padding:11px 12px;border-bottom:1px solid var(--border);border-radius:9px 9px 4px 4px;background:color-mix(in srgb,var(--panel) 48%,transparent);backdrop-filter:blur(11px) saturate(1.12);-webkit-backdrop-filter:blur(11px) saturate(1.12);}
.stats-now-playing-heading h2,.stats-now-playing-heading p {margin:0;}
.stats-now-playing-heading h2 {font-size:.95rem;text-transform:uppercase;letter-spacing:.035em;}
.stats-now-playing-heading p {margin-top:4px;font-size:.72rem;}
.stats-now-playing-heading small {color:var(--text-muted);font-size:.72rem;text-align:right;font-variant-numeric:tabular-nums;}
.stats-now-playing .empty-inline {margin:0;}
/* At most 3 tiles per row (each column ≥ a third of the row), never narrower than
   320px (fewer columns instead), and capped at 520px wide via the grid width;
   extra tiles wrap onto the next rows. */
.stats-now-playing-grid {--np-gap:14px;--np-max:520px;display:grid;gap:var(--np-gap);max-width:calc(3 * var(--np-max) + 2 * var(--np-gap));grid-template-columns:repeat(auto-fill,minmax(max(min(100%,320px),calc((100% - 2 * var(--np-gap)) / 3)),1fr));}
.stats-now-playing-grid:empty {display:none;}
.stats-now-playing-item {position:relative;isolation:isolate;min-height:190px;overflow:hidden;border:1px solid var(--border-strong);border-radius:11px;background:#17191d;color:#f8fafc;cursor:pointer;box-shadow:0 10px 25px rgba(0,0,0,.16);transition:opacity .3s;}
.stats-now-playing-item.is-ended {opacity:.62;}
.stats-now-playing-item>.stats-card-bg {position:absolute;z-index:-2;inset:-12px;width:calc(100% + 24px);height:calc(100% + 24px);object-fit:cover;filter:blur(9px) saturate(1.15);opacity:.64;}
.stats-now-playing-overlay {position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,rgba(8,10,15,.93),rgba(8,10,15,.7));}
.stats-now-playing-content {display:grid;grid-template-columns:104px minmax(0,1fr);gap:17px;height:100%;padding:14px;}
.stats-now-playing-poster {width:104px;height:156px;display:grid;place-items:center;align-self:center;object-fit:cover;border:1px solid rgba(255,255,255,.18);border-radius:8px;background:rgba(255,255,255,.08);color:#dbeafe;font-size:1.5rem;box-shadow:0 9px 22px rgba(0,0,0,.3);}
.stats-now-playing-info {align-self:center;min-width:0;}
.stats-now-playing-top {display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:9px;}
.stats-now-playing-profile {display:flex;align-items:center;gap:8px;min-width:0;color:#d9e3f4;font-size:.72rem;font-weight:650;}
.stats-now-playing-profile>span:last-child {overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.stats-now-playing-profile img,.stats-now-playing-profile>span:first-child {width:29px;height:29px;display:grid;place-items:center;flex:none;overflow:hidden;object-fit:cover;border:1px solid rgba(255,255,255,.22);border-radius:50%;background:rgba(255,255,255,.1);}
.np-state {flex:none;padding:3px 9px;border-radius:999px;font-size:.66rem;font-weight:650;white-space:nowrap;}
.np-state>span {font-size:.6rem;margin-right:2px;}
.np-playing {background:rgba(16,185,129,.18);color:#6ee7b7;border:1px solid rgba(110,231,183,.3);}
.np-paused {background:rgba(245,158,11,.18);color:#fcd34d;border:1px solid rgba(252,211,77,.3);}
.np-stopped {background:rgba(148,163,184,.16);color:#cbd5e1;border:1px solid rgba(203,213,225,.25);}
.np-completed {background:rgba(56,189,248,.16);color:#7dd3fc;border:1px solid rgba(125,211,252,.3);}
.stats-now-playing-info h3 {margin:0;overflow:hidden;font-size:1.05rem;text-overflow:ellipsis;white-space:nowrap;}
.np-sub {margin:4px 0 8px;color:#c4cbd5;font-size:.75rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.np-addon {display:inline-flex;align-items:center;gap:5px;vertical-align:bottom;}
.np-addon img {width:15px;height:15px;flex:none;object-fit:contain;border-radius:3px;}
.np-release {margin-bottom:7px;overflow:hidden;color:#9fb0c6;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.66rem;text-overflow:ellipsis;white-space:nowrap;}
.np-badges {display:flex;flex-wrap:wrap;gap:4px;margin-bottom:10px;}
.np-badges span {padding:1px 6px;border:1px solid rgba(255,255,255,.15);border-radius:4px;background:rgba(255,255,255,.09);color:#dbe4f0;font-size:.62rem;font-weight:650;}
.np-bar {height:7px;overflow:hidden;border-radius:10px;background:rgba(255,255,255,.16);}
.np-bar i {display:block;height:100%;width:0;border-radius:10px;background:#38bdf8;transition:width .9s linear;}
.stats-now-playing-times {display:flex;justify-content:space-between;margin-top:5px;color:#c4cbd5;font-size:.66rem;font-variant-numeric:tabular-nums;}
.np-bw {display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:9px;padding-top:8px;border-top:1px solid rgba(255,255,255,.1);color:#c4cbd5;font-size:.66rem;font-variant-numeric:tabular-nums;}
.np-bw b {color:#f8fafc;font-weight:650;}
.np-bw svg {flex:none;width:64px;height:16px;overflow:visible;}
.np-bw polyline {fill:none;stroke:#38bdf8;stroke-width:1.5;stroke-linejoin:round;stroke-linecap:round;vector-effect:non-scaling-stroke;}
:root[data-theme="light"] .stats-now-playing-item {background:#fbfaff;color:var(--ink);border-color:#d8d1e5;}
:root[data-theme="light"] .stats-now-playing-overlay {background:linear-gradient(90deg,rgba(251,250,255,.92),rgba(251,250,255,.72));}
:root[data-theme="light"] .stats-now-playing-profile,:root[data-theme="light"] .np-sub,:root[data-theme="light"] .stats-now-playing-times,:root[data-theme="light"] .np-bw,:root[data-theme="light"] .np-release {color:var(--text-muted);}
:root[data-theme="light"] .np-bw b {color:var(--ink);}
:root[data-theme="light"] .np-badges span {background:rgba(37,34,52,.06);border-color:rgba(37,34,52,.14);color:var(--ink);}
:root[data-theme="light"] .np-bar {background:rgba(37,34,52,.12);}
:root[data-theme="light"] .np-playing {color:#047857;}
:root[data-theme="light"] .np-paused {color:#92400e;}
:root[data-theme="light"] .np-stopped {color:#475569;}
:root[data-theme="light"] .np-completed {color:#0369a1;}
@media(max-width:520px){.stats-now-playing-content{grid-template-columns:76px minmax(0,1fr);gap:12px;padding:11px}.stats-now-playing-poster{width:76px;height:114px}.stats-now-playing-item{min-height:142px}}

