:root{--bg:#080f1e;--side:#0a1425;--panel:#101d31;--panel2:#14233a;--text:#eff6ff;--muted:#9aabc2;--stroke:#263950;--blue:#338bfc;--blue2:#1e69d4;--red:#eb4459;--green:#16d7a0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;color-scheme:dark}*{box-sizing:border-box}body{margin:0;color:var(--text);background:var(--bg)}button,input,select{font:inherit}button{cursor:pointer;border-radius:9px;border:1px solid var(--stroke);padding:11px 16px;color:var(--text);background:#1d2d45;transition:background .2s}button:hover{background:#2c405e}button:disabled{cursor:default;opacity:.4}a{color:#85b8ff;text-decoration:none}a:hover{text-decoration:underline}input,select{width:100%;background:#091729;border:1px solid #35516f;color:var(--text);border-radius:8px;padding:12px;outline:none;min-width:0}input:focus,select:focus{border-color:var(--blue)}label{display:grid;gap:8px;color:#dae5f4;font-size:14px}.primary{background:linear-gradient(150deg,#348fff,#176be0);border-color:#3b8dff;font-weight:700}.primary:hover{background:#2d79ea}.danger{color:#ffd7dc;background:rgba(230,60,76,.1);border-color:#903e50}.danger:hover{background:#713046}.outline-btn{display:inline-flex;align-items:center;justify-content:center;background:transparent;border:1px solid #38516d;color:#e4efff;padding:9px 13px;font-size:13px;border-radius:8px}.admin-bg{min-height:100vh;background:radial-gradient(circle at 90% 0,#112640,transparent 30%),#0a1221}.admin-top,.tv-top{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 27px;background:#0b1728;border-bottom:1px solid #233653}.logo{font-size:19px;font-weight:850;letter-spacing:.7px;display:flex;align-items:center;gap:8px}.logo strong{color:#58a9ff}.logo small{font-size:10px;color:var(--muted);font-weight:700;margin-left:6px;padding-left:9px;border-left:1px solid var(--stroke)}.logo-mark,.brand-badge{display:inline-flex;justify-content:center;align-items:center;width:31px;height:31px;color:white;background:linear-gradient(135deg,#43abfe,#1c5edb);border-radius:9px;font-size:14px}.admin-links{display:flex;align-items:center;gap:13px;font-size:12px;color:var(--muted)}.live-dot{width:8px;height:8px;background:#62748a;border-radius:50%;display:inline-block;box-shadow:0 0 0 4px #748ba81a}.live-dot.active,.tv-live-tag .live-dot{background:#ff5369;box-shadow:0 0 0 4px #ff536922;animation:pulse 1.6s infinite}@keyframes pulse{50%{opacity:.5}}.admin-shell{display:flex;min-height:calc(100vh - 69px)}.sidebar{flex:0 0 245px;padding:30px 15px;background:var(--side);border-right:1px solid #233653}.side-label,.overline,.eyebrow{font-size:11px;letter-spacing:1.8px;color:#8facd0;font-weight:800}.side-label{padding:0 12px;margin:0 0 18px}.nav{width:100%;display:block;text-align:left;border:0;background:transparent;color:#a7b9d0;padding:14px;margin:4px 0;font-weight:600}.nav.on{background:#213d61;color:#fff;box-shadow:inset 3px 0 #58abff}.nav:hover{background:#1a314e}.side-hint{font-size:12px;color:#7188a1;line-height:1.7;margin:45px 12px 0}.main-panel{width:100%;max-width:1400px;margin:auto;padding:35px 40px;align-self:flex-start}.page-head{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:29px}.page-head h1{font-size:30px;margin:9px 0}.page-head p{margin:0;color:var(--muted);line-height:1.6}.link-btn{padding:14px 18px;white-space:nowrap}.panel{border:1px solid var(--stroke);border-radius:14px;padding:24px;background:linear-gradient(155deg,#132139,#101b2f);margin-bottom:23px;box-shadow:0 16px 30px #03091825}.panel h2{font-size:27px;line-height:1.3;word-break:break-word;margin:16px 0}.panel h3{font-size:18px;margin:0 0 24px}.panel p{color:var(--muted);line-height:1.65}.dash-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.dash-grid .panel{min-height:240px}.pill{display:inline-block;padding:8px 12px;font-size:12px;border-radius:50px;color:#aed2ff;background:#17436b;font-weight:700}.subtle,.help-text{color:var(--muted);font-size:13px}.help-text{line-height:1.8!important;border-top:1px solid var(--stroke);padding-top:15px}.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}.simple-list{display:grid;gap:2px}.list-line{display:flex;justify-content:space-between;gap:16px;align-items:center;border-bottom:1px solid #2a3b52;padding:14px 2px;font-size:14px}.list-line:last-child{border-bottom:0}.list-line small{font-size:12px;color:#8ebff3;white-space:nowrap}.empty{color:var(--muted);padding:16px}.table-scroll{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:14px}th{text-align:left;color:#9eb6d6;font-size:12px;letter-spacing:.5px;font-weight:700;background:#182943}th,td{padding:14px 10px;border-bottom:1px solid #243b58;vertical-align:middle}td strong{font-weight:700}.table-sub{display:block;color:#7693b1;font-size:11px;margin-top:5px;overflow-wrap:anywhere}.table-actions{display:flex;gap:6px;flex-wrap:wrap}.small{padding:7px 10px;font-size:12px}.count{color:#9bbde9;font-size:14px}.upload-row{display:flex;align-items:center;gap:10px}.upload-row input{flex:1}.progress-track{height:8px;border-radius:8px;overflow:hidden;background:#243953;margin-top:18px}.progress-track>div{height:100%;width:0;background:linear-gradient(90deg,#236fe1,#20dabf);transition:width .2s}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.form-grid .wide,.form-actions{grid-column:1 / -1}.form-actions{display:flex;justify-content:flex-start}.large{padding:15px 20px}.notice{padding:16px 22px;border-radius:10px;margin-bottom:22px;background:#17446b;border:1px solid #3885bf}.notice-error,.error{background:#4a1d2c;color:#ffd9df;border:1px solid #993e55;border-radius:9px;padding:12px}.login-bg{min-height:100vh;background:radial-gradient(circle at center,#1b375c,#08101f);display:grid;place-items:center}.login-panel{width:min(420px,92vw);background:#12213a;border:1px solid #2b4569;border-radius:18px;padding:36px;display:grid;gap:16px;box-shadow:0 25px 90px #0005;margin:12vh auto}.login-panel .brand-badge{width:51px;height:51px;font-size:25px}.login-panel h1{margin:0;font-size:30px}.login-panel p{color:var(--muted);line-height:1.5;margin:0}.login-panel small{color:var(--muted);line-height:1.5}.login-panel .error{font-size:13px}.tv-bg{background:radial-gradient(circle at 50% 0,#172d4e,transparent 70%),#050c18;min-height:100vh}.tv-top{height:76px;background:rgba(8,18,35,.85)}.tv-live-tag{display:flex;align-items:center;gap:11px;font-size:12px;letter-spacing:1px;color:#d9e8ff;border:1px solid #34516e;padding:11px 16px;border-radius:30px}.tv-wrap{max-width:1200px;margin:44px auto;padding:0 20px}.player-frame{overflow:hidden;border-radius:20px;border:1px solid #345273;background:#07111e;box-shadow:0 25px 70px #0007}.player-region{width:100%;aspect-ratio:16/9;position:relative;display:flex;justify-content:center;align-items:center;background:#02060f}.player-region video,.player-region #embedHolder,.player-region iframe{height:100%;width:100%;display:block;border:0;object-fit:contain}.player-region video[hidden],.player-region #embedHolder[hidden],.player-region .idle-screen[hidden]{display:none!important}.idle-screen{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:center;background:radial-gradient(circle,#132d50,#030914);text-align:center;padding:10px}.large-play{font-size:42px;color:#66b1ff;width:100px;height:100px;display:grid;place-items:center;border-radius:50%;border:2px solid #315d91;background:#163457;box-shadow:0 0 80px #3670b33d}.idle-screen h1{font-size:clamp(20px,4vw,50px);margin:22px 0 10px}.idle-screen p{color:#a0c0e5}.player-lower{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:19px 25px;background:#111f33}.player-lower h2{font-size:20px;margin:7px 0 0;line-height:1.3}.tv-details{display:grid;grid-template-columns:1.5fr 1fr;gap:23px;margin-top:26px}.tv-footer{text-align:center;color:#58758f;padding:25px;font-size:12px}
@media(max-width:850px){.admin-shell{display:block}.sidebar{display:flex;gap:7px;overflow-x:auto;position:sticky;top:0;z-index:5;padding:10px;background:#101e32;border-bottom:1px solid var(--stroke)}.sidebar .side-label,.side-hint{display:none}.sidebar .nav{width:auto;flex:0 0 auto;font-size:12px;padding:12px}.main-panel{padding:23px 15px}.page-head h1{font-size:23px}.dash-grid,.tv-details{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.upload-row{flex-direction:column;align-items:stretch}.admin-top{padding:15px}.admin-links #topState,.admin-links .live-dot{display:none}.panel{padding:18px}.tv-wrap{margin:22px auto}.tv-top{height:65px}.player-lower{flex-direction:column;align-items:flex-start}.tv-live-tag{font-size:10px;padding:8px 11px}}@media(max-width:480px){.logo{font-size:14px}.logo small{display:none}.page-head{align-items:flex-start}.page-head .link-btn{display:none}.table-actions{min-width:220px}.list-line{align-items:flex-start;flex-direction:column;gap:5px}.player-lower h2{font-size:17px}}

/* WEBTV PRO 2.0.1 — Monitor di messa in onda, presente in tutte le sezioni */
@media(min-width:1101px){
  .admin-shell{display:grid;grid-template-columns:245px minmax(0,1fr) minmax(300px,350px);align-items:stretch}
  .main-panel{width:100%;max-width:none;min-width:0;margin:0;padding:35px 25px}
}
.regia-monitor{position:sticky;top:14px;align-self:start;margin:24px 16px 24px 0;min-width:0;z-index:8;border-radius:14px;overflow:hidden;background:#0c192c;border:1px solid #315476;box-shadow:0 14px 45px #02091299}
.monitor-header{background:linear-gradient(95deg,#16304f,#10253d);display:flex;justify-content:space-between;align-items:center;padding:12px;gap:10px;border-bottom:1px solid #294663}
.monitor-brand{display:flex;align-items:center;gap:9px;min-width:0}.monitor-brand strong{font-size:12px;letter-spacing:.9px;white-space:nowrap}.monitor-brand small{font-size:9px;color:#94b9df;display:block;letter-spacing:.6px}
.monitor-led{display:inline-block;flex:0 0 10px;width:10px;height:10px;border-radius:50%;background:#6a8097;box-shadow:0 0 0 3px #6a809733}.monitor-led.monitor-lit{background:#f34f65;box-shadow:0 0 0 4px #f34f6533;animation:pulse 1.6s infinite}.monitor-led.monitor-fail{background:#ffac39;box-shadow:0 0 0 4px #ffac3933}
.monitor-toggle{padding:3px 10px;font-size:20px;line-height:1;background:transparent;border-color:#385676}
.monitor-screen{position:relative;aspect-ratio:16/9;width:100%;background:#020711;overflow:hidden}.monitor-screen iframe{width:100%;height:100%;display:block;border:0;background:#020711}
.monitor-info{padding:12px 13px 6px;display:grid;gap:6px}.monitor-info strong{font-size:14px;overflow-wrap:anywhere}.monitor-info span{font-size:12px;color:#99b8d3}.monitor-info span.monitor-bad{color:#ffac99}
.monitor-buttons{display:flex;flex-wrap:wrap;gap:6px;padding:9px 12px 12px}.monitor-buttons button,.monitor-buttons a{font-size:11px;padding:8px 8px;white-space:nowrap}
.monitor-troubleshoot{border-top:1px solid #624b4c;background:#392430;padding:10px 12px;color:#ffd4ca;font-size:12px;line-height:1.4}.monitor-troubleshoot a{display:block;margin-top:8px}
.monitor-footnote{padding:0 12px 12px;margin:0;font-size:10.5px!important;line-height:1.4!important;color:#7895b3!important}
.regia-monitor.is-collapsed #monitorContents{display:none}
@media(min-width:851px) and (max-width:1100px){.regia-monitor{position:fixed;bottom:16px;right:16px;top:auto;width:330px;margin:0;max-width:calc(100vw - 32px);z-index:25}.main-panel{padding-bottom:200px}}
@media(max-width:850px){.regia-monitor{position:fixed;bottom:10px;right:10px;top:auto;width:270px;margin:0;max-width:calc(100vw - 20px);z-index:25}.monitor-brand small{display:none}.monitor-footnote{display:none}.main-panel{padding-bottom:210px}}
/* Riquadro di monitoraggio: stesso player e stessa sorgente della pagina visibile agli spettatori */
.player-error{position:absolute;left:5%;right:5%;top:15%;padding:13px 16px;background:#541a27ec;border:1px solid #d34a64;color:#fff;z-index:5;border-radius:10px;text-align:center;font-size:14px;line-height:1.4;pointer-events:none}
.player-error[hidden]{display:none!important}
.monitor-mode{min-height:0;overflow:hidden;background:#020711}.monitor-mode .tv-top,.monitor-mode .tv-details,.monitor-mode .tv-footer,.monitor-mode .player-lower{display:none!important}
.monitor-mode .tv-wrap{margin:0;max-width:none;padding:0}.monitor-mode .player-frame{border:0;border-radius:0;box-shadow:none}.monitor-mode .player-region{aspect-ratio:auto;width:100%;height:100vh;min-height:0}.monitor-mode .idle-screen h1{font-size:clamp(13px,2.5vw,23px);margin:7px 0}.monitor-mode .idle-screen p{font-size:11px}.monitor-mode .large-play{font-size:22px;width:50px;height:50px}.monitor-mode .player-error{font-size:11px;padding:9px}

/* 2.1 - Azioni YouTube */
.youtube-actions{gap:12px;flex-wrap:wrap;align-items:center}.youtube-actions a{min-height:43px}.table-actions a.small{display:inline-flex;align-items:center}

/* Importatore esterno 2.2 */
.rights-check{display:flex!important;align-items:flex-start;gap:10px;font-size:.85rem;max-width:100%}.rights-check input{width:auto!important;flex:0 0 auto;margin-top:3px}.worker-config{padding:14px;margin-top:16px;border:1px solid rgba(148,163,184,.3);border-radius:12px}.worker-config summary{cursor:pointer;font-weight:600}.worker-config textarea{display:block;width:100%;min-height:64px;margin:10px 0;word-break:break-all}.worker-config button{margin:7px 0}#importsRows progress{width:92px;vertical-align:middle}.worker-config code{white-space:normal}

/* WEBTV PRO 2.3 — Ricerca per titolo o nome autore */
.yt-search-head{display:flex;align-items:start;justify-content:space-between;gap:14px;margin-bottom:15px}.yt-search-head h3{margin-bottom:7px}.yt-search-head p{margin:0}.yt-search-panel .yt-rights{margin-top:15px;margin-bottom:20px}.yt-results{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:13px;margin-top:15px}.yt-result{overflow:hidden;border-radius:12px;border:1px solid #34506b;background:#101e32}.yt-result img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;background:#050b15}.yt-result-body{padding:13px;display:flex;flex-direction:column;gap:8px}.yt-result-body strong{font-size:13px;line-height:1.4;min-height:38px;overflow-wrap:anywhere}.yt-result-body small{font-size:11px;color:#9ab7d7}.yt-result-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-top:5px}.yt-result-actions .small{font-size:11px}.yt-search-panel details label{display:grid;gap:8px;font-size:13px;margin-top:15px}.yt-search-panel details .actions{margin:12px 0}.yt-search-panel #ytFindMessage{min-height:1em;margin-top:18px}
@media(max-width:600px){.yt-results{grid-template-columns:1fr}.yt-result{display:grid;grid-template-columns:130px minmax(0,1fr)}.yt-result img{width:130px;height:100%;min-height:120px}.yt-result-actions{gap:5px}.yt-result-actions .small{font-size:10px;padding:7px}}
