/* ===== Teme (variabile CSS). Tema se alege în Setări → Identitate vizuală și se aplică prin <html data-theme="…"> ===== */
:root,[data-theme="albastru"]{--bg:#f1f4f8;--card:#fff;--ink:#1b2733;--mut:#66788a;--pri:#0b5cad;--pri-ink:#fff;--ok:#17894b;--err:#c0392b;--warn:#b7791f;--line:#dde4ec;--hdr:#0b5cad;--hdr-ink:#fff;--soft:#e8f0fa;--shadow:0 1px 3px rgba(20,40,70,.08)}
[data-theme="smarald"]{--bg:#eff6f3;--pri:#0f7a5c;--hdr:#0f7a5c;--soft:#e2f3ec;--line:#d6e6df}
[data-theme="bordeaux"]{--bg:#f7f1f2;--pri:#8a1c35;--hdr:#8a1c35;--soft:#f7e8ec;--line:#e8d9dd}
[data-theme="antracit"]{--bg:#12161b;--card:#1b222a;--ink:#e6ebf0;--mut:#93a1af;--pri:#4aa3ff;--pri-ink:#06121f;--ok:#3ecf7d;--err:#ff6b5e;--warn:#e0b24a;--line:#2a3541;--hdr:#0e1216;--hdr-ink:#e6ebf0;--soft:#22303e;--shadow:0 1px 3px rgba(0,0,0,.4)}
[data-theme="luminos"]{--bg:#fff;--card:#fff;--ink:#1d2329;--mut:#5d6872;--pri:#1f4e8c;--hdr:#fff;--hdr-ink:#1f4e8c;--soft:#f1f3f5;--line:#cdd4db;--shadow:none}
*{box-sizing:border-box}html,body{height:100%}body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.45 system-ui,Segoe UI,Roboto,sans-serif}
/* ===== bară de navigare ===== */
header.top{background:var(--hdr);color:var(--hdr-ink);display:flex;flex-wrap:wrap;align-items:center;gap:.25rem .8rem;padding:.4rem 1rem;border-bottom:1px solid var(--line)}
header.top .brand{display:flex;align-items:center;gap:.6rem;margin-right:auto}header.top .brand img{height:34px;width:auto;border-radius:4px;background:#fff;padding:2px}
header.top .brand b{display:block;line-height:1.1}header.top .brand small{display:block;opacity:.8;font-size:.75rem;line-height:1.1}
header.top a,header.top button{color:var(--hdr-ink);text-decoration:none;background:none;border:0;font:inherit;cursor:pointer;padding:.35rem .55rem;border-radius:6px}
header.top a.on,header.top a:hover{background:rgba(127,127,127,.22)}
main{max-width:1240px;margin:1rem auto;padding:0 .8rem}main.wide{max-width:none;margin:0;padding:0}
.card{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:1rem;margin-bottom:1rem;box-shadow:var(--shadow)}
h1{font-size:1.3rem;margin:.2rem 0 1rem}h2{font-size:1.02rem;margin:.1rem 0 .7rem;display:flex;align-items:center;gap:.2rem}
.scroll{overflow-x:auto}table{border-collapse:collapse;width:100%}th,td{padding:.45rem .5rem;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
th{font-size:.75rem;text-transform:uppercase;color:var(--mut)}
.badge{display:inline-block;padding:.1rem .5rem;border-radius:99px;font-size:.76rem;background:var(--soft);color:var(--ink);white-space:nowrap}
.b-gata,.b-online{background:rgba(23,137,75,.16);color:var(--ok)}.b-eroare,.b-lipsa{background:rgba(192,57,43,.16);color:var(--err)}
.b-procesare,.b-ruleaza,.b-in_coada,.b-asteapta{background:rgba(11,92,173,.14);color:var(--pri)}.b-copiere{background:rgba(183,121,31,.18);color:var(--warn)}
button,.btn{background:var(--pri);color:var(--pri-ink);border:0;border-radius:7px;padding:.5rem .9rem;font:inherit;cursor:pointer;text-decoration:none;display:inline-block}
button.sec,.btn.sec{background:transparent;color:var(--pri);border:1px solid var(--pri)}button.red{background:var(--err);color:#fff}button.sec.red{background:transparent;color:var(--err);border:1px solid var(--err)}
button.sm{padding:.2rem .5rem;font-size:.8rem}button:disabled{opacity:.5}
input[type=text],input[type=password],input[type=number],input[type=date],select,textarea{width:100%;padding:.42rem .55rem;border:1px solid var(--line);border-radius:7px;background:var(--card);color:var(--ink);font:inherit}
textarea{min-height:8rem;font-family:ui-monospace,Consolas,monospace;font-size:.88rem}
label{display:block;margin:.35rem 0;font-size:.9rem}label.chk{display:flex;gap:.5rem;align-items:center}
.grid{display:grid;gap:.8rem;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.row{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}
.flash{padding:.55rem .8rem;border-radius:8px;background:rgba(23,137,75,.16);color:var(--ok);margin-bottom:.8rem;word-break:break-word;white-space:pre-line}.flash.err{background:rgba(192,57,43,.16);color:var(--err)}
.bar{background:var(--line);border-radius:6px;height:.55rem;min-width:90px}.bar>i{display:block;height:100%;border-radius:6px;background:var(--pri)}
.mut{color:var(--mut);font-size:.85rem}video{width:100%;max-height:60vh;background:#000;border-radius:8px}code{background:var(--soft);padding:.05rem .3rem;border-radius:4px}
details summary{cursor:pointer;color:var(--pri);margin:.3rem 0}
/* ===== comutator (toggle) ===== */
.tgl{display:flex;align-items:center;justify-content:space-between;gap:.6rem;margin:.45rem 0;cursor:pointer}
.tgl input{position:absolute;opacity:0;pointer-events:none}.tgl .sw{flex:none;width:2.4rem;height:1.3rem;border-radius:99px;background:var(--line);position:relative;transition:.15s}
.tgl .sw::after{content:"";position:absolute;top:.15rem;left:.15rem;width:1rem;height:1rem;border-radius:50%;background:#fff;transition:.15s;box-shadow:0 1px 2px rgba(0,0,0,.3)}
.tgl input:checked+.sw{background:var(--pri)}.tgl input:checked+.sw::after{left:1.25rem}.tgl input:focus-visible+.sw{outline:2px solid var(--pri);outline-offset:2px}
/* ===== tooltip (ℹ): explicațiile apar doar la hover/focus ===== */
.info{display:inline-flex;align-items:center;justify-content:center;width:1.05rem;height:1.05rem;border-radius:50%;background:var(--soft);color:var(--pri);font-size:.68rem;font-weight:700;cursor:help;position:relative;margin-left:.3rem;flex:none;font-style:normal}
.info::after{content:attr(data-tooltip);display:none;position:absolute;z-index:60;bottom:135%;left:50%;transform:translateX(-50%);width:max-content;max-width:min(300px,78vw);background:#10151a;color:#f2f5f8;padding:.45rem .6rem;border-radius:6px;font-size:.78rem;font-weight:400;line-height:1.35;white-space:normal;text-align:left;box-shadow:0 6px 18px rgba(0,0,0,.35)}
.info:hover::after,.info:focus::after{display:block}
.set-grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(310px,1fr));align-items:start}.set-grid .card{margin:0}
.field{display:flex;align-items:center;justify-content:space-between;gap:.6rem;margin:.45rem 0}.field>span{flex:1;font-size:.9rem;display:flex;align-items:center}.field>input,.field>select{width:auto;max-width:58%;flex:none}
.savebar{position:sticky;bottom:0;background:var(--card);border-top:1px solid var(--line);padding:.6rem 1rem;margin:1rem -.8rem -1rem;display:flex;justify-content:flex-end;gap:.6rem}
/* ===== ședința live: centru de comandă, fără derulare verticală a paginii ===== */
body.live{height:100vh;overflow:hidden;display:flex;flex-direction:column}body.live main.wide{flex:1;min-height:0}
#live-grid{height:100%;display:grid;gap:.5rem;padding:.5rem;grid-template-columns:minmax(300px,1.25fr) minmax(280px,1fr) minmax(300px,1.1fr);
  grid-template-rows:auto auto minmax(0,1fr) minmax(0,1fr);grid-template-areas:"hdr hdr hdr" "spk spk spk" "video agenda votes" "video agenda side"}
#live-panel{display:contents}
.lp{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:.55rem .7rem;overflow:auto;min-height:0;box-shadow:var(--shadow)}
.lp h3{margin:0 0 .4rem;font-size:.82rem;text-transform:uppercase;letter-spacing:.04em;color:var(--mut);display:flex;align-items:center;gap:.4rem}
.p-hdr{grid-area:hdr;display:flex;flex-wrap:wrap;align-items:center;gap:.4rem 1rem;overflow:visible}.p-spk{grid-area:spk;display:flex;align-items:center;gap:1rem;flex-wrap:wrap}
.p-video{grid-area:video;display:flex;flex-direction:column;padding:.4rem}#jitsi{flex:1;min-height:200px;background:#000;border-radius:8px;overflow:hidden}
.p-agenda{grid-area:agenda}.p-votes{grid-area:votes}.p-side{grid-area:side}
.hdr-logo{height:38px;border-radius:4px;background:#fff;padding:2px}.hdr-inst{line-height:1.15}.hdr-inst b{display:block}.hdr-inst small{color:var(--mut)}
.hdr-title{font-weight:700;font-size:1.05rem;flex:1;min-width:200px}.clock{font-variant-numeric:tabular-nums;font-weight:700;font-size:1.15rem}
.rec{display:inline-flex;align-items:center;gap:.35rem;font-size:.8rem;font-weight:600}.rec i{width:.65rem;height:.65rem;border-radius:50%;background:var(--mut)}.rec.on i{background:var(--err);animation:blink 1.2s infinite}
@keyframes blink{50%{opacity:.25}}
.quorum{display:flex;gap:.7rem;align-items:center;flex-wrap:wrap;font-size:.85rem}.quorum b{font-size:1.05rem}.qok{color:var(--ok)}.qno{color:var(--err)}
.spk-name{font-size:1.5rem;font-weight:700;line-height:1.1}.spk-label{font-size:.72rem;text-transform:uppercase;color:var(--mut)}.spk-timer{font-size:1.9rem;font-variant-numeric:tabular-nums;font-weight:700;color:var(--pri);margin-left:auto}
.cnt{display:grid;grid-template-columns:repeat(3,1fr);gap:.4rem;text-align:center;margin:.3rem 0}.cnt div{border-radius:8px;padding:.35rem .2rem;font-size:.72rem;text-transform:uppercase}.cnt b{display:block;font-size:2rem;line-height:1.1}
.c-pentru{background:rgba(23,137,75,.16);color:var(--ok)}.c-impotriva{background:rgba(192,57,43,.16);color:var(--err)}.c-abtinere{background:rgba(183,121,31,.18);color:var(--warn)}
.opt{display:inline-block;min-width:2.1rem;text-align:center;padding:.05rem .45rem;border-radius:99px;font-size:.72rem;font-weight:700}
.o-pentru{background:var(--ok);color:#fff}.o-impotriva{background:var(--err);color:#fff}.o-abtinere{background:var(--warn);color:#fff}.o-conflict{background:#6b5ca5;color:#fff}.o-nu{background:var(--line);color:var(--mut)}
.pt{padding:.4rem .2rem;border-bottom:1px solid var(--line)}.pt.cur{background:var(--soft);border-radius:8px;padding:.45rem .5rem}.pt .t{font-weight:600}
.bigvote{display:flex;gap:.5rem;flex-wrap:wrap;margin:.5rem 0}.bigvote button{flex:1;min-width:6.5rem;padding:1rem .5rem;font-size:1.15rem;font-weight:700}
.tabbar{display:none}
@media (max-width:1000px){
 #live-grid{grid-template-columns:1fr;grid-template-rows:auto auto minmax(0,1fr) auto;grid-template-areas:"hdr" "spk" "main" "tabs";padding:.35rem;gap:.35rem}
 .p-video,.p-agenda,.p-votes,.p-side{grid-area:main;display:none}#live-grid[data-tab="video"] .p-video{display:flex}#live-grid[data-tab="agenda"] .p-agenda{display:block}
 #live-grid[data-tab="votes"] .p-votes{display:block}#live-grid[data-tab="side"] .p-side{display:block}
 .tabbar{grid-area:tabs;display:grid;grid-template-columns:repeat(4,1fr);gap:.3rem}.tabbar button{padding:.65rem .2rem;background:var(--card);color:var(--ink);border:1px solid var(--line)}
 .tabbar button.on{background:var(--pri);color:var(--pri-ink)}.spk-name{font-size:1.1rem}.spk-timer{font-size:1.3rem}.hdr-inst{display:none}}
/* ===== ecran pentru sala de consiliu ===== */
body.hall{background:#0c1116;color:#f2f5f8;font-size:clamp(18px,1.6vw,30px);padding:1.2vw;height:100vh;overflow:hidden}
.hall .h-top{display:flex;align-items:center;gap:1.5vw;border-bottom:2px solid #2a3541;padding-bottom:.6vw;margin-bottom:1vw}.hall .h-top img{height:5vw;background:#fff;border-radius:6px;padding:3px}
.hall .h-top b{font-size:1.5em;display:block;line-height:1.1}.hall .h-top small{opacity:.7}.hall .h-clock{margin-left:auto;font-size:2.4em;font-weight:700;font-variant-numeric:tabular-nums}
.hall .h-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:1.2vw;height:calc(100vh - 9.5vw)}.hall .box{background:#161d25;border-radius:14px;padding:1.2vw;overflow:hidden}
.hall .lbl{font-size:.55em;text-transform:uppercase;letter-spacing:.08em;opacity:.65;margin-bottom:.3em}.hall .who{font-size:2.3em;font-weight:700;line-height:1.1}.hall .tm{font-size:3em;font-variant-numeric:tabular-nums;color:#4aa3ff;font-weight:700}
.hall .pt-t{font-size:1.6em;font-weight:700}.hall .prop{font-size:1.05em;margin:.3em 0;padding:.3em .6em;border-left:6px solid #4aa3ff;background:#1f2a36;border-radius:6px}
.hall .big{display:grid;grid-template-columns:repeat(3,1fr);gap:1vw;margin:.5em 0}.hall .big div{text-align:center;border-radius:14px;padding:.4em;font-size:.6em;text-transform:uppercase}.hall .big b{display:block;font-size:4.2em;line-height:1}
.hall .nom{display:grid;grid-template-columns:repeat(auto-fill,minmax(14em,1fr));gap:.3em .8em;font-size:.62em}.hall .res{font-size:2.6em;font-weight:800}.hall .adoptat{color:#3ecf7d}.hall .respins{color:#ff6b5e}
.hall .qrm{display:flex;gap:2em;font-size:.8em;margin-top:.4em}
