*{box-sizing:border-box}
:root{--bg:#09090c;--panel:#121219;--panel2:#181821;--line:#282834;--text:#f5f5f7;--muted:#a9a9b4;--red:#ff3158;--red2:#b80f31;--green:#1f9d5b}
body{margin:0;background:radial-gradient(circle at top,#15151c 0,#09090c 45%,#070708 100%);color:var(--text);font-family:Inter,system-ui,-apple-system,Segoe UI,Arial,sans-serif}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
button,input,textarea,select{font:inherit}
.topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:18px;justify-content:space-between;padding:14px 5%;background:rgba(9,9,12,.92);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.brand{font-weight:900;font-size:22px;color:var(--red);letter-spacing:.2px}
.search{flex:1;max-width:560px;display:flex;gap:8px}
.search input,.auth-box input,.admin-form input,.admin-form textarea,.admin-form select,.inline-form input{width:100%;padding:12px 14px;border:1px solid var(--line);background:#101016;color:#fff;border-radius:14px;outline:none}
.search input:focus,.admin-form input:focus,.admin-form textarea:focus,.admin-form select:focus{border-color:var(--red)}
.search button,.btn,.age-card button{border:0;border-radius:14px;background:linear-gradient(135deg,var(--red),var(--red2));color:#fff;padding:12px 16px;font-weight:800;cursor:pointer;box-shadow:0 8px 24px rgba(255,49,88,.18)}
.btn.ghost{background:#1a1a24;box-shadow:none}
.topbar nav{display:flex;gap:14px;align-items:center;color:#ddd}
.topbar nav a:hover,.catbar a:hover{color:#fff}
.catbar{display:flex;gap:10px;overflow:auto;padding:12px 5%;background:rgba(17,17,23,.92);border-bottom:1px solid #20202a}
.catbar a{white-space:nowrap;background:#1b1b24;padding:9px 14px;border-radius:999px;color:#d8d8df;border:1px solid #262632}
.banner-ad{width:min(1080px,94%);margin:18px auto 0}
.banner-ad img{width:100%;max-height:130px;object-fit:cover;border-radius:18px;border:1px solid var(--line)}
.container{width:min(1180px,92%);margin:28px auto}
.hero{padding:34px;border:1px solid #252531;border-radius:28px;background:linear-gradient(135deg,#181820,#111117);margin-bottom:22px;box-shadow:0 20px 60px rgba(0,0,0,.2)}
.hero h1{font-size:clamp(30px,5vw,56px);margin:0 0 8px;line-height:1}
.hero p{color:var(--muted);margin:0}
.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.grid.small{grid-template-columns:repeat(4,1fr)}
.card{border:1px solid #252531;border-radius:20px;overflow:hidden;background:rgba(20,20,27,.92);transition:.2s;box-shadow:0 8px 30px rgba(0,0,0,.16)}
.card:hover{transform:translateY(-3px);border-color:var(--red)}
.thumb{position:relative;background:#000}
.thumb:after{content:"▶";position:absolute;right:10px;bottom:10px;background:rgba(255,49,88,.95);width:34px;height:34px;border-radius:50%;display:grid;place-items:center;font-size:12px}
.card img{width:100%;aspect-ratio:16/9;object-fit:cover;background:#000}
.card-body{padding:12px}
.card-body span{font-size:12px;color:#ff7790}
.card h3{font-size:15px;line-height:1.35;margin:6px 0 0}
.section-title,.watch h1{font-size:clamp(24px,4vw,40px);margin:0 0 14px}
.meta{display:flex;gap:12px;color:var(--muted);margin-bottom:16px}
.meta a{color:#ff7891}
.player-wrap{background:#000;border-radius:22px;overflow:hidden;border:1px solid #262632;box-shadow:0 20px 60px rgba(0,0,0,.3)}
.iframe-box{aspect-ratio:16/9;width:100%}
.iframe-box iframe{width:100%;height:100%;border:0}
.pre-ad{aspect-ratio:16/9;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;background:#050506;text-align:center;padding:20px}
.pre-ad img{max-height:70%;border-radius:16px;border:1px solid #2c2c35}
.countdown{color:#ddd}
.desc{color:#ccc;line-height:1.7}
.download{display:inline-block;margin-top:12px;background:var(--green);padding:12px 18px;border-radius:14px;font-weight:900}
.download.locked{background:#30303a}
.pager{display:flex;justify-content:center;gap:12px;margin-top:24px}
.footer{margin-top:50px;padding:30px 5%;border-top:1px solid #24242d;color:var(--muted);text-align:center}
.footer a{color:#d8d8df}
.age-gate{position:fixed;inset:0;z-index:9999;background:rgba(0,0,0,.9);display:none;align-items:center;justify-content:center;padding:20px}
.age-card{max-width:470px;background:#15151c;border:1px solid #30303d;border-radius:26px;padding:28px;text-align:center;box-shadow:0 30px 80px rgba(0,0,0,.4)}
.age-card a{display:block;margin-top:14px;color:#aaa}
.auth-box{max-width:430px;margin:40px auto;background:#14141b;border:1px solid #252531;border-radius:24px;padding:26px}
.auth-box form{display:grid;gap:12px}
.alert{background:#5d1624;padding:12px;border-radius:14px}
.hint{font-size:13px;color:#aaa}
.adminbar{position:static}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.stats div,.panel{background:#15151c;border:1px solid #2b2b35;border-radius:20px;padding:24px}
.stats strong{font-size:42px;display:block}
.stats span{color:#aaa}
.admin-title{display:flex;justify-content:space-between;align-items:center;gap:14px}
.table{width:100%;border-collapse:collapse;background:#14141b;border-radius:18px;overflow:hidden}
.table th,.table td{padding:13px;border-bottom:1px solid #252531;text-align:left;vertical-align:top}
.table th{color:#bbb;background:#111118}
.admin-form{display:grid;gap:14px;max-width:780px;margin-bottom:24px}
.admin-form.compact{grid-template-columns:repeat(5,1fr);max-width:none;align-items:end}
.admin-form label{display:grid;gap:6px;color:#ddd}
.admin-form textarea{min-height:120px}
.inline-form{display:flex;gap:10px;margin-bottom:18px}
.danger{background:#a91f32}
.text-danger{color:#ff6b81;background:none;border:0;cursor:pointer}
.actions{display:flex;gap:10px}
.actions form{display:inline}
.actions button{background:#20202a;color:#fff;border:1px solid #333342;padding:7px 10px;border-radius:10px;cursor:pointer}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:20px}
.admin-thumb-preview{width:220px;border-radius:14px;border:1px solid var(--line)}
@media(max-width:1024px){.grid,.grid.small{grid-template-columns:repeat(3,1fr)}.stats{grid-template-columns:repeat(2,1fr)}.admin-form.compact{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.topbar{flex-wrap:wrap;padding:12px 3%}.search{order:3;max-width:none;width:100%}.catbar{padding:10px 3%}.container{width:94%;margin:18px auto}.hero{padding:22px}.grid,.grid.small{grid-template-columns:repeat(2,1fr);gap:12px}.card h3{font-size:14px}.topbar nav{font-size:14px}.stats,.two-col{grid-template-columns:1fr}.inline-form{display:grid}.admin-title{align-items:flex-start;flex-direction:column}.table{font-size:13px}.table th,.table td{padding:10px}.admin-form.compact{grid-template-columns:1fr}.pre-ad{aspect-ratio:auto;min-height:260px}}
@media(max-width:420px){.grid,.grid.small{grid-template-columns:1fr}.brand{font-size:19px}}

.success{background:#123f2a;color:#d9ffe9;padding:12px;border-radius:14px}.dropdown{position:relative;display:inline-block}.dropbtn{white-space:nowrap;background:#1b1b24;padding:9px 14px;border-radius:999px;color:#d8d8df;border:1px solid #262632;cursor:pointer}.dropdown-content{display:none;position:absolute;top:42px;left:0;min-width:210px;background:#15151d;border:1px solid var(--line);border-radius:16px;padding:8px;box-shadow:0 18px 60px rgba(0,0,0,.35);z-index:60}.dropdown-content a{display:block;border-radius:12px;background:transparent;padding:10px 12px}.dropdown:hover .dropdown-content{display:block}.static-page{background:#14141b;border:1px solid #252531;border-radius:24px;padding:26px;line-height:1.8}.page-content{color:#ddd}.pagination{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin-top:26px}.pagination a{background:#1b1b24;border:1px solid var(--line);border-radius:12px;padding:10px 14px}.pagination a.active{background:linear-gradient(135deg,var(--red),var(--red2));border-color:var(--red)}.telegram-bubble{position:fixed;right:18px;bottom:82px;width:54px;height:54px;border-radius:50%;display:grid;place-items:center;background:#2aa3ef;color:#fff;font-size:24px;font-weight:900;z-index:80;box-shadow:0 12px 36px rgba(0,0,0,.35)}.back-to-top{position:fixed;right:18px;bottom:18px;width:48px;height:48px;border-radius:50%;border:0;background:linear-gradient(135deg,var(--red),var(--red2));color:#fff;font-size:22px;font-weight:900;display:none;z-index:80;cursor:pointer}.user-edit-row{display:grid;grid-template-columns:1.2fr 1.2fr .8fr .8fr auto auto;gap:8px;align-items:center}.user-edit-row input,.user-edit-row select{padding:10px;border:1px solid var(--line);background:#101016;color:#fff;border-radius:12px}.page-editor{max-width:none}hr{border:0;border-top:1px solid var(--line);margin:26px 0}@media(max-width:900px){.user-edit-row{grid-template-columns:1fr}.dropdown-content{position:fixed;left:3%;right:3%;top:170px}.stats{grid-template-columns:repeat(2,1fr)}}

.site-logo-img{max-height:46px;max-width:220px;width:auto;object-fit:contain}
.logo-preview{max-width:260px;max-height:90px;background:#fff;border-radius:12px;padding:8px;border:1px solid var(--line)}
.favicon-preview{width:64px;height:64px;object-fit:contain;background:#fff;border-radius:12px;padding:8px;border:1px solid var(--line)}


/* === V7 UI + SPEED FIX === */
html{scroll-behavior:smooth}
body{overflow-x:hidden}
.topbar{min-height:72px}

.hero.compact-hero,
.hero{
  width:min(980px,100%);
  margin:0 auto 22px;
  padding:24px 30px;
  border-radius:24px;
}
.hero h1{
  font-size:clamp(28px,3vw,44px);
  letter-spacing:-.03em;
}

.container{width:min(980px,92%)}

.grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.card{will-change:auto;contain:content}
.card img{content-visibility:auto}

@media(max-width:760px){
  .container{width:94%;margin:16px auto}
  .hero,.hero.compact-hero{padding:16px 18px;border-radius:18px;margin-bottom:16px}
  .hero h1{font-size:26px}
  .grid,.grid.small{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
  .card{border-radius:8px;background:#151515}
  .card img{aspect-ratio:16/11}
  .card-body{padding:8px}
  .card-body span{font-size:10px}
  .card h3{font-size:13px;line-height:1.35;text-align:center}
  .section-title{font-size:22px}
  .watch h1{font-size:22px}
  .topbar{min-height:auto}
}

@media(max-width:420px){
  .grid,.grid.small{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .card h3{font-size:12.5px}
}

.dropdown{position:relative;display:inline-flex;align-items:center}
.dropbtn{
  display:inline-flex;
  align-items:center;
  gap:7px;
  white-space:nowrap;
  background:#1b1b24;
  padding:9px 15px;
  border-radius:999px;
  color:#e8e8ef;
  border:1px solid #2b2b38;
  cursor:pointer;
  line-height:1;
}
.dropbtn .chev{font-size:11px;opacity:.8}
.dropdown-content{
  display:none;
  position:absolute;
  top:calc(100% + 8px);
  left:0;
  min-width:190px;
  max-width:260px;
  background:#15151d;
  border:1px solid #2c2c38;
  border-radius:16px;
  padding:8px;
  box-shadow:0 18px 50px rgba(0,0,0,.45);
  z-index:999;
}
.dropdown-content:before{
  content:"";
  position:absolute;
  top:-7px;
  left:22px;
  width:12px;
  height:12px;
  background:#15151d;
  border-left:1px solid #2c2c38;
  border-top:1px solid #2c2c38;
  transform:rotate(45deg);
}
.dropdown:hover .dropdown-content,
.dropdown:focus-within .dropdown-content{display:block}
.dropdown-content a{
  display:block;
  padding:10px 12px;
  border-radius:12px;
  color:#e8e8ef;
  background:transparent;
}
.dropdown-content a:hover{background:#232331;color:#fff}

@media(max-width:900px){
  .dropdown-content{
    position:absolute!important;
    left:0!important;
    right:auto!important;
    top:calc(100% + 8px)!important;
    min-width:190px;
    max-width:240px;
  }
}

.back-to-top{
  display:none;
  place-items:center;
  width:48px;
  height:48px;
  right:18px;
  bottom:18px;
  border-radius:14px;
  font-size:24px;
  line-height:1;
  box-shadow:0 12px 34px rgba(0,0,0,.42);
}
.back-to-top.show{display:grid!important}

.banner-ad img{
  min-height:80px;
  object-fit:cover;
  background:#111;
}
@media(max-width:760px){
  .banner-ad{margin:12px auto 0}
  .banner-ad img{min-height:70px;border-radius:12px}
}


/* === V8 Latest Videos title proportional fix === */
.hero.compact-hero,
.hero{
  padding:18px 24px !important;
  border-radius:20px !important;
  width:min(860px,100%) !important;
  margin:0 auto 20px !important;
}

.hero h1{
  font-size:clamp(22px,2.1vw,32px) !important;
  line-height:1.15 !important;
  letter-spacing:-.02em !important;
  margin:0 !important;
}

@media(max-width:760px){
  .hero.compact-hero,
  .hero{
    padding:14px 16px !important;
    border-radius:16px !important;
    margin-bottom:14px !important;
  }

  .hero h1{
    font-size:22px !important;
  }
}


/* === V9 Professional Situs Lain dropdown fix === */
.catbar{
  overflow:visible!important;
  position:relative;
  z-index:70;
  align-items:center;
  flex-wrap:wrap;
}

.dropdown{
  position:relative!important;
  display:inline-flex!important;
  align-items:center!important;
  isolation:isolate;
}

.dropbtn{
  height:42px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  padding:0 16px!important;
  border-radius:999px!important;
  background:#1b1b24!important;
  color:#f1f1f5!important;
  border:1px solid #30303c!important;
  box-shadow:none!important;
  font-size:14px!important;
  font-weight:600!important;
}

.dropbtn:hover,
.dropdown.open .dropbtn{
  background:#242432!important;
  border-color:#3b3b4b!important;
  color:#fff!important;
}

.dropbtn .chev{
  font-size:11px!important;
  transition:transform .18s ease;
}

.dropdown.open .chev{
  transform:rotate(180deg);
}

.dropdown-content{
  display:none!important;
  position:absolute!important;
  top:calc(100% + 10px)!important;
  left:0!important;
  right:auto!important;
  width:220px!important;
  min-width:220px!important;
  max-width:220px!important;
  max-height:320px!important;
  overflow-y:auto!important;
  padding:8px!important;
  margin:0!important;
  background:#15151e!important;
  border:1px solid #30303d!important;
  border-radius:16px!important;
  box-shadow:0 18px 50px rgba(0,0,0,.55)!important;
  z-index:99999!important;
}

.dropdown:hover .dropdown-content,
.dropdown:focus-within .dropdown-content,
.dropdown.open .dropdown-content{
  display:block!important;
}

.dropdown-content:before{
  content:""!important;
  position:absolute!important;
  top:-7px!important;
  left:24px!important;
  width:12px!important;
  height:12px!important;
  background:#15151e!important;
  border-left:1px solid #30303d!important;
  border-top:1px solid #30303d!important;
  transform:rotate(45deg)!important;
}

.dropdown-content a{
  display:flex!important;
  align-items:center!important;
  min-height:40px!important;
  padding:10px 12px!important;
  margin:0 0 4px!important;
  border-radius:12px!important;
  color:#e7e7ee!important;
  background:transparent!important;
  border:0!important;
  font-size:14px!important;
  line-height:1.2!important;
  white-space:normal!important;
  word-break:break-word!important;
}

.dropdown-content a:last-child{margin-bottom:0!important}
.dropdown-content a:hover{
  background:#242432!important;
  color:#fff!important;
}

/* Mobile dropdown: clean popover, tidak menutupi layout dan tetap mudah dibaca */
@media(max-width:760px){
  .catbar{
    overflow:visible!important;
    gap:8px!important;
    padding-bottom:12px!important;
  }

  .dropdown-content{
    left:auto!important;
    right:0!important;
    width:210px!important;
    min-width:210px!important;
    max-width:210px!important;
    top:calc(100% + 9px)!important;
  }

  .dropdown-content:before{
    left:auto!important;
    right:24px!important;
  }

  .dropbtn{
    height:38px!important;
    padding:0 14px!important;
    font-size:13px!important;
  }
}

/* Admin > Situs Lain table/input agar tidak putih dan lebih profesional */
.user-edit-row input,
.user-edit-row select,
.table input,
.table select{
  background:#101016!important;
  color:#f5f5f7!important;
  border:1px solid #30303d!important;
  border-radius:12px!important;
  min-height:42px!important;
}

.table input:focus,
.table select:focus{
  outline:none!important;
  border-color:var(--red)!important;
}

.table .text-danger{
  color:#ff6078!important;
  background:transparent!important;
  border:0!important;
  padding:8px 10px!important;
}

/* Matikan style dropdown lama yang sempat membuat layar melebar */
@media(max-width:900px){
  .dropdown-content{
    position:absolute!important;
  }
}


/* === V10 Mobile dropdown visibility fix === */
@media(max-width:760px){
  .catbar{
    position:relative!important;
    overflow:visible!important;
    padding-left:18px!important;
    padding-right:18px!important;
  }

  .dropdown{
    position:static!important;
  }

  .dropdown-content{
    position:absolute!important;
    left:18px!important;
    right:18px!important;
    top:100%!important;
    width:auto!important;
    min-width:0!important;
    max-width:none!important;
    max-height:260px!important;
    overflow-y:auto!important;
    padding:10px!important;
    border-radius:16px!important;
    z-index:999999!important;
    transform:none!important;
  }

  .dropdown-content:before{
    display:none!important;
  }

  .dropdown-content a{
    min-height:42px!important;
    padding:12px 14px!important;
    font-size:14px!important;
    text-align:left!important;
    justify-content:flex-start!important;
  }
}

/* khusus layar sangat sempit */
@media(max-width:430px){
  .dropdown-content{
    left:12px!important;
    right:12px!important;
    top:100%!important;
  }
}


/* === V11 Mobile footer empty-space fix === */
html,
body{
  min-height:100%;
}

body{
  display:flex;
  flex-direction:column;
}

.container{
  flex:1 0 auto;
}

.footer{
  flex-shrink:0;
  margin-bottom:0!important;
}

@media(max-width:760px){
  html,
  body{
    min-height:100svh;
  }

  body{
    display:flex!important;
    flex-direction:column!important;
  }

  .container{
    flex:1 0 auto!important;
    margin-bottom:0!important;
    padding-bottom:0!important;
  }

  .footer{
    margin-top:28px!important;
    margin-bottom:0!important;
    padding-top:24px!important;
    padding-bottom:24px!important;
  }

  .back-to-top,
  .telegram-bubble{
    bottom:16px;
  }
}


/* === V12 FINAL footer space fix ===
   V11 memakai flex layout dan pada beberapa mobile browser membuat halaman terasa panjang.
   Override final ini mengembalikan flow normal agar dokumen berhenti tepat setelah footer.
*/
html{
  height:auto!important;
  min-height:0!important;
  overflow-x:hidden!important;
}

body{
  height:auto!important;
  min-height:0!important;
  display:block!important;
  flex-direction:initial!important;
  margin:0!important;
  padding:0!important;
  overflow-x:hidden!important;
}

.container{
  flex:none!important;
  flex-grow:0!important;
  flex-shrink:1!important;
  min-height:0!important;
  margin-bottom:0!important;
  padding-bottom:0!important;
}

.footer{
  display:block!important;
  flex:none!important;
  margin-top:28px!important;
  margin-bottom:0!important;
  padding:24px 5%!important;
  min-height:0!important;
}

.footer p:last-child{
  margin-bottom:0!important;
}

body > script,
body > .back-to-top,
body > .telegram-bubble{
  margin:0!important;
}

@media(max-width:760px){
  html,
  body{
    height:auto!important;
    min-height:0!important;
    display:block!important;
  }

  .container{
    margin-bottom:0!important;
    padding-bottom:0!important;
  }

  .footer{
    margin-top:26px!important;
    margin-bottom:0!important;
    padding-top:22px!important;
    padding-bottom:22px!important;
  }
}


/* === V13 Bubble + Back-to-top professional footer fix ===
   Tujuan: tombol panah dan bubble tidak menimpa teks footer di mobile.
*/
.back-to-top{
  width:46px!important;
  height:46px!important;
  right:18px!important;
  bottom:18px!important;
  border-radius:14px!important;
  z-index:120!important;
}

.telegram-bubble{
  width:50px!important;
  height:50px!important;
  right:18px!important;
  bottom:76px!important;
  z-index:120!important;
}

@media(max-width:760px){
  .footer{
    padding-bottom:92px!important;
    position:relative!important;
  }

  .back-to-top{
    width:44px!important;
    height:44px!important;
    right:16px!important;
    bottom:18px!important;
    border-radius:14px!important;
    font-size:22px!important;
  }

  .telegram-bubble{
    width:46px!important;
    height:46px!important;
    right:16px!important;
    bottom:72px!important;
    font-size:22px!important;
  }
}

@media(max-width:420px){
  .footer{
    padding-left:18px!important;
    padding-right:18px!important;
    padding-bottom:92px!important;
  }

  .back-to-top{
    right:14px!important;
    bottom:16px!important;
  }

  .telegram-bubble{
    right:14px!important;
    bottom:68px!important;
  }
}


/* === V14 Professional layout + overflow final fix === */

/* Hapus horizontal overflow akibat judul/url panjang */
html,body{
  width:100%;
  max-width:100%;
  overflow-x:hidden!important;
}

*{
  min-width:0;
}

/* Layout utama lebih seimbang */
.container{
  width:min(980px,92%)!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

.banner-ad{
  width:min(900px,92%)!important;
  margin:18px auto 22px!important;
}

.banner-ad img{
  width:100%!important;
  height:auto!important;
  max-height:120px!important;
  object-fit:cover!important;
  border-radius:16px!important;
}

/* Header/menu dibuat lebih clean */
.topbar{
  padding:14px max(5%,18px)!important;
}

.catbar{
  padding:12px max(5%,18px)!important;
  gap:10px!important;
}

/* Hero title proporsional dan tidak terlalu besar */
.hero.compact-hero,
.hero{
  width:min(820px,100%)!important;
  padding:18px 24px!important;
  border-radius:20px!important;
  margin:0 auto 20px!important;
}

.hero h1{
  font-size:clamp(22px,1.9vw,30px)!important;
  line-height:1.15!important;
  margin:0!important;
}

/* Grid desktop profesional */
.grid{
  width:100%!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:18px!important;
}

.card{
  border-radius:16px!important;
  overflow:hidden!important;
}

.card img{
  aspect-ratio:16/9!important;
  object-fit:cover!important;
}

.card-body{
  padding:10px 12px 12px!important;
}

.card h3{
  font-size:14px!important;
  line-height:1.35!important;
  margin:4px 0 0!important;
  overflow-wrap:anywhere!important;
  word-break:break-word!important;
  display:-webkit-box!important;
  -webkit-line-clamp:2!important;
  -webkit-box-orient:vertical!important;
  overflow:hidden!important;
}

.card-body span{
  display:block!important;
  font-size:11px!important;
  line-height:1.2!important;
  overflow-wrap:anywhere!important;
}

/* Detail video profesional */
.detail-shell{
  width:min(860px,100%)!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

.video-title,
.watch h1{
  font-size:clamp(22px,2.1vw,34px)!important;
  line-height:1.18!important;
  letter-spacing:-.02em!important;
  margin:0 0 12px!important;
  max-width:100%!important;
  overflow-wrap:anywhere!important;
  word-break:break-word!important;
}

.meta{
  flex-wrap:wrap!important;
  gap:8px 12px!important;
  overflow-wrap:anywhere!important;
}

.player-wrap{
  width:100%!important;
  max-width:100%!important;
  border-radius:18px!important;
}

.pre-ad{
  min-height:360px!important;
  aspect-ratio:16/9!important;
  padding:18px!important;
}

.pre-ad img{
  max-width:min(680px,92%)!important;
  max-height:62%!important;
  object-fit:contain!important;
}

.video-desc,
.desc{
  max-width:100%!important;
  overflow-wrap:anywhere!important;
  word-break:break-word!important;
  line-height:1.65!important;
}

.download{
  margin:18px 0 10px!important;
}

/* Related title */
.section-title{
  font-size:clamp(22px,2vw,30px)!important;
  line-height:1.15!important;
  margin:14px auto 16px!important;
  width:min(860px,100%)!important;
}

/* Bubble profesional, tidak tabrakan footer */
.back-to-top{
  width:46px!important;
  height:46px!important;
  border-radius:14px!important;
  right:18px!important;
  bottom:18px!important;
}

.telegram-bubble{
  width:50px!important;
  height:50px!important;
  right:18px!important;
  bottom:78px!important;
}

/* Tablet */
@media(max-width:1024px){
  .grid{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
}

/* Mobile profesional */
@media(max-width:760px){
  .topbar{
    padding:16px 14px!important;
    gap:12px!important;
  }

  .brand{
    font-size:20px!important;
  }

  .topbar nav{
    gap:12px!important;
    font-size:13px!important;
  }

  .search{
    width:100%!important;
    gap:8px!important;
  }

  .search input{
    height:48px!important;
  }

  .search button{
    min-width:82px!important;
    height:48px!important;
    padding:0 14px!important;
  }

  .catbar{
    padding:12px 14px!important;
    gap:8px!important;
  }

  .catbar a,.dropbtn{
    height:38px!important;
    padding:0 14px!important;
    font-size:13px!important;
  }

  .container{
    width:100%!important;
    padding:0 14px!important;
    margin:16px auto 0!important;
  }

  .banner-ad{
    width:calc(100% - 28px)!important;
    margin:14px auto 18px!important;
  }

  .banner-ad img{
    max-height:90px!important;
    border-radius:12px!important;
  }

  .hero.compact-hero,
  .hero{
    width:100%!important;
    padding:14px 16px!important;
    border-radius:16px!important;
    margin:0 auto 16px!important;
  }

  .hero h1{
    font-size:21px!important;
  }

  .grid,.grid.small{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:12px!important;
  }

  .card{
    border-radius:10px!important;
  }

  .card img{
    aspect-ratio:16/10!important;
  }

  .card-body{
    padding:8px 8px 10px!important;
  }

  .card h3{
    font-size:13px!important;
    line-height:1.3!important;
    text-align:center!important;
    -webkit-line-clamp:2!important;
  }

  .detail-shell{
    width:100%!important;
  }

  .video-title,
  .watch h1{
    font-size:21px!important;
    line-height:1.2!important;
  }

  .player-wrap{
    border-radius:16px!important;
  }

  .pre-ad{
    min-height:300px!important;
    padding:14px!important;
  }

  .pre-ad img{
    max-width:100%!important;
    max-height:58%!important;
  }

  .download{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    min-height:44px!important;
    border-radius:12px!important;
  }

  .section-title{
    font-size:22px!important;
    margin:14px 0 12px!important;
  }

  .footer{
    padding:24px 20px 92px!important;
  }
}

/* Very small mobile */
@media(max-width:430px){
  .container{
    padding:0 12px!important;
  }

  .grid,.grid.small{
    gap:10px!important;
  }

  .card h3{
    font-size:12.5px!important;
  }

  .video-title,
  .watch h1{
    font-size:20px!important;
  }

  .pre-ad{
    min-height:280px!important;
  }

  .footer{
    font-size:14px!important;
    line-height:1.55!important;
  }
}


/* === V15 Professional pre-roll ad banner sizing === */
/* Pre-roll dibuat proporsional seperti card iklan, bukan area hitam terlalu besar. */
.player-wrap{
  background:#050506!important;
}

.pre-ad{
  aspect-ratio:auto!important;
  min-height:0!important;
  height:auto!important;
  padding:28px 20px!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  align-items:center!important;
  gap:16px!important;
  background:
    radial-gradient(circle at top, rgba(255,49,88,.08), transparent 38%),
    #050506!important;
}

.pre-ad a{
  display:block!important;
  width:min(760px,92%)!important;
  margin:0 auto!important;
}

.pre-ad img{
  display:block!important;
  width:100%!important;
  height:auto!important;
  max-width:760px!important;
  max-height:none!important;
  aspect-ratio:970/250!important;
  object-fit:cover!important;
  object-position:center!important;
  border-radius:16px!important;
  border:1px solid #2d2d38!important;
  box-shadow:0 18px 50px rgba(0,0,0,.38)!important;
  background:#111!important;
}

.countdown{
  margin-top:4px!important;
  font-size:15px!important;
  color:#e9e9ef!important;
  text-align:center!important;
}

#skipBtn,
.pre-ad .btn{
  min-width:150px!important;
  min-height:46px!important;
  padding:0 20px!important;
  border-radius:14px!important;
  font-size:15px!important;
}

/* Desktop: player box ikut tinggi iklan supaya tidak kosong */
@media(min-width:761px){
  .pre-ad{
    padding-top:32px!important;
    padding-bottom:28px!important;
  }
}

/* Mobile: iklan rapi, tidak terlalu tinggi, tetap terbaca */
@media(max-width:760px){
  .pre-ad{
    padding:18px 12px!important;
    gap:12px!important;
  }

  .pre-ad a{
    width:100%!important;
  }

  .pre-ad img{
    width:100%!important;
    max-width:100%!important;
    aspect-ratio:16/7!important;
    border-radius:14px!important;
  }

  .countdown{
    font-size:14px!important;
  }

  #skipBtn,
  .pre-ad .btn{
    min-width:146px!important;
    min-height:44px!important;
    font-size:14px!important;
  }
}

/* Sangat kecil */
@media(max-width:420px){
  .pre-ad{
    padding:16px 10px!important;
  }

  .pre-ad img{
    aspect-ratio:16/7.2!important;
  }
}


/* === V16 Professional mobile header + title fix === */

/* Desktop: header lebih seimbang */
.topbar{
  display:grid!important;
  grid-template-columns:260px minmax(320px,520px) auto!important;
  align-items:center!important;
  column-gap:22px!important;
}

.topbar .brand{
  justify-self:start!important;
}

.topbar .search{
  justify-self:center!important;
  width:100%!important;
  max-width:520px!important;
  order:initial!important;
}

.topbar nav{
  justify-self:end!important;
  white-space:nowrap!important;
}

.catbar{
  justify-content:flex-start!important;
}

/* Latest Videos final size */
.hero.compact-hero,
.hero{
  padding:16px 22px!important;
  border-radius:18px!important;
  width:min(780px,100%)!important;
}

.hero h1{
  font-size:clamp(20px,1.6vw,26px)!important;
  line-height:1.15!important;
  margin:0!important;
}

/* Mobile: brand/auth row, search full row, categories centered */
@media(max-width:760px){
  .topbar{
    display:grid!important;
    grid-template-columns:1fr auto!important;
    grid-template-areas:
      "brand auth"
      "search search"!important;
    gap:12px!important;
    padding:16px 14px!important;
    align-items:center!important;
  }

  .topbar .brand{
    grid-area:brand!important;
    justify-self:start!important;
    font-size:20px!important;
    line-height:1.1!important;
    max-width:170px!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
  }

  .topbar nav{
    grid-area:auth!important;
    justify-self:end!important;
    display:flex!important;
    align-items:center!important;
    gap:12px!important;
    font-size:13px!important;
    white-space:nowrap!important;
  }

  .topbar .search{
    grid-area:search!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    gap:8px!important;
    width:100%!important;
    max-width:none!important;
    order:initial!important;
  }

  .search input{
    width:100%!important;
    min-width:0!important;
    height:46px!important;
    padding:0 14px!important;
    border-radius:14px!important;
  }

  .search button{
    width:auto!important;
    min-width:82px!important;
    height:46px!important;
    padding:0 14px!important;
    border-radius:14px!important;
  }

  .catbar{
    display:flex!important;
    justify-content:center!important;
    align-items:center!important;
    gap:8px!important;
    padding:12px 12px!important;
    text-align:center!important;
  }

  .catbar a,
  .dropbtn{
    height:38px!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    font-size:13px!important;
    padding:0 14px!important;
  }

  .hero.compact-hero,
  .hero{
    width:100%!important;
    padding:13px 16px!important;
    border-radius:16px!important;
    margin:0 auto 16px!important;
  }

  .hero h1{
    font-size:20px!important;
    line-height:1.15!important;
  }
}

/* Layar sangat sempit */
@media(max-width:430px){
  .topbar{
    padding:14px 12px!important;
    gap:10px!important;
  }

  .topbar .brand{
    font-size:19px!important;
    max-width:155px!important;
  }

  .topbar nav{
    gap:10px!important;
    font-size:12.5px!important;
  }

  .search input,
  .search button{
    height:44px!important;
  }

  .search button{
    min-width:78px!important;
  }

  .catbar{
    justify-content:center!important;
    gap:7px!important;
  }

  .catbar a,
  .dropbtn{
    height:36px!important;
    font-size:12.5px!important;
    padding:0 12px!important;
  }

  .hero h1{
    font-size:19px!important;
  }
}


/* === V17 DETAIL PAGE PROFESSIONAL FINAL === */

/* Container detail dibuat lebih terukur, bukan terlalu lebar */
.pro-detail,
.detail-shell{
  width:min(760px,100%)!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

/* Judul panjang dibuat profesional, tidak merusak layout */
.video-title,
.watch h1{
  max-width:100%!important;
  font-size:clamp(22px,2vw,30px)!important;
  line-height:1.2!important;
  letter-spacing:-.02em!important;
  margin:0 0 12px!important;
  overflow-wrap:anywhere!important;
  word-break:break-word!important;
}

.clamp-title{
  display:-webkit-box!important;
  -webkit-line-clamp:3!important;
  -webkit-box-orient:vertical!important;
  overflow:hidden!important;
}

/* Meta lebih clean */
.meta{
  font-size:14px!important;
  color:#b7b7c2!important;
  margin-bottom:14px!important;
}

.meta a{
  color:#ff4c72!important;
  font-weight:700!important;
}

/* Player/detail card */
.player-wrap{
  width:100%!important;
  max-width:100%!important;
  margin:0 auto 18px!important;
  border-radius:18px!important;
  background:#050506!important;
  border:1px solid #2a2a36!important;
  box-shadow:0 18px 54px rgba(0,0,0,.28)!important;
  overflow:hidden!important;
}

/* Pre-roll: rapi, proporsional, tanpa black-space besar */
.pre-ad{
  aspect-ratio:auto!important;
  min-height:0!important;
  height:auto!important;
  padding:24px 18px!important;
  gap:14px!important;
  background:
    radial-gradient(circle at top, rgba(255,49,88,.08), transparent 42%),
    #050506!important;
}

.pre-ad a{
  display:block!important;
  width:min(680px,94%)!important;
  margin:0 auto!important;
}

.pre-ad img{
  width:100%!important;
  max-width:680px!important;
  height:auto!important;
  aspect-ratio:970/250!important;
  object-fit:cover!important;
  object-position:center!important;
  border-radius:15px!important;
  border:1px solid #2e2e3a!important;
  box-shadow:0 16px 42px rgba(0,0,0,.36)!important;
  background:#111!important;
}

.countdown{
  font-size:14px!important;
  line-height:1.4!important;
  color:#f0f0f4!important;
  margin:0!important;
}

#skipBtn,
.pre-ad .btn{
  min-width:148px!important;
  min-height:46px!important;
  padding:0 18px!important;
  border-radius:14px!important;
  font-size:15px!important;
}

/* Real video harus memenuhi player dengan proporsi normal */
.iframe-box{
  width:100%!important;
  aspect-ratio:16/9!important;
  background:#000!important;
}

.iframe-box iframe{
  width:100%!important;
  height:100%!important;
  border:0!important;
  display:block!important;
}

/* Deskripsi panjang tidak boleh memenuhi layar seperti spam */
.video-desc,
.desc{
  font-size:14px!important;
  line-height:1.65!important;
  color:#d8d8df!important;
  margin:16px 0!important;
  overflow-wrap:anywhere!important;
  word-break:break-word!important;
}

.clamp-desc{
  display:-webkit-box!important;
  -webkit-line-clamp:5!important;
  -webkit-box-orient:vertical!important;
  overflow:hidden!important;
  padding:14px 16px!important;
  background:rgba(20,20,27,.58)!important;
  border:1px solid #252531!important;
  border-radius:14px!important;
}

/* Download button */
.download{
  margin:4px 0 18px!important;
  min-height:44px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
}

/* Related title */
.section-title{
  width:min(760px,100%)!important;
  font-size:clamp(21px,2vw,28px)!important;
  margin:10px auto 16px!important;
}

/* Related grid di detail page lebih compact */
.pro-detail + .section-title + .grid.small{
  width:min(760px,100%)!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

/* Mobile final polish */
@media(max-width:760px){
  .pro-detail,
  .detail-shell{
    width:100%!important;
  }

  .video-title,
  .watch h1{
    font-size:21px!important;
    line-height:1.25!important;
    margin-bottom:10px!important;
  }

  .clamp-title{
    -webkit-line-clamp:4!important;
  }

  .meta{
    font-size:13px!important;
    margin-bottom:12px!important;
  }

  .player-wrap{
    border-radius:16px!important;
    margin-bottom:14px!important;
  }

  .pre-ad{
    padding:14px 10px!important;
    gap:12px!important;
  }

  .pre-ad a{
    width:100%!important;
  }

  .pre-ad img{
    max-width:100%!important;
    aspect-ratio:16/7!important;
    border-radius:13px!important;
  }

  .countdown{
    font-size:13.5px!important;
  }

  #skipBtn,
  .pre-ad .btn{
    min-width:148px!important;
    min-height:44px!important;
    font-size:14px!important;
  }

  .video-desc,
  .desc{
    font-size:13.5px!important;
    line-height:1.6!important;
    margin:14px 0!important;
  }

  .clamp-desc{
    -webkit-line-clamp:4!important;
    padding:12px 14px!important;
  }

  .section-title{
    font-size:21px!important;
    margin-top:10px!important;
  }
}

@media(max-width:430px){
  .video-title,
  .watch h1{
    font-size:20px!important;
  }

  .pre-ad img{
    aspect-ratio:16/7.3!important;
  }
}


/* === V18 VIDEO AD PLAYER FINAL ===
   Pre-roll dibuat seperti video player profesional:
   ad image mengisi area player 16:9, countdown/skip overlay di bawah kanan.
*/
.player-wrap{
  position:relative!important;
  width:100%!important;
  max-width:100%!important;
  aspect-ratio:16/9!important;
  background:#000!important;
  border-radius:14px!important;
  overflow:hidden!important;
  border:1px solid #242430!important;
  box-shadow:0 18px 60px rgba(0,0,0,.36)!important;
}

/* Pre-roll full player */
.pre-ad{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  padding:0!important;
  margin:0!important;
  display:block!important;
  background:#000!important;
  aspect-ratio:auto!important;
  overflow:hidden!important;
}

.pre-ad a{
  display:block!important;
  width:100%!important;
  height:100%!important;
  margin:0!important;
}

.pre-ad img{
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  max-height:none!important;
  object-fit:cover!important;
  object-position:center!important;
  aspect-ratio:auto!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  background:#000!important;
}

/* Overlay gelap halus seperti player */
.pre-ad:after{
  content:""!important;
  position:absolute!important;
  left:0!important;
  right:0!important;
  bottom:0!important;
  height:34%!important;
  background:linear-gradient(to top, rgba(0,0,0,.76), transparent)!important;
  pointer-events:none!important;
}

/* Label Advertisement bawah kiri */
.ad-badge{
  position:absolute!important;
  left:14px!important;
  bottom:14px!important;
  z-index:3!important;
  padding:6px 9px!important;
  border-radius:8px!important;
  background:rgba(0,0,0,.68)!important;
  color:#fff!important;
  font-size:12px!important;
  font-weight:700!important;
  letter-spacing:.01em!important;
}

/* Countdown dan skip bawah kanan */
.countdown{
  position:absolute!important;
  right:14px!important;
  bottom:15px!important;
  z-index:3!important;
  margin:0!important;
  padding:7px 10px!important;
  border-radius:8px!important;
  background:rgba(0,0,0,.72)!important;
  color:#fff!important;
  font-size:13px!important;
  font-weight:700!important;
  line-height:1!important;
  text-align:center!important;
}

.skip-ad-btn,
#skipBtn{
  position:absolute!important;
  right:14px!important;
  bottom:14px!important;
  z-index:4!important;
  min-width:118px!important;
  min-height:38px!important;
  height:38px!important;
  padding:0 14px!important;
  border-radius:9px!important;
  font-size:13px!important;
  font-weight:800!important;
  box-shadow:0 10px 28px rgba(0,0,0,.35)!important;
}

/* Real video pakai area player yang sama, bukan muncul di bawah iklan */
.iframe-box{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  aspect-ratio:auto!important;
  background:#000!important;
}

.iframe-box iframe{
  width:100%!important;
  height:100%!important;
  display:block!important;
  border:0!important;
}

/* Mobile: tetap seperti video player, bukan banner kecil */
@media(max-width:760px){
  .player-wrap{
    aspect-ratio:16/9!important;
    border-radius:14px!important;
  }

  .ad-badge{
    left:10px!important;
    bottom:10px!important;
    font-size:11px!important;
    padding:5px 8px!important;
  }

  .countdown{
    right:10px!important;
    bottom:10px!important;
    font-size:12px!important;
    padding:6px 8px!important;
  }

  .skip-ad-btn,
  #skipBtn{
    right:10px!important;
    bottom:10px!important;
    min-width:104px!important;
    min-height:34px!important;
    height:34px!important;
    font-size:12px!important;
    padding:0 12px!important;
  }
}

/* Untuk iklan ukuran tidak ideal: tetap fill seperti video ad */
.pre-ad img.contain-ad{
  object-fit:contain!important;
}


/* === V19 Skip ad clean hide fix === */
/* Setelah klik Lewati Iklan, semua elemen iklan wajib hilang: label Advertisement, countdown, dan tombol. */
#preAd.ad-hidden,
.pre-ad.ad-hidden,
#preAd[style*="display: none"],
.pre-ad[style*="display: none"]{
  display:none!important;
  visibility:hidden!important;
  opacity:0!important;
  pointer-events:none!important;
  z-index:-1!important;
}

#preAd.ad-hidden *,
.pre-ad.ad-hidden *{
  display:none!important;
  visibility:hidden!important;
  opacity:0!important;
  pointer-events:none!important;
}

#realVideo.video-visible{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  z-index:2!important;
}


/* === V20 Admin validation UI === */
.field-hint{
  display:block!important;
  color:#a7a7b3!important;
  font-size:12px!important;
  line-height:1.35!important;
  margin-top:2px!important;
}

.char-counter{
  display:block!important;
  text-align:right!important;
  color:#8f8f9d!important;
  font-size:12px!important;
  margin-top:4px!important;
}

.char-counter.warn{
  color:#ffd166!important;
}

.char-counter.danger{
  color:#ff5c7a!important;
  font-weight:800!important;
}

.admin-form input[maxlength],
.admin-form textarea[maxlength]{
  border-color:#30303d!important;
}

.admin-form input[maxlength]:focus,
.admin-form textarea[maxlength]:focus{
  border-color:#ff3158!important;
}


/* === V21 Description mobile full display fix === */
/* Deskripsi di halaman detail tidak lagi terpotong, baik non-member maupun member. */
.video-desc,
.desc,
.clamp-desc{
  display:block!important;
  -webkit-line-clamp:unset!important;
  -webkit-box-orient:initial!important;
  max-height:none!important;
  height:auto!important;
  overflow:visible!important;
  white-space:normal!important;
}

.video-desc,
.desc{
  overflow-wrap:anywhere!important;
  word-break:break-word!important;
}

@media(max-width:760px){
  .video-desc,
  .desc,
  .clamp-desc{
    display:block!important;
    -webkit-line-clamp:unset!important;
    max-height:none!important;
    height:auto!important;
    overflow:visible!important;
  }

  .clamp-desc{
    padding:14px 14px!important;
    margin:14px 0 18px!important;
  }
}


/* === V22 Ad media image/GIF/video support === */
.banner-ad video,
.banner-ad img{
  width:100%!important;
  height:auto!important;
  max-height:130px!important;
  object-fit:cover!important;
  border-radius:16px!important;
  border:1px solid var(--line)!important;
  background:#111!important;
  display:block!important;
}

.pre-ad video{
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  max-height:none!important;
  object-fit:cover!important;
  object-position:center!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  background:#000!important;
  display:block!important;
}

.admin-form input[type="file"]{
  padding:10px!important;
}

.panel small{
  display:block;
  color:#aaa;
  overflow-wrap:anywhere;
  margin-top:8px;
  line-height:1.4;
}

@media(max-width:760px){
  .banner-ad video,
  .banner-ad img{
    max-height:90px!important;
    border-radius:12px!important;
  }
}


/* === V23 Pre-roll video render fix === */
/* Fix final: kalau media iklan adalah MP4/WEBM/MOV, render sebagai <video>, bukan <img>. */
.pre-ad .ad-media-video,
.pre-ad video{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  max-height:none!important;
  object-fit:cover!important;
  object-position:center!important;
  display:block!important;
  background:#000!important;
  border:0!important;
  border-radius:0!important;
  z-index:1!important;
}

.pre-ad .ad-media-image,
.pre-ad img{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  max-height:none!important;
  object-fit:cover!important;
  object-position:center!important;
  display:block!important;
  background:#000!important;
  border:0!important;
  border-radius:0!important;
  z-index:1!important;
}

.pre-ad a{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  z-index:1!important;
}

.pre-ad:after{
  z-index:2!important;
}

.ad-badge,
.countdown,
.skip-ad-btn,
#skipBtn{
  z-index:5!important;
}

/* Jika browser gagal autoplay video iklan, tetap tampil frame pertama karena preload auto */


/* === V24 Ad video sound button === */
.sound-ad-btn{
  position:absolute!important;
  left:14px!important;
  top:14px!important;
  z-index:6!important;
  min-height:36px!important;
  padding:0 12px!important;
  border:0!important;
  border-radius:10px!important;
  background:rgba(0,0,0,.72)!important;
  color:#fff!important;
  font-size:13px!important;
  font-weight:800!important;
  cursor:pointer!important;
  box-shadow:0 8px 24px rgba(0,0,0,.35)!important;
}

.sound-ad-btn:hover,
.sound-ad-btn.active{
  background:rgba(255,49,88,.94)!important;
}

#preAd.ad-hidden .sound-ad-btn,
.pre-ad.ad-hidden .sound-ad-btn{
  display:none!important;
}

@media(max-width:760px){
  .sound-ad-btn{
    left:10px!important;
    top:10px!important;
    min-height:34px!important;
    padding:0 10px!important;
    font-size:12px!important;
  }
}


/* === V25 Mobile banner ads 970x120 no-crop fix === */
/* Banner 970×120 harus tampil utuh, terutama di mobile. */
.banner-ad{
  width:min(970px,92%)!important;
  margin:18px auto 22px!important;
  overflow:hidden!important;
  border-radius:16px!important;
}

.banner-ad a{
  display:block!important;
  width:100%!important;
}

.banner-ad img,
.banner-ad video{
  display:block!important;
  width:100%!important;
  height:auto!important;
  aspect-ratio:970/120!important;
  max-height:none!important;
  object-fit:contain!important;
  object-position:center!important;
  border-radius:16px!important;
  background:#111!important;
}

/* Mobile: jangan crop banner, tampil full rasio 970×120 */
@media(max-width:760px){
  .banner-ad{
    width:calc(100% - 28px)!important;
    margin:14px auto 18px!important;
    border-radius:12px!important;
  }

  .banner-ad img,
  .banner-ad video{
    width:100%!important;
    height:auto!important;
    aspect-ratio:970/120!important;
    object-fit:contain!important;
    object-position:center!important;
    max-height:none!important;
    min-height:0!important;
    border-radius:12px!important;
  }
}

@media(max-width:430px){
  .banner-ad{
    width:calc(100% - 24px)!important;
  }
}


/* === V26 Remove sound button + square banner ads === */
.sound-ad-btn,
#soundBtn{
  display:none!important;
  visibility:hidden!important;
  opacity:0!important;
  pointer-events:none!important;
}

/* Banner dibuat siku/profesional, tidak melengkung dan tidak ada area kosong sudut */
.banner-ad{
  border-radius:0!important;
  overflow:visible!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}

.banner-ad a{
  border-radius:0!important;
  overflow:visible!important;
  background:transparent!important;
  border:0!important;
  display:block!important;
}

.banner-ad img,
.banner-ad video{
  border-radius:0!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  object-fit:cover!important;
  object-position:center!important;
}

/* Jika banner 970x120, akan tetap utuh dan siku. */
@media(max-width:760px){
  .banner-ad,
  .banner-ad a,
  .banner-ad img,
  .banner-ad video{
    border-radius:0!important;
  }
}


/* === V27 Pre-roll audio stop fix === */
#preAd.ad-hidden video,
.pre-ad.ad-hidden video{
  display:none!important;
  visibility:hidden!important;
  opacity:0!important;
  pointer-events:none!important;
}


/* === V28 Pre-roll destroy visual safety === */
#preAd.ad-hidden,
.pre-ad.ad-hidden{
  display:none!important;
  visibility:hidden!important;
  opacity:0!important;
  pointer-events:none!important;
  z-index:-999!important;
}

#realVideo.video-visible{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  z-index:3!important;
}


/* === V29 Telegram bubble custom icon === */
.telegram-bubble{
  overflow:hidden!important;
  padding:0!important;
}

.telegram-bubble img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  display:block!important;
  border-radius:50%!important;
}

.telegram-icon-preview{
  width:76px!important;
  height:76px!important;
  object-fit:cover!important;
  border-radius:50%!important;
  border:1px solid var(--line)!important;
  background:#111!important;
  padding:4px!important;
}


/* === V30 Telegram icon final fix === */
.telegram-bubble{
  overflow:hidden!important;
  padding:0!important;
  display:grid!important;
  place-items:center!important;
  background:#2aa3ef!important;
  border-radius:50%!important;
}

.telegram-bubble img{
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  max-height:100%!important;
  object-fit:cover!important;
  object-position:center!important;
  display:block!important;
  border-radius:50%!important;
}

.telegram-default-icon{
  display:grid!important;
  place-items:center!important;
  width:100%!important;
  height:100%!important;
  font-size:24px!important;
  line-height:1!important;
}

.telegram-icon-preview{
  width:76px!important;
  height:76px!important;
  object-fit:cover!important;
  border-radius:50%!important;
  border:1px solid var(--line)!important;
  background:#111!important;
  padding:4px!important;
}

.setting-preview-row{
  display:flex!important;
  align-items:center!important;
  gap:14px!important;
  margin:8px 0 16px!important;
  color:#ddd!important;
}


/* === V31 Back-to-top premium transparent button === */
.back-to-top{
  width:48px!important;
  height:48px!important;
  right:18px!important;
  bottom:18px!important;
  border-radius:16px!important;
  border:1px solid rgba(255,255,255,.22)!important;
  background:
    linear-gradient(135deg, rgba(255,49,88,.82), rgba(204,14,55,.72))!important;
  color:#fff!important;
  font-size:22px!important;
  font-weight:900!important;
  line-height:1!important;
  display:none;
  place-items:center!important;
  backdrop-filter:blur(10px)!important;
  -webkit-backdrop-filter:blur(10px)!important;
  box-shadow:
    0 14px 36px rgba(255,49,88,.24),
    0 10px 32px rgba(0,0,0,.34),
    inset 0 1px 0 rgba(255,255,255,.22)!important;
  opacity:.88!important;
  transition:transform .18s ease, opacity .18s ease, box-shadow .18s ease!important;
}

.back-to-top:hover{
  opacity:1!important;
  transform:translateY(-3px)!important;
  box-shadow:
    0 18px 42px rgba(255,49,88,.32),
    0 12px 36px rgba(0,0,0,.40),
    inset 0 1px 0 rgba(255,255,255,.28)!important;
}

.back-to-top.show{
  display:grid!important;
}

@media(max-width:760px){
  .back-to-top{
    width:44px!important;
    height:44px!important;
    right:14px!important;
    bottom:16px!important;
    border-radius:15px!important;
    font-size:21px!important;
    opacity:.84!important;
  }
}


/* === V33 Backup + universal embed support === */
.native-video-player{
  width:100%!important;
  height:100%!important;
  display:block!important;
  background:#000!important;
  object-fit:contain!important;
}

.backup-steps{
  line-height:1.8;
  color:#ddd;
}

.backup-steps li{
  margin-bottom:6px;
}

.panel .btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-align:center;
}


/* === V34 Related videos random + show more === */
.related-extra{
  display:none!important;
}

.related-extra.show{
  display:block!important;
}

.show-more-wrap{
  width:min(760px,100%);
  margin:18px auto 4px;
  display:flex;
  justify-content:center;
}

.show-more-related{
  min-width:220px!important;
  min-height:44px!important;
  padding:0 20px!important;
  border-radius:14px!important;
  font-size:14px!important;
  font-weight:800!important;
  background:linear-gradient(135deg, rgba(255,49,88,.95), rgba(204,14,55,.92))!important;
  box-shadow:0 12px 34px rgba(255,49,88,.20)!important;
}

.show-more-related:hover{
  transform:translateY(-2px);
}

@media(max-width:760px){
  .show-more-wrap{
    width:100%;
    margin:16px auto 2px;
  }

  .show-more-related{
    width:100%!important;
    max-width:320px!important;
    min-height:44px!important;
  }
}


/* === V35 SEO separated brand/meta === */
.og-preview{
  max-width:360px!important;
  width:100%!important;
  height:auto!important;
  aspect-ratio:1200/630!important;
  object-fit:cover!important;
  border-radius:14px!important;
  border:1px solid var(--line)!important;
  background:#111!important;
}


/* === V37 Categories count + protected default === */
.category-table td,
.category-table th{
  vertical-align:middle!important;
}

.count-pill{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:30px!important;
  padding:5px 10px!important;
  border-radius:999px!important;
  background:rgba(255,49,88,.12)!important;
  color:#ff5c7a!important;
  border:1px solid rgba(255,49,88,.26)!important;
  font-weight:800!important;
}

.badge-default{
  display:inline-flex!important;
  align-items:center!important;
  margin-left:8px!important;
  padding:3px 8px!important;
  border-radius:999px!important;
  background:rgba(46,204,113,.14)!important;
  color:#2ecc71!important;
  border:1px solid rgba(46,204,113,.28)!important;
  font-size:11px!important;
  font-weight:800!important;
}

.muted-action{
  color:#8f8f9d!important;
  font-size:13px!important;
}

.compact-form{
  margin-bottom:22px!important;
}


/* === V38 Admin videos/categories fix === */
.admin-actions{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}

.btn.secondary{
  background:#2a2a36!important;
  box-shadow:none!important;
}

@media(max-width:760px){
  .admin-title{
    align-items:flex-start!important;
    gap:12px!important;
  }
}


/* === V39 Dropdown collapse state fix === */
.dropdown.open .dropdown-content{
  display:block!important;
}

.dropdown:not(.open):not(:hover):not(:focus-within) .dropdown-content{
  display:none!important;
}


/* === V40 Frontend menu final === */
/* Uncategorized disembunyikan dari frontend menu via PHP. Admin tetap bisa melihat dan menghitungnya. */

/* Dropdown hanya buka saat class .open, bukan karena hover/focus.
   Ini membuat klik pertama expand dan klik kedua collapse secara konsisten. */
.dropdown .dropdown-content{
  display:none!important;
}

.dropdown.open .dropdown-content{
  display:block!important;
}

.dropdown:hover .dropdown-content:not(.force-open),
.dropdown:focus-within .dropdown-content:not(.force-open){
  display:none!important;
}

.dropdown.open:hover .dropdown-content,
.dropdown.open:focus-within .dropdown-content{
  display:block!important;
}

.dropdown.open .chev{
  transform:rotate(180deg)!important;
}


/* === V41 Category id/slug final fix === */
.empty-panel{
  width:min(760px,100%);
  margin:0 auto 24px;
  text-align:center;
  color:#cfcfd8;
}


/* === V42 Category clean URL + cache fix === */
.empty-panel{
  width:min(760px,100%);
  margin:0 auto 24px;
  text-align:center;
  color:#cfcfd8;
}


/* === V44 Category final + pagination === */
.empty-panel{
  width:min(760px,100%);
  margin:0 auto 24px;
  text-align:center;
  color:#cfcfd8;
}

.category-pagination{
  width:min(760px,100%);
  margin:26px auto 6px;
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:center;
  gap:8px;
}

.category-pagination a,
.category-pagination span{
  min-width:40px;
  height:40px;
  padding:0 12px;
  border-radius:12px;
  border:1px solid var(--line);
  background:#171720;
  color:#fff;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-weight:800;
}

.category-pagination a.active,
.category-pagination a:hover{
  background:linear-gradient(135deg,#ff3158,#cc0e37);
  border-color:transparent;
}

@media(max-width:760px){
  .category-pagination{
    gap:6px;
  }

  .category-pagination a,
  .category-pagination span{
    min-width:36px;
    height:36px;
    border-radius:11px;
    font-size:13px;
  }
}


/* === V45 Category/backup final fix === */
.empty-panel{
  width:min(760px,100%);
  margin:0 auto 24px;
  text-align:center;
  color:#cfcfd8;
}

.category-pagination{
  width:min(760px,100%);
  margin:26px auto 6px;
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:center;
  gap:8px;
}

.category-pagination a,
.category-pagination span{
  min-width:40px;
  height:40px;
  padding:0 12px;
  border-radius:12px;
  border:1px solid var(--line);
  background:#171720;
  color:#fff;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-weight:800;
}

.category-pagination a.active,
.category-pagination a:hover{
  background:linear-gradient(135deg,#ff3158,#cc0e37);
  border-color:transparent;
}


/* === V46 Final category route + pagination === */
.empty-panel{
  width:min(760px,100%);
  margin:0 auto 24px;
  text-align:center;
  color:#cfcfd8;
}

.category-pagination{
  width:min(760px,100%);
  margin:26px auto 6px;
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:center;
  gap:8px;
}

.category-pagination a,
.category-pagination span{
  min-width:40px;
  height:40px;
  padding:0 12px;
  border-radius:12px;
  border:1px solid var(--line);
  background:#171720;
  color:#fff;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-weight:800;
}

.category-pagination a.active,
.category-pagination a:hover{
  background:linear-gradient(135deg,#ff3158,#cc0e37);
  border-color:transparent;
}


/* === V47 Category scope final fix === */
/* Header category loop no longer overwrites the current page category variable. */


/* === V48 Transparent play button === */
.play,
.play-btn,
.card .play,
.card-play,
.thumb .play,
.thumb::after{
  background:rgba(255,49,88,.62)!important;
  border:1px solid rgba(255,255,255,.22)!important;
  backdrop-filter:blur(8px)!important;
  -webkit-backdrop-filter:blur(8px)!important;
  box-shadow:
    0 10px 26px rgba(255,49,88,.18),
    0 8px 22px rgba(0,0,0,.26),
    inset 0 1px 0 rgba(255,255,255,.22)!important;
  opacity:.84!important;
}

.play:hover,
.play-btn:hover,
.card .play:hover,
.card-play:hover{
  opacity:1!important;
  transform:scale(1.04)!important;
}

.thumb::after{
  color:#fff!important;
}


/* === V49 LuluStream API card metadata === */
.thumb{position:relative!important;}
.thumb-meta{position:absolute;left:8px;right:8px;bottom:7px;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:8px;pointer-events:none;}
.thumb-meta span{min-height:22px;padding:3px 7px;border-radius:7px;background:rgba(0,0,0,.62);color:#fff;font-size:12px;font-weight:800;line-height:1;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);box-shadow:0 4px 12px rgba(0,0,0,.22);}
.thumb-meta .duration{margin-left:auto;}
.checkline{display:flex!important;align-items:center!important;gap:10px!important;flex-direction:row!important}.checkline input{width:auto!important}
@media(max-width:760px){.thumb-meta{left:6px;right:6px;bottom:6px}.thumb-meta span{font-size:11px;padding:3px 6px}}


/* === V50 Wide thumbnail crop fixed === */
/* Semua thumbnail card dibuat landscape seperti contoh website profesional. */
.card .thumb,
.thumb{
  width:100%!important;
  aspect-ratio:16/9!important;
  height:auto!important;
  min-height:0!important;
  overflow:hidden!important;
  background:#07070a!important;
  border-radius:16px 16px 0 0!important;
  position:relative!important;
}

.card .thumb img,
.thumb img{
  width:100%!important;
  height:100%!important;
  display:block!important;
  object-fit:cover!important;
  object-position:center center!important;
}

/* Untuk thumbnail portrait dari mobile, crop bagian tengah agar tetap landscape. */
.card .thumb img.portrait,
.thumb img.portrait{
  object-fit:cover!important;
  object-position:center center!important;
}

/* Play button tetap di kanan bawah dan tidak ikut memanjang. */
.thumb .play,
.card .play,
.play,
.play-btn,
.card-play{
  position:absolute!important;
  right:12px!important;
  bottom:12px!important;
  z-index:6!important;
}

/* Metadata view/durasi tetap rapi di bawah thumbnail. */
.thumb-meta{
  bottom:7px!important;
  z-index:7!important;
}

/* Karena play button dan metadata sama-sama bawah, metadata diberi ruang kanan. */
.thumb-meta .duration{
  margin-right:50px!important;
}

@media(max-width:760px){
  .card .thumb,
  .thumb{
    aspect-ratio:16/9!important;
    border-radius:12px 12px 0 0!important;
  }

  .thumb .play,
  .card .play,
  .play,
  .play-btn,
  .card-play{
    right:9px!important;
    bottom:9px!important;
  }

  .thumb-meta .duration{
    margin-right:42px!important;
  }
}


/* === V51 Professional LuluStream API settings === */
.settings-api-panel{
  margin:18px 0 20px!important;
  padding:22px!important;
  border-radius:18px!important;
  background:linear-gradient(180deg,rgba(255,255,255,.035),rgba(255,255,255,.015))!important;
}

.settings-api-panel h2{
  margin-top:0!important;
  margin-bottom:12px!important;
  font-size:22px!important;
}

.api-status-line{
  margin-bottom:14px!important;
}

.telegram-preview-admin{
  width:128px!important;
  height:128px!important;
  object-fit:cover!important;
  border-radius:50%!important;
  background:#11131a!important;
  border:1px solid rgba(255,255,255,.12)!important;
  box-shadow:0 12px 30px rgba(0,0,0,.28)!important;
}

.btn.secondary{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:42px!important;
  padding:0 16px!important;
  border-radius:12px!important;
  margin:4px 6px 4px 0!important;
}


/* === V53 Professional duration badge card fix ===
   Play button di thumbnail card dimatikan dan diganti badge durasi.
   Views LuluStream tetap disimpan di database, tetapi tidak dipaksa tampil di card depan agar UI lebih bersih. */
.card .thumb::after,
.thumb::after,
.card .play,
.thumb .play,
.play,
.play-btn,
.card-play{
  content:none!important;
  display:none!important;
  visibility:hidden!important;
  opacity:0!important;
  width:0!important;
  height:0!important;
  pointer-events:none!important;
}

.thumb-meta,
.thumb-meta-duration-only{
  position:absolute!important;
  left:auto!important;
  right:8px!important;
  bottom:8px!important;
  z-index:9!important;
  display:flex!important;
  justify-content:flex-end!important;
  align-items:center!important;
  gap:0!important;
  pointer-events:none!important;
}

.thumb-meta .view-count{
  display:none!important;
}

.thumb-meta .duration,
.thumb-meta-duration-only .duration{
  margin:0!important;
  min-height:22px!important;
  padding:4px 7px!important;
  border-radius:7px!important;
  background:rgba(0,0,0,.78)!important;
  color:#fff!important;
  font-size:12px!important;
  font-weight:900!important;
  line-height:1!important;
  letter-spacing:.2px!important;
  box-shadow:0 6px 14px rgba(0,0,0,.35)!important;
  backdrop-filter:blur(6px)!important;
  -webkit-backdrop-filter:blur(6px)!important;
}

.checkline{
  display:flex!important;
  align-items:flex-start!important;
  gap:10px!important;
  flex-direction:row!important;
  line-height:1.45!important;
}
.checkline input{width:auto!important;margin-top:3px!important;}
.checkline small{display:block!important;margin-top:3px!important;}

@media(max-width:760px){
  .thumb-meta,
  .thumb-meta-duration-only{right:6px!important;bottom:6px!important;}
  .thumb-meta .duration,
  .thumb-meta-duration-only .duration{font-size:11px!important;padding:4px 6px!important;}
}


/* === V54 Final card overlay fix ===
   Hapus total tombol play bulat dari card thumbnail, lalu tampilkan views kiri dan durasi kanan.
   Cache CSS dinaikkan ke ?v=54 di partials-header.php. */
.card .thumb:after,
.card .thumb::after,
.thumb:after,
.thumb::after,
.card .play,
.thumb .play,
.play,
.play-btn,
.card-play{
  content:none!important;
  display:none!important;
  visibility:hidden!important;
  opacity:0!important;
  width:0!important;
  height:0!important;
  min-width:0!important;
  min-height:0!important;
  padding:0!important;
  margin:0!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  pointer-events:none!important;
}

.thumb-meta.thumb-meta-pro{
  position:absolute!important;
  left:8px!important;
  right:8px!important;
  bottom:8px!important;
  z-index:20!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:8px!important;
  pointer-events:none!important;
}

.thumb-meta.thumb-meta-pro .view-count,
.thumb-meta.thumb-meta-pro .duration{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:22px!important;
  padding:4px 7px!important;
  border-radius:7px!important;
  background:rgba(0,0,0,.78)!important;
  color:#fff!important;
  font-size:12px!important;
  font-weight:900!important;
  line-height:1!important;
  letter-spacing:.2px!important;
  box-shadow:0 6px 14px rgba(0,0,0,.35)!important;
  backdrop-filter:blur(6px)!important;
  -webkit-backdrop-filter:blur(6px)!important;
}

.thumb-meta.thumb-meta-pro .duration{
  margin-left:auto!important;
  margin-right:0!important;
}

.thumb-meta.thumb-meta-pro .view-count{
  margin-right:auto!important;
}

@media(max-width:760px){
  .thumb-meta.thumb-meta-pro{left:6px!important;right:6px!important;bottom:6px!important;}
  .thumb-meta.thumb-meta-pro .view-count,
  .thumb-meta.thumb-meta-pro .duration{font-size:11px!important;padding:4px 6px!important;}
}

/* === V55 Multi-category admin selector === */
.category-check-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(160px,1fr));
  gap:10px;
  max-width:780px;
  padding:12px;
  border:1px solid var(--line,#2b2b36);
  border-radius:16px;
  background:#101016;
}
.category-check-item{
  display:flex!important;
  align-items:center;
  gap:8px!important;
  padding:9px 10px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:12px;
  background:rgba(255,255,255,.025);
  cursor:pointer;
}
.category-check-item input{
  width:auto!important;
  margin:0!important;
}
.category-check-item span{
  color:#fff;
  font-size:14px;
}
.video-category-links{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:8px;
}
.video-category-links a{
  display:inline-flex;
  padding:4px 9px;
  border-radius:999px;
  background:rgba(255,49,88,.12);
  color:#ff7790;
  border:1px solid rgba(255,49,88,.25);
}


/* === V56 Homepage clean card + Lulu thumbnail options === */
.home .card-body > span,
body:not(.admin-page) .latest-videos .card-body > span{
  display:none!important;
}
.copy-input{
  width:100%;
  max-width:100%;
  background:#0f1018;
  color:#fff;
  border:1px solid #2d3140;
  border-radius:10px;
  padding:10px 12px;
  box-sizing:border-box;
}
.lulu-thumb-options{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
  margin-top:18px;
}
.lulu-thumb-option{
  background:#101119;
  border:1px solid #2a2d3a;
  border-radius:14px;
  padding:14px;
}
.lulu-thumb-option h3{margin:0 0 6px;color:#fff;font-size:18px;}
.lulu-option-img{
  display:block;
  width:100%;
  max-width:500px;
  aspect-ratio:16/9;
  object-fit:cover;
  border-radius:12px;
  margin:10px 0;
}
@media(max-width:760px){.lulu-thumb-options{grid-template-columns:1fr;}}


/* === V57 Lulu auto crop collage thumbnail options === */
.lulu-thumb-options{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:18px!important;
}
.lulu-thumb-option .lulu-option-img{
  width:100%!important;
  aspect-ratio:16/9!important;
  object-fit:cover!important;
  border-radius:14px!important;
  display:block!important;
}
@media(max-width:780px){.lulu-thumb-options{grid-template-columns:1fr!important;}}

/* V60 delete video controls */
.form-actions-row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.delete-video-form{max-width:780px;margin:-8px 0 30px;display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.btn.danger{background:linear-gradient(135deg,#7f1d1d,#dc2626);box-shadow:0 8px 24px rgba(220,38,38,.18)}
.link-danger{background:transparent;border:0;color:#ff5577;font-weight:800;cursor:pointer;padding:0;margin-left:12px}
.link-danger:hover{text-decoration:underline}
.table-actions{white-space:nowrap}
