:root{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#171717;background:#f5f6f8}
*{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration:none}
.topbar{background:#111827;color:#fff;padding:16px 5%;display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap}
.brand{font-weight:800;font-size:20px}.version{font-size:11px;background:#fff;color:#111827;border-radius:999px;padding:3px 7px;margin-left:5px}
nav{display:flex;gap:16px;align-items:center;flex-wrap:wrap}.inline{display:inline}.linkbtn{background:none;border:0;color:#fff;padding:0;cursor:pointer;font:inherit}
.container{width:min(1250px,94%);margin:40px auto}.page-head{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px}
.page-head h1,h1{margin:0 0 8px}.page-head p{margin:0;color:#60646c}
.button,button{display:inline-block;background:#111827;color:#fff;border:0;border-radius:10px;padding:11px 16px;font-weight:700;cursor:pointer}
button.small{padding:7px 10px;font-size:12px}.secondary{background:#4b5563}.danger{background:#b91c1c}
.card,.auth-card{background:#fff;border:1px solid #e6e7eb;border-radius:16px;padding:24px;box-shadow:0 5px 20px rgba(0,0,0,.04)}
.auth-card{width:min(430px,100%);margin:80px auto}.stack{display:grid;gap:16px}
label{display:grid;gap:7px;font-weight:600}input,select,textarea{width:100%;padding:11px 12px;border:1px solid #d2d5da;border-radius:9px;background:#fff;font:inherit}
.stats{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}.stats article{background:#fff;border:1px solid #e6e7eb;border-radius:16px;padding:22px}
.stats span{display:block;color:#666;margin-bottom:10px}.stats strong{font-size:29px}
table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:13px;border-bottom:1px solid #eceef1;vertical-align:top}th{font-size:13px;color:#666}.table-wrap{overflow:auto}
.badge{padding:5px 9px;border-radius:999px;font-size:12px;font-weight:700}.badge.ok{background:#dcfce7;color:#166534}.badge.bad{background:#fee2e2;color:#991b1b}.badge.warn{background:#fef3c7;color:#92400e}
.error{background:#fee2e2;color:#991b1b;padding:10px;border-radius:8px}code{background:#f0f1f3;padding:3px 6px;border-radius:6px}.password{margin-top:7px;font-size:12px}
.muted{color:#777;font-size:12px}.actions{display:flex;gap:6px;flex-wrap:wrap}.actions form{margin:0}
@media(max-width:1000px){.stats{grid-template-columns:repeat(2,1fr)}}@media(max-width:800px){.page-head{align-items:flex-start;flex-direction:column}}@media(max-width:480px){.stats{grid-template-columns:1fr}}

.textlink{font-weight:800;text-decoration:underline}.stats.mini{grid-template-columns:repeat(3,1fr);margin-bottom:28px}h2{margin-top:32px}.button.small{padding:7px 10px;font-size:12px}

.urlcode{display:block;max-width:280px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.info-card{margin-top:20px}
.client-body{background:#0f172a;color:#e5e7eb;min-height:100vh}
.client-body .container{color:#e5e7eb}
.client-topbar{background:#020617;color:white;padding:16px 5%;display:flex;justify-content:space-between;align-items:center}
.client-topbar nav{display:flex;gap:18px;align-items:center}
.client-body .muted{color:#94a3b8}
.client-body .auth-card,.client-body .card,.client-body .player-card{background:#111827;border-color:#273244;color:#e5e7eb}
.vod-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:20px}
.vod-card{background:#111827;border:1px solid #273244;border-radius:16px;overflow:hidden}
.vod-card img,.vod-placeholder{width:100%;aspect-ratio:2/3;object-fit:cover;background:#1f2937;display:flex;align-items:center;justify-content:center;font-size:48px}
.vod-content{padding:18px}.vod-content h3{margin:6px 0 8px}.vod-content p{min-height:42px;color:#cbd5e1}
.player-card{background:#fff;border:1px solid #e6e7eb;border-radius:16px;padding:18px}
.player-card video{width:100%;max-height:72vh;background:#000;border-radius:12px}


/* ---------- V5 STREAMING UI ---------- */
.stream-body{margin:0;background:#0b0f14;color:#fff;min-height:100vh}
.stream-main{padding-bottom:60px}
.stream-topbar{
  position:sticky;top:0;z-index:50;
  display:flex;align-items:center;gap:30px;
  padding:14px 22px;background:rgba(8,11,16,.96);
  border-bottom:1px solid rgba(255,255,255,.05);
  backdrop-filter:blur(14px)
}
.stream-logo{font-size:23px;font-weight:900;letter-spacing:-.5px}
.stream-logo span{color:#ff0a78}
.stream-nav{display:flex;gap:18px;align-items:center;flex:1}
.stream-nav a{color:#d8dde5;font-size:14px;font-weight:700}
.stream-nav a:hover{color:#fff}
.stream-actions{display:flex;gap:10px;align-items:center}
.stream-search input{
  width:210px;background:#151b24;border:1px solid #2b3440;color:#fff;
  border-radius:999px;padding:9px 14px;outline:none
}
.stream-search input:focus{border-color:#ff0a78}
.stream-logout{background:transparent;border:1px solid #343e4c;color:#fff;padding:8px 12px;border-radius:999px}

.hero,.detail-hero{position:relative;min-height:470px;display:flex;align-items:flex-end;overflow:hidden}
.hero-bg,.detail-backdrop{
  position:absolute;inset:0;background:
  radial-gradient(circle at 70% 30%,rgba(255,10,120,.22),transparent 34%),
  linear-gradient(90deg,#090d12 0%,#101722 58%,#0b0f14 100%);
  background-position:center;background-size:cover;filter:saturate(1.05)
}
.hero-bg:after,.detail-backdrop:after{
  content:"";position:absolute;inset:auto 0 0 0;height:42%;
  background:linear-gradient(transparent,#0b0f14)
}
.hero-content,.detail-content{position:relative;z-index:2;max-width:650px;padding:55px 5vw 48px}
.eyebrow{font-size:12px;letter-spacing:2px;color:#ff4a9e;font-weight:900}
.hero h1,.detail-hero h1{font-size:clamp(38px,6vw,72px);line-height:.96;margin:10px 0 18px;letter-spacing:-2px}
.hero p,.detail-hero p{font-size:17px;line-height:1.6;color:#d0d6de;max-width:650px}
.hero-actions{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin-top:22px}
.hero-play{display:inline-block;background:#fff;color:#0b0f14;font-weight:900;border-radius:8px;padding:12px 18px}
.hero-play:hover{transform:translateY(-1px)}
.expiry{font-size:13px;color:#9ea7b4}
.back-link{display:inline-block;margin-bottom:18px;color:#cdd4dd}

.media-section{padding:8px 18px 18px}
.section-head{display:flex;justify-content:space-between;align-items:center;padding:0 2px 8px}
.section-head h2{font-size:18px;margin:0;border-bottom:2px solid #ff0a78;padding-bottom:7px}
.row-shell{position:relative}
.poster-row{
  display:flex;gap:10px;overflow-x:auto;scrollbar-width:none;padding:4px 2px 10px;scroll-behavior:smooth
}
.poster-row::-webkit-scrollbar{display:none}
.poster-card{flex:0 0 150px;color:#fff}
.poster-wrap{
  position:relative;aspect-ratio:2/3;border-radius:7px;overflow:hidden;background:#161d27;
  box-shadow:0 8px 22px rgba(0,0,0,.25);transition:transform .18s ease,box-shadow .18s ease
}
.poster-card:hover .poster-wrap{transform:scale(1.035);box-shadow:0 13px 30px rgba(0,0,0,.38)}
.poster-wrap img{width:100%;height:100%;object-fit:cover;display:block}
.poster-fallback{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:12px;text-align:center;background:linear-gradient(145deg,#1f2937,#0f172a)}
.poster-fallback span{font-size:34px}.poster-fallback small{color:#cdd4dd}
.poster-overlay{
  position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  background:rgba(5,8,12,.38);opacity:0;transition:opacity .18s
}
.poster-overlay span{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.92);color:#111;font-size:19px}
.poster-card:hover .poster-overlay{opacity:1}
.poster-meta{padding:8px 3px 0}
.poster-meta strong{display:block;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.poster-meta span{font-size:11px;color:#8e98a7}
.row-arrow{
  position:absolute;top:0;bottom:10px;width:44px;border:0;border-radius:7px;z-index:5;
  background:rgba(4,7,10,.70);color:#fff;font-size:42px;opacity:.0;transition:opacity .15s
}
.row-shell:hover .row-arrow{opacity:1}
.row-arrow.left{left:0}.row-arrow.right{right:0}

.detail-hero{min-height:420px;align-items:center}
.detail-content{padding-top:80px}
.player-section{padding:0 5vw 30px;margin-top:-28px;position:relative;z-index:3}
.stream-player{background:#05070a;border:1px solid #242c37;border-radius:14px;padding:10px;box-shadow:0 18px 60px rgba(0,0,0,.35)}
.stream-player video{width:100%;max-height:72vh;background:#000;border-radius:9px;display:block}
.empty-state{padding:50px 5vw;color:#cfd6df}
.empty-state h2{color:#fff}
.empty-hero{min-height:360px}

@media(max-width:900px){
  .stream-topbar{flex-wrap:wrap;gap:12px}
  .stream-nav{order:3;width:100%;overflow:auto}
  .stream-actions{margin-left:auto}
  .stream-search input{width:160px}
  .hero,.detail-hero{min-height:390px}
  .poster-card{flex-basis:132px}
}
@media(max-width:560px){
  .stream-topbar{padding:12px}
  .stream-nav{gap:13px;font-size:12px}
  .stream-search{display:none}
  .hero-content,.detail-content{padding:38px 18px}
  .hero h1,.detail-hero h1{font-size:42px}
  .media-section{padding-left:10px;padding-right:10px}
  .poster-card{flex-basis:118px}
  .row-arrow{display:none}
}
