
*{box-sizing:border-box}:root{--bg:#050505;--text:#fff;--muted:#a7a7a7;--line:rgba(255,255,255,.09);--red:#e50914;--card:#151515}html{background:var(--bg);color:var(--text);font-family:Arial,Helvetica,sans-serif}body{margin:0;min-height:100vh;background:radial-gradient(circle at 80% 0%,rgba(229,9,20,.23),transparent 34%),linear-gradient(180deg,#121212 0%,#050505 45%,#000 100%)}a{color:inherit}.topbar,.watchTopbar{position:sticky;top:0;z-index:30;min-height:68px;display:flex;align-items:center;gap:16px;padding:0 24px;background:rgba(0,0,0,.9);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}.brand{color:var(--red);text-decoration:none;font-weight:950;font-size:25px;white-space:nowrap}.searchBox{flex:1;max-width:650px}.searchBox input{width:100%;height:42px;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.075);color:var(--text);border-radius:10px;padding:0 14px;outline:none;font-size:15px}.topBtn,.backBtn{height:40px;border:0;background:rgba(255,255,255,.12);color:#fff;border-radius:10px;padding:0 14px;font-weight:800;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}.page{padding:28px 24px 56px}.contentSection{margin-bottom:38px}.sectionTitle{display:flex;align-items:baseline;gap:12px;margin-bottom:18px}.sectionTitle h2{margin:0;font-size:24px}.sectionTitle span{color:var(--muted);font-size:14px}.status{padding:18px 0;color:var(--muted)}.movieGrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(158px,1fr));gap:24px}.movieCard{display:block;text-decoration:none;color:var(--text);min-width:0}.poster{position:relative;aspect-ratio:2/3;border-radius:15px;background:var(--card);overflow:hidden;box-shadow:0 17px 42px rgba(0,0,0,.48);transition:.18s}.poster img{width:100%;height:100%;object-fit:cover;display:block;background:#111}.playBadge{position:absolute;left:10px;bottom:10px;background:rgba(229,9,20,.96);padding:7px 10px;border-radius:999px;font-size:12px;font-weight:900;opacity:0;transform:translateY(5px);transition:.18s}.movieCard:hover .poster{transform:scale(1.045);box-shadow:0 25px 58px rgba(0,0,0,.7)}.movieCard:hover .playBadge{opacity:1;transform:translateY(0)}.thumbProgress{height:4px;background:rgba(255,255,255,.14);border-radius:999px;margin:8px 2px 0;overflow:hidden}.thumbProgress span,.miniProgress span{display:block;height:100%;background:var(--red);border-radius:inherit}.movieMeta{padding:9px 2px 0}.movieTitle{font-size:15px;font-weight:850;line-height:1.25;min-height:38px;display:-webkit-box;overflow:hidden;-webkit-line-clamp:2;-webkit-box-orient:vertical}.movieSub{display:flex;flex-wrap:wrap;gap:6px;margin-top:5px;color:#9c9c9c;font-size:12px}.watchBody{background:#000}.watchTitle{font-weight:850;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;flex:1}.watchPage{max-width:1180px;margin:0 auto;padding:18px}.player{width:100%;max-height:calc(100vh - 150px);background:#000;display:block;border-radius:14px;box-shadow:0 22px 90px rgba(0,0,0,.75)}.playerInfo h1{margin:16px 2px 0;font-size:25px}.seriesHeader{display:flex;align-items:end;gap:22px;margin-bottom:30px}.seriesHeader img{width:130px;aspect-ratio:2/3;object-fit:cover;border-radius:14px}.seriesHeader h1{margin:0;font-size:clamp(32px,5vw,58px);line-height:.95}.seasonBlock{margin-bottom:34px}.seasonBlock h2{margin:0 0 14px}.episodeList{display:grid;gap:10px}.episodeRow{display:grid;grid-template-columns:1fr 160px;gap:14px;align-items:center;padding:14px;border:1px solid var(--line);background:rgba(255,255,255,.06);border-radius:12px;text-decoration:none}.episodeRow strong,.episodeRow span{display:block}.episodeRow span{margin-top:4px;color:var(--muted);font-size:13px}.miniProgress{height:5px;background:rgba(255,255,255,.14);border-radius:999px;overflow:hidden}.loginBody{min-height:100vh;background:radial-gradient(circle at top,rgba(229,9,20,.22),transparent 34%),linear-gradient(180deg,#101010,#000)}.loginPage{min-height:100vh;display:grid;place-items:center;padding:20px}.loginCard,.adminPanel{background:rgba(15,15,15,.94);border:1px solid rgba(255,255,255,.1);border-radius:20px;box-shadow:0 24px 80px rgba(0,0,0,.6)}.loginCard{width:min(420px,100%);padding:28px}.loginBrand{color:var(--red);font-size:26px;font-weight:950;margin-bottom:20px}.loginCard h1,.adminPanel h1{margin:0 0 18px}.loginCard label,.adminForm label{display:block;margin-bottom:15px}.loginCard label span,.adminForm label span{display:block;margin-bottom:7px;color:#ddd;font-size:14px;font-weight:700}.loginCard input[type=text],.loginCard input[type=password],.adminForm input[type=text],.adminForm input[type=password],.userRow input[type=password]{width:100%;height:44px;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.075);color:#fff;border-radius:10px;padding:0 13px;outline:none}.loginCard button,.adminForm button,.userRow button{height:42px;border:0;background:var(--red);color:#fff;border-radius:10px;font-weight:900;cursor:pointer;padding:0 14px}.loginCard button{width:100%}.loginError,.okBox{border-radius:12px;padding:12px;margin-bottom:16px}.loginError{background:rgba(229,9,20,.16);border:1px solid rgba(229,9,20,.36)}.okBox{background:rgba(46,160,67,.16);border:1px solid rgba(46,160,67,.36)}.adminPage{max-width:1100px;margin:0 auto;padding:22px}.adminPanel{padding:22px;margin-bottom:22px}.checkLabel{display:flex!important;align-items:center;gap:8px}.checkLabel span{margin:0!important}.userTable{display:grid;gap:12px}.userRow{display:grid;grid-template-columns:230px 1fr;gap:14px;align-items:center;padding:14px;border:1px solid var(--line);border-radius:12px}.userRow span{display:block;color:var(--muted);margin-top:4px}.userRow form{display:flex;flex-wrap:wrap;gap:8px}.userRow input[type=password]{width:210px}@media(max-width:740px){.topbar{padding:14px;flex-wrap:wrap;gap:12px}.brand{font-size:22px}.searchBox{order:4;flex-basis:100%;max-width:none}.page{padding:18px 14px 42px}.movieGrid{grid-template-columns:repeat(3,1fr);gap:14px}.movieTitle{font-size:13px;min-height:34px}.watchPage{padding:10px}.player{border-radius:8px;max-height:calc(100vh - 115px)}.seriesHeader{align-items:center}.seriesHeader img{width:86px}.episodeRow,.userRow{grid-template-columns:1fr}}@media(max-width:390px){.movieGrid{grid-template-columns:repeat(2,1fr)}}
/* Fullscreen idle fix pentru player */
html.movieflixFullscreenIdle,
html.movieflixFullscreenIdle *,
body.movieflixFullscreenIdle,
body.movieflixFullscreenIdle * {
    cursor: none !important;
}

.player.movieflixNativeControlsHidden::-webkit-media-controls,
.player.movieflixNativeControlsHidden::-webkit-media-controls-panel,
.player.movieflixNativeControlsHidden::-webkit-media-controls-enclosure,
.player.movieflixNativeControlsHidden::-webkit-media-controls-overlay-play-button,
.player.movieflixNativeControlsHidden::-webkit-media-controls-play-button,
.player.movieflixNativeControlsHidden::-webkit-media-controls-timeline,
.player.movieflixNativeControlsHidden::-webkit-media-controls-current-time-display,
.player.movieflixNativeControlsHidden::-webkit-media-controls-time-remaining-display,
.player.movieflixNativeControlsHidden::-webkit-media-controls-mute-button,
.player.movieflixNativeControlsHidden::-webkit-media-controls-volume-slider,
.player.movieflixNativeControlsHidden::-webkit-media-controls-fullscreen-button {
    opacity: 0 !important;
    pointer-events: none !important;
}

.player.movieflixNativeControlsHidden {
    cursor: none !important;
}

/* ============================================================
   Catalog separat: Filme / Seriale / Toate
   ============================================================ */
.catalogTabs {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 5px;
    background: rgba(255,255,255,.075);
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 999px;
    flex: 0 0 auto;
}

.catalogTab {
    height: 34px;
    border: 0;
    border-radius: 999px;
    padding: 0 13px;
    background: transparent;
    color: #d6d6d6;
    font-size: 13px;
    font-weight: 900;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    white-space: nowrap;
    transition: background .16s ease, color .16s ease, transform .16s ease;
}

.catalogTab span {
    min-width: 22px;
    height: 22px;
    padding: 0 7px;
    border-radius: 999px;
    background: rgba(255,255,255,.12);
    color: #cfcfcf;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    line-height: 1;
}

.catalogTab:hover {
    color: #fff;
    background: rgba(255,255,255,.1);
}

.catalogTab.isActive {
    background: var(--red);
    color: #fff;
    box-shadow: 0 10px 25px rgba(229,9,20,.28);
}

.catalogTab.isActive span {
    background: rgba(0,0,0,.22);
    color: #fff;
}

.contentSection[hidden] {
    display: none !important;
}

.movieId {
    font-size: 12px;
    font-weight: normal;
    color: #555;
    margin-top: 2px;
}

@media(max-width:960px) {
    .catalogTabs {
        order: 3;
        flex-basis: 100%;
        width: 100%;
        justify-content: center;
        overflow-x: auto;
        border-radius: 14px;
    }

    .catalogTab {
        flex: 1 1 0;
        justify-content: center;
    }
}

@media(max-width:740px) {
    .catalogTabs {
        order: 3;
    }

    .searchBox {
        order: 4;
    }

    .topBtn {
        flex: 1 1 auto;
    }
}

@media(max-width:390px) {
    .catalogTab {
        padding: 0 8px;
        font-size: 12px;
        gap: 5px;
    }

    .catalogTab span {
        min-width: 20px;
        height: 20px;
        padding: 0 6px;
        font-size: 11px;
    }
}

/* Admin - activitate utilizatori */
.userIdentity{min-width:0}.userActivityMini{font-size:12px!important;color:#858585!important}.activityLink{display:inline-flex;margin-top:9px;color:#fff;text-decoration:none;font-size:13px;font-weight:850;border-bottom:1px solid rgba(229,9,20,.7);padding-bottom:2px}.activityPanel{scroll-margin-top:86px}.activityHeader{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:20px}.activityHeader h1{margin-bottom:5px}.activityHeader p{margin:0;color:var(--muted);font-size:14px}.activityUserPicker{display:flex;align-items:end;gap:8px}.activityUserPicker label{display:block;color:var(--muted);font-size:12px;font-weight:800;margin-bottom:6px}.activityUserPicker select{height:42px;min-width:180px;border:1px solid rgba(255,255,255,.16);background:#202020;color:#fff;border-radius:10px;padding:0 38px 0 12px;font-weight:750}.activityUserPicker button{height:42px;border:0;background:var(--red);color:#fff;border-radius:10px;padding:0 14px;font-weight:900;cursor:pointer}.activityStats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-bottom:13px}.activityStat{min-height:92px;padding:14px;border:1px solid var(--line);background:rgba(255,255,255,.045);border-radius:14px;display:flex;flex-direction:column;justify-content:space-between;gap:8px}.activityStat span{color:var(--muted);font-size:12px;font-weight:750}.activityStat strong{font-size:22px;line-height:1.05}.activityStatWide strong{font-size:16px}.activityNotice{padding:11px 13px;margin-bottom:16px;border-radius:11px;background:rgba(255,255,255,.045);color:#aaa;font-size:12px;line-height:1.45}.activityTable{display:grid;gap:9px}.activityRow{display:grid;grid-template-columns:minmax(0,1fr) 145px 135px;align-items:center;gap:18px;padding:14px;border:1px solid var(--line);background:rgba(255,255,255,.035);border-radius:13px}.activityMain{min-width:0}.activityTitleLine{display:flex;align-items:center;gap:9px;min-width:0}.activityTitleLine>a,.activityTitleLine>strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:15px;font-weight:900;color:#fff;text-decoration:none}.activityTitleLine>a:hover{text-decoration:underline}.activitySubtitle{margin-top:4px;color:var(--muted);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.activityStatus{flex:none;border-radius:999px;padding:4px 7px;font-size:10px;font-weight:950;text-transform:uppercase;letter-spacing:.03em}.activityStatus.isCompleted{background:rgba(46,160,67,.18);color:#7ee787;border:1px solid rgba(46,160,67,.35)}.activityStatus.isProgress{background:rgba(229,9,20,.17);color:#ff7b82;border:1px solid rgba(229,9,20,.34)}.activityProgress{height:5px;margin-top:10px;background:rgba(255,255,255,.12);border-radius:999px;overflow:hidden}.activityProgress span{display:block;height:100%;background:var(--red);border-radius:inherit}.activityNumbers{text-align:right}.activityNumbers strong,.activityNumbers span{display:block}.activityNumbers strong{font-size:17px}.activityNumbers span{margin-top:4px;color:var(--muted);font-size:11px}.activityRow time{text-align:right;color:#c7c7c7;font-size:12px}.activityEmpty{padding:24px;text-align:center;border:1px dashed rgba(255,255,255,.14);border-radius:13px;color:var(--muted)}
@media(max-width:900px){.activityStats{grid-template-columns:repeat(3,minmax(0,1fr))}.activityRow{grid-template-columns:minmax(0,1fr) 130px}.activityRow time{grid-column:1/-1;text-align:left;padding-top:8px;border-top:1px solid var(--line)}}
@media(max-width:740px){.activityHeader{align-items:stretch;flex-direction:column}.activityUserPicker{align-items:stretch}.activityUserPicker>div{flex:1}.activityUserPicker select{width:100%;min-width:0}.activityStats{grid-template-columns:repeat(2,minmax(0,1fr))}.activityStatWide{grid-column:1/-1}.activityRow{grid-template-columns:1fr;gap:11px}.activityNumbers{text-align:left}.activityNumbers strong,.activityNumbers span{display:inline}.activityNumbers span{margin-left:7px}.activityRow time{grid-column:auto}.activityTitleLine{align-items:flex-start;flex-wrap:wrap}.activityTitleLine>a,.activityTitleLine>strong{white-space:normal}.watchTopbar .topBtn[href="#activity"]{display:none}}
@media(max-width:430px){.activityStats{grid-template-columns:1fr 1fr}.activityUserPicker{flex-wrap:wrap}.activityUserPicker button{width:100%}}

/* Selector de sezoane si episoade in pagina playerului */
.watchEpisodeBrowser {
    margin-top: 28px;
    padding: clamp(18px, 3vw, 30px);
    border: 1px solid rgba(255,255,255,.11);
    border-radius: 18px;
    background: linear-gradient(180deg, rgba(25,25,25,.97), rgba(10,10,10,.98));
    box-shadow: 0 24px 80px rgba(0,0,0,.42);
    scroll-margin-top: 86px;
}

.episodeBrowserHeader {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 22px;
    margin-bottom: 18px;
}

.episodeBrowserKicker {
    margin-bottom: 6px;
    color: #aaa;
    font-size: 13px;
    font-weight: 800;
}

.episodeBrowserHeader h2 {
    margin: 0;
    font-size: clamp(25px, 4vw, 34px);
}

.episodeSeasonPicker {
    display: grid;
    gap: 6px;
    min-width: min(260px, 100%);
}

.episodeSeasonPicker > span {
    color: #aaa;
    font-size: 12px;
    font-weight: 850;
    text-transform: uppercase;
    letter-spacing: .06em;
}

.episodeSeasonPicker select {
    width: 100%;
    height: 46px;
    border: 1px solid rgba(255,255,255,.22);
    border-radius: 10px;
    padding: 0 42px 0 14px;
    background: #202020;
    color: #fff;
    font: inherit;
    font-weight: 850;
    cursor: pointer;
}

.episodeSeasonPicker select:focus-visible,
.episodeQuickNav a:focus-visible,
.watchEpisodeCard:focus-visible {
    outline: 3px solid rgba(229,9,20,.78);
    outline-offset: 3px;
}

.episodeQuickNav {
    display: flex;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 9px;
    margin-bottom: 16px;
}

.episodeQuickNav:empty {
    display: none;
}

.episodeQuickNav a {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 38px;
    padding: 0 13px;
    border: 1px solid rgba(255,255,255,.14);
    border-radius: 999px;
    background: rgba(255,255,255,.07);
    color: #eee;
    font-size: 13px;
    font-weight: 850;
    text-decoration: none;
}

.episodeQuickNav a:hover {
    border-color: rgba(255,255,255,.3);
    background: rgba(255,255,255,.13);
}

.episodeSeasonPanel[hidden] {
    display: none !important;
}

.watchEpisodeList {
    display: grid;
    gap: 9px;
}

.watchEpisodeCard {
    display: grid;
    grid-template-columns: 78px minmax(0, 1fr) auto;
    align-items: center;
    gap: 16px;
    min-height: 92px;
    padding: 11px 15px 11px 11px;
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 12px;
    background: rgba(255,255,255,.045);
    color: #fff;
    text-decoration: none;
    transition: transform .16s ease, background .16s ease, border-color .16s ease;
}

.watchEpisodeCard:hover {
    z-index: 1;
    transform: scale(1.012);
    border-color: rgba(255,255,255,.2);
    background: rgba(255,255,255,.095);
}

.watchEpisodeCard.isCurrent {
    border-color: rgba(229,9,20,.58);
    background: linear-gradient(90deg, rgba(229,9,20,.19), rgba(255,255,255,.055) 42%);
    box-shadow: inset 4px 0 0 var(--red);
}

.watchEpisodeNumber {
    position: relative;
    height: 68px;
    display: grid;
    place-items: center;
    overflow: hidden;
    border-radius: 9px;
    background: linear-gradient(135deg, #292929, #111);
    color: rgba(255,255,255,.62);
    font-size: 27px;
    font-weight: 950;
}

.watchEpisodeNumber b {
    position: absolute;
    display: grid;
    place-items: center;
    width: 34px;
    height: 34px;
    border-radius: 50%;
    background: rgba(255,255,255,.9);
    color: #111;
    font-size: 13px;
    opacity: 0;
    transform: scale(.8);
    transition: .16s ease;
}

.watchEpisodeCard:hover .watchEpisodeNumber b,
.watchEpisodeCard:focus-visible .watchEpisodeNumber b,
.watchEpisodeCard.isCurrent .watchEpisodeNumber b {
    opacity: 1;
    transform: scale(1);
}

.watchEpisodeCard:hover .watchEpisodeNumber span,
.watchEpisodeCard.isCurrent .watchEpisodeNumber span {
    opacity: .2;
}

.watchEpisodeMeta {
    min-width: 0;
}

.watchEpisodeTitleLine {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 14px;
}

.watchEpisodeTitleLine strong {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 16px;
}

.watchEpisodeTitleLine span,
.watchEpisodeMeta p,
.watchEpisodeStatus {
    color: #aaa;
    font-size: 12px;
}

.watchEpisodeTitleLine span {
    flex: none;
}

.watchEpisodeMeta p {
    margin: 6px 0 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.watchEpisodeProgress {
    height: 4px;
    margin-top: 11px;
    overflow: hidden;
    border-radius: 999px;
    background: rgba(255,255,255,.14);
}

.watchEpisodeProgress span {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: var(--red);
}

.watchEpisodeStatus {
    min-width: 105px;
    text-align: right;
    font-weight: 850;
}

.watchEpisodeCard.isCurrent .watchEpisodeStatus {
    color: #ff656d;
}

.watchEpisodeCard.isCompleted .watchEpisodeStatus {
    color: #7ee787;
}

@media(max-width:740px) {
    .watchTopbar {
        min-height: 58px;
        padding: 9px 10px;
        gap: 8px;
        flex-wrap: wrap;
    }

    .watchTopbar .watchTitle {
        order: 10;
        flex-basis: 100%;
        padding: 1px 3px 4px;
        font-size: 13px;
    }

    .watchEpisodesShortcut {
        flex: 1 1 auto;
    }

    .episodeBrowserHeader {
        align-items: stretch;
        flex-direction: column;
        gap: 16px;
    }

    .episodeSeasonPicker {
        width: 100%;
    }

    .episodeQuickNav {
        justify-content: stretch;
    }

    .episodeQuickNav a {
        flex: 1 1 auto;
        justify-content: center;
    }

    .watchEpisodeCard {
        grid-template-columns: 62px minmax(0, 1fr);
        gap: 12px;
        min-height: 82px;
        padding: 10px;
    }

    .watchEpisodeNumber {
        height: 60px;
        font-size: 23px;
    }

    .watchEpisodeStatus {
        grid-column: 2;
        min-width: 0;
        margin-top: -5px;
        text-align: left;
    }
}

@media(max-width:460px) {
    .watchEpisodeBrowser {
        margin-top: 18px;
        padding: 15px 11px;
        border-radius: 14px;
    }

    .watchTopbar .backBtn,
    .watchTopbar .topBtn {
        height: 36px;
        padding: 0 10px;
        font-size: 12px;
    }

    .watchTopbar .backBtn[href*="watch.php"] {
        display: none;
    }

    .watchEpisodeTitleLine {
        display: block;
    }

    .watchEpisodeTitleLine strong,
    .watchEpisodeTitleLine span {
        display: block;
    }

    .watchEpisodeTitleLine span {
        margin-top: 4px;
    }
}
