/* ErsatzTV — édition Nounours : styles de l'interface repensée */

div.ersatztv-dark.nounours {
    --n-surface: #1c1f27;
    --n-surface-2: #232733;
    --n-border: rgba(255, 255, 255, .08);
    --n-muted: rgba(255, 255, 255, .55);
    --n-accent: #4f8cff;
    --n-onair: #ff7a45;
    --n-grid-line: rgba(255, 255, 255, .06);
    --search-bar-background: rgba(255, 255, 255, .07);
    --selected-row-color: rgba(79, 140, 255, .28);
    --fanart-background-rgb: 17, 19, 24;
}

div.ersatztv-light.nounours {
    --n-surface: #ffffff;
    --n-surface-2: #f4f6fa;
    --n-border: rgba(17, 24, 39, .09);
    --n-muted: rgba(17, 24, 39, .55);
    --n-accent: #2f6feb;
    --n-onair: #e8590c;
    --n-grid-line: rgba(17, 24, 39, .06);
    --selected-row-color: rgba(47, 111, 235, .18);
}

/* ---------- barre du haut + menu ---------- */
.nounours-appbar { border-bottom: 1px solid var(--n-border); }

.nounours-brand {
    align-items: center;
    color: inherit;
    gap: 10px;
    margin: 0 18px 0 6px;
    min-width: 200px;
    text-decoration: none;
}

.nounours-brand img { height: 30px; }

.nounours-brand-text { display: flex; flex-direction: column; line-height: 1.05; }
.nounours-brand-title { font-size: 1.05rem; font-weight: 700; letter-spacing: -.01em; }
.nounours-brand-sub { border-left: 1px solid var(--n-border); color: var(--n-onair); font-size: .62rem; line-height: 1.15; padding-left: 10px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; }

.nounours-drawer { border-right: 1px solid var(--n-border); display: flex; flex-direction: column; }
.nounours-drawer .mud-drawer-content { display: flex; flex-direction: column; }
.nounours-nav { flex: 1; padding: 8px 8px 0; }
.nounours-nav .mud-nav-link { border-radius: 8px; margin: 1px 0; min-height: 36px; padding-top: 6px; padding-bottom: 6px; }
.nounours-nav .mud-nav-link.active:not(.mud-nav-link-disabled) { background: var(--selected-row-color); color: var(--n-accent); font-weight: 600; }
.nounours-nav .mud-navgroup .mud-collapse-container .mud-nav-link { font-size: .9rem; padding-left: 52px !important; }
.nounours-nav .mud-nav-link-text { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.nounours-drawer-footer { border-top: 1px solid var(--n-border); padding: 12px 18px 16px; }

/* ---------- pages ---------- */
.n-page { padding: 28px 28px 48px; max-width: 1600px; margin: 0 auto; }
.n-page-header { align-items: flex-end; display: flex; flex-wrap: wrap; gap: 12px 24px; justify-content: space-between; margin-bottom: 22px; }
.n-page-header h1 { font-size: 1.75rem; font-weight: 700; letter-spacing: -.015em; margin: 0; }
.n-page-header p { color: var(--n-muted); margin: 4px 0 0; }

.n-card { background: var(--n-surface); border: 1px solid var(--n-border); border-radius: 14px; padding: 18px 20px; }
.n-card-title { align-items: center; display: flex; font-size: .78rem; font-weight: 700; gap: 8px; letter-spacing: .08em; margin-bottom: 12px; text-transform: uppercase; color: var(--n-muted); }

.n-stat { display: flex; flex-direction: column; gap: 2px; }
.n-stat-value { font-size: 1.9rem; font-variant-numeric: tabular-nums; font-weight: 700; line-height: 1.1; }
.n-stat-label { color: var(--n-muted); font-size: .85rem; }

.n-muted { color: var(--n-muted); }

.n-empty { align-items: center; border: 1px dashed var(--n-border); border-radius: 14px; display: flex; flex-direction: column; gap: 10px; padding: 40px 20px; text-align: center; }

/* ---------- tableau de bord : chaînes en direct ---------- */
.n-channels { display: grid; gap: 14px; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); }
.n-channel { background: var(--n-surface); border: 1px solid var(--n-border); border-radius: 14px; display: flex; flex-direction: column; overflow: hidden; transition: border-color .15s; }
.n-channel:hover { border-color: var(--n-accent); }
.n-channel-head { align-items: center; display: flex; gap: 12px; padding: 14px 16px 10px; }
.n-channel-logo { background: var(--n-surface-2); border-radius: 8px; flex: none; height: 44px; object-fit: contain; padding: 4px; width: 64px; }
.n-channel-number { color: var(--n-muted); font-size: .75rem; font-variant-numeric: tabular-nums; font-weight: 700; }
.n-channel-name { font-size: 1.02rem; font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.n-channel-body { padding: 0 16px 14px; }
.n-now { font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.n-next { color: var(--n-muted); font-size: .85rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.n-progress { background: var(--n-surface-2); border-radius: 99px; height: 4px; margin: 8px 0 6px; overflow: hidden; }
.n-progress > div { background: var(--n-onair); height: 100%; }
.n-onair { align-items: center; color: var(--n-onair); display: inline-flex; font-size: .7rem; font-weight: 700; gap: 5px; letter-spacing: .08em; text-transform: uppercase; }
.n-onair::before { animation: n-pulse 1.6s infinite; background: var(--n-onair); border-radius: 50%; content: ""; height: 7px; width: 7px; }
.n-channel-actions { border-top: 1px solid var(--n-border); display: flex; gap: 2px; padding: 4px 8px; }
@keyframes n-pulse { 0%, 100% { opacity: 1; } 50% { opacity: .25; } }

/* ---------- planning (grille EPG) ---------- */
.n-epg { background: var(--n-surface); border: 1px solid var(--n-border); border-radius: 14px; contain: inline-size; overflow: hidden; width: 100%; }
.n-epg-scroll { overflow: auto; max-height: calc(100vh - 250px); position: relative; }
.n-epg-row { display: flex; min-height: 64px; border-bottom: 1px solid var(--n-border); }
.n-epg-head { background: var(--n-surface); position: sticky; top: 0; z-index: 3; min-height: 34px; }
.n-epg-channel { align-items: center; background: var(--n-surface); border-right: 1px solid var(--n-border); display: flex; flex: none; gap: 10px; left: 0; padding: 0 12px; position: sticky; width: 210px; z-index: 2; }
.n-epg-channel img { height: 30px; width: 44px; object-fit: contain; }
.n-epg-track { flex: none; position: relative; }
.n-epg-hour { border-left: 1px solid var(--n-grid-line); color: var(--n-muted); font-size: .75rem; font-variant-numeric: tabular-nums; padding: 8px 6px; position: absolute; top: 0; bottom: 0; }
.n-epg-item { background: var(--n-surface-2); border: 1px solid var(--n-border); border-left: 3px solid var(--n-kind, var(--n-accent)); border-radius: 6px; bottom: 6px; cursor: pointer; overflow: clip; padding: 5px 8px; position: absolute; top: 6px; transition: filter .1s; }
.n-epg-item:hover { filter: brightness(1.18); z-index: 1; }
.n-epg-item.is-filler { opacity: .55; }
.n-epg-item.is-gap { background: repeating-linear-gradient(45deg, transparent, transparent 6px, var(--n-grid-line) 6px, var(--n-grid-line) 12px); border-left-color: transparent; }
.n-epg-item.is-now { box-shadow: inset 0 0 0 1px var(--n-onair); }
.n-epg-sticky { display: inline-block; left: 218px; max-width: 100%; position: sticky; }
.n-week-sticky { display: block; position: sticky; top: 40px; }
.n-epg-item-title { font-size: .82rem; font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.n-epg-item-time { color: var(--n-muted); font-size: .72rem; font-variant-numeric: tabular-nums; }
.n-epg-item-count { background: var(--n-border); border-radius: 99px; font-size: .68rem; margin-left: 4px; padding: 0 6px; }
.n-epg-nowline { background: var(--n-onair); bottom: 0; position: absolute; top: 0; width: 2px; z-index: 2; pointer-events: none; }
.n-kind-movie { --n-kind: #4f8cff; }
.n-kind-episode { --n-kind: #22c55e; }
.n-kind-musicvideo { --n-kind: #e879f9; }
.n-kind-othervideo { --n-kind: #f5b83d; }
.n-kind-song { --n-kind: #38bdf8; }
.n-kind-other { --n-kind: #9ca3af; }
.n-legend { display: flex; flex-wrap: wrap; gap: 14px; font-size: .8rem; color: var(--n-muted); }
.n-legend span::before { background: var(--n-kind); border-radius: 3px; content: ""; display: inline-block; height: 10px; margin-right: 6px; width: 10px; }

/* semaine */
.n-week { display: grid; grid-template-columns: 56px repeat(7, minmax(120px, 1fr)); }
.n-week-col { border-left: 1px solid var(--n-border); position: relative; }
.n-week-dayhead { background: var(--n-surface); border-bottom: 1px solid var(--n-border); font-size: .8rem; font-weight: 600; padding: 8px; position: sticky; text-align: center; top: 0; z-index: 2; }
.n-week-hour { border-top: 1px solid var(--n-grid-line); color: var(--n-muted); font-size: .7rem; padding: 2px 6px; position: absolute; left: 0; right: 0; }
.n-week-item { background: var(--n-surface-2); border-left: 3px solid var(--n-kind, var(--n-accent)); border-radius: 4px; cursor: pointer; font-size: .72rem; left: 3px; overflow: clip; padding: 1px 5px; position: absolute; right: 3px; }
.n-week-item:hover { filter: brightness(1.2); z-index: 1; }

/* ---------- assistant ---------- */
.n-wizard-steps { display: flex; gap: 8px; margin-bottom: 22px; flex-wrap: wrap; }
.n-step { align-items: center; border: 1px solid var(--n-border); border-radius: 99px; color: var(--n-muted); cursor: pointer; display: flex; font-size: .88rem; gap: 8px; padding: 6px 14px 6px 6px; }
.n-step b { align-items: center; background: var(--n-surface-2); border-radius: 50%; display: inline-flex; font-size: .78rem; height: 24px; justify-content: center; width: 24px; }
.n-step.is-active { border-color: var(--n-accent); color: inherit; }
.n-step.is-active b, .n-step.is-done b { background: var(--n-accent); color: #fff; }
.n-slot { background: var(--n-surface-2); border: 1px solid var(--n-border); border-radius: 12px; margin-bottom: 12px; padding: 14px 16px; }
.n-preset { cursor: pointer; }

/* ---------- studio d'habillage ---------- */
.n-studio { display: grid; gap: 16px; grid-template-columns: 240px minmax(0, 1fr) 330px; align-items: start; }
@media (max-width: 1300px) { .n-studio { grid-template-columns: 1fr; } }
.n-stage-wrap { background: var(--n-surface); border: 1px solid var(--n-border); border-radius: 14px; padding: 14px; }
.n-stage { aspect-ratio: 16 / 9; background: linear-gradient(135deg, #1e293b, #0f172a 60%, #312e81); background-size: cover; background-position: center; border-radius: 6px; container-type: inline-size; overflow: hidden; position: relative; user-select: none; width: 100%; }
.n-stage-safe { border: 1px dashed rgba(255, 255, 255, .18); inset: 5% 5%; pointer-events: none; position: absolute; }
.n-layer { cursor: move; position: absolute; touch-action: none; }
.n-layer.is-selected { outline: 2px solid #4f8cff; outline-offset: 2px; }
.n-layer.is-hidden { display: none; }
.n-layer-text { line-height: 1.15; white-space: pre; }
.n-layer img { display: block; height: auto; pointer-events: none; width: 100%; }
.n-layer-handle { background: #4f8cff; border: 2px solid #fff; border-radius: 50%; bottom: -7px; cursor: nwse-resize; height: 12px; position: absolute; right: -7px; width: 12px; }
.n-layers-list .mud-list-item { border-radius: 8px; }
.n-layers-list .is-selected { background: var(--selected-row-color); }
.n-toolbox { display: grid; gap: 8px; grid-template-columns: 1fr 1fr; }
.n-tool { align-items: center; background: var(--n-surface-2); border: 1px solid var(--n-border); border-radius: 10px; cursor: pointer; display: flex; flex-direction: column; font-size: .8rem; gap: 4px; padding: 10px 6px; text-align: center; }
.n-tool:hover { border-color: var(--n-accent); }
.n-yaml { background: #0b0d12; border-radius: 8px; color: #cbd5e1; font-family: ui-monospace, Consolas, monospace; font-size: .75rem; max-height: 260px; overflow: auto; padding: 10px; white-space: pre; }

/* ---------- modules ---------- */
.n-modules { display: grid; gap: 14px; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); }

/* ---------- programmes (conducteur) ---------- */
.n-seg-pub { --n-role: #ff7a45; }
.n-seg-jingle { --n-role: #a78bfa; }
.n-seg-contenu { --n-role: #4f8cff; }
.n-seg-bandeannonce { --n-role: #f5b83d; }
.n-seg-programme { --n-role: #22c55e; }
.n-seg-autre { --n-role: #9ca3af; }
.n-seg { background: var(--n-surface-2); border: 1px solid var(--n-border); border-left: 4px solid var(--n-role); border-radius: 10px; margin-bottom: 10px; padding: 8px 12px 10px; }
.n-seg-head { align-items: center; display: flex; gap: 8px; }
.n-seg-index { align-items: center; background: var(--n-role); border-radius: 50%; color: #fff; display: inline-flex; flex: none; font-size: .75rem; font-weight: 700; height: 22px; justify-content: center; width: 22px; }
.n-seg-body { align-items: flex-start; display: flex; flex-wrap: wrap; gap: 8px; margin-top: 6px; }
.n-rundown { display: flex; gap: 3px; min-height: 64px; }
.n-rundown-block { background: color-mix(in srgb, var(--n-role) 22%, var(--n-surface-2)); border-top: 4px solid var(--n-role); border-radius: 6px; flex-basis: 0; min-width: 70px; overflow: hidden; padding: 6px 8px; position: relative; }
.n-rundown-role { color: var(--n-role); font-size: .68rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.n-rundown-title { font-size: .82rem; font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.n-rundown-breaks { bottom: 0; left: 0; position: absolute; right: 0; top: 0; pointer-events: none; }
.n-rundown-breaks span { background: #ff7a45; bottom: 0; position: absolute; top: 0; width: 3px; }

/* ---------- audience ---------- */
.n-bars { align-items: flex-end; display: flex; gap: 3px; height: 160px; padding-top: 8px; }
.n-bars > div { display: flex; flex: 1; flex-direction: column; height: 100%; justify-content: flex-end; min-width: 0; }
.n-bars .n-bar { background: var(--n-accent); border-radius: 4px 4px 0 0; min-height: 2px; opacity: .85; transition: height .3s; }
.n-bars .n-bar.is-now { background: var(--n-onair); }
.n-bars .n-bar-label { color: var(--n-muted); font-size: .68rem; margin-top: 4px; text-align: center; font-variant-numeric: tabular-nums; }
.n-live-dot { animation: n-pulse 1.6s infinite; background: var(--n-onair); border-radius: 50%; display: inline-block; height: 9px; margin-right: 6px; width: 9px; }
@keyframes n-pulse { 0%, 100% { opacity: 1; } 50% { opacity: .35; } }
.n-meter { background: var(--n-border); border-radius: 99px; height: 6px; overflow: hidden; }
.n-meter > div { background: var(--n-accent); height: 100%; }

/* ---------- semaine type ---------- */
.n-weekplan { display: grid; gap: 12px; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); }
.n-weekplan-day { border-top: 4px solid var(--n-day); padding: 14px; }
.n-weekplan-day.is-today { box-shadow: 0 0 0 1px var(--n-day); }
.n-weekplan-name { font-weight: 700; margin-bottom: 10px; text-transform: capitalize; }

/* ---------- import ---------- */
.n-folder { align-items: center; border-radius: 8px; cursor: pointer; display: flex; gap: 8px; padding: 6px 8px; }
.n-folder:hover { background: var(--n-border); }
.n-dropzone { align-items: center; border: 2px dashed var(--n-border); border-radius: 14px; cursor: pointer; display: flex; flex-direction: column; gap: 6px; padding: 32px 16px; text-align: center; }
.n-dropzone:hover { border-color: var(--n-accent); }

/* ---------- régie ---------- */
.n-regie { display: grid; gap: 16px; grid-template-columns: minmax(220px, 300px) 1fr; }
@media (max-width: 900px) { .n-regie { grid-template-columns: 1fr; } }
.n-regie-channel { cursor: pointer; padding: 12px 14px; }
.n-regie-channel.is-selected { box-shadow: 0 0 0 2px var(--n-accent); }
.n-regie-channel.is-onair { border-left: 4px solid var(--n-onair); }
.n-regie-badge { align-items: center; background: var(--n-onair); border-radius: 6px; color: #fff; display: inline-flex; font-size: .7rem; font-weight: 800; letter-spacing: .06em; padding: 2px 8px; }
.n-regie-live { border: 1px solid var(--n-onair); box-shadow: 0 0 24px -8px var(--n-onair); }

/* ---------- menu simple ---------- */
.nounours-nav-section { color: var(--n-muted); font-size: .7rem; font-weight: 700; letter-spacing: .08em; margin: 14px 12px 4px; text-transform: uppercase; }

/* ---------- bien démarrer ---------- */
.n-startguide { border: 1px solid color-mix(in srgb, var(--n-accent) 40%, transparent); }
.n-startguide-steps { display: flex; flex-direction: column; gap: 6px; }
.n-startguide-step { align-items: flex-start; border-radius: 10px; display: flex; gap: 12px; padding: 10px; }
.n-startguide-step.is-current { background: color-mix(in srgb, var(--n-accent) 10%, transparent); }
.n-startguide-step.is-done { opacity: .55; }
.n-startguide-num { align-items: center; border: 2px solid var(--n-border); border-radius: 50%; display: flex; flex: none; font-weight: 700; height: 28px; justify-content: center; width: 28px; }
.n-startguide-step.is-current .n-startguide-num { border-color: var(--n-accent); color: var(--n-accent); }
.n-startguide-step.is-done .n-startguide-num { background: var(--n-accent); border-color: var(--n-accent); color: #fff; }

/* ---------- studio : cadre et horloge à aiguilles ---------- */
.n-layer-fixed { cursor: pointer; height: 100%; pointer-events: none; }
.n-layer-fixed svg { display: block; height: 100%; width: 100%; }
.n-layer-fixed svg path { pointer-events: visiblePainted; }
.n-layer svg.n-analog { display: block; height: auto; pointer-events: none; width: 100%; }

/* ---------- modèles d'habillage ---------- */
.n-templates { display: grid; gap: 14px; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); }
.n-template { color: inherit; display: block; padding: 12px; text-decoration: none; transition: transform .15s; }
.n-template:hover { transform: translateY(-2px); box-shadow: 0 0 0 2px var(--n-accent); }
.n-template-preview { aspect-ratio: 16 / 9; background: linear-gradient(135deg, #2b3a55, #6b4f8a); border-radius: 8px; color: #fff; font-size: .62rem; overflow: hidden; position: relative; }
.n-template-preview > * { position: absolute; }
.n-template-retro95 { background: linear-gradient(135deg, #34495e, #7f8c8d); font-style: italic; }
.n-template-retro95 .f { border: solid #e1e8cd; border-width: 7% 5.5% 9%; border-width: 12px 13px 15px; inset: 0; }
.n-template-retro95 b { background: #000; color: #fff; font-weight: 800; padding: 1px 5px; }
.n-template-retro95 em { background: #ff3200; height: 16%; width: 9%; }
.n-template-matinale .c { border: 3px solid #fff; border-radius: 50%; height: 24%; left: 5%; top: 7%; aspect-ratio: 1; width: auto; }
.n-template-matinale .c::before, .n-template-matinale .c::after { background: #fff; border-radius: 2px; content: ""; left: 50%; position: absolute; top: 50%; transform-origin: 50% 100%; width: 3px; }
.n-template-matinale .c::before { height: 28%; transform: translate(-50%, -100%) rotate(210deg); }
.n-template-matinale .c::after { height: 40%; transform: translate(-50%, -100%) rotate(250deg); }

/* ---------- atelier ---------- */
.n-atelier { display: grid; gap: 16px; grid-template-columns: minmax(300px, 440px) 1fr; }
@media (max-width: 1000px) { .n-atelier { grid-template-columns: 1fr; } }
.n-atelier-preview { align-items: center; aspect-ratio: 16 / 9; background: #000; border-radius: 8px; display: flex; justify-content: center; overflow: hidden; }
.n-atelier-preview img { display: block; height: 100%; width: 100%; }
.n-palette { border: 2px solid transparent; border-radius: 10px; cursor: pointer; display: flex; flex-wrap: wrap; gap: 2px; padding: 4px; width: 96px; }
.n-palette span { border-radius: 2px; height: 16px; width: 14px; }
.n-palette small { color: var(--n-muted); width: 100%; }
.n-palette.is-active { border-color: var(--n-accent); }
.n-extract { align-items: flex-start; border-top: 1px solid var(--n-border); display: flex; gap: 12px; padding: 10px 0; }
.n-extract img { aspect-ratio: 16 / 9; background: #000; border-radius: 6px; flex: none; object-fit: cover; width: 160px; }

/* ---------- studio : bandeau défilant et signalétique ---------- */
.n-ticker { align-items: center; display: flex; overflow: hidden; white-space: nowrap; width: 100%; }
.n-ticker-label { align-items: center; color: #000; display: flex; flex: none; height: 100%; padding: 0 .6em; }
.n-ticker-text { flex: 1; overflow: hidden; }
.n-ticker-text > span { animation: n-ticker 18s linear infinite; display: inline-block; padding-left: 100%; }
@keyframes n-ticker { from { transform: translateX(0); } to { transform: translateX(-100%); } }
.n-rating { align-items: center; aspect-ratio: 1; background: #fff; border: .45cqw solid #000; border-radius: 50%; color: #000; display: flex; font-family: Roboto, sans-serif; font-size: 1.9cqw; font-weight: 900; justify-content: center; width: 100%; }

/* ---------- mur de chaînes ---------- */
.n-wall { display: grid; gap: 10px; }
.n-wall-tile { aspect-ratio: 16 / 9; background: #000; border: 2px solid transparent; border-radius: 10px; overflow: hidden; position: relative; }
.n-wall-tile.is-audible { border-color: var(--n-onair); }
.n-wall-tile video { cursor: pointer; display: block; height: 100%; object-fit: contain; width: 100%; }
.n-wall-info { background: linear-gradient(transparent, rgba(0,0,0,.85)); bottom: 0; color: #fff; display: flex; flex-direction: column; font-size: .8rem; left: 0; padding: 18px 10px 6px; pointer-events: none; position: absolute; right: 0; }
.n-wall-info span { opacity: .8; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.n-wall-actions { display: flex; position: absolute; right: 4px; top: 4px; }

/* ---------- grille imprimable ---------- */
.n-print-title { font-size: 1.4rem; font-weight: 800; margin-bottom: 12px; }
.n-print-day { break-inside: avoid-page; margin-bottom: 24px; }
.n-print-day h2 { border-bottom: 2px solid var(--n-border); font-size: 1.15rem; margin: 0 0 10px; padding-bottom: 4px; }
.n-print-channels { display: grid; gap: 16px; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); }
.n-print-channel h3 { font-size: .95rem; margin: 0 0 6px; }
.n-print-row { display: flex; font-size: .88rem; gap: 10px; padding: 2px 0; }
.n-print-row b { flex: none; font-variant-numeric: tabular-nums; width: 44px; }
@media print {
    .mud-appbar, .mud-drawer, .n-noprint, .mud-snackbar-provider { display: none !important; }
    .mud-main-content { padding: 0 !important; margin: 0 !important; }
    .n-print { color: #000 !important; background: #fff !important; height: auto !important; overflow: visible !important; }
    body, .mud-layout { background: #fff !important; }
    .n-print-day h2 { border-color: #000; }
}

/* ---------- conducteur en direct ---------- */
.n-cond-row { align-items: center; border-top: 1px solid var(--mud-palette-lines-default); display: flex; gap: 12px; padding: 6px 8px; }
.n-cond-row > b { flex: none; font-variant-numeric: tabular-nums; width: 70px; }
.n-cond-row.is-now { background: rgba(255, 50, 0, .12); }
.n-cond-row.is-filler { font-size: .88rem; opacity: .7; }
.n-cond-insert { background: rgba(255, 168, 0, .14); }

/* ---------- programmation automatique ---------- */
.n-auto { display: grid; gap: 16px; grid-template-columns: minmax(300px, 420px) 1fr; }
@media (max-width: 1100px) { .n-auto { grid-template-columns: 1fr; } }
.n-auto-dot { border-radius: 3px; display: inline-block; flex: none; height: 14px; width: 14px; }
.n-auto-row { align-items: center; display: flex; gap: 8px; margin-bottom: 4px; }
.n-auto-day { background: var(--mud-palette-background-gray); border-radius: 6px; height: 46px; overflow: hidden; position: relative; }
.n-auto-day > div { border-right: 2px solid var(--mud-palette-surface); bottom: 0; color: #fff; font-size: .72rem; font-weight: 700; overflow: hidden; padding: 4px 6px; position: absolute; top: 0; }
.n-auto-day > div span { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.n-style.is-active { outline: 2px solid var(--mud-palette-primary); }

/* ---------- télécommande sur téléphone ---------- */
.n-bare { background: #121212; color: #fff; min-height: 100vh; }
.n-remote { margin: 0 auto; max-width: 520px; padding: 16px; }
.n-remote-head { align-items: center; display: flex; font-size: 1.2rem; gap: 10px; margin-bottom: 18px; }
.n-remote-dot { background: #FF3200; display: inline-block; height: 14px; width: 14px; }
.n-remote-block { border-top: 1px solid #333; padding: 14px 0; }
.n-remote-block label { color: #FFA800; display: block; font-size: .78rem; font-weight: 800; letter-spacing: .08em; margin-bottom: 6px; }
.n-remote-now { background: #8C0A11; font-weight: 700; margin-top: 10px; padding: 8px 10px; }

/* ---------- statistiques du journal ---------- */
.n-stat-bar { border-radius: 4px; display: flex; height: 22px; margin-top: 4px; overflow: hidden; }
.n-stat-bar > div { min-width: 2px; }
.n-stat-row { align-items: center; display: flex; font-size: .88rem; gap: 10px; padding: 3px 0; }
.n-stat-name { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.n-stat-track { background: var(--mud-palette-background-gray); border-radius: 3px; flex: 1; height: 10px; overflow: hidden; }
.n-stat-track > span { background: var(--mud-palette-primary); display: block; height: 100%; }
.n-remote-head .n-muted { font-size: .8rem; }

/* ---------- collections de films / sagas ---------- */
.n-sagas { display: grid; gap: 12px; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); }
.n-saga { border: 1px solid var(--mud-palette-lines-default); border-radius: 8px; padding: 8px 12px; }
.n-saga.is-off { opacity: .5; }
.n-saga-films { font-size: .85rem; margin: 4px 0 4px 22px; padding: 0; }
.n-saga-films li { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.n-remote-scenes { display: grid; gap: 8px; grid-template-columns: 1fr 1fr; }
.n-saga-status { border-left: 3px solid var(--mud-palette-primary); font-size: .8rem; margin: 4px 0; padding-left: 8px; }

/* ---------- vidéos YouTube ---------- */
.n-web-grid { display: grid; gap: 12px; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); margin-top: 8px; }
.n-web-card { border: 2px solid transparent; border-radius: 8px; cursor: pointer; padding: 4px; }
.n-web-card:hover { background: var(--mud-palette-action-default-hover); }
.n-web-card.is-chosen { border-color: var(--mud-palette-primary); }
.n-web-thumb { aspect-ratio: 16 / 9; background: #000 center / cover no-repeat; border-radius: 6px; position: relative; }
.n-web-thumb span { background: #000c; border-radius: 3px; bottom: 4px; color: #fff; font-size: .72rem; padding: 1px 5px; position: absolute; right: 4px; }
.n-web-thumb b { background: var(--mud-palette-primary); border-radius: 50%; color: #fff; height: 26px; left: 6px; line-height: 26px; position: absolute; text-align: center; top: 6px; width: 26px; }
.n-web-title { display: -webkit-box; font-size: .85rem; font-weight: 600; -webkit-line-clamp: 2; -webkit-box-orient: vertical; margin-top: 4px; overflow: hidden; }
