/* ───────────────────────────────────────────────────────────────────────────
   Foaia de stil a aplicatiei 5050.

   E folosita si de desfasuratorul tiparit: `construiesteDesfasurator` o aduce cu fetch si o
   pune in documentul trimis la Chromium, ca PDF-ul sa fie replica paginii Verificare, nu o
   varianta apropiata. Daca schimbi ceva aici, se schimba si in PDF.
   ─────────────────────────────────────────────────────────────────────────── */

:root{
  --bg:#EBEEF2; --surface:#FFFFFF; --surface-2:#F5F7F9; --surface-3:#EEF1F5;
  --ink:#141923; --ink-2:#5A6472; --ink-3:#6E7889; --line:#E2E6EC; --line-2:#D2D8E0;
  --navy:#0E1B30; --navy-2:#16263F; --navy-3:#1E3253; --navy-ink:#CAD5E5; --navy-dim:#7385A0;
  --accent:#1E6FE0; --accent-soft:#E7F0FD;
  --gold:#D8921C;
  --ok:#2E8B1E; --ok-bg:#E7F2E2; --ok-ink:#22660F;
  --warn:#A9760E; --warn-bg:#FAF0D9; --warn-ink:#7A540A;
  --dng:#C7352A; --dng-bg:#FBE6E3; --dng-ink:#8E241C;
  --r:10px; --r-lg:14px; --r-pill:999px;
  --shadow:0 1px 2px rgba(20,25,35,.04), 0 4px 16px rgba(20,25,35,.05);
}
*{box-sizing:border-box}
html,body{margin:0;height:100%}
body{
  font-family:'Inter',system-ui,sans-serif; background:var(--bg); color:var(--ink);
  font-size:14px; line-height:1.5; -webkit-font-smoothing:antialiased;
  display:flex; height:100%; overflow:hidden;
}
h1,h2,h3,.brand{font-family:'Schibsted Grotesk','Inter',sans-serif}
::selection{background:#cfe1fb}
button{font-family:inherit}

/* ---------- Sidebar ---------- */
.side{
  width:248px; flex:0 0 248px; background:var(--navy); color:var(--navy-ink);
  display:flex; flex-direction:column; padding:18px 14px; height:100%;
}
.side.collapsed{display:none}
.menutoggle{border:none;background:transparent;cursor:pointer;padding:7px;border-radius:8px;color:var(--ink-2);display:flex;align-items:center;justify-content:center;font-size:19px}
.menutoggle:hover{background:var(--surface-2)}
.topinfo{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.topinfo span.box{display:flex;align-items:baseline;gap:6px;background:var(--surface-2);border:1px solid var(--line-2);border-radius:8px;padding:5px 11px;font-size:12.5px;color:var(--ink-2);white-space:nowrap}
.topinfo span.box .et{font-size:10.5px;text-transform:uppercase;letter-spacing:.03em;color:var(--ink-3)}
.topinfo b{color:var(--ink);font-weight:600}
.brand{display:flex;justify-content:center;margin:0;padding:2px 0 10px}
.brand img{width:118px;height:auto;display:block}
}

.role-pick{background:var(--navy-2);border-radius:var(--r);padding:10px;margin-top:auto;flex:0 0 auto}
.role-pick .lbl{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--navy-dim);margin-bottom:8px;padding:0 2px}
.role-pick .who{display:flex;align-items:center;gap:9px;padding:2px}
.role-pick .who small{display:block;color:var(--navy-dim);font-size:11.5px}
.role-pick .logoutbtn{margin-left:auto;background:transparent;border:none;color:var(--navy-dim);font-size:17px;cursor:pointer;padding:6px;border-radius:7px;display:flex;align-items:center}
.role-pick .logoutbtn:hover{color:#fff;background:rgba(255,255,255,.1)}

.nav{display:flex;flex-direction:column;gap:2px;margin-top:4px;flex:1 1 auto;min-height:0}
.nav .grp{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--navy-dim);padding:14px 10px 6px}
.nav a{
  display:flex;align-items:center;gap:11px;padding:9px 11px;border-radius:8px;color:var(--navy-ink);
  text-decoration:none;font-size:13.5px;cursor:pointer;transition:background .15s,color .15s;
}
.nav a i{font-size:18px;color:var(--navy-dim);transition:color .15s}
.nav a:hover{background:rgba(255,255,255,.05);color:#fff}
.nav a.active{background:var(--accent);color:#fff}
.nav a.active i{color:#fff}
/* starea sezonului, în bara de sus a paginii Episoade: aceeași formă ca butoanele de editor,
   dar fiecare cu fundalul stării lui; selectat = fundalul devine plin, ca la sezoane */
/* flex:0 0 auto — grupul nu se lasă strâns, altfel ultimele butoane ar fi tăiate de colțurile rotunjite */
.contoare{display:flex;align-items:center;gap:0;flex-wrap:nowrap;flex:0 0 auto;border:1px solid var(--line-2);
  border-radius:9px;overflow:hidden;background:var(--surface)}
.contoare .contor{font:inherit;font-size:12px;line-height:1;padding:11px 10px;white-space:nowrap;
  border:none;border-right:1px solid var(--line-2);cursor:pointer}
.contoare .contor:last-child{border-right:none}
.contoare .contor b{font-weight:700;margin-left:3px}
.contoare .contor.warn{background:var(--warn-bg);color:var(--warn-ink)}
.contoare .contor.info{background:var(--accent-soft);color:#1657ad}
.contoare .contor.dng{background:var(--dng-bg);color:var(--dng-ink)}
.contoare .contor.ok{background:var(--ok-bg);color:var(--ok-ink)}
.contoare .contor.regie{background:#EDE6FB;color:#5A3EA8}
.contoare .contor:hover{filter:brightness(.96)}
.contoare .contor.warn.activ{background:#E0BC3E;color:#3E2800}
.contoare .contor.info.activ{background:var(--accent);color:#fff}
.contoare .contor.dng.activ{background:var(--dng);color:#fff}
.contoare .contor.ok.activ{background:var(--ok);color:#fff}
.contoare .contor.regie.activ{background:#7A5CD6;color:#fff}
/* contorul de sarcini de făcut, lângă numele paginii */
.nav a .notif{margin-left:auto;background:var(--dng);color:#fff;font-size:11px;font-weight:700;line-height:1;
  min-width:18px;height:18px;border-radius:9px;display:inline-flex;align-items:center;justify-content:center;padding:0 5px}
.nav a.active .notif{background:#fff;color:var(--accent)}
.side-foot{margin-top:auto;font-size:11px;color:var(--navy-dim);padding:14px 8px 2px;border-top:1px solid rgba(255,255,255,.07)}

/* ---------- Main ---------- */
.main{flex:1;min-width:0;display:flex;flex-direction:column;height:100%;overflow:hidden}
.topbar{
  display:flex;align-items:center;gap:14px;padding:16px 28px;background:var(--surface);
  border-bottom:1px solid var(--line);flex:0 0 auto;z-index:5;
}
.topbar h1{font-size:18px;font-weight:600;margin:0}
/* în Arhivă căutarea ține locul titlului, lipită de meniu */
.topbar.cautare-stanga #ttlBox,.topbar.cautare-stanga .spacer{display:none}
.topbar.cautare-stanga #topActions{flex:1}
/* grupul se întinde doar unde chiar avem nevoie: în Arhivă (caseta crește) și în pagina Simona
   (ca butoanele din capăt să poată fi împinse la marginea din dreapta) */
.topbar.cautare-stanga #topActions>.topfiltru:has(input.arhiva),
#topActions>.topfiltru.lat{width:100%;flex:1 1 auto}
.topbar .sub{font-size:13px;color:var(--ink-2)}
.topbar .spacer{margin-left:auto}
.content{padding:0 28px 60px;width:100%;flex:1;overflow-y:auto}
.view{display:none;animation:fade .25s ease;padding-top:26px}
.view.show{display:block}
@keyframes fade{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}

/* ---------- Bits ---------- */
.btn{
  border:1px solid var(--line-2);background:var(--surface);color:var(--ink);border-radius:8px;
  padding:8px 13px;font-size:13px;cursor:pointer;display:inline-flex;align-items:center;gap:6px;transition:background .15s,border-color .15s,transform .05s;
}
.btn:hover{background:var(--surface-2)}
.btn:active{transform:scale(.985)}
.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}
.btn.primary:hover{background:#1862c9}
.btn.ok{background:var(--ok);border-color:var(--ok);color:#fff}
.btn.ok:hover{filter:brightness(.95)}
.btn i{font-size:17px}
.btn[disabled]{opacity:.4;cursor:not-allowed}
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow)}
.pad{padding:18px 20px}
.eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:.07em;color:var(--ink-3);font-weight:600}
.tag{font-size:11.5px;padding:3px 9px;border-radius:var(--r-pill);font-weight:500;display:inline-flex;align-items:center;gap:5px}
.tag.ok{background:var(--ok-bg);color:var(--ok-ink)} .tag.info{background:var(--accent-soft);color:#1657ad}
.tag.warn{background:var(--warn-bg);color:var(--warn-ink)} .tag.dng{background:var(--dng-bg);color:var(--dng-ink)}
.tag.muted{background:var(--surface-3);color:var(--ink-2)}
.tag.regie{background:#EDE6FB;color:#5A3EA8}   /* violet: etapa de regie, ca să nu se confunde cu „la verificat” */
.grid{display:grid;gap:16px}
.muted{color:var(--ink-2)} .small{font-size:12.5px}
.sectitle{font-family:'Schibsted Grotesk';font-size:15px;font-weight:600;margin:0 0 12px}

/* metrics */
.metrics{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}
.metric{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:16px 18px}
.metric .n{font-family:'Schibsted Grotesk';font-size:30px;font-weight:600;line-height:1}
.metric .l{font-size:12.5px;color:var(--ink-2);margin-top:7px}
.metric .accent{height:3px;width:26px;border-radius:2px;margin-bottom:13px}

/* list rows */
.rows .row{display:flex;align-items:center;gap:13px;padding:13px 20px;border-top:1px solid var(--line)}
.rows .row:first-child{border-top:none}
.rows .head{font-size:11.5px;color:var(--ink-3);text-transform:uppercase;letter-spacing:.05em;background:var(--surface-2);padding:10px 20px}
.rows .head.clicabil{cursor:pointer;display:flex;align-items:center;gap:6px}
.rows .head.clicabil:hover{color:var(--ink-2)}
.bar{height:6px;border-radius:3px;background:var(--surface-3);overflow:hidden}
.bar>i{display:block;height:100%;border-radius:3px}
.linkrow{cursor:pointer} .linkrow:hover{background:var(--surface-2)}

/* feed */
.feed .it{display:flex;gap:12px;padding:11px 0;border-top:1px solid var(--line)}
.feed .it.linkrow{cursor:pointer;margin:0 -8px;padding-left:8px;padding-right:8px;border-radius:8px}
.feed .it.linkrow:hover{background:var(--surface-2)}
.feed .it:first-child{border-top:none}
.feed .t{font-size:12px;color:var(--ink-3);min-width:52px;font-variant-numeric:tabular-nums}
.feed b{font-weight:600}

/* avatars */

/* ---------- TV graphic (grafică reală, furnizată de producție) ---------- */
@font-face{font-family:'DINNextRoundedLTPro';src:url('/DIN Next Rounded LT Pro Medium.ttf') format('truetype'),local('DINNextRoundedLTPro'),local('DIN Next Rounded LT Pro');font-weight:500;font-display:swap}
.tv{font-family:'Nunito',sans-serif;max-width:1080px;margin-left:auto;margin-right:auto}
.tv-graphic{position:relative;width:100%;aspect-ratio:1920/1080;container-type:inline-size;background:#fff;border-radius:10px;overflow:hidden}
.tv-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;pointer-events:none;user-select:none;z-index:1}
.tv-poza{position:absolute;display:none;z-index:0;overflow:hidden}
/* imaginea intră întreagă în chenar; „umplerea” o face scalarea de mai jos, ca zoom-ul sub 100%
   să dezvăluie ce ar fi fost tăiat, nu să micșoreze o bucată deja decupată */
.tv-poza img{width:100%;height:100%;object-fit:contain;display:block;transform-origin:center center;user-select:none;-webkit-user-drag:none}
.tv-poza.una{left:19.0%;top:6.5%;width:62.0%;height:59.0%}
.tv-poza.stanga{left:0;top:11.1%;width:47.3%;height:54.8%}
.tv-poza.dreapta{left:53.4%;top:11.1%;width:47.0%;height:54.8%}
.tv-q,.tv-opt{position:absolute;z-index:2;display:flex;align-items:center;justify-content:center;text-align:center;color:#fff;font-family:'DINNextRoundedLTPro','Schibsted Grotesk',sans-serif;font-weight:500;line-height:1.15;font-size:2.0833cqw;text-shadow:0.13cqw 0.19cqw 0.16cqw rgba(0,0,0,.8), 0 0 0.35cqw rgba(0,0,0,.45);outline:none;overflow-wrap:break-word;white-space:pre-wrap}
.tv-q{left:9.115%;top:71.39%;width:81.67%;height:12.41%;padding:0 4.6875cqw}
.tv-nr{position:absolute;z-index:2;left:9.06%;top:71.39%;width:5.9%;height:12.41%;display:flex;align-items:center;justify-content:center;
  color:#fff;font-family:'DINNextRoundedLTPro','Schibsted Grotesk',sans-serif;font-weight:500;font-size:2.35cqw;text-shadow:0.13cqw 0.19cqw 0.16cqw rgba(0,0,0,.8), 0 0 0.35cqw rgba(0,0,0,.45);pointer-events:none;user-select:none}
.tv-opt{top:84.44%;height:8.52%;padding:0 3.385cqw}
.tv-a{left:9.479%;width:40.208%}
.tv-b{left:50.3125%;width:40.156%}
.tv-fallback{padding:20px;border:1px dashed var(--line-2);border-radius:var(--r-lg);background:var(--surface-2)}
.charcounters{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;font-size:12px;color:var(--ink-2);margin:10px 0 4px}
.charcounters span.near{color:var(--warn-ink);font-weight:600}
.charcounters span.over{color:var(--dng-ink);font-weight:600}

/* grafică finală, 4 variante (2 corecte / 2 greșite) */
.tv-q4{left:9.167%;top:63.24%;width:81.67%;height:12.41%;padding:0 4.6875cqw}
/* la finală bara de enunț e mai sus, deci și numărul din „ureche” urcă odată cu ea */
#tvGraphic4 .tv-nr,#pGraphic4 .tv-nr{top:63.24%;left:9.11%}
/* în pagina prezentatorului grafica e doar de privit */
/* .tv are margini automate; într-o coloană flexibilă ele anulează întinderea, iar lățimea ar rămâne 0 */
#pGrafica{margin:0 auto 28px;width:100%;flex:0 0 auto}
#pGrafica .tv-q,#pGrafica .tv-opt{cursor:default;user-select:none}
.tv-opt4{padding:0 3.385cqw}
.tv-row1{top:76.67%;height:8.52%}
.tv-row2{top:86.3%;height:8.52%}
.tv-colL{left:9.531%;width:40.208%}
.tv-colR{left:50.365%;width:40.156%}

/* control sub-grafică: numărare caractere + marcare răspuns corect */
.ansctrl{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;margin:0 0 18px}
.ansctrl .ac-left{display:flex;align-items:center}
.ansctrl .ac-mid{display:flex;justify-content:center;align-items:center;gap:10px;flex-wrap:wrap}
/* la finală se alege perechea corectă, deci butoanele sunt mai multe și mai strâmte */
.ansctrl .ac-eticheta{font-size:12.5px;color:var(--ink-2);white-space:nowrap;margin-right:2px}
.cautajurnal{width:100%;max-width:340px;padding:6px 10px;border:1px solid var(--line-2);border-radius:9px;font:inherit}
.maiadauga{display:flex;justify-content:center;margin:14px 0 4px}
.datesarcina{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--ink-2);flex-wrap:wrap}
.datesarcina .datainput{margin-right:4px}
.tintaordine{display:inline-flex;align-items:center;gap:5px;font-size:12.5px;color:var(--ink-2)}
.tintaordine input{width:58px;padding:4px 7px;border:1px solid var(--line-2);border-radius:8px;font:inherit}
.ansctrl .ac-mid.perechi{gap:6px}
.ansctrl .ac-mid.perechi .actoggle{padding:5px 10px;font-variant-numeric:tabular-nums;letter-spacing:.02em}
/* semnul că întrebarea e închisă pentru editare */
.lacat{display:inline-flex;align-items:center;gap:6px;font-size:12px;line-height:1.25;color:var(--ink-2);background:var(--surface-2);border:1px solid var(--line-2);border-radius:8px;padding:4px 10px}
.tv-q.inert,.tv-opt.inert{cursor:default}
#modNote.inert{background:var(--surface-2);color:var(--ink-2)}
.ansctrl .actoggle.inert{pointer-events:none;opacity:.55}
.ansctrl .ac-right{display:flex;justify-content:flex-end}
.ansctrl .actoggle{font-size:12.5px;padding:5px 12px;border-radius:var(--r-pill);cursor:pointer;border:1px solid var(--line-2);background:var(--surface);color:var(--ink-2);display:inline-flex;align-items:center;gap:5px}
.ansctrl .actoggle:hover{background:var(--surface-2)}
.ansctrl .actoggle.expl{border-color:var(--accent);color:var(--accent)}
.ansctrl .actoggle.expl.activ{background:var(--accent-soft)}
.ansctrl .actoggle.ok{background:var(--ok-bg);border-color:#bfe0b3;color:var(--ok-ink);font-weight:600}

/* 50-strip */
.strip{display:grid;grid-template-columns:repeat(25,minmax(0,1fr));gap:5px;max-width:960px;margin:0 auto}
@media(max-width:900px){ .strip{grid-template-columns:repeat(13,minmax(0,1fr))} }
.cell{width:100%;height:33px;border-radius:7px;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;cursor:pointer;border:1px solid transparent;transition:transform .1s}
.cell:hover{transform:translateY(-1px)}
.cell.todo{background:#DFE4EB;color:#5A6472;border-color:#C6CDD7}
.cell.written{background:#F6D86A;color:#5E3D05;border-color:#E0BC3E}
.cell.review{background:#6FA8EE;color:#08315F;border-color:#3D85DE}
.cell.obs{background:#EFA79E;color:#6E1E15;border-color:#DE8175}
.cell.done{background:#A9DB97;color:#164A0C;border-color:#7CC163}
.cell.cur{outline:2px solid var(--accent);outline-offset:1px}
.cell{transition:transform .16s cubic-bezier(.2,.8,.3,1), opacity .16s}
.cell.dragging{opacity:.3;transform:scale(.88)}
.cell.lasa-loc-st{transform:translateX(-18px)}
.cell.lasa-loc-dr{transform:translateX(18px);box-shadow:-21px 0 0 -8px var(--accent)}
.ep-main td{transition:transform .18s cubic-bezier(.2,.8,.3,1), opacity .18s}
.ep-main.dragging td{opacity:.35}
mark{background:#ffe066;color:inherit;border-radius:3px;padding:0 1px}
.legend{display:flex;gap:16px;flex-wrap:wrap;justify-content:center;font-size:12px;color:var(--ink-2);margin-top:11px}
.legend span{display:flex;align-items:center;gap:6px}
.legend .sw{border:1px solid rgba(0,0,0,.12)}
.sw{width:11px;height:11px;border-radius:3px;display:inline-block}

/* metarow */
.metarow{display:flex;justify-content:space-between;font-size:13.5px;padding:9px 0;border-bottom:1px solid var(--line)}
.metarow:last-of-type{border-bottom:none}
.metarow .k{color:var(--ink-2)}
.editval{outline:none;cursor:text;border-bottom:1px dashed var(--line-2);padding:0 1px}
.editval:hover,.editval:focus{border-bottom-color:var(--accent)}
.selval{font-family:inherit;font-size:13.5px;color:var(--ink);border:1px solid transparent;background:transparent;cursor:pointer;padding:2px 4px;border-radius:5px;text-align:right;text-align-last:right}
.selval:hover,.selval:focus{border-color:var(--line-2);background:var(--surface-2);outline:none}

/* audit */
.audit .e{display:flex;gap:14px;padding:15px 20px;border-top:1px solid var(--line)}
.audit .e:first-child{border-top:none}
.audit .meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.audit .name{font-weight:600}
.audit .role{font-size:12px;color:var(--ink-3)}
.audit .time{font-size:12px;color:var(--ink-3);text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums;line-height:1.4}
.diff{font-family:'Inter';font-size:12.5px;margin-top:7px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
/* istoricul unei întrebări, ca fir vertical */
.fir{position:relative;padding-left:18px}
.fir::before{content:"";position:absolute;left:5px;top:6px;bottom:6px;width:2px;background:var(--line)}
.fir .zi{font-size:11px;color:var(--ink-3);text-transform:uppercase;letter-spacing:.04em;margin:12px 0 6px}
.fir .zi:first-child{margin-top:0}
.fir .pas{position:relative;display:flex;gap:10px;padding:5px 0}
.fir .pas::before{content:"";position:absolute;left:-17px;top:10px;width:8px;height:8px;border-radius:50%;
  background:var(--ink-3);box-shadow:0 0 0 3px var(--surface)}
.fir .ram{position:relative;margin-left:26px}
.fir .ram::before{content:"";position:absolute;left:-14px;top:0;bottom:9px;width:2px;background:var(--line)}
.fir .ram .zi{margin-top:8px}
.fir .pas.gol .text{font-size:12.5px;color:var(--ink-3);font-style:italic}
.fir .pas.gol::before{background:var(--surface);border:2px solid var(--line);box-sizing:border-box}
.fir .pas.ok::before{background:var(--ok)} .fir .pas.warn::before{background:var(--warn)}
.fir .pas.dng::before{background:var(--dng)} .fir .pas.info::before{background:var(--accent)}
.fir .ora{font-size:11.5px;color:var(--ink-3);font-variant-numeric:tabular-nums;min-width:34px;
  align-self:flex-start;line-height:1.45;padding-top:1px}
.fir .text{font-size:13px;line-height:1.45}
.fir .salt{display:flex;align-items:center;gap:6px;margin-top:4px;flex-wrap:wrap}
.fir .salt.lin{display:inline-flex;margin:0 0 0 9px;vertical-align:middle}
.fir .nota{font-size:12.5px;color:var(--ink-2);margin-top:3px}
.fisierpoza{border-bottom:1px dotted var(--line-2);cursor:zoom-in}
[onmouseenter^="aratLupaSursa"]{cursor:zoom-in}
.val{background:var(--surface-2);padding:2px 7px;border-radius:5px}
.val.v-veche{color:var(--ink-3)}
.val.v-noua{color:var(--ink)}
.val a{color:inherit;text-decoration:underline}
.old{background:var(--dng-bg);color:var(--dng-ink);padding:2px 7px;border-radius:5px}
.new{background:var(--ok-bg);color:var(--ok-ink);padding:2px 7px;border-radius:5px}

.srcadd{color:var(--accent);cursor:pointer;font-size:12.5px;display:inline-flex;align-items:center;gap:4px;margin-top:8px}
.srcadd:hover{text-decoration:underline}

/* resurse: surse & fotografii, sloturi fixe */
.reslot{display:flex;align-items:center;gap:8px;padding:6px 0;font-size:13px}
.reslot .lbl{color:var(--ink-2);min-width:70px;flex:0 0 auto}
.reslot .lbl{min-width:104px}
.reslot input.slotinput{flex:1;min-width:0;border:1px solid var(--line-2);border-radius:7px;padding:6px 9px;font-family:inherit;font-size:12.5px;color:var(--accent);background:var(--surface);text-overflow:ellipsis}
.reslot input.slotinput::placeholder{color:var(--ink-3);font-style:italic}
.reslot input.slotinput:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);text-overflow:clip}
.reslot .ico{flex:0 0 auto;color:var(--ink-3);cursor:pointer;font-size:15px;display:flex;align-items:center;padding:2px;text-decoration:none}
.reslot .ico:hover{color:var(--accent)}
.datainput{border:1px solid transparent;border-radius:6px;padding:3px 5px;font:inherit;font-size:12.5px;color:var(--ink);background:transparent;cursor:pointer}
/* iconița nativă lua lățime și era singurul loc care deschidea calendarul; acum deschide tot câmpul */
.datainput::-webkit-calendar-picker-indicator{display:none;-webkit-appearance:none}
.datainput::-webkit-inner-spin-button{display:none}
.datainput:hover{border-color:var(--line-2);background:var(--surface)}
.datainput:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}
.reslot .up{flex:0 0 auto;color:var(--ink-3);cursor:pointer;font-size:15px;display:flex;align-items:center;padding:2px}
.reslot .up:hover{color:var(--accent)}
/* Grafica și pozele ei, una lângă alta: coloana de miniaturi în stânga, scena în dreapta.
   Sub 1100px coloana trece deasupra și miniaturile se așază pe orizontală, ca înainte. */
.scena{display:flex;align-items:flex-start;gap:14px}
.scena .tv{flex:1;min-width:0}
.photoprev.lateral{flex:0 0 132px;flex-direction:column;flex-wrap:nowrap;justify-content:flex-start}
.photoprev.lateral:empty{display:none}
.photoprev.lateral figure{width:132px}
.photoprev.lateral img{height:86px}
@media (max-width:1100px){
  .scena{flex-direction:column}
  .photoprev.lateral{flex:0 0 auto;flex-direction:row;flex-wrap:wrap;justify-content:center;width:100%}
  .photoprev.lateral figure{width:150px}
  .photoprev.lateral img{height:100px}
}
.photoprev{display:flex;gap:12px;flex-wrap:wrap;justify-content:center;margin:0}
.capcaseta{display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;
  margin:-4px 0 0;padding-bottom:2px}
.capcaseta .sectitle{margin:0}
.btncolaps{border:1px solid var(--line-2);background:var(--surface);color:var(--ink-3);border-radius:8px;
  width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;font-size:15px}
.capcaseta:hover .btncolaps{border-color:var(--accent);color:var(--accent)}
.caseta .continutcaseta{margin-top:14px}
.caseta.strans .continutcaseta{display:none}
.caseta.strans .capcaseta{padding-bottom:0}
.photoprev figure{margin:0;width:150px}
.photoprev a{display:block;border:1px solid var(--line-2);border-radius:9px;overflow:hidden;background:var(--surface-3)}
.photoprev img{display:block;width:100%;height:100px;object-fit:cover}
.photoprev figcaption{font-size:11.5px;color:var(--ink-2);padding:4px 2px 0;text-align:center}
.photoprev figcaption a{color:inherit;text-decoration:none}
.photoprev figcaption a:hover{color:var(--accent);text-decoration:underline}
.photoprev figure.err a{display:none}
.photoprev .minipoza{border:1px solid var(--line-2);border-radius:9px;overflow:hidden;background:var(--surface-3);cursor:pointer}
.photoprev figure.ales .minipoza{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}
.tv-poza.ales{outline:2px solid var(--accent);outline-offset:-2px;cursor:move;z-index:3}
.incadrare{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0 0 12px;padding:9px 12px;border:1px solid var(--accent);background:var(--accent-soft);border-radius:10px;font-size:12.5px;color:var(--ink-2)}
.incadrare b{color:var(--ink)}
.incadrare .btn{padding:4px 10px;font-size:12px}
.incadrare .val{font-variant-numeric:tabular-nums;background:var(--surface);border:1px solid var(--line-2);border-radius:7px;padding:3px 9px}
.comparabtn{display:block;width:100%;margin-top:5px;border:1px solid var(--line-2);background:var(--surface);border-radius:var(--r-pill);padding:3px 8px;font:inherit;font-size:11px;color:var(--ink-2);cursor:pointer}
.comparabtn:hover{border-color:var(--accent);color:var(--accent)}
.comparabtn.activ{background:var(--accent);border-color:var(--accent);color:#fff}
.photoprev figure.err figcaption{font-size:11px;line-height:1.35}
.reslot .rm{color:var(--ink-3);cursor:pointer;font-size:16px;flex:0 0 auto}
.reslot .rm:hover{color:var(--dng-ink)}

/* cerințe de modificare (vizibile editorilor) */
/* Fiecare cerere e o discuție de sine stătătoare, cu firul, hotărârea și butoanele ei. Când sunt
   două deschise pe aceeași întrebare — normal, se mai descoperă și altceva între timp — o linie
   subțire nu ajungea: se citeau ca un singur bloc. Fiecare stă acum în caseta ei. */
.reqitem{padding:12px 14px;margin-bottom:10px;border:1px solid var(--line-2);border-radius:12px;
  background:var(--surface-2)}
.reqitem:last-of-type{margin-bottom:0}
.reqitem.resolved{opacity:.55}
.reqitem .rtop{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.reqitem .rtxt{font-size:13.5px;margin-top:5px}
.reqbtn{font-size:12px;color:var(--accent);background:var(--surface);border:1px solid var(--line-2);border-radius:8px;padding:6px 12px;cursor:pointer;margin-top:8px;display:inline-flex;align-items:center;gap:5px;font-family:inherit}
.reqbtn:hover{background:var(--surface-2)}
.reqbtn.resolve{color:#fff;background:var(--ok);border-color:var(--ok)}
.reqbtn.resping{color:var(--dng-ink);border-color:var(--dng-bg);background:var(--dng-bg)}
.rmsg{margin:9px 0 0 16px;padding-left:11px;border-left:2px solid var(--line)}
.rmsg.pr{border-left-color:var(--warn)}
.rmsg .rtop .name{font-weight:600;font-size:13px}
.rmsg .rtxt{margin-top:3px;color:var(--ink-2)}
/* Coloanele își cereau, fiecare, lățimea proprie: calea fișierului împingea în data de alături.
   Lățimi fixe, text mai mic și calea tăiată cu „…” dacă nu încape — nimic nu mai calcă peste nimic. */
#impLocale table{table-layout:fixed}
#impLocale th,#impLocale td{font-size:12px}
#impLocale th:nth-child(1),#impLocale td:nth-child(1){width:120px}
#impLocale th:nth-child(2),#impLocale td:nth-child(2){width:90px}
#impLocale th:nth-child(4),#impLocale td:nth-child(4){width:110px;white-space:nowrap}
#impLocale th:last-child,#impLocale td.actiuniimp{width:300px}
#impLocale td:nth-child(3){overflow:hidden}
#impLocale td:nth-child(3) .cale{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px}
#impLocale .btn{white-space:nowrap;font-size:12px;padding:6px 10px}
.butoaneimp{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.imprand:not(:empty){margin-top:6px;white-space:normal;text-align:right}
.impok{color:var(--ok-ink);display:inline-flex;align-items:center;gap:5px}
.imperr{color:var(--dng-ink);display:inline-flex;align-items:center;gap:5px}
.bifa{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;color:var(--ink-2);cursor:pointer;user-select:none}
.bifa input{width:15px;height:15px;accent-color:var(--accent);cursor:pointer}
.tintebar{display:inline-flex;align-items:center;gap:5px;flex-wrap:nowrap}
.tintecerere{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:12px;padding-top:12px;
  border-top:1px solid var(--line);font-size:11.5px;color:var(--ink-3)}
/* bara de cerere din Tabel episod: lipită sub bara de sus, peste capul tabelului */
.baracerere{position:sticky;top:0;z-index:8;display:flex;align-items:center;gap:8px;flex-wrap:wrap;
  background:var(--surface);margin:0 -20px;padding:14px 20px 12px;border-bottom:1px solid var(--line)}
.baracerere:empty{display:none}
/* bara e pe toată lățimea casetei: un câmp de 340px ascundea începutul propriei propoziții */
.baracerere input.cerere{flex:1 1 100%;border:1px solid var(--line-2);border-radius:9px;
  padding:6px 12px;font-size:12.5px;font-family:inherit;background:var(--surface);color:var(--ink)}
.baracerere input.cerere:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}
.baracerere .tinte{display:flex;align-items:center;gap:6px;flex-wrap:wrap;flex:1 1 auto}
.baracerere .btn{padding:7px 14px;font-size:12.5px;flex:0 0 auto}
.baracerere .indiciu{font-size:11.5px;color:var(--ink-3)}
/* panoul de confirmare: fiecare modificare pe rândul ei, cu vechi → nou sub ochi */
.confrand{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;padding:7px 0;border-top:1px solid var(--line)}
.confrand:first-of-type{border-top:none}
.confrand .camp{font-size:11.5px;color:var(--ink-2);min-width:96px;font-weight:600}
.confrand .val{font-size:13px}
.confrand i.ti-arrow-right{color:var(--ink-3);font-size:13px}
#banda{position:fixed;right:18px;bottom:18px;z-index:60;display:none;align-items:center;gap:10px;
  max-width:520px;padding:11px 14px;border-radius:12px;font-size:13px;box-shadow:var(--shadow);
  background:var(--surface);border:1px solid var(--line-2)}
#banda.arata{display:flex}
#banda.dng{border-color:var(--dng);background:var(--dng-soft,#fdf0ef);color:var(--dng-ink,#b42318)}
#banda.ok{border-color:var(--ok);background:var(--ok-soft,#eefaf1);color:var(--ok-ink,#186a3b)}
#banda i{font-size:16px;flex:0 0 auto}
#banda button{margin-left:auto;border:none;background:transparent;cursor:pointer;color:inherit;
  padding:2px;display:flex;font-size:15px}
/* butonul de navigare al unei sarcini: prezent, dar discret — hotărârea rămâne vedeta rândului */
#homeTaskRows .btn.mic{padding:5px 10px;font-size:12px;color:var(--ink-2)}
#homeTaskRows .btn.mic i{font-size:13px}
#homeTaskRows .row{cursor:default}
.rhint{font-size:11.5px;color:var(--dng-ink,#b42318);margin:4px 0 0}
textarea.rraspuns.lipsa{border-color:var(--dng-ink,#b42318);box-shadow:0 0 0 3px rgba(180,35,24,.12)}
.tintapill{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;color:var(--ink-2);background:var(--surface);
  border:1px solid var(--line-2);border-radius:20px;padding:4px 10px;cursor:pointer;font-family:inherit}
.tintapill:hover{background:var(--surface-2)}
.tintapill.activ{background:var(--accent);border-color:var(--accent);color:#fff}
.tintapill i{font-size:13px}
.tipcerere{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;color:var(--ink-2);
  background:var(--surface-2);border:1px solid var(--line);border-radius:6px;padding:2px 7px}
.tipcerere i{font-size:12px}
.cerecamp{border:none;background:transparent;color:var(--ink-3);cursor:pointer;padding:2px 4px;font-size:15px;line-height:1}
.cerecamp:hover{color:var(--accent)}
.rraspuns{width:100%;margin-top:9px;border:1px solid var(--line-2);border-radius:8px;padding:8px 10px;font-family:inherit;
  font-size:13px;line-height:1.45;color:var(--ink);background:var(--surface);resize:vertical;min-height:46px}
.rraspuns:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}
.rbtns{display:flex;gap:7px;flex-wrap:wrap}
.reqbtn.resolve:hover{filter:brightness(.95)}
.reqempty{font-size:13px;color:var(--ink-3)}
.reqnou{display:flex;gap:9px;align-items:stretch;margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}
.reqnou textarea{flex:1;border:1px solid var(--line-2);border-radius:8px;padding:9px 11px;font-family:inherit;font-size:13.5px;line-height:1.45;color:var(--ink);background:var(--surface);resize:none;height:60px}
.reqnou textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}
.reqnou .btn{align-self:stretch;white-space:nowrap}
.reqnou .btn[disabled]{opacity:.45;cursor:default}

/* presenter */
/* în modul text, enunțul și variantele stau centrate pe verticală în spațiul rămas */
#v-prezentator.show{display:flex;flex-direction:column;height:100%}
.randactiuni{display:flex;align-items:center;gap:10px;flex-wrap:wrap;min-height:34px}
.randactiuni .actiuni{display:flex;gap:9px;margin-left:auto;flex-wrap:wrap}
/* tabelul de ansamblu al unui episod */
.tabelep td,.tabelep th{vertical-align:top;padding:9px 10px}
/* întrebarea propriu-zisă rămâne pe alb; restul coloanelor stau pe gri, ca fundal secundar */
.tabelep td:not(.cutie),.tabelep th:not(.cutie){background:var(--surface-2)}
.tabelep td.cutie.ultima{border-right:3px solid var(--line-2)}
.tabelep .variante .corect,.tabelep .variante .gresit{display:inline-block;padding:1px 8px;border-radius:6px}
.tabelep .variante .corect{background:var(--ok-bg);color:var(--ok-ink);font-weight:700;box-shadow:inset 0 0 0 1px #bfe0b3}
.tabelep .variante .gresit{background:var(--surface-2);color:var(--ink-2)}
/* linii mai clare între întrebări, ca ochiul să urmărească rândul până la capăt */
.tabelep tbody td{border-bottom:1px solid var(--line)}
.tabelep tbody tr{cursor:pointer}
.tabelep tbody tr:hover td{background:var(--surface-3)}
.tabelep tbody tr:hover td.cutie{background:var(--surface-2)}
.tabelep tbody tr.aleasa td,.tabelep tbody tr.aleasa td.cutie{background:var(--accent-soft)}
/* `balance` împarte rândurile aproape egal, în loc să lase un cuvânt singur pe rândul al doilea */
/* toate mărimile se raportează la fontul tabelului, pe care îl reglează butoanele − și + */
/* lățime după conținut: altfel spațiul rămas s-ar aduna tot în coloana de observații */
.tabelep{font-size:12.5px;width:auto}
.tabelep td,.tabelep th{font-size:1em}
/* contrast: enunțul mai apăsat, răspunsul corect evidențiat, nu doar colorat */
.tabelep .enunt{min-width:280px;max-width:42ch;line-height:1.4;text-wrap:balance;font-size:1.16em;color:var(--ink);font-weight:500}
.tabelep .variante{min-width:200px;color:var(--ink);font-size:1.12em;line-height:1.75}
.tabelep .variante b{color:var(--ink);font-weight:600}
.tabelep .obs{width:40ch;max-width:40ch;color:var(--ink-2);font-size:1em;line-height:1.45}
.tabelep .poza{width:34px;text-align:center}
.tabelep .poza i{font-size:18px;cursor:zoom-in;color:var(--accent)}
.tabelep .poza .fara{color:var(--line-2);font-size:18px}
.tabelep .surse{white-space:normal;width:76px;max-width:76px}   /* trei jetoane pe rând, restul dedesubt */
.tabelep .surse a{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;margin-right:3px;
  border:1px solid var(--line-2);border-radius:5px;color:var(--accent);font-size:11px;font-weight:600;text-decoration:none}
.tabelep .surse a:hover{border-color:var(--accent);background:var(--accent-soft)}
.tabelep .nrq{font-weight:600;cursor:pointer;color:var(--accent)}
/* lățime fixă: poziția se poate calcula corect chiar de la prima trecere, înainte să se încarce poza */
#lupa{position:fixed;z-index:120;display:none;pointer-events:none;background:var(--surface);border:1px solid var(--line-2);
  border-radius:10px;padding:5px;box-shadow:0 12px 34px rgba(16,24,40,.22);width:560px}
#lupa.text{width:auto;min-width:220px;max-width:560px;padding:10px 12px}
#lupa img{display:block;max-width:100%;max-height:420px;border-radius:7px;margin:0 auto}
#lupa .cereripop{text-align:left;font-size:12.5px;max-height:420px;overflow:auto}
#lupa .cerere1+.cerere1{margin-top:10px;padding-top:10px;border-top:1px solid var(--line)}
#lupa .cerere1 .sus,#lupa .msj{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
#lupa .cerere1 .txt{margin-top:3px;color:var(--ink)}
#lupa .msj{margin:8px 0 0 14px;padding-left:10px;border-left:2px solid var(--line)}
#lupa .msj .txt{color:var(--ink-2)}
#lupa .stare{font-size:11.5px;color:var(--ink-3);padding:4px 4px 2px;text-align:center}
.impcap{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.imprez{margin-top:20px;border-top:1px solid var(--line);padding-top:18px}
.imprez h3{margin:0 0 12px;font-size:15px}
.impfapte{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:16px}
.impfapte span{background:var(--surface-2);border:1px solid var(--line-2);border-radius:8px;padding:6px 12px;font-size:12.5px;color:var(--ink-2)}
.impfapte span b{color:var(--ink)}
.impavert{border-left:3px solid var(--warn);background:var(--warn-bg);border-radius:0 8px 8px 0;padding:10px 14px;margin-bottom:16px;font-size:12.5px;color:var(--warn-ink)}
.impavert div{margin:2px 0}
.imptrimite{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.imptrimite select{border:1px solid var(--line-2);border-radius:9px;padding:9px 12px;font:inherit;font-size:13.5px;background:var(--surface);color:var(--ink);cursor:pointer}
.pres{margin:10px auto;width:100%;flex:1;min-height:0;display:flex;flex-direction:column}
#pTextMare{flex:1;min-height:0;display:flex;flex-direction:column;justify-content:center}
#pTextMare .qq{margin-bottom:40px}
.presgol{display:flex;flex-direction:column;align-items:center;gap:8px;padding:80px 20px;color:var(--ink-3);font-size:19px}
.presgol .ti{font-size:38px}
.pres .qn{text-align:center;color:var(--ink-3);font-size:17px;margin-bottom:10px}
/* enunțul stă pe un rând cât timp încape; când nu, `balance` împarte rândurile aproape egal,
   în loc să lase un cuvânt singur pe rândul al doilea.
   Înălțimile sunt rezervate pentru cazul cel mai lung, ca textul să nu mai salte la navigare. */
.pres .qq{font-family:'Schibsted Grotesk';text-align:center;font-size:46px;font-weight:600;line-height:1.35;margin:0 auto 40px;max-width:min(1500px,94%);text-wrap:balance;
  min-height:calc(3 * 1.35em);display:flex;align-items:center;justify-content:center}
.pres .opts{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-bottom:36px}
.pres .opt{border:1px solid var(--line);border-radius:var(--r-lg);padding:24px 36px;text-align:center;font-size:30px;position:relative;text-wrap:balance;
  min-height:118px;display:flex;align-items:center;justify-content:center}
.pres .opt.right{background:var(--ok-bg);border-color:#bfe0b3;color:var(--ok-ink);font-weight:600}
.pres .opt .lab{position:absolute;top:16px;right:18px;font-size:14px;color:var(--ok-ink);font-weight:600}
.pres .note{background:var(--surface);border:1px solid var(--line);border-left:4px solid var(--gold);border-radius:0 var(--r-lg) var(--r-lg) 0;padding:24px 28px;
  text-align:center;min-height:118px;display:flex;flex-direction:column;justify-content:center}
/* fără notă, locul rămâne rezervat: altfel pagina ar sălta de la o întrebare la alta */
.pres .note.goala{visibility:hidden}
.pres .note .lbl{font-size:13px;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-3);font-weight:600;margin-bottom:8px;display:flex;align-items:center;justify-content:center;gap:6px}
.pres .note .tx{font-size:21px;line-height:1.6}
.pres .navp{display:flex;align-items:center;justify-content:center;gap:26px;margin-bottom:28px}
.pres .navp .btn{padding:16px 26px}
.pres .navp .btn i{font-size:30px}

/* table */
.eptable{width:100%;border-collapse:separate;border-spacing:0;font-size:12px;table-layout:auto}
.eptable th,.eptable td{padding:12px 9px;text-align:left;vertical-align:middle;font-size:12.5px}
.eptable th{font-size:10.5px;color:var(--ink-2);font-weight:600;background:transparent;border-bottom:1px solid var(--line);text-transform:uppercase;letter-spacing:.03em;padding-bottom:8px}
.eptable th:first-child{padding-left:14px}
.capinfo{font-size:12px;color:var(--ink-3);margin-left:5px;vertical-align:-1px}
/* Iconița (i) din antet ocupa lățime pe o coloană îngustă și tot trebuia să o descoperi.
   Textul dedesubt spune același lucru, se rupe pe două rânduri și nu lățește coloana. */
/* Antetul are deja două rânduri (FILMARE / DIFUZARE). Nota se așază pe primul, o singură dată,
   centrată peste coloana din mijloc a celor trei cu hover — absolută, ca să nu ceară lățime. */
/* Antetul are un singur rând în fiecare celulă: „Filmare" și „Difuzare" stau pe coloane separate,
   iar „Nr. EP" nu se mai rupe în două. Ce rămâne e alinierea, aceeași peste tot. */
#episoadeList thead th{vertical-align:middle;text-align:center}
#episoadeList thead .cap{display:inline-flex;align-items:center;justify-content:center;
  gap:5px;line-height:15px;white-space:nowrap}
#episoadeList thead .cap i{font-size:13px}
/* coloana Nr. EP: antet scurt peste o cifră de cel mult două */
#episoadeList th:first-child,#episoadeList tbody tr.ep-main td:first-child{
  width:44px;padding-left:7px;padding-right:7px;text-align:center}
.eptable th[title]{cursor:help}
.eptable tbody tr.ep-main td{border:1px solid var(--line-2);background:var(--surface);padding-top:11px;padding-bottom:11px;vertical-align:middle}
.eptable tbody tr.ep-main td:not(:first-child){border-left:none}
.eptable tbody tr.ep-main td:not(:last-child){border-right:none}
.eptable tbody tr.ep-main td:first-child{border-radius:10px 0 0 10px;padding-left:14px}
.eptable tbody tr.ep-main td:last-child{border-radius:0 10px 10px 0}
.eptable tbody tr.ep-main td{box-shadow:0 10px 0 0 var(--surface);transition:background .12s}
.eptable td.datele{line-height:1.5;white-space:nowrap;text-align:center}
.eptable td.datele .datainput{padding:2px 6px;font-size:12px}
/* Capul de tabel rămâne sus la derulare: cu zece coloane de cifre, fără el nu mai știi ce citești. */
#episoadeList thead th{position:sticky;top:0;z-index:5;background:var(--surface);
  padding-top:14px;box-shadow:0 1px 0 0 var(--line)}

.eptable td.cif,.eptable th.cif{text-align:center;white-space:nowrap}
.eptable td.cif{font-size:12.5px}
.eptable td.cif .dinN{color:var(--ink-3);font-weight:400}
/* Tabelul are zece coloane: fiecare trebuie să-și ceară doar cât îi trebuie. Casetele de dată
   sunt cele mai lacome (136px fiecare, pentru „yyyy.mm.dd”), așa că le strângem la text mai mic. */
#episoadeList .datainput{font-size:11.5px;padding:2px 4px;width:97px}
#episoadeList th,#episoadeList td{padding-left:7px;padding-right:7px}
#episoadeList td.cif{font-size:12px}
/* Tot tabelul de episoade e centrat: coloanele sunt scurte (cifre, etichete, cod), iar aliniatul
   la stânga lăsa conținutul lipit de marginea unei coloane mult mai late decât el. */
#episoadeList th,#episoadeList td{text-align:center}
#episoadeList .codcell{align-items:center}
/* A/B, Dificultate, Poze: cifre de context, nu de decizie — scad și ele, și antetul lor */
#episoadeList th.mic{font-size:9.5px}
#episoadeList td.mic{font-size:11px}
#episoadeList td.mic .dinN{font-size:10px}
/* numele pe rândul al doilea: coloana se îngustează, iar restul cifrelor capătă aer */
.codcell{display:flex;flex-direction:column;align-items:flex-start;gap:4px}
.btnep{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;font-family:inherit;
  color:var(--ink-2);background:var(--surface);border:1px solid var(--line-2);border-radius:7px;
  padding:3px 9px;cursor:pointer;white-space:nowrap}
.btnep:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}
.btnep i{font-size:13px}
.cuLupa{cursor:help;border-bottom:1px dotted var(--line-2)}
#lupa .grupsurse+.grupsurse{margin-top:9px;padding-top:9px;border-top:1px solid var(--line)}
#lupa .grupsurse .cap{font-size:11px;color:var(--ink-3);text-transform:uppercase;letter-spacing:.04em;margin-bottom:5px}
#lupa .qlista{display:flex;flex-wrap:wrap;gap:5px}
#lupa .qsursa{display:inline-flex;align-items:center;gap:4px;font-size:11.5px;background:var(--surface-2);
  border:1px solid var(--line);border-radius:6px;padding:2px 7px}
#lupa .qsursa.zero{background:var(--warn-bg);border-color:var(--warn);color:var(--warn-ink)}
#lupa .qsursa .dinN{color:var(--ink-3)}
#lupa .fir{padding-left:16px;text-align:left}
.eptable .bar{margin-top:4px}
.eptable .detailbar{display:flex;justify-content:center;gap:20px;flex-wrap:wrap}
table.perm{width:100%;border-collapse:collapse;font-size:13px}
table.perm th,table.perm td{padding:10px 12px;border-bottom:1px solid var(--line);text-align:left}
table.perm th{font-size:12px;color:var(--ink-2);font-weight:600;background:var(--surface-2)}
table.perm td.c,table.perm th.c{text-align:center}
table.perm .yes{color:var(--ok)} table.perm .no{color:var(--ink-3)}

/* search */
/* controalele de filtrare stau în bara de sus, la aceeași înălțime cu segmentele de sezon */
.topfiltru{display:flex;align-items:center;gap:8px;flex:0 0 auto}
.topfiltru input{border:1px solid var(--line-2);border-radius:9px;padding:6px 12px;font-size:12.5px;font-family:inherit;background:var(--surface);color:var(--ink)}
.topfiltru input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}
.topfiltru input.ep{width:190px}
.topfiltru input.arhiva{width:230px}
.topfiltru input.cerere{width:340px}
.topfiltru .laDreapta,#topActions>.laDreapta{margin-left:auto}
.topfiltru span.laDreapta{width:0}   /* doar împinge ce urmează spre marginea din dreapta */
.topfiltru select.alegeep.colorat{font-weight:600}
.topfiltru select.alegeq{border:1px solid var(--line-2);border-radius:9px;padding:6px 10px;font:inherit;font-size:12.5px;background:var(--surface);color:var(--ink);cursor:pointer}
.topfiltru .separator{width:1px;height:22px;background:var(--line-2);margin:0 2px}
.topfiltru select.alegeep{border:1px solid var(--line-2);border-radius:9px;padding:6px 12px;font:inherit;font-size:12.5px;background:var(--surface);color:var(--ink);cursor:pointer}
.topfiltru select.alegeep:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}
.topfiltru .btn{padding:7px 14px;font-size:12.5px}
.segbtns{display:flex;flex:0 0 auto;border:1px solid var(--line-2);border-radius:9px;overflow:hidden;background:var(--surface)}
.segbtns button{border:none;background:transparent;padding:11px 16px;font:inherit;font-size:13px;color:var(--ink-2);cursor:pointer;border-right:1px solid var(--line-2)}
.segbtns button:last-child{border-right:none}
.segbtns button:hover{background:var(--surface-2)}
.segbtns button.activ{background:var(--accent);color:#fff}
.calnav{display:flex;align-items:center;gap:6px}
.calnav .btn{padding:6px 10px}
.calnav .calluna{font-size:13.5px;font-weight:600;min-width:150px;text-align:center;text-transform:capitalize}
.segbtns.mic button{padding:6px 12px;font-size:12.5px}
#tipFiltru button{padding:11px 12px;font-size:12px}   /* aceeași înălțime cu butoanele de stare */
#topActions{display:flex;align-items:center;gap:10px;flex-wrap:nowrap}
.calcap{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;font-size:10px;flex:0 0 auto;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-2);padding-bottom:5px;text-align:center}
.calview.show{display:flex;flex-direction:column;height:100%}
.calcard{flex:1;min-height:0;display:flex;flex-direction:column;padding:10px}
.calgrid{display:grid;grid-template-columns:repeat(7,1fr);grid-auto-rows:minmax(58px,1fr);gap:5px;flex:1;min-height:0}
.calzi{min-height:0;overflow:hidden;border:1px solid var(--line-2);border-radius:9px;padding:3px 4px;display:flex;flex-direction:column;background:var(--surface)}
/* lista stă centrată vertical în celulă; dacă nu încape, ea e cea care derulează, nu ziua întreagă */
.callist{flex:1;min-height:0;overflow:auto;display:flex;flex-direction:column;justify-content:center;gap:1px}
.callist::-webkit-scrollbar{width:5px}
.callist::-webkit-scrollbar-thumb{background:var(--line-2);border-radius:3px}
.calzi::-webkit-scrollbar{width:5px}
.calzi::-webkit-scrollbar-thumb{background:var(--line-2);border-radius:3px}
.calzi.goala{border:none;background:transparent}
.calzi.cuepisoade{background:var(--surface-2)}
.calzi.azi{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}
.calzi .calnr{font-size:10px;color:var(--ink-3);font-weight:600;line-height:1.1;flex:0 0 auto}
/* --zoom-cal e calculat la fiecare randare, ca ziua cea mai plină să încapă (vezi potrivesteCalendar) */
.calzi .calnr,.calrand{zoom:var(--zoom-cal,1)}
.calchip{cursor:pointer;font-size:11px;padding:2px 7px;text-align:center}
.calchip:hover{filter:brightness(.95)}
.calrand{display:flex;align-items:center;gap:4px;font-size:10.5px;line-height:1.2;padding:0 3px;border-radius:4px;cursor:pointer;white-space:nowrap}
.calrand:hover{background:var(--surface-3)}
.calrand b{flex:0 0 auto;color:var(--ink);font-weight:600}
.calrand .cod{color:var(--accent);font-weight:600}
.calrand .tag{font-size:9px;padding:0 5px;margin-left:auto;line-height:1.45}

.caldif{border-radius:5px;padding:2px 0;cursor:pointer;zoom:var(--zoom-cal,1);display:flex;flex-direction:column;gap:2px}
.caldif:hover{background:var(--surface-3)}
.caldif .calrand{zoom:1;cursor:inherit}
.calsub{font-size:10px;color:var(--ink-3);white-space:nowrap;line-height:1.2;padding:0 3px}
.filtrepanel{margin-bottom:16px;padding:12px 18px 14px}
.filtrepanel .fantet{display:flex;align-items:center;gap:10px;padding-bottom:8px}
.filtrepanel .ftitlu{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-2);font-weight:600}
.filtrepanel .fbadge{background:var(--accent);color:#fff;border-radius:var(--r-pill);padding:1px 7px;font-size:10.5px;font-weight:600}
.filtrepanel .fcollapse{margin-left:auto;background:none;border:1px solid var(--line-2);border-radius:8px;color:var(--ink-2);cursor:pointer;padding:4px 8px;display:flex;align-items:center;font-size:15px}
.filtrepanel .fcollapse:hover{background:var(--surface-2);color:var(--ink)}
.filtrepanel .fantet .golire{margin-left:0}
.filtrepanel .fgrup{display:grid;grid-template-columns:118px 1fr auto;align-items:start;gap:10px;padding:8px 0;border-top:1px solid var(--line)}
.filtrepanel .fgrup:first-child{border-top:none;padding-top:0}
.filtrepanel .fgrup:last-child{padding-bottom:0}
.filtrepanel .flabel{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-2);padding-top:6px}
.filtrepanel .fchips{display:flex;flex-wrap:wrap;gap:6px}
.filtrepanel .fchips.coloana{display:flex;flex-direction:column;gap:9px}
.filtrepanel .fstare{display:grid;grid-template-columns:104px 1fr;align-items:start;gap:9px}
.filtrepanel .fstare>.tag{justify-self:start;margin-top:3px}
.filtrepanel .fstare .chip{min-width:74px;padding-left:0;padding-right:0;text-align:center}
.filtrepanel .perioada{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;color:var(--ink-3);margin-left:4px}
.filtrepanel .perioada input{border:1px solid var(--line-2);border-radius:var(--r-pill);padding:4px 10px;font:inherit;font-size:11.5px;background:var(--surface);color:var(--ink);cursor:pointer}
.filtrepanel .perioada input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}
.chip{border:1px solid var(--line-2);background:var(--surface);color:var(--ink-2);border-radius:var(--r-pill);padding:4px 11px;font:inherit;font-size:12px;cursor:pointer;white-space:nowrap}
.chip:hover{background:var(--surface-2);color:var(--ink)}
.chip.activ{background:var(--accent);border-color:var(--accent);color:#fff}
.diff .old{color:var(--dng-ink)}
.ctxq{margin-top:4px;font-size:12.5px;color:var(--ink-3)}
.ctxq .tag{margin-right:5px}
.ctxa{margin-top:7px}
.ctxa .reqbtn{margin-top:0}
.rezumat{display:block;margin-top:5px;font-size:11.5px;color:var(--ink-3)}
.rezumat.deschis{color:var(--warn-ink)}
.ctxv{display:flex;gap:14px;flex-wrap:wrap;margin-top:2px}
.ctxv .corecta{color:var(--ok-ink);font-weight:600}
.ctxv .bifata{color:var(--ink-2);font-weight:600}
.ctxf{display:flex;gap:6px;flex-wrap:wrap;margin-top:5px}
.ctxf .ctxp{display:inline-flex;align-items:center;gap:4px;font-size:11.5px;color:var(--ink-2);
  background:var(--surface-2);border:1px solid var(--line);border-radius:6px;padding:2px 7px;cursor:zoom-in}
.ctxf .ctxp i{font-size:12px}
#imgTabel td .btn{white-space:nowrap}
.imgep{border:1px solid var(--line-2);border-radius:11px;margin-bottom:9px;background:var(--surface)}
.imgep.desfacut{box-shadow:var(--shadow)}
.imgcap{display:flex;align-items:center;gap:10px;padding:11px 14px;cursor:pointer;border-radius:11px}
.imgcap:hover{background:var(--surface-2)}
.imgep.desfacut .imgcap{border-bottom:1px solid var(--line);border-radius:11px 11px 0 0}
.imgcap>i{color:var(--ink-3);font-size:15px}
.imgcap .cod{font-weight:600}
.imgcap .cate{font-size:11.5px;color:var(--ink-3)}
.imgtabel{margin:0;padding:0 14px 10px}
.imgtabel th{padding-top:10px}
.imgtotal{font-size:12px;color:var(--ink-2);margin:0 2px 10px}
.imgcap td{background:var(--surface-2);border-top:1px solid var(--line);padding:8px 10px}
.imgcap .cod{font-weight:600;color:var(--accent);cursor:pointer}
.imgcap .cate{font-size:11.5px;color:var(--ink-3);margin-left:10px}
.qlink{color:var(--accent);cursor:pointer}
.bandablocare{display:flex;align-items:center;gap:8px;margin:-4px 0 12px;padding:9px 12px;border-radius:9px;
  background:var(--warn-bg);color:var(--warn-ink);font-size:13px;border:1px solid var(--warn)}
.bandablocare i{font-size:15px}
.barastare{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;
  margin:-2px 0 14px;padding-bottom:12px;border-bottom:1px solid var(--line)}
.barastare:not(:has(*:not(:empty))){display:none}
.barastare .actiuni{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.barastare .actiuni:empty{display:none}
#ttlBox{display:flex;align-items:center;gap:10px}
#ttlTag:empty{display:none}
.lacatstare:not(:empty){display:inline-flex;align-items:center;gap:6px;font-size:12.5px;color:var(--ink-2);
  background:var(--surface-2);border:1px solid var(--line);border-radius:8px;padding:5px 10px}
.lacatstare i{font-size:14px;color:var(--ink-3)}
.cell.cucerere{position:relative}
.cell.cucerere::after{content:"";position:absolute;top:2px;right:2px;width:6px;height:6px;border-radius:50%;
  background:var(--warn);box-shadow:0 0 0 1.5px #fff}
.starq{display:inline-block;width:4px;height:16px;border-radius:2px;vertical-align:-3px;margin-right:7px;background:var(--ink-3)}
.starq.ok{background:var(--ok)} .starq.warn{background:var(--warn)} .starq.info{background:var(--accent)}
.starq.dng{background:var(--dng)} .starq.muted{background:var(--line-2)}
.cereriq{display:inline-block;min-width:16px;height:16px;line-height:16px;text-align:center;border-radius:8px;
  background:var(--warn);color:#fff;font-size:10.5px;font-weight:600;margin-right:5px;vertical-align:1px}
.head.gol{color:var(--ink-3);font-weight:500}
.card.adusInFata{animation:pulsCard 1.5s ease-out}
@keyframes pulsCard{0%{box-shadow:0 0 0 0 var(--accent-soft),0 0 0 2px var(--accent)}
  70%{box-shadow:0 0 0 10px transparent,0 0 0 2px var(--accent)}
  100%{box-shadow:var(--shadow)}}
.head.gol .golmesaj{font-weight:400;text-transform:none;letter-spacing:0;margin-left:9px;font-size:12px;opacity:.85}
.ctxv i{font-size:12px;vertical-align:-1px;margin-right:3px}
.diff .new{color:var(--ok-ink)}
/* auditul ca flux de cartele: o cartelă = un schimb de acțiuni pe aceeași țintă */
.feedaudit{display:flex;flex-direction:column;gap:10px}
.jzi{font-size:11px;color:var(--ink-3);text-transform:uppercase;letter-spacing:.05em;margin:10px 0 2px}
.jzi:first-child{margin-top:0}
.cardj{background:var(--surface);border:1px solid var(--line-2);border-radius:12px;padding:12px 14px 10px;
  box-shadow:var(--shadow)}
.cardj.clicabil{cursor:pointer;transition:border-color .12s,background .12s}
.cardj.clicabil:hover{border-color:var(--accent);background:var(--surface-2)}
.jantet{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.jantet .jcod{font-weight:600;font-size:13px}
.jantet .jq{font-size:13px;color:var(--ink-2)}
.jantet .rezumat{display:inline;margin:0 0 0 auto;font-size:11.5px}
.cardj .ctxbox{margin-top:9px;background:var(--surface-2);border:1px solid var(--line);border-radius:9px;padding:9px 12px}
.cardj .ctxbox .ctxq{max-width:1000px}
.cardj .fir .text{max-width:1100px}
.cardj .ctxbox .ctxq{margin-top:0}
.cardj .fir{margin-top:5px;padding-left:18px}
.cardj .fir .ram{margin-left:26px}
.cardj .fir .ram::before{top:2px;bottom:6px}
.cardj .fir .pas::before{box-shadow:0 0 0 3px var(--surface)}
.cardj.clicabil:hover .fir .pas::before{box-shadow:0 0 0 3px var(--surface-2)}
.filtrepanel .golire{margin-left:auto;font-size:12px;color:var(--accent);background:none;border:none;cursor:pointer;padding:4px 2px}

@media(max-width:880px){
  body{flex-direction:column;height:auto;overflow:visible}
  .side{width:100%;flex:none;height:auto;flex-direction:row;flex-wrap:wrap;align-items:center;gap:10px;padding:12px}
  .brand{margin:0;padding:0} .brand img{width:auto;height:40px} .role-pick{margin:0;flex:1;min-width:220px}
  .nav{flex-direction:row;flex-wrap:wrap;width:100%;gap:4px;flex:none} .nav .grp{display:none} .side-foot{display:none}
  .nav a{padding:7px 10px}
  .main{height:auto;overflow:visible}
  .topbar{position:sticky;top:0}
  .content{overflow:visible}
  .detailscols{grid-template-columns:1fr !important}
  /* pe telefon, primele lucruri care trebuie să încapă sunt codul, starea și sinteza:
     datele de difuzare și filmare se completează de la calculator, nu din mers */
  #episoadeList th:nth-child(4),#episoadeList td:nth-child(4),
  #episoadeList th:nth-child(8),#episoadeList td:nth-child(8),
  #episoadeList th:nth-child(9),#episoadeList td:nth-child(9){display:none}
  /* antetul cu contoare și filtre se derulează lateral în loc să taie ultimul buton */
  #topActions{overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}
  #topActions::-webkit-scrollbar{display:none}
}
