﻿
/* legacy-player.css */

body {
      background-color: #111827; /* bg-gray-900 */
    }
    .video-js .vjs-big-play-button {
      background-color: rgba(45, 55, 72, 0.7);
      border-color: #fff;
      border-radius: 50%;
      width: 3em;
      height: 3em;
      line-height: 3em;
      margin-top: -1.5em;
      margin-left: -1.5em;
    }
    .video-js:hover .vjs-big-play-button,
    .video-js .vjs-big-play-button:focus {
      background-color: rgba(67, 56, 202, 0.9);
    }
    #channel-list {
      max-height: 60vh;
    }
    /* Custom Toggle Switch */
    .toggle-checkbox:checked {
      right: 0;
      border-color: #4f46e5;
    }
    .toggle-checkbox:checked + .toggle-label {
      background-color: #4f46e5;
    }
    .rotate-90 {
      transform: rotate(90deg);
    }
#now-playing-indicator {
      pointer-events: none;
    }


/* index-page.css */

:root{
  --bg:#020617;
  --panel:#020617;
  --border:#1e293b;
  --primary:#0ea5e9;
  --text:#e5e7eb;
  --muted:#94a3b8;
}
*{box-sizing:border-box}
body{
  margin:0;
  background:var(--bg);
  color:var(--text);
  font-family:system-ui;
  height:100vh;
  overflow:hidden;
}
.app{display:flex;height:100vh}

/* Sidebar */
.sidebar{
  width:320px;
  background:var(--panel);
  border-right:1px solid var(--border);
  display:flex;
  flex-direction:column;
}
.header{
  padding:10px;
  border-bottom:1px solid var(--border);
}
.header input{
  width:100%;
  padding:8px;
  background:#020617;
  border:1px solid var(--border);
  color:#fff;
  border-radius:6px;
}
.playlist-input-row{
  display:flex;
  gap:6px;
}
.tabs{
  display:flex;
  border-bottom:1px solid var(--border);
}
.tab{
  flex:1;
  padding:8px;
  font-size:13px;
  text-align:center;
  cursor:pointer;
}
.tab.active{background:#1e293b}

.list{
  flex:1;
  overflow:auto;
}
.channel{
  display:flex;
  gap:10px;
  padding:10px;
  cursor:pointer;
}
.channel:hover{background:#1e293b}
.logo{
  width:40px;
  height:40px;
  object-fit:contain;
  background:#000;
  border-radius:4px;
}
.info{flex:1}
.name{font-size:14px}
.star{color:gold;cursor:pointer}

/* Player */
.content{
  flex:1;
  display:flex;
  flex-direction:column;
  overflow-y:auto;
  overflow-x:hidden;
  background:#020617;
}
.player-wrap{
  position:relative;

  padding:12px;

  flex:none;

  background:#020617;
} 
.video-js{
  width:100%;
  aspect-ratio:16/9;
  border-radius:18px;
  overflow:hidden;
  background:#000;
}
.epg{
  padding:12px 18px;

  border-top:1px solid rgba(255,255,255,0.06);
  border-bottom:1px solid rgba(255,255,255,0.06);

  background:#020617;

  margin-bottom:8px;

  font-size:13px;
}
.epg span{color:var(--primary)}
.header button {
  padding: 8px 14px;
  background: var(--primary);
  border: none;
  color: #fff;
  font-size: 13px;
  border-radius: 6px;
  cursor: pointer;
  white-space: nowrap;
}
	.category-block {
  border-bottom: 1px solid var(--border);
}

.category-header {
  padding: 10px;
  font-size: 14px;
  cursor: pointer;
  background: #020617;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.category-header:hover {
  background: #1e293b;
}

.category-header span {
  font-size: 12px;
  color: var(--muted);
}
.category-list{
  border-bottom:1px solid var(--border);
  display:none;
  flex-wrap:wrap;
  gap:6px;
  padding:6px;
}

.category-channels {
  display: none;
  background: #020617;
}

.category-block.active .category-channels {
  display: block;
}

.channel {
  padding: 8px 12px 8px 24px;
  display: flex;
  gap: 10px;
  cursor: pointer;
}

.channel:hover {
  background: #1e293b;
}

.category {
  padding: 5px 10px;
  font-size: 12px;
  border: 1px solid var(--border);
  border-radius: 20px;
  cursor: pointer;
  background: #020617;
  color: var(--muted);
}

.category.active {
  background: var(--primary);
  color: #fff;
  border-color: var(--primary);
}

.header button:hover {
  opacity: 0.9;
}

.header button:active {
  transform: scale(0.97);
}
.player-container {
    display: table-row;
    width: 100%;
    overflow:auto;
}
/* Error overlay */
#errorBox{
  display:none;
  position:absolute;
  inset:0;
  background:#020617;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding:20px;
}
	
.iptv-disclaimer {
    position: absolute;
    left: 12px;
    right: 12px;
    bottom: 12px;

    display: flex;
    align-items: flex-start;
    gap: 10px;

    padding: 12px 14px;

    background: rgba(0,0,0,0.72);
    backdrop-filter: blur(10px);

    border: 1px solid rgba(255,255,255,0.08);
    border-radius: 12px;

    color: #fff;
    font-size: 13px;
    line-height: 1.5;

    z-index: 10;
}

.warn-icon {
    color: #ffb020;
    font-size: 18px;
    flex-shrink: 0;
}

.iptv-disclaimer strong {
    color: #fff;
}
.seo-title{ 
 left: 9px;
}
	/* INTERNAL LINKS */

.internal-links{
    padding:20px 16px 30px;
    background:#020617;
}

.internal-links h2{
    margin:0 0 22px;
    font-size:24px;
    font-weight:700;
    color:#fff;
}

.link-grid{
    display:grid;
    grid-template-columns:
    repeat(auto-fit,minmax(260px,1fr));
    gap:18px;
}

.tool-card{
    position:relative;
    overflow:hidden;

    display:flex;
    flex-direction:column;
    justify-content:space-between;

    min-height:170px;

    padding:22px;

    border-radius:20px;

    background:
    linear-gradient(
        135deg,
        rgba(14,165,233,0.18),
        rgba(15,23,42,0.95)
    );

    border:1px solid rgba(255,255,255,0.08);

    text-decoration:none;

    transition:.25s ease;
}

.tool-card:hover{
    transform:translateY(-5px);

    border-color:rgba(14,165,233,0.5);

    box-shadow:
    0 10px 30px rgba(14,165,233,0.15);
}

.tool-card h3{
    margin:0 0 12px;
    font-size:20px;
    color:#fff;
}

.tool-card p{
    margin:0;
    color:#cbd5e1;
    line-height:1.7;
    font-size:14px;
}

/* EXTERNAL LINKS */

.external-links{
    padding:10px 16px 40px;
    background:#020617;
}

.external-links h2{
    margin:0 0 22px;
    font-size:24px;
    font-weight:700;
    color:#fff;
}

.external-grid{
    display:grid;
    grid-template-columns:
    repeat(auto-fit,minmax(260px,1fr));
    gap:18px;
}

.external-card{
    display:flex;
    gap:16px;

    padding:20px;

    border-radius:18px;

    background:
    linear-gradient(
        135deg,
        rgba(30,41,59,0.95),
        rgba(15,23,42,0.98)
    );

    border:1px solid rgba(255,255,255,0.06);

    text-decoration:none;

    transition:.25s ease;
}

.external-card:hover{
    transform:translateY(-4px);

    border-color:rgba(14,165,233,0.45);

    box-shadow:
    0 8px 24px rgba(14,165,233,0.12);
}

.external-icon{
    width:52px;
    height:52px;

    display:flex;
    align-items:center;
    justify-content:center;

    border-radius:14px;

    background:
    linear-gradient(
        135deg,
        rgba(14,165,233,0.18),
        rgba(14,165,233,0.05)
    );

    font-size:24px;

    flex-shrink:0;
}

.external-content h3{
    margin:0 0 8px;
    font-size:18px;
    color:#fff;
}

.external-content p{
    margin:0;
    color:#cbd5e1;
    font-size:14px;
    line-height:1.7;
}

.vjs-control-bar{
    z-index:20 !important;
}
@media (max-width: 720px) {
    .iptv-disclaimer {
        font-size: 12px;
        padding: 10px;
    }
}
@media(max-width:720px) {
    .sidebar {
        width: 100%;
        min-height: 60vh;
    }

    .content {
        min-height: 60vh;
        height: 60vh;
    }
}

/* Final mobile layout override for all IPTV player pages */
@media (max-width: 720px) {
    html,
    body {
        min-height: 100%;
        overflow-x: hidden;
        overflow-y: auto;
    }

    .app {
        display: flex;
        flex-direction: column;
        height: auto;
        min-height: 100dvh;
        overflow: visible;
    }

    .sidebar {
        flex: none;
        width: 100%;
        height: auto;
        max-height: none;
        border-right: 0;
        border-bottom: 1px solid var(--border);
    }

    .tabs {
        flex-shrink: 0;
    }

    .tab {
        min-width: 0;
        padding: 10px 6px;
        font-size: 12px;
        white-space: nowrap;
    }

    .sidebar > .list,
    .sidebar > #accordion,
    .sidebar > #channelList {
        display: block;
        flex: 0 0 auto;
        width: 100%;
        height: clamp(260px, 48dvh, 460px);
        min-height: 260px;
        overflow-x: hidden;
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
    }

        .sidebar > #accordion:empty,
        .sidebar > #channelList:empty {
            height: 0;
            min-height: 0;
        }

    .category-list,
    .sidebar > #categoryList {
        flex: 0 0 auto;
        width: 100%;
        min-height: 0;
        max-height: 150px;
        overflow-x: hidden;
        overflow-y: auto;
    }

    .channel {
        align-items: center;
        min-width: 0;
        padding: 10px 12px;
    }

    .info,
    .channel-name,
    .name {
        min-width: 0;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .player-container {
        display: block;
        width: 100%;
        overflow: visible;
    }

    .content {
        flex: none;
        width: 100%;
        height: auto;
        min-height: 0;
        overflow: visible;
    }

    .player-wrap {
        flex: none;
        min-height: 0;
    }

    .video-js {
        height: auto !important;
        aspect-ratio: 16 / 9;
    }
}

/* Unified IPTV page design */
body {
  background: #020617;
  color: #fff;
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  margin: 0;
}

.app {
  background: #020617;
  color: #fff;
  display: flex;
  height: 100vh;
  overflow: hidden;
}

.sidebar {
  background: #020617;
  border-right: 1px solid #1e293b;
  display: flex;
  flex-direction: column;
  flex: 0 0 400px;
  height: 100vh;
  width: 400px;
}

.header {
  border-bottom: 1px solid #1e293b;
  padding: 14px 12px 12px;
}

.seo-title {
  color: #fff;
  font-size: 20px;
  font-weight: 500;
  left: auto;
  line-height: 1.2;
  margin: 0 0 2px;
  position: static;
}

.hero-text {
  color: #93c5fd;
  font-size: 16px;
  line-height: 1.7;
  margin: 2px 0 14px;
}

.input-group,
.playlist-input-row {
  display: flex;
  gap: 10px;
  margin-top: 12px;
}

.input-group input,
.playlist-input-row input,
#playlistUrl {
  background: #020617;
  border: 1px solid rgba(255,255,255,0.78);
  border-radius: 7px;
  color: #fff;
  flex: 1;
  font-size: 16px;
  height: 44px;
  min-width: 0;
  padding: 0 10px;
}

.input-group input::placeholder,
.playlist-input-row input::placeholder,
#playlistUrl::placeholder {
  color: #9ca3af;
}

.input-group button,
.playlist-input-row button,
#loadBtn {
  background: #0ea5e9;
  border: 0;
  border-radius: 7px;
  color: #fff;
  cursor: pointer;
  font-size: 16px;
  font-weight: 700;
  height: 44px;
  padding: 0 18px;
}

.sample-box {
  border-bottom: 1px solid #1e293b;
  margin: 0;
  padding: 16px 14px 18px;
}

.sample-title {
  color: #fff;
  display: block;
  font-size: 18px;
  font-weight: 500;
  margin: 0 0 12px;
  text-align: left;
}

.sample-buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  justify-content: flex-start;
}

.sample-buttons button,
.sample-stream-btn {
  background: #1e293b;
  border: 0;
  border-radius: 9px;
  color: #fff;
  cursor: pointer;
  font-size: 16px;
  padding: 10px 15px;
}

.tabs {
  border-bottom: 1px solid #1e293b;
  display: flex;
}

.tab {
  color: #fff;
  cursor: pointer;
  flex: 1;
  font-size: 16px;
  padding: 12px 10px;
  text-align: center;
}

.tab.active {
  background: #1e293b;
}

.content {
  background: #020617;
  display: flex;
  flex: 1;
  flex-direction: column;
  min-width: 0;
  overflow-x: hidden;
  overflow-y: auto;
}

.player-wrap {
  background: #020617;
  flex: none;
  padding: 14px 14px 0;
  position: relative;
}

.video-js {
  aspect-ratio: auto !important;
  background: #000;
  border-radius: 12px;
  height: 376px !important;
  max-height: 44vh;
  overflow: hidden;
  width: 100% !important;
}

.video-js .vjs-poster,
.video-js .vjs-poster img {
  background-color: #000 !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
  background-size: contain !important;
  object-fit: contain !important;
}

.video-js .vjs-tech {
  object-fit: contain;
}

.iptv-disclaimer {
  align-items: center;
  background: rgba(0,0,0,0.78);
  border: 1px solid rgba(255,255,255,0.10);
  border-radius: 13px;
  bottom: 14px;
  color: #fff;
  display: flex;
  font-size: 16px;
  gap: 12px;
  left: 16px;
  line-height: 1.45;
  padding: 18px 18px;
  position: absolute;
  right: 16px;
  z-index: 10;
}

.warn-icon {
  color: #ffb020;
  flex: 0 0 auto;
  font-size: 22px;
}

.epg {
  background: #020617;
  border-bottom: 1px solid rgba(255,255,255,0.08);
  border-top: 1px solid rgba(255,255,255,0.08);
  color: #fff;
  flex: none;
  font-size: 16px;
  margin: 0;
  padding: 13px 20px;
}

.epg span {
  color: #00b8ff;
}

.internal-links {
  border-top: 1px solid rgba(255,255,255,0.04);
  padding: 38px 20px 34px;
}

.internal-links h2 {
  color: #fff;
  font-size: 30px;
  font-weight: 800;
  margin: 0 0 28px;
}

.link-grid {
  display: grid;
  gap: 22px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.tool-card {
  background: linear-gradient(145deg, #082b45, #0f172a);
  border: 1px solid rgba(56,189,248,0.14);
  border-radius: 22px;
  color: #fff;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-height: 212px;
  padding: 30px 28px;
  position: relative;
  text-decoration: none;
}

.tool-card h3 {
  color: #fff;
  font-size: 27px;
  font-weight: 800;
  line-height: 1.2;
  margin: 0 0 18px;
}

.tool-card p {
  color: #cbd5e1;
  font-size: 18px;
  line-height: 1.6;
  margin: 0;
}

.tool-card::after {
  bottom: 28px;
  color: #22d3ee;
  content: "\2192";
  font-size: 24px;
  position: absolute;
  right: 30px;
}

@media (max-width: 1100px) {
  .sidebar {
    flex-basis: 340px;
    width: 340px;
  }

  .link-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 768px) {
  .app {
    display: block;
    height: auto;
    overflow: auto;
  }

  .sidebar {
    flex-basis: auto;
    height: auto;
    width: 100%;
  }

  .content {
    height: auto;
  }

  .video-js {
    height: 240px !important;
    max-height: none;
  }

  .iptv-disclaimer {
    font-size: 12px;
    padding: 10px;
  }

  .link-grid {
    grid-template-columns: 1fr;
  }
}


/* m3u-player.css */

:root{
  --bg:#020617;
  --panel:#020617;
  --border:#1e293b;
  --primary:#0ea5e9;
  --text:#e5e7eb;
  --muted:#94a3b8;
}

*{
  box-sizing:border-box;
}

body{
  margin:0;
  background:var(--bg);
  color:var(--text);
  font-family:system-ui;
  min-height:100vh;
  overflow:hidden;
}

.app{
  display:flex;
  height:100vh;
}

/* SIDEBAR */

.sidebar{
  width:320px;
  background:var(--panel);
  border-right:1px solid var(--border);
  display:flex;
  flex-direction:column;
}

.header{
  padding:12px;
  border-bottom:1px solid var(--border);
}

.logo{
  font-size:22px;
  font-weight:700;
  margin-bottom:12px;
}

.hero-text{
  font-size:13px;
  color:var(--muted);
  line-height:1.6;
  margin-bottom:14px;
}

.input-group{
  display:flex;
  gap:8px;
}

.input-group input{
  width:100%;
  padding:10px;
  border-radius:8px;
  border:1px solid var(--border);
  background:#020617;
  color:#fff;
}

.input-group button{
  padding:10px 14px;
  border:none;
  border-radius:8px;
  background:var(--primary);
  color:#fff;
  cursor:pointer;
  font-weight:600;
}

.sample-box{
  padding:12px;
  border-bottom:1px solid var(--border);
}

.sample-title{
  margin-bottom:10px;
  font-size:14px;
}

.sample-buttons{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}

.sample-buttons button{
  padding:8px 12px;
  border:none;
  border-radius:8px;
  background:#1e293b;
  color:#fff;
  cursor:pointer;
  font-size:13px;
}

.tabs{
  display:flex;
  border-bottom:1px solid var(--border);
}

.tab{
  flex:1;
  text-align:center;
  padding:10px;
  cursor:pointer;
  font-size:13px;
}

.tab.active{
  background:#1e293b;
}

.list{
  flex:1;
  overflow:auto;
}

.category-block{
  border-bottom:1px solid rgba(255,255,255,0.04);
}

.category-header{
  padding:12px;
  cursor:pointer;
  display:flex;
  justify-content:space-between;
  background:#020617;
  font-size:14px;
}

.category-header:hover{
  background:#1e293b;
}

.category-channels{
  display:none;
}

.category-block.active .category-channels{
  display:block;
}

.channel{
  display:flex;
  gap:10px;
  align-items:center;
  padding:10px 12px 10px 22px;
  cursor:pointer;
}

.channel:hover{
  background:#1e293b;
}

.logo-img{
  width:42px;
  height:42px;
  object-fit:contain;
  background:#000;
  border-radius:6px;
}

.channel-name{
  flex:1;
  font-size:14px;
}

.star{
  color:gold;
  cursor:pointer;
}

/* CONTENT */

.content{
  flex:1;
  display:flex;
  flex-direction:column;
}

.player-wrap{
  flex:1;
  padding:12px;
  position:relative;
  min-height:0;
}

.video-js{
  width:100%;
  height:100%;
  border-radius:14px;
  overflow:hidden;
}

.epg{
  padding:10px 16px;
  border-top:1px solid var(--border);
  font-size:13px;
}

.epg span{
  color:var(--primary);
}

/* DISCLAIMER */

.iptv-disclaimer{
  position:absolute;
  left:24px;
  right:24px;
  bottom:24px;

  display:flex;
  align-items:flex-start;
  gap:10px;

  padding:12px 14px;

  background:rgba(0,0,0,0.7);
  backdrop-filter:blur(10px);

  border:1px solid rgba(255,255,255,0.08);
  border-radius:12px;

  color:#fff;
  font-size:13px;
  line-height:1.5;

  z-index:10;
}

.warn-icon{
  color:#ffb020;
  font-size:18px;
  flex-shrink:0;
}

/* ERROR */

#errorBox{
  display:none;
  position:absolute;
  inset:0;
  background:#020617;
  align-items:center;
  justify-content:center;
  padding:20px;
  text-align:center;
}

/* MOBILE */

@media(max-width:900px){

  .app{
    flex-direction:column;
  }

  .sidebar{
    width:100%;
    height:45vh;
  }

  .content{
    height:55vh;
  }

}
.internal-links{
    margin-top:40px;
    padding:28px;
    border-top:1px solid rgba(255,255,255,0.06);
}

.internal-links h2{
    margin:0 0 22px;
    font-size:26px;
    font-weight:700;
    color:#fff;
    letter-spacing:0.3px;
}

.link-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
    gap:18px;
}

.tool-card{
    position:relative;
    overflow:hidden;

    display:flex;
    flex-direction:column;
    justify-content:space-between;

    min-height:180px;

    padding:22px;

    border-radius:20px;

    background:
        linear-gradient(
            135deg,
            rgba(14,165,233,0.16),
            rgba(15,23,42,0.95)
        );

    border:1px solid rgba(255,255,255,0.08);

    backdrop-filter:blur(12px);

    text-decoration:none;

    transition:
        transform 0.25s ease,
        border-color 0.25s ease,
        box-shadow 0.25s ease;
}

.tool-card::before{
    content:"";

    position:absolute;
    inset:0;

    background:
        radial-gradient(
            circle at top right,
            rgba(14,165,233,0.25),
            transparent 45%
        );

    opacity:0.9;
}

.tool-card:hover{
    transform:translateY(-6px);

    border-color:rgba(14,165,233,0.5);

    box-shadow:
        0 10px 30px rgba(14,165,233,0.18);
}

.tool-card h3{
    position:relative;

    margin:0 0 14px;

    font-size:21px;
    font-weight:700;

    color:#fff;
}

.tool-card p{
    position:relative;

    margin:0;

    color:#cbd5e1;

    line-height:1.7;

    font-size:14px;
}

.tool-card::after{
    content:"\2192";

    position:absolute;
    right:22px;
    bottom:18px;

    font-size:24px;
    font-weight:bold;

    color:#38bdf8;

    transition:transform 0.25s ease;
}

.tool-card:hover::after{
    transform:translateX(5px);
}
.content{
    flex:1;
    display:flex;
    flex-direction:column;
    overflow-y:auto;
    overflow-x:hidden;
}

/* PLAYER AREA */

.player-wrap{
    position:relative;
    padding:12px;
    flex:none;

    height:auto;
    min-height:auto;
}

/* VIDEO */

.video-js{
    width:100%;
    aspect-ratio:16/9;
    border-radius:16px;
    overflow:hidden;
    background:#000;
}

/* EPG */

.epg{
    padding:12px 18px;
    border-top:1px solid var(--border);
    margin-bottom:10px;
    background:#020617;
    z-index:2;
}

/* INTERNAL LINKS */

.internal-links{
    position:relative;

    margin-top:0;

    padding:18px 14px 30px;

    background:#020617;

    z-index:1;
}

.link-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(250px,1fr));
    gap:16px;
}

/* CARD */

.tool-card{
    min-height:170px;
}

/* IMPORTANT */

.vjs-control-bar{
    z-index:20 !important;
}

.iptv-disclaimer{
    z-index:15;
}
/* MOBILE */

@media(max-width:768px){

    .internal-links{
        padding:20px 14px;
    }

    .internal-links h2{
        font-size:22px;
    }

    .tool-card{
        min-height:160px;
        padding:18px;
    }

    .tool-card h3{
        font-size:18px;
    }

}


/* web-tv-player.css */

:root{
    --bg:#020617;
    --panel:#020617;
    --border:#1e293b;
    --primary:#0ea5e9;
    --text:#e5e7eb;
    --muted:#94a3b8;
}

*{
    box-sizing:border-box;
}

body{
    margin:0;
    background:var(--bg);
    color:var(--text);
    font-family:system-ui;
    min-height:100vh;
    overflow:hidden;
}

.app{
    display:flex;
    height:100vh;
}

/* SIDEBAR */

.sidebar{
    width:320px;
    background:var(--panel);
    border-right:1px solid var(--border);
    display:flex;
    flex-direction:column;
}

.header{
    padding:12px;
    border-bottom:1px solid var(--border);
}

.logo{
    font-size:22px;
    font-weight:700;
    margin-bottom:12px;
}

.hero-text{
    font-size:13px;
    color:var(--muted);
    line-height:1.6;
    margin-bottom:14px;
}

.input-group{
    display:flex;
    gap:8px;
}

.input-group input{
    width:100%;
    padding:10px;
    border-radius:8px;
    border:1px solid var(--border);
    background:#020617;
    color:#fff;
}

.input-group button{
    padding:10px 14px;
    border:none;
    border-radius:8px;
    background:var(--primary);
    color:#fff;
    cursor:pointer;
    font-weight:600;
}

.sample-box{
    padding:12px;
    border-bottom:1px solid var(--border);
}

.sample-title{
    margin-bottom:10px;
    font-size:14px;
}

.sample-buttons{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
}

.sample-buttons button{
    padding:8px 12px;
    border:none;
    border-radius:8px;
    background:#1e293b;
    color:#fff;
    cursor:pointer;
    font-size:13px;
}

.tabs{
    display:flex;
    border-bottom:1px solid var(--border);
}

.tab{
    flex:1;
    text-align:center;
    padding:10px;
    cursor:pointer;
    font-size:13px;
}

.tab.active{
    background:#1e293b;
}

.list{
    flex:1;
    overflow:auto;
}

.channel{
    display:flex;
    gap:10px;
    align-items:center;
    padding:10px 12px;
    cursor:pointer;
    border-bottom:1px solid rgba(255,255,255,0.03);
}

.channel:hover{
    background:#1e293b;
}

.logo-img{
    width:42px;
    height:42px;
    object-fit:contain;
    background:#000;
    border-radius:6px;
}

.channel-name{
    flex:1;
    font-size:14px;
}

.star{
    color:gold;
    cursor:pointer;
}

/* CONTENT */

.content{
    flex:1;
    display:flex;
    flex-direction:column;
    overflow-y:auto;
    overflow-x:hidden;
    background:#020617;
}

/* PLAYER */

.player-wrap{
    position:relative;
    padding:12px;
    flex:none;
    background:#020617;
}

.video-js{
    width:100%;
    aspect-ratio:16/9;
    border-radius:18px;
    overflow:hidden;
    background:#000;
}

/* DISCLAIMER */

.iptv-disclaimer{
    position:absolute;
    left:24px;
    right:24px;
    bottom:24px;

    display:flex;
    align-items:flex-start;
    gap:10px;

    padding:12px 14px;

    background:rgba(0,0,0,0.72);

    backdrop-filter:blur(12px);

    border:1px solid rgba(255,255,255,0.08);

    border-radius:14px;

    color:#fff;

    font-size:13px;
    line-height:1.5;

    z-index:15;
}

.warn-icon{
    color:#ffb020;
    font-size:18px;
    flex-shrink:0;
}

/* EPG */

.epg{
    padding:12px 18px;
    border-top:1px solid rgba(255,255,255,0.06);
    border-bottom:1px solid rgba(255,255,255,0.06);
    background:#020617;
    margin-bottom:8px;
    font-size:13px;
}

.epg span{
    color:#0ea5e9;
}

/* INTERNAL LINKS */

.internal-links{
    padding:20px 16px 30px;
    background:#020617;
}

.internal-links h2{
    margin:0 0 22px;
    font-size:24px;
    font-weight:700;
    color:#fff;
}

.link-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
    gap:18px;
}

/* CARDS */

.tool-card{
    position:relative;
    overflow:hidden;

    display:flex;
    flex-direction:column;
    justify-content:space-between;

    min-height:170px;

    padding:22px;

    border-radius:20px;

    background:
    linear-gradient(
        135deg,
        rgba(14,165,233,0.18),
        rgba(15,23,42,0.95)
    );

    border:1px solid rgba(255,255,255,0.08);

    backdrop-filter:blur(10px);

    text-decoration:none;

    transition:
        transform .25s ease,
        border-color .25s ease,
        box-shadow .25s ease;
}

.tool-card::before{
    content:"";
    position:absolute;
    inset:0;

    background:
    radial-gradient(
        circle at top right,
        rgba(14,165,233,0.22),
        transparent 45%
    );
}

.tool-card:hover{
    transform:translateY(-5px);

    border-color:rgba(14,165,233,0.5);

    box-shadow:
    0 10px 30px rgba(14,165,233,0.15);
}

.tool-card h3{
    position:relative;
    margin:0 0 12px;
    font-size:21px;
    font-weight:700;
    color:#fff;
}

.tool-card p{
    position:relative;
    margin:0;
    color:#cbd5e1;
    line-height:1.7;
    font-size:14px;
}

.tool-card::after{
    content:"\2192";

    position:absolute;

    right:22px;
    bottom:18px;

    font-size:24px;
    font-weight:bold;

    color:#38bdf8;
}

.vjs-control-bar{
    z-index:20 !important;
}

/* MOBILE */

@media(max-width:900px){

    .app{
        flex-direction:column;
    }

    .sidebar{
        width:100%;
        height:42vh;
    }

    .content{
        height:58vh;
    }

}

@media(max-width:768px){

    .iptv-disclaimer{
        left:16px;
        right:16px;
        bottom:16px;
        font-size:12px;
    }

    .tool-card{
        min-height:150px;
    }

}


/* src-index-page.css */

:root{
  --bg:#020617;
  --panel:#020617;
  --border:#1e293b;
  --primary:#0ea5e9;
  --text:#e5e7eb;
  --muted:#94a3b8;
}
*{box-sizing:border-box}
body{
  margin:0;
  background:var(--bg);
  color:var(--text);
  font-family:system-ui;
  height:100vh;
  overflow:hidden;
}
.app{display:flex;height:100vh}

/* Sidebar */
.sidebar{
  width:320px;
  background:var(--panel);
  border-right:1px solid var(--border);
  display:flex;
  flex-direction:column;
}
.header{
  padding:10px;
  border-bottom:1px solid var(--border);
}
.header input{
  width:100%;
  padding:8px;
  background:#020617;
  border:1px solid var(--border);
  color:#fff;
  border-radius:6px;
}
.playlist-input-row{
  display:flex;
  gap:6px;
}
.tabs{
  display:flex;
  border-bottom:1px solid var(--border);
}
.tab{
  flex:1;
  padding:8px;
  font-size:13px;
  text-align:center;
  cursor:pointer;
}
.tab.active{background:#1e293b}

.list{
  flex:1;
  overflow:auto;
}
.channel{
  display:flex;
  gap:10px;
  padding:10px;
  cursor:pointer;
}
.channel:hover{background:#1e293b}
.logo{
  width:140px;
  height:40px;
  object-fit:contain;
  background:#000;
  border-radius:4px;
}
.info{flex:1}
.name{font-size:14px}
.star{color:gold;cursor:pointer}

/* Player */
.content{flex:1;display:flex;flex-direction:column}
.player-wrap{flex:1;padding:10px;position:relative}
.player-wrap { flex: 1;padding: 10px; position: relative; min-height: 0;}
.video-js{width:100%;height:100%;border-radius:10px}
.epg{
  padding:8px 15px;
  border-top:1px solid var(--border);
  font-size:13px;
}
.epg span{color:var(--primary)}
.header button {
  padding: 8px 14px;
  background: var(--primary);
  border: none;
  color: #fff;
  font-size: 13px;
  border-radius: 6px;
  cursor: pointer;
  white-space: nowrap;
}
	.category-block {
  border-bottom: 1px solid var(--border);
}

.category-header {
  padding: 10px;
  font-size: 14px;
  cursor: pointer;
  background: #020617;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.category-header:hover {
  background: #1e293b;
}

.category-header span {
  font-size: 12px;
  color: var(--muted);
}
.category-list{
  border-bottom:1px solid var(--border);
  display:none;
  flex-wrap:wrap;
  gap:6px;
  padding:6px;
}

.category-channels {
  display: none;
  background: #020617;
}

.category-block.active .category-channels {
  display: block;
}

.channel {
  padding: 8px 12px 8px 24px;
  display: flex;
  gap: 10px;
  cursor: pointer;
}

.channel:hover {
  background: #1e293b;
}

.category {
  padding: 5px 10px;
  font-size: 12px;
  border: 1px solid var(--border);
  border-radius: 20px;
  cursor: pointer;
  background: #020617;
  color: var(--muted);
}

.category.active {
  background: var(--primary);
  color: #fff;
  border-color: var(--primary);
}

.header button:hover {
  opacity: 0.9;
}

.header button:active {
  transform: scale(0.97);
}

/* Error overlay */
#errorBox{
  display:none;
  position:absolute;
  inset:0;
  background:#020617;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding:20px;
}
	
.iptv-disclaimer {
    position: absolute;
    left: 12px;
    right: 12px;
    bottom: 12px;

    display: flex;
    align-items: flex-start;
    gap: 10px;

    padding: 12px 14px;

    background: rgba(0,0,0,0.72);
    backdrop-filter: blur(10px);

    border: 1px solid rgba(255,255,255,0.08);
    border-radius: 12px;

    color: #fff;
    font-size: 13px;
    line-height: 1.5;

    z-index: 10;
}

.warn-icon {
    color: #ffb020;
    font-size: 18px;
    flex-shrink: 0;
}

.iptv-disclaimer strong {
    color: #fff;
}
.seo-title{ 
 left: 9px;
}
	
@media (max-width: 768px) {
    .iptv-disclaimer {
        font-size: 12px;
        padding: 10px;
    }
}
	@media(max-width:768px){
  .sidebar{
    width:100%;
    height:40vh;
  }

  .content{
    height:60vh;
  }
}

